krb5_boolean restrict_authenticated,
void **ptr);
-typedef krb5_error_code
-(*authdata_client_copy_context_proc)(krb5_context kcontext,
- struct _krb5_authdata_context *context,
- void *plugin_context,
- void *request_context,
- void *dst_plugin_context,
- void *dst_request_context);
-
typedef void
(*authdata_client_free_internal_proc)(krb5_context kcontext,
struct _krb5_authdata_context *context,
krb5_octet **buffer,
size_t *lenremain);
+typedef krb5_error_code
+(*authdata_client_copy_proc)(krb5_context kcontext,
+ struct _krb5_authdata_context *context,
+ void *plugin_context,
+ void *request_context,
+ void *dst_plugin_context,
+ void *dst_request_context);
+
typedef struct krb5plugin_authdata_client_ftable_v0 {
char *name;
krb5_authdatatype *ad_type_list;
authdata_client_import_authdata_proc import_authdata;
authdata_client_export_internal_proc export_internal;
authdata_client_free_internal_proc free_internal;
- authdata_client_copy_context_proc copy_context;
authdata_client_verify_proc verify;
authdata_client_size_proc size;
authdata_client_externalize_proc externalize;
authdata_client_internalize_proc internalize;
+ authdata_client_copy_proc copy; /* optional */
} krb5plugin_authdata_client_ftable_v0;
#endif /* KRB5_AUTHDATA_PLUGIN_H_INCLUDED */
assert(strcmp(dst_module->name, src_module->name) == 0);
- /* If copy_context is unimplemented, externalize/internalize */
- if (src_module->ftable->copy_context == NULL) {
+ /* If copy is unimplemented, externalize/internalize */
+ if (src_module->ftable->copy == NULL) {
size_t size = 0, remain;
krb5_octet *contents, *bp;
assert(src_module->request_context_pp == &src_module->request_context);
assert(dst_module->request_context_pp == &dst_module->request_context);
- code = (*src_module->ftable->copy_context)(kcontext,
- context,
- src_module->plugin_context,
- src_module->request_context,
- dst_module->plugin_context,
- dst_module->request_context);
+ code = (*src_module->ftable->copy)(kcontext,
+ context,
+ src_module->plugin_context,
+ src_module->request_context,
+ dst_module->plugin_context,
+ dst_module->request_context);
}
return code;
return code;
}
-static krb5_error_code
-mspac_copy_context(krb5_context kcontext,
- krb5_authdata_context context,
- void *plugin_context,
- void *request_context,
- void *dst_plugin_context,
- void *dst_request_context)
-{
- struct mspac_context *srcctx = (struct mspac_context *)request_context;
- struct mspac_context *dstctx = (struct mspac_context *)dst_request_context;
- krb5_error_code code = 0;
-
- assert(dstctx != NULL);
- assert(dstctx->pac == NULL);
-
- if (srcctx->pac != NULL)
- code = k5_pac_copy(kcontext, srcctx->pac, &dstctx->pac);
-
- return code;
-}
-
static void
mspac_free_internal(krb5_context kcontext,
krb5_authdata_context context,
return 0;
}
+static krb5_error_code
+mspac_copy(krb5_context kcontext,
+ krb5_authdata_context context,
+ void *plugin_context,
+ void *request_context,
+ void *dst_plugin_context,
+ void *dst_request_context)
+{
+ struct mspac_context *srcctx = (struct mspac_context *)request_context;
+ struct mspac_context *dstctx = (struct mspac_context *)dst_request_context;
+ krb5_error_code code = 0;
+
+ assert(dstctx != NULL);
+ assert(dstctx->pac == NULL);
+
+ if (srcctx->pac != NULL)
+ code = k5_pac_copy(kcontext, srcctx->pac, &dstctx->pac);
+
+ return code;
+}
+
static krb5_authdatatype mspac_ad_types[] = { KRB5_AUTHDATA_WIN2K_PAC, 0 };
krb5plugin_authdata_client_ftable_v0 krb5int_mspac_authdata_client_ftable = {
mspac_import_authdata,
mspac_export_internal,
mspac_free_internal,
- mspac_copy_context,
mspac_verify,
mspac_size,
mspac_externalize,
- mspac_internalize
+ mspac_internalize,
+ mspac_copy
};
NULL,
NULL,
NULL,
- NULL,
greet_size,
greet_externalize,
- greet_internalize
+ greet_internalize,
+ NULL
};