| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/pptp-client/ |
Upload File : |
#!/usr/bin/perl
# conn.cgi
# Open a PPTP connection and add its routes
require './pptp-client-lib.pl';
&error_setup($text{'conn_err'});
&ReadParse();
# Get tunnel details
@tunnels = &list_tunnels();
($tunnel) = grep { $_->{'name'} eq $in{'tunnel'} } @tunnels;
$tunnel || &error($text{'conn_egone'});
&parse_comments($tunnel);
$tunnel->{'server'} || &error($text{'conn_einvalid'});
# Check if it is already active
@conns = &list_connected();
($conn) = grep { $_->[0] eq $in{'tunnel'} } @conns;
$conn && &error($text{'conn_ealready'});
$theme_no_table++;
$| = 1;
&ui_print_header(undef, $text{'conn_title'}, "");
print "<b>",&text('conn_cmd', "<tt>$config{'pptp'} $tunnel->{'server'} ".
"call $in{'tunnel'}</tt>"),"</b><p>\n";
# If a password is passed, use it to temprarily overwrite the one in
# the secrets file
if ($in{'cpass'}) {
$login = &find("name", $tunnel->{'opts'});
$sn = $login ? $login->{'value'} : &get_system_hostname(1);
&lock_file($config{'pap_file'});
@secs = &list_secrets();
($sec) = grep { $_->{'client'} eq $sn } @secs;
$oldsecret = $sec->{'secret'};
$sec->{'secret'} = $in{'cpass'};
&change_secret($sec);
&flush_file_lines();
($ok, @status) = &connect_tunnel($tunnel);
$sec->{'secret'} = $oldsecret;
&change_secret($sec);
&flush_file_lines();
&unlock_file($config{'pap_file'});
&lock_file($config{'pap_file'});
}
else {
($ok, @status) = &connect_tunnel($tunnel);
}
if ($ok) {
# Worked! Tell user
print "<b>",&text('conn_ok', "<tt>$status[0]</tt>",
"<tt>$status[1]</tt>",
"<tt>$status[2]</tt>"),"</b><p>\n";
local @rcmds = @{$status[3]};
local @rout = @{$status[4]};
if (@rcmds) {
print "<b>$text{'conn_routes'}</b><pre>\n";
for($i=0; $i<@rcmds; $i++) {
print $rcmds[$i],"\n";
print "<i>$rout[$i]</i>";
}
print "</pre>\n";
}
}
else {
# Failed! Say why
print "<b>$text{'conn_timeout'}</b><p>\n";
print "<pre>$status[0]</pre>\n";
if ($status[0] =~ /mppe/) {
print "<b>",&text('conn_mppe', "edit_opts.cgi"),"</b><p>\n";
}
}
# Save tunnel as default
&lock_file("$module_config_directory/config");
$config{'tunnel'} = $in{'tunnel'};
$config{'iface'} = $status[0] if ($ok);
&write_file("$module_config_directory/config", \%config);
&unlock_file("$module_config_directory/config");
&webmin_log("conn", undef, $in{'tunnel'}, $newiface);
&ui_print_footer("", $text{'index_return'});