From: ivan Date: Tue, 15 Jun 2004 13:29:44 +0000 (+0000) Subject: moving passwd cgi to self-service X-Git-Tag: BEFORE_FINAL_MASONIZE~1034 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=e5e2460c838fbef71b57d9380eb2d2bb6f1576db;hp=f11341c6ca588f1ff5e46a857540e88d49d7647a moving passwd cgi to self-service --- diff --git a/fs_passwd/fs_passwd.cgi b/fs_passwd/fs_passwd.cgi deleted file mode 100755 index 38b70d0cf..000000000 --- a/fs_passwd/fs_passwd.cgi +++ /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(), < - - Password changed - - -

Password changed

-
Your password has been changed. - - -END -} diff --git a/fs_passwd/fs_passwd.html b/fs_passwd/fs_passwd.html deleted file mode 100644 index 7e06ecff1..000000000 --- a/fs_passwd/fs_passwd.html +++ /dev/null @@ -1,28 +0,0 @@ - - - Change password - - -

Change password

-
- - - - - - - - - - - - - - - - -
Username
Domain
Current password
New password
Re-enter new password
-
- - - diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.cgi b/fs_selfservice/FS-SelfService/cgi/passwd.cgi new file mode 100755 index 000000000..38b70d0cf --- /dev/null +++ b/fs_selfservice/FS-SelfService/cgi/passwd.cgi @@ -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(), < + + Password changed + + +

Password changed

+
Your password has been changed. + + +END +} diff --git a/fs_selfservice/FS-SelfService/cgi/passwd.html b/fs_selfservice/FS-SelfService/cgi/passwd.html index fadc4df8b..7e06ecff1 100644 --- a/fs_selfservice/FS-SelfService/cgi/passwd.html +++ b/fs_selfservice/FS-SelfService/cgi/passwd.html @@ -9,6 +9,9 @@ Username + Domain + + Current password