moving passwd cgi to self-service
authorivan <ivan>
Tue, 15 Jun 2004 13:29:44 +0000 (13:29 +0000)
committerivan <ivan>
Tue, 15 Jun 2004 13:29:44 +0000 (13:29 +0000)
fs_passwd/fs_passwd.cgi [deleted file]
fs_passwd/fs_passwd.html [deleted file]
fs_selfservice/FS-SelfService/cgi/passwd.cgi [new file with mode: 0755]
fs_selfservice/FS-SelfService/cgi/passwd.html

diff --git a/fs_passwd/fs_passwd.cgi b/fs_passwd/fs_passwd.cgi
deleted file mode 100755 (executable)
index 38b70d0..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/perl -Tw
-
-use strict;
-use Getopt::Std;
-use FS::SelfService qw(passwd);
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-
-my $freeside_uid = scalar(getpwnam('freeside'));
-
-$ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin';
-$ENV{'SHELL'} = '/bin/sh';
-$ENV{'IFS'} = " \t\n";
-$ENV{'CDPATH'} = '';
-$ENV{'ENV'} = '';
-$ENV{'BASH_ENV'} = '';
-
-die "fs_passwd.cgi isn't running as freeside user\n" if $> != $freeside_uid;
-
-my $cgi = new CGI;
-
-$cgi->param('username') =~ /^([^\n]{0,255}$)/ or die "Illegal username";
-my $me = $1;
-
-$cgi->param('domain') =~ /^([^\n]{0,255}$)/ or die "Illegal domain";
-my $domain = $1;
-
-$cgi->param('old_password') =~ /^([^\n]{0,255}$)/ or die "Illegal old_password";
-my $old_password = $1;
-
-$cgi->param('new_password') =~ /^([^\n]{0,255}$)/ or die "Illegal new_password";
-my $new_password = $1;
-
-die "New passwords don't match"
-  unless $new_password eq $cgi->param('new_password2');
-
-my $rv = passwd(
-  'username'     => $me,
-  'domain'       => $domain,
-  'old_password' => $old_password,
-  'new_password' => $new_password,
-);
-
-my $error = $rv->{error};
-
-if ($error) {
-  die $error;
-} else {
-  print $cgi->header(), <<END;
-<html>
-  <head>
-    <title>Password changed</title>
-  </head>
-  <body bgcolor="#e8e8e8">
-    <h3>Password changed</h3>
-<br>Your password has been changed.
-  </body>
-</html>
-END
-}
diff --git a/fs_passwd/fs_passwd.html b/fs_passwd/fs_passwd.html
deleted file mode 100644 (file)
index 7e06ecf..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-<html>
-  <head>
-    <title>Change password</title>
-  </head>
-  <body bgcolor="#e8e8e8">
-    <h3>Change password</h3>
-    <form action="/cgi-bin/fs_passwd.cgi" method="post">
-    <table bgcolor="#cccccc" border=0 cellspacing=2>
-      <tr><th align="right">Username</th>
-        <td><input type="text" name="username" size="18"></td>
-      </tr>
-      <tr><th align="right">Domain</th>
-        <td><input type="text" name="domain" size="18"></td>
-      </tr>
-      <tr><th align="right">Current password</th>
-        <td><input type="password" name="old_password" size="18"></td>
-      </tr>
-      <tr><th align="right">New password</th>
-        <td><input type="password" name="new_password" size="18"></td>
-      </tr>
-      <tr><th align="right">Re-enter new password</th>
-        <td><input type="password" name="new_password2" size="18"></td>
-      </tr>
-    </table>
-    <br><input type="submit" value="Change password">
-  </body>
-</html>
-
diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.cgi b/fs_selfservice/FS-SelfService/cgi/passwd.cgi
new file mode 100755 (executable)
index 0000000..38b70d0
--- /dev/null
@@ -0,0 +1,60 @@
+#!/usr/bin/perl -Tw
+
+use strict;
+use Getopt::Std;
+use FS::SelfService qw(passwd);
+use CGI;
+use CGI::Carp qw(fatalsToBrowser);
+
+my $freeside_uid = scalar(getpwnam('freeside'));
+
+$ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin';
+$ENV{'SHELL'} = '/bin/sh';
+$ENV{'IFS'} = " \t\n";
+$ENV{'CDPATH'} = '';
+$ENV{'ENV'} = '';
+$ENV{'BASH_ENV'} = '';
+
+die "fs_passwd.cgi isn't running as freeside user\n" if $> != $freeside_uid;
+
+my $cgi = new CGI;
+
+$cgi->param('username') =~ /^([^\n]{0,255}$)/ or die "Illegal username";
+my $me = $1;
+
+$cgi->param('domain') =~ /^([^\n]{0,255}$)/ or die "Illegal domain";
+my $domain = $1;
+
+$cgi->param('old_password') =~ /^([^\n]{0,255}$)/ or die "Illegal old_password";
+my $old_password = $1;
+
+$cgi->param('new_password') =~ /^([^\n]{0,255}$)/ or die "Illegal new_password";
+my $new_password = $1;
+
+die "New passwords don't match"
+  unless $new_password eq $cgi->param('new_password2');
+
+my $rv = passwd(
+  'username'     => $me,
+  'domain'       => $domain,
+  'old_password' => $old_password,
+  'new_password' => $new_password,
+);
+
+my $error = $rv->{error};
+
+if ($error) {
+  die $error;
+} else {
+  print $cgi->header(), <<END;
+<html>
+  <head>
+    <title>Password changed</title>
+  </head>
+  <body bgcolor="#e8e8e8">
+    <h3>Password changed</h3>
+<br>Your password has been changed.
+  </body>
+</html>
+END
+}
index fadc4df..7e06ecf 100644 (file)
@@ -9,6 +9,9 @@
       <tr><th align="right">Username</th>
         <td><input type="text" name="username" size="18"></td>
       </tr>
       <tr><th align="right">Username</th>
         <td><input type="text" name="username" size="18"></td>
       </tr>
+      <tr><th align="right">Domain</th>
+        <td><input type="text" name="domain" size="18"></td>
+      </tr>
       <tr><th align="right">Current password</th>
         <td><input type="password" name="old_password" size="18"></td>
       </tr>
       <tr><th align="right">Current password</th>
         <td><input type="password" name="old_password" size="18"></td>
       </tr>