KRB5_CONTEXT(3) BSD Library Functions Manual KRB5_CONTEXT(3) NNAAMMEE kkrrbb55__aadddd__eett__lliisstt, kkrrbb55__aadddd__eexxttrraa__aaddddrreesssseess, kkrrbb55__aadddd__iiggnnoorree__aaddddrreesssseess, kkrrbb55__ccoonntteexxtt, kkrrbb55__ffrreeee__ccoonnffiigg__ffiilleess, kkrrbb55__ffrreeee__ccoonntteexxtt, kkrrbb55__ggeett__ddeeffaauulltt__ccoonnffiigg__ffiilleess, kkrrbb55__ggeett__ddnnss__ccaannoonniizzee__hhoossttnnaammee, kkrrbb55__ggeett__eexxttrraa__aaddddrreesssseess, kkrrbb55__ggeett__ffccaacchhee__vveerrssiioonn, kkrrbb55__ggeett__iiggnnoorree__aaddddrreesssseess, kkrrbb55__ggeett__kkddcc__sseecc__ooffffsseett, kkrrbb55__ggeett__mmaaxx__ttiimmee__sskkeeww, kkrrbb55__ggeett__uussee__aaddmmiinn__kkddcc kkrrbb55__iinniitt__ccoonntteexxtt, kkrrbb55__iinniitt__eettss, kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess, kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess__ddeeffaauulltt, kkrrbb55__sseett__ccoonnffiigg__ffiilleess, kkrrbb55__sseett__ddnnss__ccaannoonniizzee__hhoossttnnaammee, kkrrbb55__sseett__eexxttrraa__aaddddrreesssseess, kkrrbb55__sseett__ffccaacchhee__vveerrssiioonn, kkrrbb55__sseett__iiggnnoorree__aaddddrreesssseess, kkrrbb55__sseett__mmaaxx__ttiimmee__sskkeeww, kkrrbb55__sseett__uussee__aaddmmiinn__kkddcc, -- create, modify and delete krb5_context structures LLIIBBRRAARRYY Kerberos 5 Library (libkrb5, -lkrb5) SSYYNNOOPPSSIISS ##iinncclluuddee <> struct krb5_context; _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__iinniitt__ccoonntteexxtt(_k_r_b_5___c_o_n_t_e_x_t _*_c_o_n_t_e_x_t); _v_o_i_d kkrrbb55__ffrreeee__ccoonntteexxtt(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t); _v_o_i_d kkrrbb55__iinniitt__eettss(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__aadddd__eett__lliisstt(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _v_o_i_d _(_*_f_u_n_c_)_(_s_t_r_u_c_t _e_t___l_i_s_t _*_*_)); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__aadddd__eexxttrraa__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__sseett__eexxttrraa__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _c_o_n_s_t _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__ggeett__eexxttrraa__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__aadddd__iiggnnoorree__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__sseett__iiggnnoorree__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _c_o_n_s_t _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__ggeett__iiggnnoorree__aaddddrreesssseess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___a_d_d_r_e_s_s_e_s _*_a_d_d_r_e_s_s_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__sseett__ffccaacchhee__vveerrssiioonn(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _i_n_t _v_e_r_s_i_o_n); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__ggeett__ffccaacchhee__vveerrssiioonn(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _i_n_t _*_v_e_r_s_i_o_n); _v_o_i_d kkrrbb55__sseett__ddnnss__ccaannoonniizzee__hhoossttnnaammee(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___b_o_o_l_e_a_n _f_l_a_g); _k_r_b_5___b_o_o_l_e_a_n kkrrbb55__ggeett__ddnnss__ccaannoonniizzee__hhoossttnnaammee(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__ggeett__kkddcc__sseecc__ooffffsseett(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _i_n_t_3_2___t _*_s_e_c, _i_n_t_3_2___t _*_u_s_e_c); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__sseett__ccoonnffiigg__ffiilleess(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _c_h_a_r _*_*_f_i_l_e_n_a_m_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess(_c_o_n_s_t _c_h_a_r _*_f_i_l_e_l_i_s_t, _c_h_a_r _*_*_p_q, _c_h_a_r _*_*_*_r_e_t___p_p); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess__ddeeffaauulltt(_c_o_n_s_t _c_h_a_r _*_f_i_l_e_l_i_s_t, _c_h_a_r _*_*_*_p_f_i_l_e_n_a_m_e_s); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__ggeett__ddeeffaauulltt__ccoonnffiigg__ffiilleess(_c_h_a_r _*_*_*_p_f_i_l_e_n_a_m_e_s); _v_o_i_d kkrrbb55__ffrreeee__ccoonnffiigg__ffiilleess(_c_h_a_r _*_*_f_i_l_e_n_a_m_e_s); _v_o_i_d kkrrbb55__sseett__uussee__aaddmmiinn__kkddcc(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _k_r_b_5___b_o_o_l_e_a_n _f_l_a_g); _k_r_b_5___b_o_o_l_e_a_n kkrrbb55__ggeett__uussee__aaddmmiinn__kkddcc(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t); _t_i_m_e___t kkrrbb55__ggeett__mmaaxx__ttiimmee__sskkeeww(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t); _k_r_b_5___e_r_r_o_r___c_o_d_e kkrrbb55__sseett__mmaaxx__ttiimmee__sskkeeww(_k_r_b_5___c_o_n_t_e_x_t _c_o_n_t_e_x_t, _t_i_m_e___t _t_i_m_e); DDEESSCCRRIIPPTTIIOONN The kkrrbb55__iinniitt__ccoonntteexxtt() function initializes the _c_o_n_t_e_x_t structure and reads the configuration file _/_e_t_c_/_k_r_b_5_._c_o_n_f. The structure should be freed by calling kkrrbb55__ffrreeee__ccoonntteexxtt() when it is no longer being used. kkrrbb55__iinniitt__ccoonntteexxtt() returns 0 to indicate success. Otherwise an errno code is returned. Failure means either that something bad happened dur- ing initialization (typically [ENOMEM]) or that Kerberos should not be used [ENXIO]. kkrrbb55__iinniitt__eettss() adds all com_err(3) libs to _c_o_n_t_e_x_t. This is done by kkrrbb55__iinniitt__ccoonntteexxtt(). kkrrbb55__aadddd__eett__lliisstt() adds a com_err(3) error-code handler _f_u_n_c to the spec- ified _c_o_n_t_e_x_t. The error handler must generated by the the re-rentrant version of the compile_et(1) program. kkrrbb55__aadddd__eexxttrraa__aaddddrreesssseess() add a list of addresses that should be added when requesting tickets. kkrrbb55__aadddd__iiggnnoorree__aaddddrreesssseess() add a list of addresses that should be ignored when requesting tickets. kkrrbb55__ggeett__eexxttrraa__aaddddrreesssseess() get the list of addresses that should be added when requesting tickets. kkrrbb55__ggeett__iiggnnoorree__aaddddrreesssseess() get the list of addresses that should be ignored when requesting tickets. kkrrbb55__sseett__iiggnnoorree__aaddddrreesssseess() set the list of addresses that should be ignored when requesting tickets. kkrrbb55__sseett__eexxttrraa__aaddddrreesssseess() set the list of addresses that should be added when requesting tickets. kkrrbb55__sseett__ffccaacchhee__vveerrssiioonn() sets the version of file credentials caches that should be used. kkrrbb55__ggeett__ffccaacchhee__vveerrssiioonn() gets the version of file credentials caches that should be used. kkrrbb55__sseett__ddnnss__ccaannoonniizzee__hhoossttnnaammee() sets if the context is configured to canonicalize hostnames using DNS. kkrrbb55__ggeett__ddnnss__ccaannoonniizzee__hhoossttnnaammee() returns if the context is configured to canonicalize hostnames using DNS. kkrrbb55__ggeett__kkddcc__sseecc__ooffffsseett() returns the offset between the localtime and the KDC's time. _s_e_c and _u_s_e_c are both optional argument and NULL can be passed in. kkrrbb55__sseett__ccoonnffiigg__ffiilleess() set the list of configuration files to use and re-initialize the configuration from the files. kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess() parse the _f_i_l_e_l_i_s_t and prepend the result to the already existing list _p_q The result is returned in _r_e_t___p_p and should be freed with kkrrbb55__ffrreeee__ccoonnffiigg__ffiilleess(). kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess__ddeeffaauulltt() parse the _f_i_l_e_l_i_s_t and append that to the default list of configuration files. kkrrbb55__ggeett__ddeeffaauulltt__ccoonnffiigg__ffiilleess() get a list of default configuration files. kkrrbb55__ffrreeee__ccoonnffiigg__ffiilleess() free a list of configuration files returned by kkrrbb55__ggeett__ddeeffaauulltt__ccoonnffiigg__ffiilleess(), kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess__ddeeffaauulltt(), or kkrrbb55__pprreeppeenndd__ccoonnffiigg__ffiilleess(). kkrrbb55__sseett__uussee__aaddmmiinn__kkddcc() sets if all KDC requests should go admin KDC. kkrrbb55__ggeett__uussee__aaddmmiinn__kkddcc() gets if all KDC requests should go admin KDC. kkrrbb55__ggeett__mmaaxx__ttiimmee__sskkeeww() and kkrrbb55__sseett__mmaaxx__ttiimmee__sskkeeww() get and sets the maximum allowed time skew between client and server. SSEEEE AALLSSOO errno(2), krb5(3), krb5_config(3), krb5_context(3), kerberos(8) HEIMDAL December 8, 2004 HEIMDAL