X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=html%2Fcgi-bin%2Fremote.cgi;h=ed8a94d246877251648acbaa63a85ee0069e9790;hp=90ce3060f9e5106e8e713a7358e1c6181baebd89;hb=abcbbd1fd7d11549b7c44e301f17a4b9596a04b5;hpb=05c71989b913427229814f6e042388a4135cc8b9 diff --git a/html/cgi-bin/remote.cgi b/html/cgi-bin/remote.cgi index 90ce3060f9..ed8a94d246 100644 --- a/html/cgi-bin/remote.cgi +++ b/html/cgi-bin/remote.cgi @@ -1,13 +1,23 @@ #!/usr/bin/perl -# -# SmoothWall CGIs -# -# This code is distributed under the terms of the GPL -# -# (c) The SmoothWall Team -# -# $Id: remote.cgi,v 1.6.2.8 2005/02/22 22:21:56 gespinasse Exp $ -# +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2011 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### use strict; @@ -22,11 +32,11 @@ require "${General::swroot}/header.pl"; my %remotesettings=(); my %checked=(); my $errormessage=''; +my $counter = 0; &Header::showhttpheaders(); $remotesettings{'ENABLE_SSH'} = 'off'; -$remotesettings{'ENABLE_SSH_PROTOCOL1'} = 'off'; $remotesettings{'ENABLE_SSH_PORTFW'} = 'off'; $remotesettings{'ACTION'} = ''; &Header::getcgihash(\%remotesettings); @@ -54,25 +64,29 @@ if ( (($remotesettings{'ACTION'} eq $Lang::tr{'save'}) || ($remotesettings{'ACTI &General::log($Lang::tr{'ssh is disabled'}); unlink "${General::swroot}/remote/enablessh"; } - - if ($remotesettings{'ENABLE_SSH_PROTOCOL1'} eq 'on') + + if ($remotesettings{'SSH_PORT'} eq 'on') { - &General::log($Lang::tr{'ssh1 enabled'}); + &General::log("SSH Port 22"); } else { - &General::log($Lang::tr{'ssh1 disabled'}); + &General::log("SSH Port 222"); } -if ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart15'} ){ - system('/usr/local/bin/restartssh','tempstart15') == 0 - or $errormessage = "$Lang::tr{'bad return code'} " . $?/256; - } -elsif ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart30'} ){ - system('/usr/local/bin/restartssh','tempstart30') == 0 - or $errormessage = "$Lang::tr{'bad return code'} " . $?/256; + +if ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart15'} || $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart30'} ){ + if ($remotesettings{'ENABLE_SSH'} eq 'off') + { + system ('/usr/bin/touch', "${General::swroot}/remote/enablessh"); + system('/usr/local/bin/sshctrl'); + } + if ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart15'} ) { $counter = 900;} + elsif ( $remotesettings{'ACTION'} eq $Lang::tr{'ssh tempstart30'} ) { $counter = 1800;} + + system("/usr/local/bin/sshctrl tempstart $counter >/dev/null"); } else { - system('/usr/local/bin/restartssh') == 0 + system('/usr/local/bin/sshctrl') == 0 or $errormessage = "$Lang::tr{'bad return code'} " . $?/256; } } @@ -87,9 +101,6 @@ else { $checked{'ENABLE_SSH'}{'off'} = ''; $checked{'ENABLE_SSH'}{'on'} = ''; $checked{'ENABLE_SSH'}{$remotesettings{'ENABLE_SSH'}} = "checked='checked'"; -$checked{'ENABLE_SSH_PROTOCOL1'}{'off'} = ''; -$checked{'ENABLE_SSH_PROTOCOL1'}{'on'} = ''; -$checked{'ENABLE_SSH_PROTOCOL1'}{$remotesettings{'ENABLE_SSH_PROTOCOL1'}} = "checked='checked'"; $checked{'ENABLE_SSH_PORTFW'}{'off'} = ''; $checked{'ENABLE_SSH_PORTFW'}{'on'} = ''; $checked{'ENABLE_SSH_PORTFW'}{$remotesettings{'ENABLE_SSH_PORTFW'}} = "checked='checked'"; @@ -99,7 +110,9 @@ $checked{'ENABLE_SSH_PASSWORDS'}{$remotesettings{'ENABLE_SSH_PASSWORDS'}} = "che $checked{'ENABLE_SSH_KEYS'}{'off'} = ''; $checked{'ENABLE_SSH_KEYS'}{'on'} = ''; $checked{'ENABLE_SSH_KEYS'}{$remotesettings{'ENABLE_SSH_KEYS'}} = "checked='checked'"; - +$checked{'SSH_PORT'}{'off'} = ''; +$checked{'SSH_PORT'}{'on'} = ''; +$checked{'SSH_PORT'}{$remotesettings{'SSH_PORT'}} = "checked='checked'"; &Header::openpage($Lang::tr{'remote access'}, 1, ''); @@ -120,11 +133,6 @@ print < $Lang::tr{'ssh access'} - -   - - $Lang::tr{'ssh1 support'} -   @@ -141,9 +149,15 @@ print <$Lang::tr{'ssh keys'} -
-
-
+   + + $Lang::tr{'ssh port'} + + +
+ + + END @@ -166,6 +180,7 @@ END &viewkey("/etc/ssh/ssh_host_key.pub","RSA1"); &viewkey("/etc/ssh/ssh_host_rsa_key.pub","RSA2"); &viewkey("/etc/ssh/ssh_host_dsa_key.pub","DSA"); +&viewkey("/etc/ssh/ssh_host_ecdsa_key.pub","ECDSA"); print "\n";