krb5_krbhst_next_as_string man page on FreeBSD

Man page or keyword search:  
man Server   9747 pages
apropos Keyword Search (all sections)
Output format
FreeBSD logo
[printable version]

KRB5_KRBHST_INIT(3)	 BSD Library Functions Manual	   KRB5_KRBHST_INIT(3)

NAME
     krb5_krbhst_init, krb5_krbhst_init_flags, krb5_krbhst_next,
     krb5_krbhst_next_as_string, krb5_krbhst_reset, krb5_krbhst_free,
     krb5_krbhst_format_string, krb5_krbhst_get_addrinfo — lookup Kerberos KDC
     hosts

LIBRARY
     Kerberos 5 Library (libkrb5, -lkrb5)

SYNOPSIS
     #include <krb5.h>

     krb5_error_code
     krb5_krbhst_init(krb5_context context, const char *realm,
	 unsigned int type, krb5_krbhst_handle *handle);

     krb5_error_code
     krb5_krbhst_init_flags(krb5_context context, const char *realm,
	 unsigned int type, int flags, krb5_krbhst_handle *handle);

     krb5_error_code
     krb5_krbhst_next(krb5_context context, krb5_krbhst_handle handle,
	 krb5_krbhst_info **host);

     krb5_error_code
     krb5_krbhst_next_as_string(krb5_context context,
	 krb5_krbhst_handle handle, char *hostname, size_t hostlen);

     void
     krb5_krbhst_reset(krb5_context context, krb5_krbhst_handle handle);

     void
     krb5_krbhst_free(krb5_context context, krb5_krbhst_handle handle);

     krb5_error_code
     krb5_krbhst_format_string(krb5_context context,
	 const krb5_krbhst_info *host, char *hostname, size_t hostlen);

     krb5_error_code
     krb5_krbhst_get_addrinfo(krb5_context context, krb5_krbhst_info *host,
	 struct addrinfo **ai);

DESCRIPTION
     These functions are used to sequence through all Kerberos hosts of a par‐
     ticular realm and service. The service type can be the KDCs, the adminis‐
     trative servers, the password changing servers, or the servers for Ker‐
     beros 4 ticket conversion.

     First a handle to a particular service is obtained by calling
     krb5_krbhst_init() (or krb5_krbhst_init_flags()) with the realm of inter‐
     est and the type of service to lookup. The type can be one of:

	   KRB5_KRBHST_KDC
	   KRB5_KRBHST_ADMIN
	   KRB5_KRBHST_CHANGEPW
	   KRB5_KRBHST_KRB524

     The handle is returned to the caller, and should be passed to the other
     functions.

     The flag argument to krb5_krbhst_init_flags is the same flags as
     krb5_send_to_kdc_flags() uses.  Possible values are:

	   KRB5_KRBHST_FLAGS_MASTER	only talk to master (readwrite) KDC
	   KRB5_KRBHST_FLAGS_LARGE_MSG	this is a large message, so use trans‐
					port that can handle that.

     For each call to krb5_krbhst_next() information on a new host is
     returned. The former function returns in host a pointer to a structure
     containing information about the host, such as protocol, hostname, and
     port:

	   typedef struct krb5_krbhst_info {
	       enum { KRB5_KRBHST_UDP,
		      KRB5_KRBHST_TCP,
		      KRB5_KRBHST_HTTP } proto;
	       unsigned short port;
	       struct addrinfo *ai;
	       struct krb5_krbhst_info *next;
	       char hostname[1];
	   } krb5_krbhst_info;

     The related function, krb5_krbhst_next_as_string(), return the same
     information as a URL-like string.

     When there are no more hosts, these functions return KRB5_KDC_UNREACH.

     To re-iterate over all hosts, call krb5_krbhst_reset() and the next call
     to krb5_krbhst_next() will return the first host.

     When done with the handle, krb5_krbhst_free() should be called.

     To use a krb5_krbhst_info, there are two functions:
     krb5_krbhst_format_string() that will return a printable representation
     of that struct and krb5_krbhst_get_addrinfo() that will return a struct
     addrinfo that can then be used for communicating with the server men‐
     tioned.

EXAMPLES
     The following code will print the KDCs of the realm “MY.REALM”:

	   krb5_krbhst_handle handle;
	   char host[MAXHOSTNAMELEN];
	   krb5_krbhst_init(context, "MY.REALM", KRB5_KRBHST_KDC, &handle);
	   while(krb5_krbhst_next_as_string(context, handle,
					    host, sizeof(host)) == 0)
	       printf("%s\n", host);
	   krb5_krbhst_free(context, handle);

SEE ALSO
     getaddrinfo(3), krb5_get_krbhst(3), krb5_send_to_kdc_flags(3)

HISTORY
     These functions first appeared in Heimdal 0.3g.

HEIMDAL				 May 10, 2005			       HEIMDAL
[top]

List of man pages available for FreeBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
...................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net