Support option SASL_GSS_CREDS

This commit is contained in:
Howard Chu 2010-05-13 06:08:21 +00:00
parent 73bb167e74
commit 2dd75cf206
2 changed files with 35 additions and 0 deletions

View File

@ -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

View File

@ -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;
}