krb5_error_code
krb5_sockaddr2address(
krb5_context context
const struct sockaddr *sa
krb5_address *addr
)
krb5_error_code
krb5_sockaddr2port(
krb5_context context
const struct sockaddr *sa
int16_t *port
)
krb5_error_code
krb5_addr2sockaddr(
krb5_context context
const krb5_address *addr
struct sockaddr *sa
krb5_socklen_t *sa_size
int port
)
size_t
krb5_max_sockaddr_size(
void
)
krb5_boolean
krb5_sockaddr_uninteresting(
const struct sockaddr *sa
)
krb5_error_code
krb5_h_addr2sockaddr(
krb5_context context
int af
const char *addr
struct sockaddr *sa
krb5_socklen_t *sa_size
int port
)
krb5_error_code
krb5_h_addr2addr(
krb5_context context
int af
const char *haddr
krb5_address *addr
)
krb5_error_code
krb5_anyaddr(
krb5_context context
int af
struct sockaddr *sa
krb5_socklen_t *sa_size
int port
)
krb5_error_code
krb5_print_address(
const krb5_address *addr
char *str
size_t len
size_t *ret_len
)
krb5_error_code
krb5_parse_address(
krb5_context context
const char *string
krb5_addresses *addresses
)
int
krb5_address_order(
krb5_context context
const krb5_address *addr1
const krb5_address *addr2
)
krb5_boolean
krb5_address_compare(
krb5_context context
const krb5_address *addr1
const krb5_address *addr2
)
krb5_boolean
krb5_address_search(
krb5_context context
const krb5_address *addr
const krb5_addresses *addrlist
)
krb5_error_code
krb5_free_address(
krb5_context context
krb5_address *address
)
krb5_error_code
krb5_free_addresses(
krb5_context context
krb5_addresses *addresses
)
krb5_error_code
krb5_copy_address(
krb5_context context
const krb5_address *inaddr
krb5_address *outaddr
)
krb5_error_code
krb5_copy_addresses(
krb5_context context
const krb5_addresses *inaddr
krb5_addresses *outaddr
)
krb5_error_code
krb5_append_addresses(
krb5_context context
krb5_addresses *dest
const krb5_addresses *source
)
krb5_error_code
krb5_make_addrport(
krb5_context context
krb5_address **res
const krb5_address *addr
int16_t port
)
krb5_address
structure holds a address that can be used in Kerberos API
calls. There are help functions to set and extract address information
of the address.
The
krb5_addresses
structure holds a set of krb5_address:es.
krb5_sockaddr2address()
stores a address a
struct sockaddr
sa
in the krb5_address
addr
.
krb5_sockaddr2port()
extracts a
port
(if possible) from a
struct sockaddr
sa
.
krb5_addr2sockaddr()
sets the
struct sockaddr
sockaddr
from
addr
and
port
.
The argument
sa_size
should initially contain the size of the
sa
,
and after the call, it will contain the actual length of the address.
krb5_max_sockaddr_size()
returns the max size of the
struct
sockaddr
that the Kerberos library will return.
krb5_sockaddr_uninteresting()
returns
TRUE
for all
sa
that the kerberos library thinks are uninteresting.
One example are link local addresses.
krb5_h_addr2sockaddr()
initializes a
struct sockaddr
sa
from
af
and the
struct hostent
(see
gethostbyname(3))
h_addr_list
component.
The argument
sa_size
should initially contain the size of the
sa
,
and after the call, it will contain the actual length of the address.
krb5_h_addr2addr()
works like
krb5_h_addr2sockaddr(
)
with the exception that it operates on a
krb5_address
instead of a
struct
sockaddr
.
krb5_anyaddr()
fills in a
struct sockaddr
sa
that can be used to
bind(2)
to.
The argument
sa_size
should initially contain the size of the
sa
,
and after the call, it will contain the actual length of the address.
krb5_print_address()
prints the address in
addr
to the string
string
that have the length
len
.
If
ret_len
is not
NULL
,
it will be filled with the length of the string if size were unlimited (not
including the final
`\0').
krb5_parse_address()
Returns the resolved hostname in
string
to the
krb5_addresses
addresses
.
krb5_address_order()
compares the addresses
addr1
and
addr2
so that it can be used for sorting addresses. If the addresses are the
same address
krb5_address_order
will return 0.
krb5_address_compare()
compares the addresses
addr1
and
addr2
.
Returns
TRUE
if the two addresses are the same.
krb5_address_search()
checks if the address
addr
is a member of the address set list
addrlist
.
krb5_free_address()
frees the data stored in the
address
that is alloced with any of the krb5_address functions.
krb5_free_addresses()
frees the data stored in the
addresses
that is alloced with any of the krb5_address functions.
krb5_copy_address()
copies the content of address
inaddr
to
outaddr
.
krb5_copy_addresses()
copies the content of the address list
inaddr
to
outaddr
.
krb5_append_addresses()
adds the set of addresses in
source
to
dest
.
While copying the addresses, duplicates are also sorted out.
krb5_make_addrport()
allocates and creates an
krb5_address in
res
of type KRB5_ADDRESS_ADDRPORT from
(
addr
, port
).