gssapictx.c File Reference

#include <config.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <isc/buffer.h>
#include <isc/dir.h>
#include <isc/entropy.h>
#include <isc/file.h>
#include <isc/lex.h>
#include <isc/mem.h>
#include <isc/once.h>
#include <isc/print.h>
#include <isc/platform.h>
#include <isc/random.h>
#include <isc/time.h>
#include <isc/util.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/rdata.h>
#include <dns/rdataclass.h>
#include <dns/result.h>
#include <dns/types.h>
#include <dns/keyvalues.h>
#include <dns/log.h>
#include <dst/gssapi.h>
#include <dst/result.h>
#include "dst_internal.h"

Go to the source code of this file.

Defines

#define REGION_TO_GBUFFER(r, gb)
#define GBUFFER_TO_REGION(gb, r)
#define RETERR(x)

Functions

isc_result_t dst_gssapi_acquirecred (dns_name_t *name, isc_boolean_t initiate, gss_cred_id_t *cred)
isc_boolean_t dst_gssapi_identitymatchesrealmkrb5 (dns_name_t *signer, dns_name_t *name, dns_name_t *realm)
isc_boolean_t dst_gssapi_identitymatchesrealmms (dns_name_t *signer, dns_name_t *name, dns_name_t *realm)
isc_result_t dst_gssapi_releasecred (gss_cred_id_t *cred)
isc_result_t dst_gssapi_initctx (dns_name_t *name, isc_buffer_t *intoken, isc_buffer_t *outtoken, gss_ctx_id_t *gssctx, isc_mem_t *mctx, char **err_message)
isc_result_t dst_gssapi_acceptctx (gss_cred_id_t cred, const char *gssapi_keytab, isc_region_t *intoken, isc_buffer_t **outtoken, gss_ctx_id_t *ctxout, dns_name_t *principal, isc_mem_t *mctx)
isc_result_t dst_gssapi_deletectx (isc_mem_t *mctx, gss_ctx_id_t *gssctx)
char * gss_error_tostring (isc_uint32_t major, isc_uint32_t minor, char *buf, size_t buflen)
void gss_log (int level, const char *fmt,...)


Detailed Description

Definition in file gssapictx.c.


Define Documentation

#define REGION_TO_GBUFFER ( r,
gb   ) 

Value:

do { \
                (gb).length = (r).length; \
                (gb).value = (r).base; \
        } while (0)

Definition at line 102 of file gssapictx.c.

Referenced by dst_gssapi_acceptctx(), and dst_gssapi_initctx().

#define GBUFFER_TO_REGION ( gb,
r   ) 

Value:

do { \
          (r).length = (unsigned int)(gb).length; \
                (r).base = (gb).value; \
        } while (0)

Definition at line 108 of file gssapictx.c.

Referenced by dst_gssapi_acceptctx(), and dst_gssapi_initctx().

#define RETERR (  ) 

Value:

do { \
        result = (x); \
        if (result != ISC_R_SUCCESS) \
                goto out; \
        } while (0)

Definition at line 115 of file gssapictx.c.


Function Documentation

isc_result_t dst_gssapi_acquirecred ( dns_name_t name,
isc_boolean_t  initiate,
gss_cred_id_t cred 
)

Definition at line 254 of file gssapictx.c.

References cleanup(), DNS_NAME_MAXTEXT, gss_error_tostring(), gss_log(), isc_buffer_init, ISC_R_FAILURE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, namebuf, REQUIRE, and UNUSED.

Referenced by ns_tkeyctx_fromconfig().

isc_boolean_t dst_gssapi_identitymatchesrealmkrb5 ( dns_name_t signer,
dns_name_t name,
dns_name_t realm 
)

Definition at line 352 of file gssapictx.c.

References buffer, dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_toprincipal(), isc_boolean_false, isc_boolean_true, isc_buffer_init, isc_buffer_putuint8, ISC_R_SUCCESS, RUNTIME_CHECK, and UNUSED.

Referenced by dns_ssutable_checkrules().

isc_boolean_t dst_gssapi_identitymatchesrealmms ( dns_name_t signer,
dns_name_t name,
dns_name_t realm 
)

Definition at line 425 of file gssapictx.c.

References buffer, dns_name_format(), DNS_NAME_FORMATSIZE, dns_name_toprincipal(), isc_boolean_false, isc_boolean_true, isc_buffer_init, isc_buffer_putuint8, ISC_R_SUCCESS, RUNTIME_CHECK, and UNUSED.

Referenced by dns_ssutable_checkrules().

isc_result_t dst_gssapi_releasecred ( gss_cred_id_t cred  ) 

Definition at line 516 of file gssapictx.c.

References gss_error_tostring(), gss_log(), ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, REQUIRE, and UNUSED.

Referenced by dns_tkeyctx_destroy().

isc_result_t dst_gssapi_initctx ( dns_name_t name,
isc_buffer_t intoken,
isc_buffer_t outtoken,
gss_ctx_id_t gssctx,
isc_mem_t mctx,
char **  err_message 
)

Definition at line 563 of file gssapictx.c.

References DNS_NAME_MAXTEXT, DNS_R_CONTINUE, GBUFFER_TO_REGION, gss_log(), isc_buffer_copyregion(), isc_buffer_init, ISC_R_FAILURE, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, namebuf, r, REGION_TO_GBUFFER, REQUIRE, RETERR, and UNUSED.

Referenced by dns_tkey_buildgssquery(), dns_tkey_gssnegotiate(), and dns_tkey_processgssresponse().

isc_result_t dst_gssapi_acceptctx ( gss_cred_id_t  cred,
const char *  gssapi_keytab,
isc_region_t intoken,
isc_buffer_t **  outtoken,
gss_ctx_id_t ctxout,
dns_name_t principal,
isc_mem_t mctx 
)

Definition at line 658 of file gssapictx.c.

References isc_region::base, dns_name_fromtext(), DNS_R_CONTINUE, DNS_R_INVALIDTKEY, dns_rootname, GBUFFER_TO_REGION, gss_error_tostring(), gss_log(), isc_buffer_add, isc_buffer_allocate(), isc_buffer_copyregion(), isc_buffer_init, ISC_R_FAILURE, ISC_R_NOMEMORY, ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, isc_region::length, isc_buffer::length, namebuf, r, REGION_TO_GBUFFER, REQUIRE, RETERR, and UNUSED.

Referenced by process_gsstkey().

isc_result_t dst_gssapi_deletectx ( isc_mem_t mctx,
gss_ctx_id_t gssctx 
)

Definition at line 817 of file gssapictx.c.

References gss_error_tostring(), gss_log(), ISC_R_NOTIMPLEMENTED, ISC_R_SUCCESS, REQUIRE, and UNUSED.

char* gss_error_tostring ( isc_uint32_t  major,
isc_uint32_t  minor,
char *  buf,
size_t  buflen 
)

Definition at line 843 of file gssapictx.c.

Referenced by dst_gssapi_acceptctx(), dst_gssapi_acquirecred(), dst_gssapi_deletectx(), and dst_gssapi_releasecred().

void gss_log ( int  level,
const char *  fmt,
  ... 
)

Definition at line 877 of file gssapictx.c.

References dns_lctx, DNS_LOGCATEGORY_GENERAL, DNS_LOGMODULE_TKEY, ISC_LOG_DEBUG, and isc_log_vwrite().


Generated on Tue Apr 28 17:41:08 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha