kdc: annotate libkdc Windows function annotations
Annotate libkdc APIs with KDC_LIB_{CALL,FUNCTION} to ensure correct calling convention and optimized DLL importing on Windows. Ensure Windows and libtool export tables are consistent.
This commit is contained in:
@@ -122,6 +122,24 @@ static const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg }
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef BUILD_KDC_LIB
|
||||||
|
#ifndef KDC_LIB
|
||||||
|
#ifdef _WIN32
|
||||||
|
#define KDC_LIB_FUNCTION
|
||||||
|
#define KDC_LIB_NORETURN_FUNCTION __declspec(noreturn)
|
||||||
|
#define KDC_LIB_CALL __stdcall
|
||||||
|
#define KDC_LIB_VARIABLE
|
||||||
|
#else
|
||||||
|
#define KDC_LIB_FUNCTION
|
||||||
|
#define KDC_LIB_NORETURN_FUNCTION
|
||||||
|
#define KDC_LIB_CALL
|
||||||
|
#define KDC_LIB_VARIABLE
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Feature macros */
|
/* Feature macros */
|
||||||
|
|
||||||
@FEATURE_DEFS@
|
@FEATURE_DEFS@
|
||||||
|
@@ -112,6 +112,8 @@ altsecid_gss_preauth_authorizer_la_LDFLAGS = -module \
|
|||||||
$(LIB_openldap)
|
$(LIB_openldap)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
libkdc_la_CPPFLAGS = -DBUILD_KDC_LIB $(AM_CPPFLAGS)
|
||||||
|
|
||||||
libkdc_la_SOURCES = \
|
libkdc_la_SOURCES = \
|
||||||
default_config.c \
|
default_config.c \
|
||||||
ca.c \
|
ca.c \
|
||||||
|
@@ -33,7 +33,7 @@ RELDIR=kdc
|
|||||||
|
|
||||||
!include ../windows/NTMakefile.w32
|
!include ../windows/NTMakefile.w32
|
||||||
|
|
||||||
intcflags=-I$(OBJ) -I$(SRC)\lib\gssapi -I$(OBJDIR)\lib\gssapi -I$(OBJDIR)\lib\gss_preauth
|
intcflags=-I$(OBJ) -I$(SRC)\lib\gssapi -I$(OBJDIR)\lib\gssapi -I$(OBJDIR)\lib\gss_preauth -DBUILD_KDC_LIB
|
||||||
|
|
||||||
BINPROGRAMS=$(BINDIR)\string2key.exe
|
BINPROGRAMS=$(BINDIR)\string2key.exe
|
||||||
|
|
||||||
|
2
kdc/ca.c
2
kdc/ca.c
@@ -97,7 +97,7 @@ get_cf(krb5_context context,
|
|||||||
/*
|
/*
|
||||||
* Build a certifate for `principal' and its CSR.
|
* Build a certifate for `principal' and its CSR.
|
||||||
*/
|
*/
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
kdc_issue_certificate(krb5_context context,
|
kdc_issue_certificate(krb5_context context,
|
||||||
const char *app_name,
|
const char *app_name,
|
||||||
krb5_log_facility *logf,
|
krb5_log_facility *logf,
|
||||||
|
@@ -65,7 +65,7 @@ static struct heim_plugin_data csr_authorizer_data = {
|
|||||||
* Invoke a plugin to validate a JWT/SAML/OIDC token and partially-evaluate
|
* Invoke a plugin to validate a JWT/SAML/OIDC token and partially-evaluate
|
||||||
* access control.
|
* access control.
|
||||||
*/
|
*/
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
kdc_authorize_csr(krb5_context context,
|
kdc_authorize_csr(krb5_context context,
|
||||||
const char *app,
|
const char *app,
|
||||||
hx509_request csr,
|
hx509_request csr,
|
||||||
|
@@ -69,7 +69,7 @@ load_kdc_plugins_once(void *ctx)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
|
krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
|
||||||
{
|
{
|
||||||
static heim_base_once_t load_kdc_plugins = HEIM_BASE_ONCE_INIT;
|
static heim_base_once_t load_kdc_plugins = HEIM_BASE_ONCE_INIT;
|
||||||
@@ -391,7 +391,7 @@ krb5_kdc_get_config(krb5_context context, krb5_kdc_configuration **config)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_pkinit_config(krb5_context context, krb5_kdc_configuration *config)
|
krb5_kdc_pkinit_config(krb5_context context, krb5_kdc_configuration *config)
|
||||||
{
|
{
|
||||||
#ifdef PKINIT
|
#ifdef PKINIT
|
||||||
|
@@ -61,7 +61,7 @@ load(krb5_context context, const void *plug, void *plugctx, void *userctx)
|
|||||||
return KRB5_PLUGIN_NO_HANDLE;
|
return KRB5_PLUGIN_NO_HANDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_plugin_init(krb5_context context)
|
krb5_kdc_plugin_init(krb5_context context)
|
||||||
{
|
{
|
||||||
(void)_krb5_plugin_run_f(context, &kdc_plugin_data, 0, NULL, load);
|
(void)_krb5_plugin_run_f(context, &kdc_plugin_data, 0, NULL, load);
|
||||||
@@ -279,7 +279,7 @@ _kdc_plugin_audit(astgs_request_t r)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
uintptr_t KRB5_CALLCONV
|
KDC_LIB_FUNCTION uintptr_t KDC_LIB_CALL
|
||||||
kdc_get_instance(const char *libname)
|
kdc_get_instance(const char *libname)
|
||||||
{
|
{
|
||||||
static const char *instance = "libkdc";
|
static const char *instance = "libkdc";
|
||||||
|
10
kdc/kdc.h
10
kdc/kdc.h
@@ -46,6 +46,16 @@
|
|||||||
#include <kx509_asn1.h>
|
#include <kx509_asn1.h>
|
||||||
#include <gssapi/gssapi.h>
|
#include <gssapi/gssapi.h>
|
||||||
|
|
||||||
|
#if !defined(BUILD_KDC_LIB) && defined(_WIN32)
|
||||||
|
# define KDC_LIB_FUNCTION __declspec(dllimport)
|
||||||
|
# define KDC_LIB_CALL __stdcall
|
||||||
|
# define KDC_LIB_VARIABLE __declspec(dllimport)
|
||||||
|
#else
|
||||||
|
# define KDC_LIB_FUNCTION
|
||||||
|
# define KDC_LIB_CALL
|
||||||
|
# define KDC_LIB_VARIABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
#define heim_pcontext krb5_context
|
#define heim_pcontext krb5_context
|
||||||
#define heim_pconfig krb5_kdc_configuration *
|
#define heim_pconfig krb5_kdc_configuration *
|
||||||
#include <heimbase-svc.h>
|
#include <heimbase-svc.h>
|
||||||
|
@@ -1612,7 +1612,7 @@ _log_astgs_req(astgs_request_t r, krb5_enctype setype)
|
|||||||
* and error code otherwise.
|
* and error code otherwise.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
kdc_check_flags(astgs_request_t r,
|
kdc_check_flags(astgs_request_t r,
|
||||||
krb5_boolean is_as_req,
|
krb5_boolean is_as_req,
|
||||||
hdb_entry_ex *client_ex,
|
hdb_entry_ex *client_ex,
|
||||||
|
@@ -6,6 +6,7 @@ EXPORTS
|
|||||||
kdc_log_msg
|
kdc_log_msg
|
||||||
kdc_log_msg_va
|
kdc_log_msg_va
|
||||||
kdc_openlog
|
kdc_openlog
|
||||||
|
kdc_check_flags
|
||||||
kdc_validate_token
|
kdc_validate_token
|
||||||
krb5_kdc_plugin_init
|
krb5_kdc_plugin_init
|
||||||
krb5_kdc_get_config
|
krb5_kdc_get_config
|
||||||
@@ -22,11 +23,16 @@ EXPORTS
|
|||||||
krb5_kdc_request_delete_attribute
|
krb5_kdc_request_delete_attribute
|
||||||
_kdc_audit_addkv
|
_kdc_audit_addkv
|
||||||
_kdc_audit_addkv_timediff
|
_kdc_audit_addkv_timediff
|
||||||
|
_kdc_audit_addaddrs
|
||||||
|
_kdc_audit_addreason
|
||||||
_kdc_audit_getkv
|
_kdc_audit_getkv
|
||||||
_kdc_audit_setkv_bool
|
_kdc_audit_setkv_bool
|
||||||
_kdc_audit_setkv_number
|
_kdc_audit_setkv_number
|
||||||
_kdc_audit_setkv_object
|
_kdc_audit_setkv_object
|
||||||
_kdc_audit_addreason
|
_kdc_audit_trail
|
||||||
_kdc_audit_vaddkv
|
_kdc_audit_vaddkv
|
||||||
_kdc_audit_vaddreason
|
_kdc_audit_vaddreason
|
||||||
_kdc_audit_trail
|
|
||||||
|
; needed for digest-service
|
||||||
|
_kdc_db_fetch
|
||||||
|
_kdc_free_ent
|
||||||
|
10
kdc/log.c
10
kdc/log.c
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
#include "kdc_locl.h"
|
#include "kdc_locl.h"
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
kdc_openlog(krb5_context context,
|
kdc_openlog(krb5_context context,
|
||||||
const char *service,
|
const char *service,
|
||||||
krb5_kdc_configuration *config)
|
krb5_kdc_configuration *config)
|
||||||
@@ -63,7 +63,7 @@ kdc_openlog(krb5_context context,
|
|||||||
#undef __attribute__
|
#undef __attribute__
|
||||||
#define __attribute__(X)
|
#define __attribute__(X)
|
||||||
|
|
||||||
char*
|
KDC_LIB_FUNCTION char * KDC_LIB_CALL
|
||||||
kdc_log_msg_va(krb5_context context,
|
kdc_log_msg_va(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
int level, const char *fmt, va_list ap)
|
int level, const char *fmt, va_list ap)
|
||||||
@@ -74,7 +74,7 @@ kdc_log_msg_va(krb5_context context,
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
char*
|
KDC_LIB_FUNCTION char * KDC_LIB_CALL
|
||||||
kdc_log_msg(krb5_context context,
|
kdc_log_msg(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
int level, const char *fmt, ...)
|
int level, const char *fmt, ...)
|
||||||
@@ -88,7 +88,7 @@ kdc_log_msg(krb5_context context,
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
kdc_vlog(krb5_context context,
|
kdc_vlog(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
int level, const char *fmt, va_list ap)
|
int level, const char *fmt, va_list ap)
|
||||||
@@ -97,7 +97,7 @@ kdc_vlog(krb5_context context,
|
|||||||
free(kdc_log_msg_va(context, config, level, fmt, ap));
|
free(kdc_log_msg_va(context, config, level, fmt, ap));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
kdc_log(krb5_context context,
|
kdc_log(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
int level, const char *fmt, ...)
|
int level, const char *fmt, ...)
|
||||||
|
@@ -122,7 +122,7 @@ synthesize_client(krb5_context context,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
_kdc_db_fetch(krb5_context context,
|
_kdc_db_fetch(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
krb5_const_principal principal,
|
krb5_const_principal principal,
|
||||||
@@ -245,7 +245,7 @@ out:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_free_ent(krb5_context context, hdb_entry_ex *ent)
|
_kdc_free_ent(krb5_context context, hdb_entry_ex *ent)
|
||||||
{
|
{
|
||||||
hdb_free_entry (context, ent);
|
hdb_free_entry (context, ent);
|
||||||
|
@@ -1926,7 +1926,7 @@ load_mappings(krb5_context context, const char *fn)
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_pk_initialize(krb5_context context,
|
krb5_kdc_pk_initialize(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
const char *user_id,
|
const char *user_id,
|
||||||
|
@@ -42,14 +42,14 @@
|
|||||||
#undef __attribute__
|
#undef __attribute__
|
||||||
#define __attribute__(x)
|
#define __attribute__(x)
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_vaddreason(kdc_request_t r, const char *fmt, va_list ap)
|
_kdc_audit_vaddreason(kdc_request_t r, const char *fmt, va_list ap)
|
||||||
__attribute__ ((__format__ (__printf__, 2, 0)))
|
__attribute__ ((__format__ (__printf__, 2, 0)))
|
||||||
{
|
{
|
||||||
heim_audit_vaddreason((heim_svc_req_desc)r, fmt, ap);
|
heim_audit_vaddreason((heim_svc_req_desc)r, fmt, ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_addreason(kdc_request_t r, const char *fmt, ...)
|
_kdc_audit_addreason(kdc_request_t r, const char *fmt, ...)
|
||||||
__attribute__ ((__format__ (__printf__, 2, 3)))
|
__attribute__ ((__format__ (__printf__, 2, 3)))
|
||||||
{
|
{
|
||||||
@@ -66,7 +66,7 @@ _kdc_audit_addreason(kdc_request_t r, const char *fmt, ...)
|
|||||||
* not a kv-pair.
|
* not a kv-pair.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_vaddkv(kdc_request_t r, int flags, const char *k,
|
_kdc_audit_vaddkv(kdc_request_t r, int flags, const char *k,
|
||||||
const char *fmt, va_list ap)
|
const char *fmt, va_list ap)
|
||||||
__attribute__ ((__format__ (__printf__, 4, 0)))
|
__attribute__ ((__format__ (__printf__, 4, 0)))
|
||||||
@@ -74,7 +74,7 @@ _kdc_audit_vaddkv(kdc_request_t r, int flags, const char *k,
|
|||||||
heim_audit_vaddkv((heim_svc_req_desc)r, flags, k, fmt, ap);
|
heim_audit_vaddkv((heim_svc_req_desc)r, flags, k, fmt, ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_addkv(kdc_request_t r, int flags, const char *k,
|
_kdc_audit_addkv(kdc_request_t r, int flags, const char *k,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
__attribute__ ((__format__ (__printf__, 4, 5)))
|
__attribute__ ((__format__ (__printf__, 4, 5)))
|
||||||
@@ -86,7 +86,7 @@ _kdc_audit_addkv(kdc_request_t r, int flags, const char *k,
|
|||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_addkv_timediff(kdc_request_t r, const char *k,
|
_kdc_audit_addkv_timediff(kdc_request_t r, const char *k,
|
||||||
const struct timeval *start,
|
const struct timeval *start,
|
||||||
const struct timeval *end)
|
const struct timeval *end)
|
||||||
@@ -94,25 +94,25 @@ _kdc_audit_addkv_timediff(kdc_request_t r, const char *k,
|
|||||||
heim_audit_addkv_timediff((heim_svc_req_desc)r,k, start, end);
|
heim_audit_addkv_timediff((heim_svc_req_desc)r,k, start, end);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_setkv_bool(kdc_request_t r, const char *k, krb5_boolean v)
|
_kdc_audit_setkv_bool(kdc_request_t r, const char *k, krb5_boolean v)
|
||||||
{
|
{
|
||||||
heim_audit_setkv_bool((heim_svc_req_desc)r, k, (int)v);
|
heim_audit_setkv_bool((heim_svc_req_desc)r, k, (int)v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_setkv_number(kdc_request_t r, const char *k, int64_t v)
|
_kdc_audit_setkv_number(kdc_request_t r, const char *k, int64_t v)
|
||||||
{
|
{
|
||||||
heim_audit_setkv_number((heim_svc_req_desc)r, k, v);
|
heim_audit_setkv_number((heim_svc_req_desc)r, k, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_setkv_object(kdc_request_t r, const char *k, heim_object_t obj)
|
_kdc_audit_setkv_object(kdc_request_t r, const char *k, heim_object_t obj)
|
||||||
{
|
{
|
||||||
heim_audit_setkv_object((heim_svc_req_desc)r, k, obj);
|
heim_audit_setkv_object((heim_svc_req_desc)r, k, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
heim_object_t
|
KDC_LIB_FUNCTION heim_object_t KDC_LIB_CALL
|
||||||
_kdc_audit_getkv(kdc_request_t r, const char *k)
|
_kdc_audit_getkv(kdc_request_t r, const char *k)
|
||||||
{
|
{
|
||||||
return heim_audit_getkv((heim_svc_req_desc)r, k);
|
return heim_audit_getkv((heim_svc_req_desc)r, k);
|
||||||
@@ -122,7 +122,7 @@ _kdc_audit_getkv(kdc_request_t r, const char *k)
|
|||||||
* Add up to 3 key value pairs to record HostAddresses from request body or
|
* Add up to 3 key value pairs to record HostAddresses from request body or
|
||||||
* PA-TGS ticket or whatever.
|
* PA-TGS ticket or whatever.
|
||||||
*/
|
*/
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_addaddrs(kdc_request_t r, HostAddresses *a, const char *key)
|
_kdc_audit_addaddrs(kdc_request_t r, HostAddresses *a, const char *key)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
@@ -142,7 +142,7 @@ _kdc_audit_addaddrs(kdc_request_t r, HostAddresses *a, const char *key)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
_kdc_audit_trail(kdc_request_t r, krb5_error_code ret)
|
_kdc_audit_trail(kdc_request_t r, krb5_error_code ret)
|
||||||
{
|
{
|
||||||
const char *retname = NULL;
|
const char *retname = NULL;
|
||||||
@@ -195,7 +195,7 @@ _kdc_audit_trail(kdc_request_t r, krb5_error_code ret)
|
|||||||
heim_audit_trail((heim_svc_req_desc)r, ret, retname);
|
heim_audit_trail((heim_svc_req_desc)r, ret, retname);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
krb5_kdc_update_time(struct timeval *tv)
|
krb5_kdc_update_time(struct timeval *tv)
|
||||||
{
|
{
|
||||||
if (tv == NULL)
|
if (tv == NULL)
|
||||||
@@ -406,7 +406,7 @@ process_request(krb5_context context,
|
|||||||
* sending a reply in `reply'.
|
* sending a reply in `reply'.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
KDC_LIB_FUNCTION int KDC_LIB_CALL
|
||||||
krb5_kdc_process_request(krb5_context context,
|
krb5_kdc_process_request(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
unsigned char *buf,
|
unsigned char *buf,
|
||||||
@@ -428,7 +428,7 @@ krb5_kdc_process_request(krb5_context context,
|
|||||||
* This only processes krb5 requests
|
* This only processes krb5 requests
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
KDC_LIB_FUNCTION int KDC_LIB_CALL
|
||||||
krb5_kdc_process_krb5_request(krb5_context context,
|
krb5_kdc_process_krb5_request(krb5_context context,
|
||||||
krb5_kdc_configuration *config,
|
krb5_kdc_configuration *config,
|
||||||
unsigned char *buf,
|
unsigned char *buf,
|
||||||
@@ -447,7 +447,7 @@ krb5_kdc_process_krb5_request(krb5_context context,
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
KDC_LIB_FUNCTION int KDC_LIB_CALL
|
||||||
krb5_kdc_save_request(krb5_context context,
|
krb5_kdc_save_request(krb5_context context,
|
||||||
const char *fn,
|
const char *fn,
|
||||||
const unsigned char *buf,
|
const unsigned char *buf,
|
||||||
@@ -511,25 +511,25 @@ out:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_request_set_attribute(kdc_request_t r, heim_object_t key, heim_object_t value)
|
krb5_kdc_request_set_attribute(kdc_request_t r, heim_object_t key, heim_object_t value)
|
||||||
{
|
{
|
||||||
return heim_dict_set_value(r->attributes, key, value);
|
return heim_dict_set_value(r->attributes, key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
heim_object_t
|
KDC_LIB_FUNCTION heim_object_t KDC_LIB_CALL
|
||||||
krb5_kdc_request_get_attribute(kdc_request_t r, heim_object_t key)
|
krb5_kdc_request_get_attribute(kdc_request_t r, heim_object_t key)
|
||||||
{
|
{
|
||||||
return heim_dict_get_value(r->attributes, key);
|
return heim_dict_get_value(r->attributes, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
heim_object_t
|
KDC_LIB_FUNCTION heim_object_t KDC_LIB_CALL
|
||||||
krb5_kdc_request_copy_attribute(kdc_request_t r, heim_object_t key)
|
krb5_kdc_request_copy_attribute(kdc_request_t r, heim_object_t key)
|
||||||
{
|
{
|
||||||
return heim_dict_copy_value(r->attributes, key);
|
return heim_dict_copy_value(r->attributes, key);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
KDC_LIB_FUNCTION void KDC_LIB_CALL
|
||||||
krb5_kdc_request_delete_attribute(kdc_request_t r, heim_object_t key)
|
krb5_kdc_request_delete_attribute(kdc_request_t r, heim_object_t key)
|
||||||
{
|
{
|
||||||
heim_dict_delete_key(r->attributes, key);
|
heim_dict_delete_key(r->attributes, key);
|
||||||
|
@@ -64,7 +64,7 @@ add_db(krb5_context context, struct krb5_kdc_configuration *c,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
krb5_kdc_set_dbinfo(krb5_context context, struct krb5_kdc_configuration *c)
|
krb5_kdc_set_dbinfo(krb5_context context, struct krb5_kdc_configuration *c)
|
||||||
{
|
{
|
||||||
struct hdb_dbinfo *info, *d;
|
struct hdb_dbinfo *info, *d;
|
||||||
|
@@ -78,7 +78,7 @@ static struct heim_plugin_data token_validator_data = {
|
|||||||
* Invoke a plugin to validate a JWT/SAML/OIDC token and partially-evaluate
|
* Invoke a plugin to validate a JWT/SAML/OIDC token and partially-evaluate
|
||||||
* access control.
|
* access control.
|
||||||
*/
|
*/
|
||||||
krb5_error_code
|
KDC_LIB_FUNCTION krb5_error_code KDC_LIB_CALL
|
||||||
kdc_validate_token(krb5_context context,
|
kdc_validate_token(krb5_context context,
|
||||||
const char *realm,
|
const char *realm,
|
||||||
const char *token_kind,
|
const char *token_kind,
|
||||||
|
@@ -25,14 +25,16 @@ HEIMDAL_KDC_1.0 {
|
|||||||
krb5_kdc_request_copy_attribute;
|
krb5_kdc_request_copy_attribute;
|
||||||
krb5_kdc_request_delete_attribute;
|
krb5_kdc_request_delete_attribute;
|
||||||
_kdc_audit_addkv;
|
_kdc_audit_addkv;
|
||||||
|
_kdc_audit_addkv_timediff;
|
||||||
|
_kdc_audit_addaddrs;
|
||||||
|
_kdc_audit_addreason;
|
||||||
|
_kdc_audit_getkv;
|
||||||
_kdc_audit_setkv_bool;
|
_kdc_audit_setkv_bool;
|
||||||
_kdc_audit_setkv_number;
|
_kdc_audit_setkv_number;
|
||||||
_kdc_audit_setkv_object;
|
_kdc_audit_setkv_object;
|
||||||
_kdc_audit_getkv;
|
_kdc_audit_trail;
|
||||||
_kdc_audit_addreason;
|
|
||||||
_kdc_audit_vaddkv;
|
_kdc_audit_vaddkv;
|
||||||
_kdc_audit_vaddreason;
|
_kdc_audit_vaddreason;
|
||||||
_kdc_audit_trail;
|
|
||||||
|
|
||||||
# needed for digest-service
|
# needed for digest-service
|
||||||
_kdc_db_fetch;
|
_kdc_db_fetch;
|
||||||
|
Reference in New Issue
Block a user