pub struct Name(/* private fields */);
Implementations§
Source§impl Name
impl Name
Sourcepub fn new(s: &[u8], kind: Option<&Oid>) -> Result<Self, Error>
pub fn new(s: &[u8], kind: Option<&Oid>) -> Result<Self, Error>
parse the specified bytes as a gssapi name, with optional
kind
e.g. GSS_NT_HOSTBASED_SERVICE
or
GSS_NT_KRB5_PRINCIPAL
.
Examples found in repository?
examples/krb5.rs (line 91)
86fn setup_server_ctx(
87 service_name: &[u8],
88 desired_mechs: &OidSet
89) -> Result<(ServerCtx, Name), Error> {
90 println!("import name");
91 let name = Name::new(service_name, Some(&GSS_NT_HOSTBASED_SERVICE))?;
92 let cname = name.canonicalize(Some(&GSS_MECH_KRB5))?;
93 println!("canonicalize name for kerberos 5");
94 println!("server name: {}, server cname: {}", name, cname);
95 let server_cred = Cred::acquire(
96 Some(&cname), None, CredUsage::Accept, Some(desired_mechs)
97 )?;
98 println!("acquired server credentials: {:#?}", server_cred.info()?);
99 Ok((ServerCtx::new(Some(server_cred)), cname))
100}
Sourcepub fn canonicalize(&self, mech: Option<&Oid>) -> Result<Self, Error>
pub fn canonicalize(&self, mech: Option<&Oid>) -> Result<Self, Error>
canonicalize a name for the specified mechanism (or the default mechanism if not specified). This makes a copy of the name.
Examples found in repository?
examples/krb5.rs (line 92)
86fn setup_server_ctx(
87 service_name: &[u8],
88 desired_mechs: &OidSet
89) -> Result<(ServerCtx, Name), Error> {
90 println!("import name");
91 let name = Name::new(service_name, Some(&GSS_NT_HOSTBASED_SERVICE))?;
92 let cname = name.canonicalize(Some(&GSS_MECH_KRB5))?;
93 println!("canonicalize name for kerberos 5");
94 println!("server name: {}, server cname: {}", name, cname);
95 let server_cred = Cred::acquire(
96 Some(&cname), None, CredUsage::Accept, Some(desired_mechs)
97 )?;
98 println!("acquired server credentials: {:#?}", server_cred.info()?);
99 Ok((ServerCtx::new(Some(server_cred)), cname))
100}
Sourcepub fn export(&self) -> Result<Buf, Error>
pub fn export(&self) -> Result<Buf, Error>
Produce a contiguous string representation of a canonicalized name suitable for direct comparison. You must either use a canonical name, or call canonicalize before using this method.
Sourcepub fn display_name(&self) -> Result<Buf, Error>
pub fn display_name(&self) -> Result<Buf, Error>
Return the raw textual representation of the internal GSS name. Usually this will be utf8, or at least ascii, but that isn’t guaranteed.
Trait Implementations§
impl Send for Name
impl Sync for Name
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more