version 1.7, 2006/05/11 01:09:40
|
version 1.8, 2006/05/11 12:36:20
|
Line 1
|
Line 1
|
/* $OpenLDAP: pkg/ldap/servers/slapd/slappasswd.c,v 1.6 2006/05/10 22:12:54 ando Exp $ */ |
/* $OpenLDAP: pkg/ldap/servers/slapd/slappasswd.c,v 1.7 2006/05/11 01:09:40 hyc Exp $ */ |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
/* This work is part of OpenLDAP Software <http://www.openldap.org/>. |
* |
* |
* Copyright 1998-2006 The OpenLDAP Foundation. |
* Copyright 1998-2006 The OpenLDAP Foundation. |
Line 48 usage(const char *s)
|
Line 48 usage(const char *s)
|
" -c format\tcrypt(3) salt format\n" |
" -c format\tcrypt(3) salt format\n" |
" -g\t\tgenerate random password\n" |
" -g\t\tgenerate random password\n" |
" -h hash\tpassword scheme\n" |
" -h hash\tpassword scheme\n" |
|
" -n\t\tomit trailing newline\n" |
" -s secret\tnew password\n" |
" -s secret\tnew password\n" |
" -u\t\tgenerate RFC2307 values (default)\n" |
" -u\t\tgenerate RFC2307 values (default)\n" |
" -v\t\tincrease verbosity\n" |
" -v\t\tincrease verbosity\n" |
Line 73 slappasswd( int argc, char *argv[] )
|
Line 74 slappasswd( int argc, char *argv[] )
|
const char *progname = "slappasswd"; |
const char *progname = "slappasswd"; |
|
|
int i; |
int i; |
|
char *newline = "\n"; |
struct berval passwd = BER_BVNULL; |
struct berval passwd = BER_BVNULL; |
struct berval hash; |
struct berval hash; |
|
|
while( (i = getopt( argc, argv, |
while( (i = getopt( argc, argv, |
"c:d:gh:s:T:vu" )) != EOF ) |
"c:d:gh:ns:T:vu" )) != EOF ) |
{ |
{ |
switch (i) { |
switch (i) { |
case 'c': /* crypt salt format */ |
case 'c': /* crypt salt format */ |
Line 110 slappasswd( int argc, char *argv[] )
|
Line 112 slappasswd( int argc, char *argv[] )
|
} |
} |
break; |
break; |
|
|
|
case 'n': |
|
newline = ""; |
|
break; |
|
|
case 's': /* new password (secret) */ |
case 's': /* new password (secret) */ |
if ( pwfile != NULL ) { |
if ( pwfile != NULL ) { |
fprintf( stderr, "Option -s incompatible with -T\n" ); |
fprintf( stderr, "Option -s incompatible with -T\n" ); |
Line 178 slappasswd( int argc, char *argv[] )
|
Line 184 slappasswd( int argc, char *argv[] )
|
passwd.bv_val = newpw; |
passwd.bv_val = newpw; |
passwd.bv_len = strlen(passwd.bv_val); |
passwd.bv_len = strlen(passwd.bv_val); |
} else { |
} else { |
/* Omit trailing newline so it may be directed to a pwfile */ |
hash = passwd; |
printf( "%s", passwd.bv_val ); |
goto print_pw; |
return EXIT_SUCCESS; |
|
} |
} |
|
|
lutil_passwd_hash( &passwd, scheme, &hash, &text ); |
lutil_passwd_hash( &passwd, scheme, &hash, &text ); |
Line 197 slappasswd( int argc, char *argv[] )
|
Line 202 slappasswd( int argc, char *argv[] )
|
return EXIT_FAILURE; |
return EXIT_FAILURE; |
} |
} |
|
|
printf( "%s\n" , hash.bv_val ); |
print_pw:; |
|
printf( "%s%s" , hash.bv_val, newline ); |
return EXIT_SUCCESS; |
return EXIT_SUCCESS; |
} |
} |