#!/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'});
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
lang | Folder | 0755 |
|
|
CHANGELOG | File | 448 B | 0644 |
|
backup_config.pl | File | 702 B | 0755 |
|
bootup.cgi | File | 863 B | 0755 |
|
config | File | 112 B | 0644 |
|
config.info | File | 274 B | 0644 |
|
config.info.ca | File | 310 B | 0644 |
|
config.info.de | File | 306 B | 0644 |
|
config.info.fr | File | 0 B | 0644 |
|
config.info.nl | File | 297 B | 0644 |
|
config.info.no | File | 292 B | 0644 |
|
config.info.pt_BR | File | 320 B | 0644 |
|
conn.cgi | File | 2.32 KB | 0755 |
|
disc.cgi | File | 543 B | 0755 |
|
edit.cgi | File | 6.59 KB | 0755 |
|
edit_opts.cgi | File | 1.43 KB | 0755 |
|
index.cgi | File | 2.69 KB | 0755 |
|
install_check.pl | File | 385 B | 0755 |
|
log_parser.pl | File | 733 B | 0755 |
|
module.info | File | 193 B | 0644 |
|
module.info.af | File | 0 B | 0644 |
|
module.info.af.auto | File | 139 B | 0644 |
|
module.info.ar | File | 0 B | 0644 |
|
module.info.ar.auto | File | 150 B | 0644 |
|
module.info.be | File | 0 B | 0644 |
|
module.info.be.auto | File | 192 B | 0644 |
|
module.info.bg | File | 0 B | 0644 |
|
module.info.bg.auto | File | 194 B | 0644 |
|
module.info.ca | File | 116 B | 0644 |
|
module.info.ca.auto | File | 13 B | 0644 |
|
module.info.cs | File | 24 B | 0644 |
|
module.info.cs.auto | File | 102 B | 0644 |
|
module.info.da | File | 0 B | 0644 |
|
module.info.da.auto | File | 134 B | 0644 |
|
module.info.de | File | 121 B | 0644 |
|
module.info.de.auto | File | 13 B | 0644 |
|
module.info.el | File | 0 B | 0644 |
|
module.info.el.auto | File | 216 B | 0644 |
|
module.info.es | File | 0 B | 0644 |
|
module.info.es.auto | File | 132 B | 0644 |
|
module.info.eu | File | 0 B | 0644 |
|
module.info.eu.auto | File | 132 B | 0644 |
|
module.info.fa | File | 0 B | 0644 |
|
module.info.fa.auto | File | 175 B | 0644 |
|
module.info.fi | File | 0 B | 0644 |
|
module.info.fi.auto | File | 123 B | 0644 |
|
module.info.fr | File | 0 B | 0644 |
|
module.info.fr.auto | File | 137 B | 0644 |
|
module.info.he | File | 0 B | 0644 |
|
module.info.he.auto | File | 134 B | 0644 |
|
module.info.hr | File | 0 B | 0644 |
|
module.info.hr.auto | File | 130 B | 0644 |
|
module.info.hu | File | 0 B | 0644 |
|
module.info.hu.auto | File | 151 B | 0644 |
|
module.info.it | File | 0 B | 0644 |
|
module.info.it.auto | File | 133 B | 0644 |
|
module.info.ja | File | 0 B | 0644 |
|
module.info.ja.auto | File | 161 B | 0644 |
|
module.info.ko | File | 0 B | 0644 |
|
module.info.ko.auto | File | 156 B | 0644 |
|
module.info.lt | File | 0 B | 0644 |
|
module.info.lt.auto | File | 133 B | 0644 |
|
module.info.lv | File | 0 B | 0644 |
|
module.info.lv.auto | File | 136 B | 0644 |
|
module.info.ms | File | 118 B | 0644 |
|
module.info.ms.auto | File | 13 B | 0644 |
|
module.info.mt | File | 0 B | 0644 |
|
module.info.mt.auto | File | 138 B | 0644 |
|
module.info.nl | File | 24 B | 0644 |
|
module.info.nl.auto | File | 111 B | 0644 |
|
module.info.no | File | 24 B | 0644 |
|
module.info.no.auto | File | 109 B | 0644 |
|
module.info.pl | File | 0 B | 0644 |
|
module.info.pl.auto | File | 128 B | 0644 |
|
module.info.pt | File | 0 B | 0644 |
|
module.info.pt.auto | File | 129 B | 0644 |
|
module.info.pt_BR | File | 28 B | 0644 |
|
module.info.pt_BR.auto | File | 110 B | 0644 |
|
module.info.ro | File | 0 B | 0644 |
|
module.info.ro.auto | File | 130 B | 0644 |
|
module.info.ru | File | 0 B | 0644 |
|
module.info.ru.auto | File | 198 B | 0644 |
|
module.info.sk | File | 0 B | 0644 |
|
module.info.sk.auto | File | 124 B | 0644 |
|
module.info.sl | File | 0 B | 0644 |
|
module.info.sl.auto | File | 128 B | 0644 |
|
module.info.sv | File | 0 B | 0644 |
|
module.info.sv.auto | File | 129 B | 0644 |
|
module.info.th | File | 0 B | 0644 |
|
module.info.th.auto | File | 246 B | 0644 |
|
module.info.tr | File | 0 B | 0644 |
|
module.info.tr.auto | File | 139 B | 0644 |
|
module.info.uk | File | 0 B | 0644 |
|
module.info.uk.auto | File | 194 B | 0644 |
|
module.info.ur | File | 0 B | 0644 |
|
module.info.ur.auto | File | 244 B | 0644 |
|
module.info.vi | File | 0 B | 0644 |
|
module.info.vi.auto | File | 150 B | 0644 |
|
module.info.zh | File | 0 B | 0644 |
|
module.info.zh.auto | File | 110 B | 0644 |
|
module.info.zh_TW | File | 0 B | 0644 |
|
module.info.zh_TW.auto | File | 119 B | 0644 |
|
pptp-client-lib.pl | File | 8.62 KB | 0755 |
|
save.cgi | File | 5.72 KB | 0755 |
|
save_opts.cgi | File | 910 B | 0755 |
|
secrets-lib.pl | File | 1.64 KB | 0755 |
|
start.pl | File | 779 B | 0755 |
|
stop.pl | File | 355 B | 0755 |
|