]>
Commit | Line | Data |
---|---|---|
cd1a2927 MT |
1 | #!/usr/bin/perl\r |
2 | #\r | |
3 | # SmoothWall CGIs\r | |
4 | #\r | |
5 | # This code is distributed under the terms of the GPL\r | |
6 | #\r | |
7 | # (c) The SmoothWall Team\r | |
8 | #\r | |
9 | # $Id: changepw.cgi,v 1.4.2.6 2005/03/07 21:28:03 eoberlander Exp $\r | |
10 | #\r | |
11 | \r | |
12 | use strict;\r | |
13 | \r | |
14 | # enable only the following on debugging purpose\r | |
15 | #use warnings;\r | |
16 | #use CGI::Carp 'fatalsToBrowser';\r | |
17 | \r | |
18 | require 'CONFIG_ROOT/general-functions.pl';\r | |
19 | require "${General::swroot}/lang.pl";\r | |
20 | require "${General::swroot}/header.pl";\r | |
21 | \r | |
22 | my %cgiparams=();\r | |
23 | my $errormessage='';\r | |
24 | \r | |
25 | &Header::showhttpheaders();\r | |
26 | \r | |
27 | $cgiparams{'ACTION_ADMIN'} = '';\r | |
28 | $cgiparams{'ACTION_DIAL'} = '';\r | |
29 | \r | |
30 | &Header::getcgihash(\%cgiparams);\r | |
31 | \r | |
32 | if ($cgiparams{'ACTION_ADMIN'} eq $Lang::tr{'save'})\r | |
33 | {\r | |
34 | my $password1 = $cgiparams{'ADMIN_PASSWORD1'};\r | |
35 | my $password2 = $cgiparams{'ADMIN_PASSWORD2'}; \r | |
36 | if ($password1 eq $password2)\r | |
37 | {\r | |
38 | if ($password1 =~ m/\s|\"/) {\r | |
39 | $errormessage = $Lang::tr{'password contains illegal characters'};\r | |
40 | }\r | |
41 | elsif (length($password1) >= 6)\r | |
42 | {\r | |
43 | system('/usr/bin/htpasswd', '-m', '-b', "${General::swroot}/auth/users", 'admin', "${password1}");\r | |
44 | &General::log($Lang::tr{'admin user password has been changed'});\r | |
45 | }\r | |
46 | else {\r | |
47 | $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }\r | |
48 | }\r | |
49 | else {\r | |
50 | $errormessage = $Lang::tr{'passwords do not match'}; }\r | |
51 | }\r | |
52 | \r | |
53 | if ($cgiparams{'ACTION_DIAL'} eq $Lang::tr{'save'})\r | |
54 | {\r | |
55 | my $password1 = $cgiparams{'DIAL_PASSWORD1'};\r | |
56 | my $password2 = $cgiparams{'DIAL_PASSWORD2'}; \r | |
57 | if ($password1 eq $password2)\r | |
58 | {\r | |
59 | if($password1 =~ m/\s|\"/) {\r | |
60 | $errormessage = $Lang::tr{'password contains illegal characters'};\r | |
61 | }\r | |
62 | elsif (length($password1) >= 6)\r | |
63 | {\r | |
64 | system('/usr/bin/htpasswd', '-b', "${General::swroot}/auth/users", 'dial', "${password1}"); \r | |
65 | &General::log($Lang::tr{'dial user password has been changed'});\r | |
66 | }\r | |
67 | else {\r | |
68 | $errormessage = $Lang::tr{'passwords must be at least 6 characters in length'}; }\r | |
69 | }\r | |
70 | else {\r | |
71 | $errormessage = $Lang::tr{'passwords do not match'}; }\r | |
72 | }\r | |
73 | \r | |
74 | &Header::openpage($Lang::tr{'change passwords'}, 1, '');\r | |
75 | \r | |
76 | &Header::openbigbox('100%', 'left', '', $errormessage);\r | |
77 | \r | |
78 | if ($errormessage) {\r | |
79 | &Header::openbox('100%', 'left', $Lang::tr{'error messages'});\r | |
80 | print "<class name='base'>$errormessage\n";\r | |
81 | print " </class>\n";\r | |
82 | &Header::closebox();\r | |
83 | }\r | |
84 | \r | |
85 | print "<form method='post' action='$ENV{'SCRIPT_NAME'}'>\n";\r | |
86 | \r | |
87 | &Header::openbox('100%', 'left', $Lang::tr{'administrator user password'});\r | |
88 | print <<END\r | |
89 | <table width='100%'>\r | |
90 | <tr>\r | |
91 | <td width='20%' class='base'>$Lang::tr{'username'} 'admin'</td>\r | |
92 | <td width='15%' class='base' align='right'>$Lang::tr{'password'} </td>\r | |
93 | <td width='15%'><input type='password' name='ADMIN_PASSWORD1' size='10' /></td>\r | |
94 | <td width='15%' class='base' align='right'>$Lang::tr{'again'} </td>\r | |
95 | <td width='15%'><input type='password' name='ADMIN_PASSWORD2' size='10' /></td>\r | |
96 | <td width='20%' align='center'><input type='submit' name='ACTION_ADMIN' value='$Lang::tr{'save'}' /></td>\r | |
97 | </tr>\r | |
98 | </table>\r | |
99 | END\r | |
100 | ;\r | |
101 | &Header::closebox();\r | |
102 | \r | |
103 | &Header::openbox('100%', 'left', $Lang::tr{'dial user password'});\r | |
104 | print <<END\r | |
105 | <table width='100%'>\r | |
106 | <tr>\r | |
107 | <td width='20%' class='base'>$Lang::tr{'username'} 'dial'</td>\r | |
108 | <td width='15%' class='base' align='right'>$Lang::tr{'password'} </td>\r | |
109 | <td width='15%'><input type='password' name='DIAL_PASSWORD1' size='10'/></td>\r | |
110 | <td width='15%' class='base' align='right'>$Lang::tr{'again'} </td>\r | |
111 | <td width='15%'><input type='password' name='DIAL_PASSWORD2' size='10' /></td>\r | |
112 | <td width='20%' align='center'><input type='submit' name='ACTION_DIAL' value='$Lang::tr{'save'}' /></td>\r | |
113 | </tr>\r | |
114 | </table>\r | |
115 | END\r | |
116 | ;\r | |
117 | &Header::closebox();\r | |
118 | \r | |
119 | print "</form>\n";\r | |
120 | \r | |
121 | &Header::closebigbox();\r | |
122 | \r | |
123 | &Header::closepage();\r |