--- html/cgi-bin/chpasswd.cgi | 56 +++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 24 deletions(-)
diff --git a/html/cgi-bin/chpasswd.cgi b/html/cgi-bin/chpasswd.cgi index 0a66062..a00f9cb 100644 --- a/html/cgi-bin/chpasswd.cgi +++ b/html/cgi-bin/chpasswd.cgi @@ -19,15 +19,24 @@ # # ###############################################################################
+use strict; + +#usable only the following on debugging purpose +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + use CGI qw(param); use Apache::Htpasswd; use Crypt::PasswdMD5;
-$swroot = "/var/ipfire"; - my %cgiparams; my %mainsettings; my %proxysettings; +my %netsettings; +my %temp; +my $swroot; +my $errormessage; +my $language;
$proxysettings{'NCSA_MIN_PASS_LEN'} = 6;
@@ -38,12 +47,10 @@ $language = $mainsettings{'LANGUAGE'};
### Initialize language if ($language =~ /^(\w+)$/) {$language = $1;} - # - # Uncomment this to force a certain language: - # $language='en'; - # -require "${swroot}/langs/en.pl"; -require "${swroot}/langs/${language}.pl"; + +require '/var/ipfire/general-functions.pl'; +require "${General::swroot}/lang.pl"; +require "${General::swroot}/header.pl";
my $userdb = "$swroot/proxy/advanced/ncsa/passwd";
@@ -53,26 +60,26 @@ my $success = 0;
&getcgihash(%cgiparams);
-if ($cgiparams{'SUBMIT'} eq $tr{'advproxy chgwebpwd change password'}) +if ($cgiparams{'SUBMIT'} eq $Lang::tr{'advproxy chgwebpwd change password'}) { if ($cgiparams{'USERNAME'} eq '') { - $errormessage = $tr{'advproxy errmsg no username'}; + $errormessage = $Lang::tr{'advproxy errmsg no username'}; goto ERROR; } if (($cgiparams{'OLD_PASSWORD'} eq '') || ($cgiparams{'NEW_PASSWORD_1'} eq '') || ($cgiparams{'NEW_PASSWORD_2'} eq '')) { - $errormessage = $tr{'advproxy errmsg no password'}; + $errormessage = $Lang::tr{'advproxy errmsg no password'}; goto ERROR; } if (!($cgiparams{'NEW_PASSWORD_1'} eq $cgiparams{'NEW_PASSWORD_2'})) { - $errormessage = $tr{'advproxy errmsg passwords different'}; + $errormessage = $Lang::tr{'advproxy errmsg passwords different'}; goto ERROR; } if (length($cgiparams{'NEW_PASSWORD_1'}) < $proxysettings{'NCSA_MIN_PASS_LEN'}) { - $errormessage = $tr{'advproxy errmsg password length 1'}.$proxysettings{'NCSA_MIN_PASS_LEN'}.$tr{'advproxy errmsg password length 2'}; + $errormessage = $Lang::tr{'advproxy errmsg password length 1'}.$proxysettings{'NCSA_MIN_PASS_LEN'}.$Lang::tr{'advproxy errmsg password length 2'}; goto ERROR; }
@@ -81,14 +88,14 @@ if ($cgiparams{'SUBMIT'} eq $tr{'advproxy chgwebpwd change password'}) # Check if a user with this name exists my $old_password = $htpasswd->fetchPass($cgiparams{'USERNAME'}); if (!$old_password) { - $errormessage = $tr{'advproxy errmsg invalid user'}; + $errormessage = $Lang::tr{'advproxy errmsg invalid user'}; goto ERROR; }
# Reset password if (!$htpasswd->htpasswd($cgiparams{'USERNAME'}, $cgiparams{'NEW_PASSWORD_1'}, $cgiparams{'OLD_PASSWORD'})) { - $errormessage = $tr{'advproxy errmsg password incorrect'}; + $errormessage = $Lang::tr{'advproxy errmsg password incorrect'}; goto ERROR; }
@@ -103,7 +110,7 @@ print "Cache-control: no-cache\n"; print "Connection: close\n"; print "Content-type: text/html\n\n";
-print <<END +print <<END; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> @@ -124,7 +131,7 @@ print <<END <tr> <td nowrap bgcolor="#993333" align="center" > <font face="trebuchet ms, helvetica, sans-serif" color="#FFFFFF" size="4"> - <b>$tr{'advproxy chgwebpwd change web password'}</b> + <b>$Lang::tr{'advproxy chgwebpwd change web password'}</b> </font> </td> </tr> @@ -134,7 +141,7 @@ print <<END <tr> <td nowrap bgcolor="#FFFFFF" align="left"> <font face="trebuchet ms, helvetica, sans-serif" color="#666666" size="2"> - <b>$tr{'advproxy chgwebpwd username'}:</b> + <b>$Lang::tr{'advproxy chgwebpwd username'}:</b> </font> </td> <td ><input type="text" name="USERNAME" value="$cgiparams{'USERNAME'}" size="30"></td> @@ -142,7 +149,7 @@ print <<END <tr> <td nowrap bgcolor="#FFFFFF" align="left"> <font face="trebuchet ms, helvetica, sans-serif" color="#666666" size="2"> - <b>$tr{'advproxy chgwebpwd old password'}:</b> + <b>$Lang::tr{'advproxy chgwebpwd old password'}:</b> </font> </td> <td><input type="password" name="OLD_PASSWORD" value="$cgiparams{'OLD_PASSWORD'}" size="30"></td> @@ -150,7 +157,7 @@ print <<END <tr> <td nowrap bgcolor="#FFFFFF" align="left"> <font face="trebuchet ms, helvetica, sans-serif" color="#666666" size="2"> - <b>$tr{'advproxy chgwebpwd new password'}:</b> + <b>$Lang::tr{'advproxy chgwebpwd new password'}:</b> </font> </td> <td><input type="password" name="NEW_PASSWORD_1" value="$cgiparams{'NEW_PASSWORD_1'}" size="30"></td> @@ -158,7 +165,7 @@ print <<END <tr> <td nowrap bgcolor="#FFFFFF" align="left"> <font face="trebuchet ms, helvetica, sans-serif" color="#666666" size="2"> - <b>$tr{'advproxy chgwebpwd new password confirm'}:</b> + <b>$Lang::tr{'advproxy chgwebpwd new password confirm'}:</b> </font> </td> <td><input type="password" name="NEW_PASSWORD_2" value="$cgiparams{'NEW_PASSWORD_2'}" size="30"></td> @@ -166,7 +173,7 @@ print <<END </table> <table width="100%" cellspacing="7" cellpadding="7"> <tr> - <td align="center"><br><input type='submit' name='SUBMIT' value="$tr{'advproxy chgwebpwd change password'}"></td> + <td align="center"><br><input type='submit' name='SUBMIT' value="$Lang::tr{'advproxy chgwebpwd change password'}"></td> </tr> </table> </td> @@ -180,7 +187,7 @@ if ($errormessage) <tr> <td nowrap bgcolor="#FF0000" align="center"> <font face="trebuchet ms, helvetica, sans-serif" color="#FFFFFF" size="2"> - <b>$tr{'advproxy chgwebpwd ERROR'}</b> $errormessage + <b>$Lang::tr{'advproxy chgwebpwd ERROR'}</b> $errormessage </font> </td> </tr> @@ -194,7 +201,7 @@ if ($success) <tr> <td nowrap bgcolor="#00C000" align="center"> <font face="trebuchet ms, helvetica, sans-serif" color="#FFFFFF" size="2"> - <b>$tr{'advproxy chgwebpwd SUCCESS'}</b> $tr{'advproxy errmsg change success'} + <b>$Lang::tr{'advproxy chgwebpwd SUCCESS'}</b> $Lang::tr{'advproxy errmsg change success'} </font> </td> </tr> @@ -287,3 +294,4 @@ sub getcgihash }
# ------------------------------------------------------------------- +