RPC_GSS_SET_CALLBACK(3)
π RPC_GSS_SET_CALLBACK π
okay bestie, so rpc_gss_set_callback lives in section 3 of the library functions manual, and it's literally the girlboss gatekeeper of security context creation on your server. she's giving bouncer-at-the-club energy and honestly? iconic. let's get into it π«Ά
β¨ NAME β¨
rpc_gss_set_callback β Register a security context creation callback
πΈ SYNOPSIS πΈ
#include <rpc/rpcsec_gss.h>
bool_t
(*callback)(struct svc_req *req, gss_cred_id_t deleg,
gss_ctx_id_t gss_context, rpc_gss_lock_t *lock, void **cookie);
bool_t
rpc_gss_set_callback(rpc_gss_callback_t *cb);
π¦ DESCRIPTION π¦
so basically you're registering a function that gets called whenever brand new security contexts get created on a server. it's giving "notify me when the new girlies arrive" π
this function fires on the first RPC request that uses that context, and it gets the opportunity to reject the request β like, say, after matching the request credentials against an access control list. yk, the vibe check of it all.
to accept the new security context, the callback should return TRUE. otherwise FALSE. simple as that, no cap.
real talk tho: if the callback accepts a context, it becomes responsible for the lifetime of the delegated client credentials (if any). that's main character responsibility, bestie. don't drop the ball π
it's also possible to 'lock' the values of service and quality of protection used by the context. if a context is locked, any subsequent requests that use different values for service and quality of protection will be rejected. locked in fr fr π
π PARAMETERS π
cbβ a structure holding the RPC program and version for this callback, plus a function that gets called when new contexts are created for that given RPC program and version. she's the whole package.reqβ the RPC request using the new contextdelegβ GSS-API delegated credentials (if any)gss_contextβ the GSS-API contextlockβ a structure used to enforce a particular QOP and service. setlock->lockedtoTRUEto lock the service and QOP values. that's the whole point of her β¨cookieβ the callback function may set*cookieto any pointer sized value. this value can be accessed during the lifetime of the context viarpc_gss_getcred(). she's your little secret keeper π
β RETURN VALUES β
returns TRUE if the callback was registered successfully, or FALSE otherwise. that's it, that's the tweet.
π AVAILABILITY π
the rpc_gss_set_callback() function is part of libtirpc. she's repping that library, periodt.
π SEE ALSO π
rpc(3), gssapi(3), rpc_gss_getcred(3) rpcsec_gss(3)
π AUTHORS π
this manual page was written by Doug Rabson <dfr@FreeBSD.org>. thank you king π«Ά
π BUGS π
there is no mechanism for informing a server when a security context has been deleted. which makes it difficult to allocate resources (e.g. to return via the callback's cookie argument). yeah. it's giving unfinished business. we don't love that for us π
mwah π this one's from Debian, dated January 26, 2010, and it's RPC_GSS_SET_CALLBACK(3) signing off β stay secure, stay slay πβ¨
π¦ where this page comes from
- alpine 3.22: libtirpc-doc 1.3.5-r0 Β· BSD-3-Clause
- alpine 3.23: libtirpc-doc 1.3.5-r1 Β· BSD-3-Clause
- alpine 3.24: libtirpc-doc 1.3.5-r1 Β· BSD-3-Clause
- arch rolling: libtirpc 1.3.8-1 Β· SISSL AND BSD-3-Clause
- centos-stream 10: libtirpc-devel 1.3.5-1.el10 Β· SISSL AND BSD-3-Clause
- centos-stream 9: libtirpc-devel 1.3.3-9.el9 Β· SISSL and BSD
- centos-stream 9: libtirpc-devel 1.3.3-9.el9 Β· SISSL and BSD
- debian bookworm: libtirpc-dev 1.3.3+ds-1 Β· BSD-3-Clause
- debian trixie: libtirpc-dev 1.3.6+ds-1 Β· BSD-3-Clause
- fedora 43: libtirpc-devel 1.3.7-0.fc43 Β· SISSL AND BSD-3-Clause
- fedora 43: libtirpc-devel 1.3.7-0.fc43 Β· SISSL AND BSD-3-Clause
- fedora 43: libtirpc-devel 1.3.7-1.rc1.fc43 Β· SISSL AND BSD-3-Clause
- fedora 43: libtirpc-devel 1.3.7-1.rc1.fc43 Β· SISSL AND BSD-3-Clause
- fedora 44: libtirpc-devel 1.3.7-2.fc44 Β· SISSL AND BSD-3-Clause
- fedora 44: libtirpc-devel 1.3.7-2.fc44 Β· SISSL AND BSD-3-Clause
- fedora 44: libtirpc-devel 1.3.8-0.fc44 Β· SISSL AND BSD-3-Clause
- fedora 44: libtirpc-devel 1.3.8-0.fc44 Β· SISSL AND BSD-3-Clause
- nixos 26.05: libtirpc 1.3.7
- nixpkgs unstable: libtirpc 1.3.7
- opensuse-leap 16.0: libtirpc-devel 1.3.6-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libtirpc-devel 1.3.6-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libtirpc-devel 1.3.6-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: libtirpc-devel 1.3.6-160000.2.2 Β· BSD-3-Clause
- ubuntu jammy: libtirpc-dev 1.3.2-2build1 Β· BSD-3-Clause
- ubuntu jammy: libtirpc-dev 1.3.2-2ubuntu0.1 Β· BSD-3-Clause
- ubuntu noble: libtirpc-dev 1.3.4+ds-1.1build1 Β· BSD-3-Clause
- ubuntu questing: libtirpc-dev 1.3.6+ds-1
- ubuntu resolute: libtirpc-dev 1.3.7-0.1 Β· BSD-3-Clause
- ubuntu stonking: libtirpc-dev 1.3.7+ds-1 Β· BSD-3-Clause
- Copyright (c) 2008 Isilon Inc http://www.isilon.com/
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms