move getpassphrase inside tool_bind; make sure password is always malloc'd and freed

This commit is contained in:
Pierangelo Masarati 2010-04-12 04:06:13 +00:00
parent 3a46af398c
commit c5cf99dd4d
9 changed files with 22 additions and 94 deletions

View File

@ -261,11 +261,13 @@ tool_destroy( void )
ber_memfree( binddn );
}
#if 0 /* not yet */
if ( passwd.bv_val != NULL ) {
ber_memfree( passwd.bv_val );
}
#endif
if ( infile != NULL ) {
ber_memfree( infile );
}
}
void
@ -1381,6 +1383,23 @@ tool_bind( LDAP *ld )
assert( nsctrls < (int) (sizeof(sctrls)/sizeof(sctrls[0])) );
if ( pw_file || want_bindpw ) {
assert( passwd.bv_val == NULL && passwd.bv_len == 0 );
if ( pw_file ) {
if ( lutil_get_filed_password( pw_file, &passwd ) ) {
exit( EXIT_FAILURE );
}
} else {
char *pw = getpassphrase( _("Enter LDAP Password: ") );
if ( pw ) {
passwd.bv_val = ber_strdup( pw );
passwd.bv_len = strlen( passwd.bv_val );
}
}
}
if ( authmethod == LDAP_AUTH_SASL ) {
#ifdef HAVE_CYRUS_SASL
void *defaults;

View File

@ -230,16 +230,6 @@ main( int argc, char **argv )
ld = tool_conn_setup( 0, 0 );
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) return EXIT_FAILURE;
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
if ( 0

View File

@ -184,24 +184,10 @@ main( int argc, char **argv )
if ( optind >= argc ) {
fp = stdin;
}
}
}
ld = tool_conn_setup( 0, &private_conn_setup );
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) {
if ( fp && fp != stdin )
fclose( fp );
return EXIT_FAILURE;
}
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
tool_server_controls( ld, NULL, 0 );

View File

@ -89,16 +89,6 @@ main( int argc, char *argv[] )
usage();
}
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) return EXIT_FAILURE;
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
ld = tool_conn_setup( 0, 0 );
tool_bind( ld );

View File

@ -262,18 +262,6 @@ main( int argc, char **argv )
ld = tool_conn_setup( dont, 0 );
if ( !dont ) {
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if ( rc ) {
retval = EXIT_FAILURE;
goto fail;
}
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
}

View File

@ -194,19 +194,6 @@ main(int argc, char **argv)
ld = tool_conn_setup( 0, 0 );
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) {
retval = EXIT_FAILURE;
goto fail;
}
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
tool_server_controls( ld, NULL, 0 );

View File

@ -245,18 +245,6 @@ main( int argc, char *argv[] )
newpw.bv_len = strlen( newpw.bv_val );
}
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) {
rc = EXIT_FAILURE;
goto done;
}
} else if ( want_bindpw ) {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
ld = tool_conn_setup( 0, 0 );
tool_bind( ld );

View File

@ -909,16 +909,6 @@ main( int argc, char **argv )
ld = tool_conn_setup( 0, &private_conn_setup );
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) return EXIT_FAILURE;
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
tool_bind( ld );
getNextPage:

View File

@ -129,16 +129,6 @@ main( int argc, char *argv[] )
usage();
}
if ( pw_file || want_bindpw ) {
if ( pw_file ) {
rc = lutil_get_filed_password( pw_file, &passwd );
if( rc ) return EXIT_FAILURE;
} else {
passwd.bv_val = getpassphrase( _("Enter LDAP Password: ") );
passwd.bv_len = passwd.bv_val ? strlen( passwd.bv_val ) : 0;
}
}
ld = tool_conn_setup( 0, 0 );
tool_bind( ld );