Possibly because authgss_create_default() was the API available to gssd back in the day. rpc_gss_seccreate(3t) is newer. That would be my guess. > On Nov 22, 2023, at 1:07 AM, Olga Kornievskaia <aglo@xxxxxxxxx> wrote: > > Hi Chuck, > > A quick reply as I'm on vacation but I can take a look when I get > back. I'm just thinking there must be a reason why gssd is using the > authgss api and not calling the rpc_gss one. > > On Tue, Nov 21, 2023 at 6:59 AM Chuck Lever III <chuck.lever@xxxxxxxxxx> wrote: >> >> Hey Olga- >> >> I see that f5b6e6fdb1e6 ("gss-api: expose gss major/minor error in >> authgss_refresh()") added a couple of fields in structure rpc_gss_sec. >> Later, there are some nfs-utils changes that start using those fields. >> >> That breaks building the latest upstream nfs-utils on Fedora 38, whose >> current libtirpc doesn't have those new fields. >> >> IMO struct rpc_gss_sec is part of the libtirpc API/ABI, thus we really >> shouldn't change it. >> >> Instead, if gssd needs GSS status codes, can't it call >> rpc_gss_seccreate(3), which explicitly takes a struct >> rpc_gss_options_ret_t * argument? >> >> ie, just replace the authgss_create_default() call with a call to >> rpc_gss_seccreate(3) .... >> >> >> -- >> Chuck Lever >> >> >> -- Chuck Lever