mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
Support option SASL_GSS_CREDS
This commit is contained in:
parent
73bb167e74
commit
2dd75cf206
@ -187,6 +187,7 @@ LDAP_BEGIN_DECL
|
||||
#define LDAP_OPT_X_SASL_MECHLIST 0x610a /* read-only */
|
||||
#define LDAP_OPT_X_SASL_NOCANON 0x610b
|
||||
#define LDAP_OPT_X_SASL_USERNAME 0x610c /* read-only */
|
||||
#define LDAP_OPT_X_SASL_GSS_CREDS 0x610d
|
||||
|
||||
/* OpenLDAP GSSAPI options */
|
||||
#define LDAP_OPT_X_GSSAPI_DO_NOT_FREE_CONTEXT 0x6200
|
||||
|
@ -1042,6 +1042,23 @@ ldap_int_sasl_get_option( LDAP *ld, int option, void *arg )
|
||||
/* this option is write only */
|
||||
return -1;
|
||||
|
||||
case LDAP_OPT_X_SASL_GSS_CREDS: {
|
||||
sasl_conn_t *ctx;
|
||||
int sc;
|
||||
|
||||
if ( ld->ld_defconn == NULL )
|
||||
return -1;
|
||||
|
||||
ctx = ld->ld_defconn->lconn_sasl_authctx;
|
||||
if ( ctx == NULL )
|
||||
return -1;
|
||||
|
||||
sc = sasl_getprop( ctx, SASL_GSS_CREDS, arg );
|
||||
if ( sc != SASL_OK )
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
@ -1124,6 +1141,23 @@ ldap_int_sasl_set_option( LDAP *ld, int option, void *arg )
|
||||
return sc == LDAP_SUCCESS ? 0 : -1;
|
||||
}
|
||||
|
||||
case LDAP_OPT_X_SASL_GSS_CREDS: {
|
||||
sasl_conn_t *ctx;
|
||||
int sc;
|
||||
|
||||
if ( ld->ld_defconn == NULL )
|
||||
return -1;
|
||||
|
||||
ctx = ld->ld_defconn->lconn_sasl_authctx;
|
||||
if ( ctx == NULL )
|
||||
return -1;
|
||||
|
||||
sc = sasl_setprop( ctx, SASL_GSS_CREDS, arg );
|
||||
if ( sc != SASL_OK )
|
||||
return -1;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user