WWWBoard FAQ #2

YourName.Com - 10MB, Unlimited Traffic & Email, CGI - only $8.25 per month.

[ Matt's Script Archive ] [ Frequently Asked Questions ] [ WWWBoard ]

WWWAdmin works, but the password parts don't!

    Short Answer:

    This is most likely because you do not have the crypt function available to use or the crypt function on your OS us different than the one on the machine I created these scripts on.

    Long Answer:

    Here are some fixes:

    FreeBSD Changes:

      From: Ron Crisco 
      To: mattw@worldwidemart.com
      Subject: FIXED - WWWBOARD wwwadmin.pl password problem
      
      The problem was the difference in FreeBSD's crypt.
      The default passwd.txt file (password WebBoard) should be:
      
          WebAdmin:$1$ae$eVdFF2d.W9C3JSO3qluZ70
      
      And the wwwadmin.pl file must be changed, too. 
      Three occurrences of
      
          substr($passwd, 0, 2)
      
      were changed to
      
          substr($passwd, 3, 2)
    Red Hat Commercial Linux 2.0

      I was told by Mark Reynolds <mark@rts.com.au > that under Red Hat Commercial Linux 2.0 with a Kernel 1.2.13 on a i586 he had to change the password.txt file to read:
      WebAdmin:aeb/uHhRv6x2LQvxyii4Azf1
    Systems Not Supporting Crypt (Macintosh, Windows, etc..):

      Near line 521 in wwwadmin.pl, you will see a block of code which looks like:
         $test_passwd = crypt($FORM{'password'}, substr($passwd, 0, 2));
         if ($test_passwd eq $passwd && $FORM{'username'} eq $username) {
            open(PASSWD,">$basedir/$passwd_file") || &error(no_change);
            $new_password = crypt($FORM{'passwd_1'}, substr($passwd, 0, 2));
      ...
      Change this to:
         if ($FORM{'password'} eq $passwd && $FORM{'username'} eq $username) {
            open(PASSWD,">$basedir/$passwd_file") || &error(no_change);
            $new_password = $FORM{'passwd_1'};
      ...

      Then, on line 678 (almost the end) you will find a block of code:

         $test_passwd = crypt($FORM{'password'}, substr($passwd, 0, 2));
         if (!($test_passwd eq $passwd && $FORM{'username'} eq $username)) {
            &error(bad_combo);
         }
      Change this to:
         if (!($FORM{'password'} eq $passwd && $FORM{'username'} eq $username)) {
            &error(bad_combo);
         }

      Then, open up passwd.txt (or whatever you renamed your password file to) and change the line from:

      WebAdmin:aepTOqxOi4i8U
      To:
      WebAdmin:WebBoard
      Or whatever you want your new username:password combination to be.


[ Matt's Script Archive ] [ Comment Form ] [ CGI/Perl Cookbook ] [ Advertising ]

The CGI Resource Index
1,200+ CGI resources
Matt Wright - mattw@worldwidemart.com
© 1995 - 1998 Matt's Script Archive, Inc.
CGI/Perl Cookbook
CGI book by Matt Wright