DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

krb5_parse_address(3)





NAME

     krb5_address, krb5_addresses, krb5_sockaddr2address, krb5_sockaddr2port,
     krb5_addr2sockaddr, krb5_max_sockaddr_size, krb5_sockaddr_uninteresting,
     krb5_h_addr2sockaddr, krb5_h_addr2addr, krb5_anyaddr, krb5_print_address,
     krb5_parse_address, krb5_address_order, krb5_address_compare,
     krb5_address_search, krb5_free_address, krb5_free_addresses,
     krb5_copy_address, krb5_copy_addresses, krb5_append_addresses,
     krb5_make_addrport -- mange addresses in Kerberos


LIBRARY

     Kerberos 5 Library (libkrb5, -lkrb5)


SYNOPSIS

     #include <krb5.h>

     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);


DESCRIPTION

     The krb5_address structure holds a address that can be used in Kerberos
     API calls. There are help functions to set and extract address informa-
     tion 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 argu-
     ment 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).


SEE ALSO

     krb5(3), krb5.conf(5), kerberos(8)

HEIMDAL                           May 1, 2006                          HEIMDAL

Man(1) output converted with man2html