]> git.donarmstrong.com Git - infobot.git/commitdiff
- added mkcrypt, fixed up "crypt" cmd.
authordms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 20 Feb 2001 13:00:13 +0000 (13:00 +0000)
committerdms <dms@c11ca15a-4712-0410-83d8-924469b57eb5>
Tue, 20 Feb 2001 13:00:13 +0000 (13:00 +0000)
git-svn-id: https://svn.code.sf.net/p/infobot/code/trunk/blootbot@409 c11ca15a-4712-0410-83d8-924469b57eb5

src/Misc.pl
src/UserExtra.pl

index b190857e494deb4ed4c2793885ebce9a946b1b3a..b9c473fc9dc704446038105bc5ef5a84495657f8 100644 (file)
@@ -676,4 +676,11 @@ sub closePID {
     return 0 if ( -f $file{PID});
 }
 
+sub mkcrypt {
+    my($str) = @_;
+    my $salt = join '',('.','/',0..9,'A'..'Z','a'..'z')[rand 64, rand 64];
+
+    return crypt($str, $salt);
+}
+
 1;
index 075e0c2703b8d4f19e2432efc69da1ee614fb4d8..e0c234a4cadc3580cb1e05503e77bc18af88b8ef 100644 (file)
@@ -462,13 +462,27 @@ sub userCommands {
     }
 
     # crypt.
-    if ($message =~ /^crypt\s+(\S+)\s*(?:,| )\s*(\S+)/) {
-       # word salt.
-       &pSReply(crypt($1, $2));
-       return;
-    }
+    if ($message =~ /^crypt(\s+(.*))?$/i) {
+       my @args        = split /\s+/, $2;
+
+       if (!scalar @args or scalar @args > 2) {
+           &help("crypt");
+           return;
+       }
+
+       if (scalar @args == 2) {
+           if (length $args[0] != 2) {
+               &msg($who, "invalid format...");
+               return;
+           }
 
+           &pSReply( crypt($args[1], $args[0]) );
+       } else {
+           &pSReply( &mkcrypt($args[0]) );
+       }
 
+       return;
+    }
 
     # cycle.
     if ($message =~ /^(cycle)(\s+(\S+))?$/i) {