make gss_acquire_cred_ext private
This commit is contained in:
@@ -139,17 +139,18 @@ proto (int sock, const char *hostname, const char *service)
|
||||
pw.value = password;
|
||||
pw.length = strlen(password);
|
||||
|
||||
maj_stat = gss_acquire_cred_ext(&min_stat,
|
||||
GSS_C_NO_NAME,
|
||||
GSS_C_CRED_PASSWORD,
|
||||
&pw,
|
||||
GSS_C_INDEFINITE,
|
||||
GSS_C_NO_OID,
|
||||
GSS_C_INITIATE,
|
||||
&cred);
|
||||
maj_stat = gss_acquire_cred_with_password(&min_stat,
|
||||
GSS_C_NO_NAME,
|
||||
&pw,
|
||||
GSS_C_INDEFINITE,
|
||||
GSS_C_NO_OID_SET,
|
||||
GSS_C_INITIATE,
|
||||
&cred,
|
||||
NULL,
|
||||
NULL);
|
||||
if (GSS_ERROR(maj_stat))
|
||||
gss_err (1, min_stat,
|
||||
"Error acquiring initiator credentials");
|
||||
"Error acquiring default initiator credentials");
|
||||
}
|
||||
|
||||
addrlen = sizeof(local);
|
||||
|
@@ -474,23 +474,6 @@ GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_acquire_cred
|
||||
OM_uint32 * /*time_rec*/
|
||||
);
|
||||
|
||||
extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_password_oid_desc;
|
||||
#define GSS_C_CRED_PASSWORD (&__gss_c_cred_password_oid_desc)
|
||||
|
||||
extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_certificate_oid_desc;
|
||||
#define GSS_C_CRED_CERTIFICATE (&__gss_c_cred_certificate_oid_desc)
|
||||
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_acquire_cred_ext
|
||||
(OM_uint32 * /*minor_status*/,
|
||||
const gss_name_t /*desired_name*/,
|
||||
gss_const_OID /*credential_type*/,
|
||||
const void * /*credential_data*/,
|
||||
OM_uint32 /*time_req*/,
|
||||
gss_const_OID /*desired_mech*/,
|
||||
gss_cred_usage_t /*cred_usage*/,
|
||||
gss_cred_id_t * /*output_cred_handle*/
|
||||
);
|
||||
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL gss_release_cred
|
||||
(OM_uint32 * /*minor_status*/,
|
||||
gss_cred_id_t * /*cred_handle*/
|
||||
|
@@ -570,4 +570,25 @@ struct _gss_oid_name_table {
|
||||
extern struct _gss_oid_name_table _gss_ont_mech[];
|
||||
extern struct _gss_oid_name_table _gss_ont_ma[];
|
||||
|
||||
/*
|
||||
* Extended credentials acqusition API, not to be exported until
|
||||
* it or something equivalent has been standardised.
|
||||
*/
|
||||
extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_password_oid_desc;
|
||||
#define GSS_C_CRED_PASSWORD (&__gss_c_cred_password_oid_desc)
|
||||
|
||||
extern gss_OID_desc GSSAPI_LIB_VARIABLE __gss_c_cred_certificate_oid_desc;
|
||||
#define GSS_C_CRED_CERTIFICATE (&__gss_c_cred_certificate_oid_desc)
|
||||
|
||||
OM_uint32 _gss_acquire_cred_ext
|
||||
(OM_uint32 * /*minor_status*/,
|
||||
const gss_name_t /*desired_name*/,
|
||||
gss_const_OID /*credential_type*/,
|
||||
const void * /*credential_data*/,
|
||||
OM_uint32 /*time_req*/,
|
||||
gss_const_OID /*desired_mech*/,
|
||||
gss_cred_usage_t /*cred_usage*/,
|
||||
gss_cred_id_t * /*output_cred_handle*/
|
||||
);
|
||||
|
||||
#endif /* GSSAPI_MECH_H */
|
||||
|
@@ -11,7 +11,7 @@ EXPORTS
|
||||
__gss_c_attr_stream_sizes_oid_desc DATA
|
||||
gss_accept_sec_context
|
||||
gss_acquire_cred
|
||||
gss_acquire_cred_ext
|
||||
;! gss_acquire_cred_ext
|
||||
gss_acquire_cred_with_password
|
||||
gss_add_buffer_set_member
|
||||
gss_add_cred
|
||||
|
@@ -44,7 +44,7 @@ _gss_copy_cred(struct _gss_mechanism_cred *mc);
|
||||
|
||||
struct _gss_mechanism_name;
|
||||
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
|
||||
OM_uint32
|
||||
_gss_acquire_mech_cred(OM_uint32 *minor_status,
|
||||
gssapi_mech_interface m,
|
||||
const struct _gss_mechanism_name *mn,
|
||||
|
@@ -30,7 +30,7 @@
|
||||
|
||||
#include "mech_locl.h"
|
||||
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
|
||||
OM_uint32
|
||||
_gss_acquire_mech_cred(OM_uint32 *minor_status,
|
||||
gssapi_mech_interface m,
|
||||
const struct _gss_mechanism_name *mn,
|
||||
@@ -104,8 +104,8 @@ _gss_acquire_mech_cred(OM_uint32 *minor_status,
|
||||
return major_status;
|
||||
}
|
||||
|
||||
GSSAPI_LIB_FUNCTION OM_uint32 GSSAPI_LIB_CALL
|
||||
gss_acquire_cred_ext(OM_uint32 *minor_status,
|
||||
OM_uint32
|
||||
_gss_acquire_cred_ext(OM_uint32 *minor_status,
|
||||
const gss_name_t desired_name,
|
||||
gss_const_OID credential_type,
|
||||
const void *credential_data,
|
||||
|
@@ -46,14 +46,14 @@ gss_acquire_cred_with_password(OM_uint32 *minor_status,
|
||||
OM_uint32 major_status, tmp_minor;
|
||||
|
||||
if (desired_mechs == GSS_C_NO_OID_SET) {
|
||||
major_status = gss_acquire_cred_ext(minor_status,
|
||||
desired_name,
|
||||
GSS_C_CRED_PASSWORD,
|
||||
password,
|
||||
time_req,
|
||||
GSS_C_NO_OID,
|
||||
cred_usage,
|
||||
output_cred_handle);
|
||||
major_status = _gss_acquire_cred_ext(minor_status,
|
||||
desired_name,
|
||||
GSS_C_CRED_PASSWORD,
|
||||
password,
|
||||
time_req,
|
||||
GSS_C_NO_OID,
|
||||
cred_usage,
|
||||
output_cred_handle);
|
||||
if (GSS_ERROR(major_status))
|
||||
return major_status;
|
||||
} else {
|
||||
@@ -71,14 +71,14 @@ gss_acquire_cred_with_password(OM_uint32 *minor_status,
|
||||
struct _gss_cred *tmp_cred = NULL;
|
||||
struct _gss_mechanism_cred *mc;
|
||||
|
||||
major_status = gss_acquire_cred_ext(minor_status,
|
||||
desired_name,
|
||||
GSS_C_CRED_PASSWORD,
|
||||
password,
|
||||
time_req,
|
||||
&desired_mechs->elements[i],
|
||||
cred_usage,
|
||||
(gss_cred_id_t *)&tmp_cred);
|
||||
major_status = _gss_acquire_cred_ext(minor_status,
|
||||
desired_name,
|
||||
GSS_C_CRED_PASSWORD,
|
||||
password,
|
||||
time_req,
|
||||
&desired_mechs->elements[i],
|
||||
cred_usage,
|
||||
(gss_cred_id_t *)&tmp_cred);
|
||||
if (GSS_ERROR(major_status))
|
||||
continue;
|
||||
|
||||
|
@@ -366,8 +366,8 @@ _gss_load_mech(void)
|
||||
OPTSYM(store_cred);
|
||||
OPTSYM(export_cred);
|
||||
OPTSYM(import_cred);
|
||||
OPTSYM(acquire_cred_ext);
|
||||
#if 0
|
||||
OPTSYM(acquire_cred_ext);
|
||||
OPTSYM(iter_creds);
|
||||
OPTSYM(destroy_cred);
|
||||
OPTSYM(cred_hold);
|
||||
|
@@ -507,8 +507,8 @@ main(int argc, char **argv)
|
||||
void *ctx;
|
||||
gss_OID nameoid, mechoid, actual_mech, actual_mech2;
|
||||
gss_cred_id_t client_cred = GSS_C_NO_CREDENTIAL, deleg_cred = GSS_C_NO_CREDENTIAL;
|
||||
gss_OID credential_type;
|
||||
gss_buffer_desc credential_data;
|
||||
gss_name_t cname = GSS_C_NO_NAME;
|
||||
gss_buffer_desc credential_data = GSS_C_EMPTY_BUFFER;
|
||||
|
||||
setprogname(argv[0]);
|
||||
|
||||
@@ -561,35 +561,46 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
if (client_password) {
|
||||
credential_type = GSS_C_CRED_PASSWORD;
|
||||
credential_data.value = client_password;
|
||||
credential_data.length = strlen(client_password);
|
||||
} else
|
||||
credential_type = GSS_C_NO_OID;
|
||||
}
|
||||
|
||||
if (client_name) {
|
||||
gss_buffer_desc cn;
|
||||
gss_name_t cname;
|
||||
|
||||
cn.value = client_name;
|
||||
cn.length = strlen(client_name);
|
||||
|
||||
maj_stat = gss_import_name(&min_stat, &cn, GSS_C_NT_USER_NAME, &cname);
|
||||
if (maj_stat)
|
||||
errx(1, "gss_import_name: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
}
|
||||
|
||||
maj_stat = gss_acquire_cred_ext(&min_stat, cname,
|
||||
credential_type, &credential_data,
|
||||
0, GSS_C_NO_OID, GSS_C_INITIATE, &client_cred);
|
||||
if (client_password) {
|
||||
maj_stat = gss_acquire_cred_with_password(&min_stat,
|
||||
cname,
|
||||
&credential_data,
|
||||
GSS_C_INDEFINITE,
|
||||
GSS_C_NO_OID_SET,
|
||||
GSS_C_INITIATE,
|
||||
&client_cred,
|
||||
NULL,
|
||||
NULL);
|
||||
if (GSS_ERROR(maj_stat))
|
||||
errx(1, "gss_acquire_cred_ext: %s",
|
||||
errx(1, "gss_acquire_cred_with_password: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
gss_release_name(&min_stat, &cname);
|
||||
} else if (credential_type) {
|
||||
maj_stat = gss_acquire_cred_ext(&min_stat, GSS_C_NO_NAME,
|
||||
credential_type, &credential_data,
|
||||
0, GSS_C_NO_OID, GSS_C_INITIATE, &client_cred);
|
||||
} else {
|
||||
maj_stat = gss_acquire_cred(&min_stat,
|
||||
cname,
|
||||
GSS_C_INDEFINITE,
|
||||
GSS_C_NO_OID_SET,
|
||||
GSS_C_INITIATE,
|
||||
&client_cred,
|
||||
NULL,
|
||||
NULL);
|
||||
if (GSS_ERROR(maj_stat))
|
||||
errx(1, "gss_acquire_cred_ext: %s",
|
||||
errx(1, "gss_acquire_cred_with_password: %s",
|
||||
gssapi_err(maj_stat, min_stat, GSS_C_NO_OID));
|
||||
}
|
||||
|
||||
|
@@ -17,7 +17,6 @@ HEIMDAL_GSS_2.0 {
|
||||
GSS_C_ATTR_LOCAL_LOGIN_USER;
|
||||
gss_accept_sec_context;
|
||||
gss_acquire_cred;
|
||||
gss_acquire_cred_ext;
|
||||
gss_acquire_cred_with_password;
|
||||
gss_add_buffer_set_member;
|
||||
gss_add_cred;
|
||||
|
Reference in New Issue
Block a user