]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/tools/slappasswd.c
Import crypt salt format and misc manual page updates from HEAD
[openldap] / servers / slapd / tools / slappasswd.c
index 686132ef848567aefadd550b905480884f21a0e6..98d859a32eb4b41d0c0c5281bfef5dbd39415f26 100644 (file)
@@ -31,6 +31,7 @@ usage(const char *s)
                "Usage: %s [options]\n"
                "  -h hash\tpassword scheme\n"
                "  -s secret\tnew password\n"
+               "  -c format\tcrypt(3) salt format\n"
                "  -u\t\tgenerate RFC2307 values (default)\n"
                "  -v\t\tincrease verbosity\n"
                , s );
@@ -51,24 +52,28 @@ main( int argc, char *argv[] )
        struct berval *hash = NULL;
 
        while( (i = getopt( argc, argv,
-               "d:h:s:vu" )) != EOF )
+               "c:d:h:s:vu" )) != EOF )
        {
                switch (i) {
+               case 'c':       /* crypt salt format */
+                       scheme = "{CRYPT}";
+                       lutil_salt_format( optarg );
+                       break;
+
                case 'h':       /* scheme */
-                       scheme = strdup (optarg);
+                       scheme = strdup( optarg );
                        break;
 
                case 's':       /* new password (secret) */
-                       newpw = strdup (optarg);
-
                        {
                                char* p;
+                               newpw = strdup( optarg );
 
                                for( p = optarg; *p != '\0'; p++ ) {
                                        *p = '\0';
                                }
-                       }
-                       break;
+
+                       break;
 
                case 'u':       /* RFC2307 userPassword */
                        break;