RPC_GSS_SECCREATE(3)
π RPC_GSS_SECCREATE(3) π
okay bestie, this is a page from the Library Functions Manual β it's rpc_gss_seccreate, and it's about making a security context with RPCSEC_GSS. sit down, hydrate, we're doing this π«Ά
β¨ NAME β¨
rpc_gss_seccreate β create a security context using the RPCSEC_GSS protocol
πΈ SYNOPSIS πΈ
#include <rpc/rpcsec_gss.h>
AUTH *
rpc_gss_seccreate(CLIENT *clnt, const char *principal,
const char *mechanism, rpc_gss_service_t service, const char *qop,
rpc_gss_options_req_t *options_req,
rpc_gss_options_ret_t *options_ret);
π DESCRIPTION π
so basically, this function is the one that sets up a security context between your application and a remote peer, and it does it using the RPCSEC_GSS protocol. that's the whole job. iconic of it honestly π
π PARAMETERS π
okay here's the cast of characters, one by one, no skips:
clntβ an RPC handle that's already connected to the remote peer π¦principalβ the name of the service principal on the remote peer. like, for example, an application that needs to talk to an NFS server might use a principal such as"nfs@server.example.com"β¨mechanismβ the name of the GSS_API mechanism to use for the new security context. rn"kerberos_v5"is the only supported mechanism. that's it, that's the list πserviceβ the type of service you're requesting. there are options, so let's go:rpc_gss_svc_defaultβ the default one, and typically that's the same asrpc_gss_svc_nonerpc_gss_svc_noneβ only the RPC headers are integrity protected, by a checksumrpc_gss_svc_integrityβ both the RPC headers and the data are integrity protected by a checksumrpc_gss_svc_privacyβ the RPC headers are integrity protected by a checksum, and the data gets encrypted π₯
qopβ the name of the Quality of Protection to use for the new security context, orNULLif you just want the default QOP."GSS_C_QOP_DEFAULT"is currently the only supported QOP, periodt βoptions_reqβ extra security context options that get passed down to the underlying GSS-API mechanism. passNULLif you want the default values πΈoptions_retβ various values that get returned by the underlying GSS-API mechanism. passNULLif you don't need those values, no pressure π
π RETURN VALUES π
if the security context got created successfully, you get back a pointer to an AUTH structure that represents that context. and to actually use this security context for the RPC calls that come after, you set clnt->cl_auth to that value. that's the move, bestie β¨
π AVAILABILITY π
the rpc_gss_seccreate() function is part of libtirpc. so that's where it lives π
π₯ SEE ALSO π₯
π«Ά AUTHORS π«Ά
this manual page was written by Doug Rabson <dfr@FreeBSD.org>. thank you Doug, we appreciate you π
and that's the whole page, bestie!! this one came from the fine folks at Debian, and it's dated January 26, 2010 β vintage, honestly, but still serving β¨π
mwah, go set your clnt->cl_auth and thrive π¦πΈ
π¦ 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