ITS#2657: authzid (and assertion) should apply to most everything

(preliminary modify/incr client-side code)
This commit is contained in:
Kurt Zeilenga 2003-07-30 10:21:16 +00:00
parent 443d4c8999
commit afa2cd1893
8 changed files with 107 additions and 92 deletions

View file

@ -29,6 +29,7 @@ extern char *sasl_secprops;
#endif
extern int use_tls;
extern char *assertion;
extern char *authzid;
extern int manageDSAit;
extern int noop;

View file

@ -172,8 +172,9 @@ main( int argc, char **argv )
tool_bind( ld );
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
if ( verbose ) {
fprintf( stderr, _("DN:%s, attr:%s, value:%s\n"),

View file

@ -143,8 +143,9 @@ main( int argc, char **argv )
tool_bind( ld );
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
retval = rc = 0;

View file

@ -58,6 +58,7 @@ static LDAP *ld = NULL;
#define T_MODOPADDSTR "add"
#define T_MODOPREPLACESTR "replace"
#define T_MODOPDELETESTR "delete"
#define T_MODOPINCREMENTSTR "increment"
#define T_MODSEPSTR "-"
#define T_NEWRDNSTR "newrdn"
#define T_DELETEOLDRDNSTR "deleteoldrdn"
@ -185,8 +186,7 @@ main( int argc, char **argv )
tool_args( argc, argv );
if ( argc != optind )
usage();
if ( argc != optind ) usage();
if ( rejfile != NULL ) {
if (( rejfp = fopen( rejfile, "w" )) == NULL ) {
@ -206,8 +206,7 @@ main( int argc, char **argv )
fp = stdin;
}
if ( debug )
ldif_debug = debug;
if ( debug ) ldif_debug = debug;
ld = tool_conn_setup( not, 0 );
@ -221,19 +220,20 @@ main( int argc, char **argv )
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
}
rc = 0;
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
count = 0;
retval = 0;
while (( rc == 0 || contoper ) &&
( rbuf = read_one_record( fp )) != NULL ) {
( rbuf = read_one_record( fp )) != NULL )
{
count++;
start = rbuf;
@ -249,30 +249,31 @@ main( int argc, char **argv )
rc = process_ldif_rec( start, count );
if ( rc )
retval = rc;
if ( rc ) retval = rc;
if ( rc && rejfp ) {
fprintf(rejfp, _("# Error: %s (%d)"), ldap_err2string(rc), rc);
matched_msg = NULL;
ldap_get_option(ld, LDAP_OPT_MATCHED_DN, &matched_msg);
if ( matched_msg != NULL ) {
if ( *matched_msg != '\0' )
if ( *matched_msg != '\0' ) {
fprintf( rejfp, _(", matched DN: %s"), matched_msg );
}
ldap_memfree( matched_msg );
}
error_msg = NULL;
ldap_get_option(ld, LDAP_OPT_ERROR_STRING, &error_msg);
if ( error_msg != NULL ) {
if ( *error_msg != '\0' )
if ( *error_msg != '\0' ) {
fprintf( rejfp, _(", additional info: %s"), error_msg );
}
ldap_memfree( error_msg );
}
fprintf( rejfp, "\n%s\n", rejbuf );
}
if (rejfp)
free( rejbuf );
if (rejfp) free( rejbuf );
free( rbuf );
}
@ -461,6 +462,10 @@ process_ldif_rec( char *rbuf, int count )
modop = LDAP_MOD_DELETE;
addmodifyop( &pmods, modop, val.bv_val, NULL );
goto end_line;
} else if ( strcasecmp( type, T_MODOPINCREMENTSTR ) == 0 ) {
modop = LDAP_MOD_INCREMENT;
addmodifyop( &pmods, modop, val.bv_val, NULL );
goto end_line;
} else { /* no modify op: use default */
modop = ldapadd ? LDAP_MOD_ADD : LDAP_MOD_REPLACE;
}
@ -829,8 +834,11 @@ domodify(
for ( i = 0; pmods[ i ] != NULL; ++i ) {
op = pmods[ i ]->mod_op & ~LDAP_MOD_BVALUES;
printf( "%s %s:\n",
op == LDAP_MOD_REPLACE ? _("replace") : op == LDAP_MOD_ADD
? _("add") : _("delete"),
op == LDAP_MOD_REPLACE ? _("replace") :
op == LDAP_MOD_ADD ? _("add") :
op == LDAP_MOD_INCREMENT ? _("increment") :
op == LDAP_MOD_DELETE ? _("delete") :
_("unknown"),
pmods[ i ]->mod_type );
if ( pmods[ i ]->mod_bvalues != NULL ) {
for ( j = 0; pmods[ i ]->mod_bvalues[ j ] != NULL; ++j ) {

View file

@ -171,8 +171,9 @@ main(int argc, char **argv)
tool_bind( ld );
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
retval = rc = 0;
if (havedn)

View file

@ -221,8 +221,9 @@ main( int argc, char *argv[] )
tool_bind( ld );
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
if( user != NULL || oldpw.bv_val != NULL || newpw.bv_val != NULL ) {
/* build change password control */

View file

@ -548,7 +548,7 @@ main( int argc, char **argv )
tool_bind( ld );
getNextPage:
if ( manageDSAit || noop || subentries || valuesReturnFilter
if ( assertion || authzid || manageDSAit || noop
#ifdef LDAP_CONTROL_X_DOMAIN_SCOPE
|| domainScope
#endif
@ -558,7 +558,8 @@ getNextPage:
#ifdef LDAP_SYNC
|| ldapsync
#endif
) {
|| subentries || valuesReturnFilter )
{
int err;
int i=0;
LDAPControl c[6];

View file

@ -124,8 +124,9 @@ main( int argc, char *argv[] )
goto skip;
}
if ( authzid || manageDSAit || noop )
if ( assertion || authzid || manageDSAit || noop ) {
tool_server_controls( ld, NULL, 0 );
}
rc = ldap_whoami_s( ld, &retdata, NULL, NULL );