+ case 'g': /* new password (generate) */
+ if ( pwfile != NULL ) {
+ fprintf( stderr, "Option -s incompatible with -T\n" );
+ return EXIT_FAILURE;
+
+ } else if ( newpw != NULL ) {
+ fprintf( stderr, "New password already provided\n" );
+ return EXIT_FAILURE;
+
+ } else if ( scheme != default_scheme && strcmp( scheme, cleartext_scheme ) != 0 ) {
+ fprintf( stderr, "Option -g incompatible with scheme \"%s\"\n", scheme );
+ return EXIT_FAILURE;
+
+ } else {
+ struct berval p = BER_BVNULL;
+
+ lutil_passwd_generate( &p, 8 );
+
+ newpw = p.bv_val;
+
+ scheme = cleartext_scheme;
+ }
+ break;
+