From: <ow...@us...> - 2008-09-16 19:55:47
|
Revision: 1908 http://ipcop.svn.sourceforge.net/ipcop/?rev=1908&view=rev Author: owes Date: 2008-09-16 19:55:58 +0000 (Tue, 16 Sep 2008) Log Message: ----------- apply CodingStyle Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2008-09-16 19:55:46 UTC (rev 1907) +++ ipcop/trunk/src/rc.d/rc.red 2008-09-16 19:55:58 UTC (rev 1908) @@ -20,12 +20,12 @@ # # $Id$ - # Clean up our environment (we're running SUID!) delete @ENV{qw(IFS CDPATH ENV BASH_ENV PATH)}; $< = $>; use strict; + #use warnings; require '/var/ipcop/general-functions.pl'; @@ -36,1207 +36,1343 @@ my $iface; # read vars back from file. -&General::readhash("${General::swroot}/ppp/settings", \%pppsettings); -&General::readhash("${General::swroot}/isdn/settings", \%isdnsettings); -&General::readhash("${General::swroot}/ethernet/settings", \%netsettings); -&General::readhash("${General::swroot}/dhcp/settings", \%dhcpsettings); +&General::readhash("/var/ipcop/ppp/settings", \%pppsettings); +&General::readhash("/var/ipcop/isdn/settings", \%isdnsettings); +&General::readhash("/var/ipcop/ethernet/settings", \%netsettings); +&General::readhash("/var/ipcop/dhcp/settings", \%dhcpsettings); sub dodhcpdial($;$) { - my ($iface,$dhcp_name)=@_; + my ($iface, $dhcp_name) = @_; - system ('/sbin/iptables', '-A', 'REDINPUT', '-p', 'udp', '--source-port', '67', - '--destination-port', '68', '-i', $iface, '-j', 'ACCEPT'); + system('/sbin/iptables', '-A', 'REDINPUT', '-p', 'udp', '--source-port', '67', '--destination-port', '68', '-i', + $iface, '-j', 'ACCEPT'); - unlink "/var/log/dhcpclient.info" if ( -e "/var/log/dhcpclient.info" ); - my @dhcpcommand = ('/usr/sbin/dhcpcd'); - push(@dhcpcommand, ('-L', '-N', '-R', '-Y', '--script', '/usr/local/bin/dhcpcd.sh', "$iface")); + unlink "/var/log/dhcpclient.info" if (-e "/var/log/dhcpclient.info"); + my @dhcpcommand = ('/usr/sbin/dhcpcd'); + push(@dhcpcommand, ('-L', '-N', '-R', '-Y', '--script', '/usr/local/bin/dhcpcd.sh', "$iface")); - if ($dhcp_name ne '') { push(@dhcpcommand, ('-h', "$dhcp_name")); } - if ($netsettings{'RED_TYPE'} eq 'PPTP') { push(@dhcpcommand, '-G'); } + if ($dhcp_name ne '') { push(@dhcpcommand, ('-h', "$dhcp_name")); } + if ($netsettings{'RED_TYPE'} eq 'PPTP') { push(@dhcpcommand, '-G'); } - if (system (@dhcpcommand)) { - &General::log('dhcp client fail'); - exit 1; - } else { - &General::log('dhcp client success'); - } + if (system(@dhcpcommand)) { + &General::log('dhcp client fail'); + exit 1; + } + else { + &General::log('dhcp client success'); + } } sub doupdatesettings { - # complete cleanup only if settings were changed or clear is ordered - system('/sbin/modprobe', '-r', 'pppoatm'); - system('/sbin/modprobe', '-r', 'pppoe'); - system('/bin/killall /usr/bin/br2684ctl 2>/dev/null'); - system('/sbin/modprobe', '-r', 'br2684'); - system('/sbin/modprobe', '-r', 'clip'); - # owes: take out the modules we (currently) do not have - if ($pppsettings{'TYPE'} ne '3cp4218usbadsl') { system('/sbin/modprobe', '-r', '3cp4218');} - if ($pppsettings{'TYPE'} ne 'alcatelusbk') { system('/sbin/modprobe', '-r', 'speedtch');} - #if ($pppsettings{'TYPE'} ne 'amedynusbadsl') { system('/sbin/modprobe', '-r', 'amedyn');} - #if ($pppsettings{'TYPE'} ne 'bewanadsl') { - # system('/sbin/modprobe', '-r', 'unicorn_pci_atm', 'unicorn_usb_atm');} - if ($pppsettings{'TYPE'} ne 'conexantpciadsl') { system('/sbin/modprobe', '-r', 'CnxADSL');} - if ($pppsettings{'TYPE'} ne 'conexantusbadsl') { system('/sbin/modprobe', '-r', 'cxacru');} - #if ($pppsettings{'TYPE'} ne 'eagleusbadsl') { system('/sbin/modprobe', '-r', 'eagle-usb');} - #if ($pppsettings{'TYPE'} ne 'fritzdsl') { - # system('/sbin/modprobe', '-r', 'fcdsl', 'fcdsl2', 'fcdslsl', 'fcdslusb', 'fcdslslusb');} - if ($pppsettings{'TYPE'} ne 'pulsardsl') { system('/sbin/modprobe', '-r', 'pulsar');} - sleep 1; - if ($pppsettings{'TYPE'} !~ /^(3cp4218usbadsl|alcatelusbk|amedynusbadsl|bewanadsl|conexantpciadsl|pulsardsl)$/) { - system('/sbin/modprobe', '-r', 'atm'); - } + # complete cleanup only if settings were changed or clear is ordered + system('/sbin/modprobe', '-r', 'pppoatm'); + system('/sbin/modprobe', '-r', 'pppoe'); + system('/bin/killall /usr/bin/br2684ctl 2>/dev/null'); + system('/sbin/modprobe', '-r', 'br2684'); + system('/sbin/modprobe', '-r', 'clip'); - # remove existing default route (for static address) if it was been changed from setup or web interface SF1175052 - system ('/sbin/route del default 2>/dev/null'); + # owes: take out the modules we (currently) do not have + if ($pppsettings{'TYPE'} ne '3cp4218usbadsl') { system('/sbin/modprobe', '-r', '3cp4218'); } + if ($pppsettings{'TYPE'} ne 'alcatelusbk') { system('/sbin/modprobe', '-r', 'speedtch'); } - # erase in case it was created once with 'persistent' selected but rc.red stop never used : SF1171610 - unlink ("${General::swroot}/red/iface"); + #if ($pppsettings{'TYPE'} ne 'amedynusbadsl') { system('/sbin/modprobe', '-r', 'amedyn');} + #if ($pppsettings{'TYPE'} ne 'bewanadsl') { + # system('/sbin/modprobe', '-r', 'unicorn_pci_atm', 'unicorn_usb_atm');} + if ($pppsettings{'TYPE'} ne 'conexantpciadsl') { system('/sbin/modprobe', '-r', 'CnxADSL'); } + if ($pppsettings{'TYPE'} ne 'conexantusbadsl') { system('/sbin/modprobe', '-r', 'cxacru'); } + + #if ($pppsettings{'TYPE'} ne 'eagleusbadsl') { system('/sbin/modprobe', '-r', 'eagle-usb');} + #if ($pppsettings{'TYPE'} ne 'fritzdsl') { + # system('/sbin/modprobe', '-r', 'fcdsl', 'fcdsl2', 'fcdslsl', 'fcdslusb', 'fcdslslusb');} + if ($pppsettings{'TYPE'} ne 'pulsardsl') { system('/sbin/modprobe', '-r', 'pulsar'); } + sleep 1; + if ($pppsettings{'TYPE'} !~ /^(3cp4218usbadsl|alcatelusbk|amedynusbadsl|bewanadsl|conexantpciadsl|pulsardsl)$/) { + system('/sbin/modprobe', '-r', 'atm'); + } + + # remove existing default route (for static address) if it was been changed from setup or web interface SF1175052 + system('/sbin/route del default 2>/dev/null'); + + # erase in case it was created once with 'persistent' selected but rc.red stop never used : SF1171610 + unlink("/var/ipcop/red/iface"); } # No output should be sent to the webclient -open STDIN, '</dev/zero' or die "Can't read from /dev/zero"; +open STDIN, '</dev/zero' or die "Can't read from /dev/zero"; open STDOUT, '>/dev/null' or die "Can't write to /dev/null"; if ($ARGV[0] eq 'start') { - if (-e "${General::swroot}/red/active" || - -e '/var/run/ppp-ipcop.pid') - { - &General::log ("ERROR: Can't start RED when it's still active"); - exit 1; - } + if ( -e "/var/ipcop/red/active" + || -e '/var/run/ppp-ipcop.pid') + { + &General::log("ERROR: Can't start RED when it's still active"); + exit 1; + } - if ( ( ( ($netsettings{'RED_1_TYPE'} =~ /^(PPPOE|PPTP)$/) && ($netsettings{'RED_COUNT'} > 0) ) || - ( ( ($pppsettings{'METHOD'} =~ /^(PPPOE|PPPOE_PLUGIN)$/) || ($pppsettings{'PROTOCOL'} eq 'RFC2364') ) && - ($netsettings{'RED_COUNT'} == 0) ) ) && ($pppsettings{'RECONNECTION'} ne 'manual') ) { - system ('/etc/rc.d/rc.connectioncheck start &'); - } + if ( + ( + (($netsettings{'RED_1_TYPE'} =~ /^(PPPOE|PPTP)$/) && ($netsettings{'RED_COUNT'} > 0)) + || ( (($pppsettings{'METHOD'} =~ /^(PPPOE|PPPOE_PLUGIN)$/) || ($pppsettings{'PROTOCOL'} eq 'RFC2364')) + && ($netsettings{'RED_COUNT'} == 0)) + ) + && ($pppsettings{'RECONNECTION'} ne 'manual') + ) + { + system('/etc/rc.d/rc.connectioncheck start &'); + } - ### - ### Red device is ethernet - ### - if ($netsettings{'RED_COUNT'} > 0) - { - if ($netsettings{'RED_1_DEV'} ne '') - { - &General::log("Starting RED device $netsettings{'RED_1_DEV'}."); + ### + ### Red device is ethernet + ### + if ($netsettings{'RED_COUNT'} > 0) { + if ($netsettings{'RED_1_DEV'} ne '') { + &General::log("Starting RED device $netsettings{'RED_1_DEV'}."); - if ( $netsettings{'RED_1_TYPE'} eq 'DHCP') - { - if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } - dodhcpdial($netsettings{'RED_1_DEV'},$netsettings{'RED_DHCP_HOSTNAME'}); - exit 0; - } - elsif ( ( $netsettings{'RED_1_TYPE'} eq 'PPTP') && ( $pppsettings{'METHOD'} eq 'DHCP') ) - { - if (open(FILE, ">${General::swroot}/red/device")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } - unlink ("${General::swroot}/red/iface"); - dodhcpdial($netsettings{'RED_1_DEV'},$netsettings{'RED_DHCP_HOSTNAME'}); - } - elsif ( ( $netsettings{'RED_1_TYPE'} eq 'STATIC') || - ( $netsettings{'RED_1_TYPE'} eq 'PPTP') && ( $pppsettings{'METHOD'} ne 'DHCP') ) - { - system ("/sbin/ifconfig", - $netsettings{'RED_1_DEV'}, $netsettings{'RED_1_ADDRESS'}, - "netmask", $netsettings{'RED_1_NETMASK'}, - "broadcast", $netsettings{'RED_1_BROADCAST'},"up"); - if ( $netsettings{'RED_1_TYPE'} eq 'STATIC') - { - system("/usr/local/bin/setaliases"); - system("echo $netsettings{'DNS1'} > ${General::swroot}/red/dns1"); - system("echo $netsettings{'DNS2'} > ${General::swroot}/red/dns2"); - system("echo $netsettings{'RED_1_ADDRESS'} > ${General::swroot}/red/local-ipaddress"); - system("echo $netsettings{'DEFAULT_GATEWAY'} > ${General::swroot}/red/remote-ipaddress"); - } elsif ( $netsettings{'RED_1_TYPE'} eq 'PPTP' ) { - if (open(FILE, ">${General::swroot}/red/device")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } - unlink ("${General::swroot}/red/iface"); - } - if ( $netsettings{'DEFAULT_GATEWAY'} ne '' ) - { - system ("/sbin/route","add","default","gw", - $netsettings{'DEFAULT_GATEWAY'}); - } - } - else - { - # PPPoE - # owes: do we want to be able to change 1.1.1.1 somewhere? - system ("/sbin/ifconfig", $netsettings{'RED_1_DEV'}, "1.1.1.1", - "netmask", "255.255.255.0", "broadcast", "1.1.1.255", "up"); - } + if ($netsettings{'RED_1_TYPE'} eq 'DHCP') { + if (open(FILE, ">/var/ipcop/red/iface")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } + dodhcpdial($netsettings{'RED_1_DEV'}, $netsettings{'RED_DHCP_HOSTNAME'}); + exit 0; + } + elsif (($netsettings{'RED_1_TYPE'} eq 'PPTP') && ($pppsettings{'METHOD'} eq 'DHCP')) { + if (open(FILE, ">/var/ipcop/red/device")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } + unlink("/var/ipcop/red/iface"); + dodhcpdial($netsettings{'RED_1_DEV'}, $netsettings{'RED_DHCP_HOSTNAME'}); + } + elsif (($netsettings{'RED_1_TYPE'} eq 'STATIC') + || ($netsettings{'RED_1_TYPE'} eq 'PPTP') && ($pppsettings{'METHOD'} ne 'DHCP')) + { + system( + "/sbin/ifconfig", + $netsettings{'RED_1_DEV'}, + $netsettings{'RED_1_ADDRESS'}, + "netmask", $netsettings{'RED_1_NETMASK'}, + "broadcast", $netsettings{'RED_1_BROADCAST'}, "up" + ); + if ($netsettings{'RED_1_TYPE'} eq 'STATIC') { + system("/usr/local/bin/setaliases"); + system("echo $netsettings{'DNS1'} > /var/ipcop/red/dns1"); + system("echo $netsettings{'DNS2'} > /var/ipcop/red/dns2"); + system("echo $netsettings{'RED_1_ADDRESS'} > /var/ipcop/red/local-ipaddress"); + system("echo $netsettings{'DEFAULT_GATEWAY'} > /var/ipcop/red/remote-ipaddress"); + } + elsif ($netsettings{'RED_1_TYPE'} eq 'PPTP') { + if (open(FILE, ">/var/ipcop/red/device")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } + unlink("/var/ipcop/red/iface"); + } + if ($netsettings{'DEFAULT_GATEWAY'} ne '') { + system("/sbin/route", "add", "default", "gw", $netsettings{'DEFAULT_GATEWAY'}); + } + } + else { - if ( $netsettings{'RED_1_TYPE'} eq 'STATIC') - { - if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } - system ("/usr/bin/touch", "${General::swroot}/red/active"); - system ("/etc/rc.d/rc.updatered"); - exit 0; - } - } - else - { - &General::log ("ERROR: Can't start RED when RED device not set!"); - exit 1; - } - } + # PPPoE + # owes: do we want to be able to change 1.1.1.1 somewhere? + system("/sbin/ifconfig", $netsettings{'RED_1_DEV'}, + "1.1.1.1", "netmask", "255.255.255.0", "broadcast", "1.1.1.255", "up"); + } - - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') - { - system ('/usr/bin/touch', "${General::swroot}/red/dial-on-demand"); - } + if ($netsettings{'RED_1_TYPE'} eq 'STATIC') { + if (open(FILE, ">/var/ipcop/red/iface")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } + system("/usr/bin/touch", "/var/ipcop/red/active"); + system("/etc/rc.d/rc.updatered"); + exit 0; + } + } + else { + &General::log("ERROR: Can't start RED when RED device not set!"); + exit 1; + } + } - if ($pppsettings{'VALID'} ne 'yes') { - &General::log("Profile has errors."); - exit 1; - } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + system('/usr/bin/touch', "/var/ipcop/red/dial-on-demand"); + } - if (-e "${General::swroot}/ppp/updatesettings") { - &doupdatesettings; - } + if ($pppsettings{'VALID'} ne 'yes') { + &General::log("Profile has errors."); + exit 1; + } - if (( $pppsettings{'METHOD'} eq 'STATIC') && ( $pppsettings{'DNS'} eq 'Manual')) { - system("/usr/local/bin/setaliases"); - if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $pppsettings{'DNS1'}; close FILE; } - if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $pppsettings{'DNS2'}; close FILE; } - if (open(FILE, ">${General::swroot}/red/local-ipaddress")) { print FILE $pppsettings{'IP'}; close FILE; } - if (open(FILE, ">${General::swroot}/red/remote-ipaddress")) { print FILE $pppsettings{'GATEWAY'}; close FILE; } - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - &General::log("Dial-on-Demand waiting to dial $pppsettings{'PROFILENAME'}."); - } else { - &General::log("Dialling $pppsettings{'PROFILENAME'}."); - } + if (-e "/var/ipcop/ppp/updatesettings") { + &doupdatesettings; + } - if ($pppsettings{'TYPE'} eq 'modem') { &domodemdial(); } - elsif ($pppsettings{'TYPE'} eq 'serial') { &doserialdial(); } - elsif ($pppsettings{'TYPE'} eq 'isdn') { &doisdndial(); } - elsif ($pppsettings{'TYPE'} eq 'pppoe') { &dopppoedial(); } - elsif ($pppsettings{'TYPE'} eq 'pptp') { &dopptpdial(); } - elsif ($pppsettings{'TYPE'} eq 'alcatelusbk') { &doalcatelusbkdial(); } - elsif ($pppsettings{'TYPE'} eq 'alcatelusb') { &doalcatelusbdial(); } - elsif ($pppsettings{'TYPE'} eq 'pulsardsl') { &dopulsardsldial(); } - elsif ($pppsettings{'TYPE'} eq 'eciadsl') { &doeciadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'fritzdsl') { &dofritzdsldial(); } - elsif ($pppsettings{'TYPE'} eq 'bewanadsl') { &dobewanadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') { &doeagleusbadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'conexantusbadsl') { &doconexantusbadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') { &doconexantpciadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'amedynusbadsl') { &doamedynusbadsldial(); } - elsif ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { &do3cp4218usbadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'wanpipe-adsl') { &dowanpipeadsldial(); } - elsif ($pppsettings{'TYPE'} eq 'wanpipe-serial') { &dowanpipeserialdial(); } + if (($pppsettings{'METHOD'} eq 'STATIC') && ($pppsettings{'DNS'} eq 'Manual')) { + system("/usr/local/bin/setaliases"); + if (open(FILE, ">/var/ipcop/red/dns1")) { print FILE $pppsettings{'DNS1'}; close FILE; } + if (open(FILE, ">/var/ipcop/red/dns2")) { print FILE $pppsettings{'DNS2'}; close FILE; } + if (open(FILE, ">/var/ipcop/red/local-ipaddress")) { print FILE $pppsettings{'IP'}; close FILE; } + if (open(FILE, ">/var/ipcop/red/remote-ipaddress")) { print FILE $pppsettings{'GATEWAY'}; close FILE; } + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + &General::log("Dial-on-Demand waiting to dial $pppsettings{'PROFILENAME'}."); + } + else { + &General::log("Dialling $pppsettings{'PROFILENAME'}."); + } - if (-e "${General::swroot}/ppp/updatesettings") { - # erase update mark only after specific script had run, allowing specific script to treat the update - unlink ("${General::swroot}/ppp/updatesettings"); - } - if ( ($pppsettings{'RECONNECTION'} eq 'dialondemand') || ($pppsettings{'METHOD'} eq 'STATIC') ){ - system ("/etc/rc.d/rc.updatered"); - } -} elsif ($ARGV[0] eq 'stop') { - if (open(IFACE, "${General::swroot}/red/iface")) { - $iface = <IFACE>; - close IFACE; - chomp ($iface); - $iface =~ /([a-zA-Z0-9]*)/; $iface = $1; - } + if ($pppsettings{'TYPE'} eq 'modem') { &domodemdial(); } + elsif ($pppsettings{'TYPE'} eq 'serial') { &doserialdial(); } + elsif ($pppsettings{'TYPE'} eq 'isdn') { &doisdndial(); } + elsif ($pppsettings{'TYPE'} eq 'pppoe') { &dopppoedial(); } + elsif ($pppsettings{'TYPE'} eq 'pptp') { &dopptpdial(); } + elsif ($pppsettings{'TYPE'} eq 'alcatelusbk') { &doalcatelusbkdial(); } + elsif ($pppsettings{'TYPE'} eq 'alcatelusb') { &doalcatelusbdial(); } + elsif ($pppsettings{'TYPE'} eq 'pulsardsl') { &dopulsardsldial(); } + elsif ($pppsettings{'TYPE'} eq 'eciadsl') { &doeciadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'fritzdsl') { &dofritzdsldial(); } + elsif ($pppsettings{'TYPE'} eq 'bewanadsl') { &dobewanadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'eagleusbadsl') { &doeagleusbadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'conexantusbadsl') { &doconexantusbadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'conexantpciadsl') { &doconexantpciadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'amedynusbadsl') { &doamedynusbadsldial(); } + elsif ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { &do3cp4218usbadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'wanpipe-adsl') { &dowanpipeadsldial(); } + elsif ($pppsettings{'TYPE'} eq 'wanpipe-serial') { &dowanpipeserialdial(); } - my $device; - if (open(FILE, "${General::swroot}/red/device")) { - $device = <FILE>; - close FILE; - chomp ($device); - $device =~ /([a-zA-Z0-9]*)/; $device = $1; - } + if (-e "/var/ipcop/ppp/updatesettings") { - unlink "${General::swroot}/red/dial-on-demand"; - unlink "${General::swroot}/red/active"; - unlink "${General::swroot}/red/local-ipaddress"; - unlink "${General::swroot}/red/remote-ipaddress"; - unlink "${General::swroot}/red/dns1"; - unlink "${General::swroot}/red/dns2"; - unlink "${General::swroot}/red/resolv.conf"; - unlink "${General::swroot}/red/device"; + # erase update mark only after specific script had run, allowing specific script to treat the update + unlink("/var/ipcop/ppp/updatesettings"); + } + if (($pppsettings{'RECONNECTION'} eq 'dialondemand') || ($pppsettings{'METHOD'} eq 'STATIC')) { + system("/etc/rc.d/rc.updatered"); + } +} +elsif ($ARGV[0] eq 'stop') { + if (open(IFACE, "/var/ipcop/red/iface")) { + $iface = <IFACE>; + close IFACE; + chomp($iface); + $iface =~ /([a-zA-Z0-9]*)/; + $iface = $1; + } - # stay with keepconnected during transitional rc.red stop ordered by rc.connectioncheck - if ( ! -e "${General::swroot}/red/redial") { - unlink "${General::swroot}/red/keepconnected"; - } - unlink "${General::swroot}/red/redial"; + my $device; + if (open(FILE, "/var/ipcop/red/device")) { + $device = <FILE>; + close FILE; + chomp($device); + $device =~ /([a-zA-Z0-9]*)/; + $device = $1; + } - # Kill PPPD - if (open(FILE, "/var/run/ppp-ipcop.pid")) { - my $pid = <FILE>; - close FILE; - chomp ($pid); - $pid =~ /(\d*)/; $pid = $1; - system ('/bin/kill', $pid); - } + unlink "/var/ipcop/red/dial-on-demand"; + unlink "/var/ipcop/red/active"; + unlink "/var/ipcop/red/local-ipaddress"; + unlink "/var/ipcop/red/remote-ipaddress"; + unlink "/var/ipcop/red/dns1"; + unlink "/var/ipcop/red/dns2"; + unlink "/var/ipcop/red/resolv.conf"; + unlink "/var/ipcop/red/device"; - # Bring down Ethernet interfaces & Kill DHCP client daemon - if (($netsettings{'RED_COUNT'} > 0) && ( $netsettings{'RED_1_TYPE'} eq 'PPPOE') && $iface ) { - system ("/sbin/ifconfig", $iface, "down"); - } - if ($device) { - system ("/sbin/ifconfig", $device, "down"); - } + # stay with keepconnected during transitional rc.red stop ordered by rc.connectioncheck + if (!-e "/var/ipcop/red/redial") { + unlink "/var/ipcop/red/keepconnected"; + } + unlink "/var/ipcop/red/redial"; - if ( -e "/var/run/dhcpcd-$iface.pid" ) { - my $pidfile = "/var/run/dhcpcd-$iface.pid"; - # release lease and stop daemon nicely - system("/usr/sbin/dhcpcd -k $iface"); - # leave some time - sleep 1; - if ( open(FILE, $pidfile) ) { - # still there, okay try killing - my $pid = <FILE>; - close FILE; - chomp ($pid); - $pid =~ /(\d*)/; $pid = $1; - system ('/bin/kill', $pid); - unlink "$pidfile"; - } - } + # Kill PPPD + if (open(FILE, "/var/run/ppp-ipcop.pid")) { + my $pid = <FILE>; + close FILE; + chomp($pid); + $pid =~ /(\d*)/; + $pid = $1; + system('/bin/kill', $pid); + } - if (!system ('/bin/ps -ef | /bin/grep -q [a]tmarpd')) { - if ($pppsettings{'GATEWAY'} ne '') { - system("/usr/sbin/atmarp -d $pppsettings{'GATEWAY'} 2>/dev/null"); } - system('/bin/killall /usr/sbin/atmarpd 2>/dev/null'); - system ('/sbin/ifconfig', 'atm0', 'down'); - } + # Bring down Ethernet interfaces & Kill DHCP client daemon + if (($netsettings{'RED_COUNT'} > 0) && ($netsettings{'RED_1_TYPE'} eq 'PPPOE') && $iface) { + system("/sbin/ifconfig", $iface, "down"); + } + if ($device) { + system("/sbin/ifconfig", $device, "down"); + } - if ( $netsettings{'RED_COUNT'} == 0) { - if ($pppsettings{'TYPE'} eq 'isdn') { system('/etc/rc.d/rc.isdn','stop'); } - if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'stop'); } - if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'stop'); } - if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'stop'); } - if ($pppsettings{'TYPE'} eq 'fritzdsl') { system ('/etc/rc.d/rc.fritzdsl','stop'); } - if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'stop'); } - if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'stop'); } - if ($pppsettings{'TYPE'} =~ /wanpipe/ ) { system('/etc/rc.d/rc.wanpipe', 'stop'); } - } + if (-e "/var/run/dhcpcd-$iface.pid") { + my $pidfile = "/var/run/dhcpcd-$iface.pid"; - if ( ( ($netsettings{'RED_COUNT'} > 0) && $netsettings{'RED_1_TYPE'} eq 'STATIC') || - ( ($netsettings{'RED_COUNT'} == 0) && $pppsettings{'PROTOCOL'} eq 'RFC1483' && - $pppsettings{'METHOD'} eq 'STATIC' ) ) { - system ("/etc/rc.d/rc.updatered"); - } -} elsif ($ARGV[0] eq 'clear') { - &doupdatesettings(); - &docleanup(); -} else { - &General::log ("ERROR: rc.red bad argument (start|stop|clear)"); - exit 1; + # release lease and stop daemon nicely + system("/usr/sbin/dhcpcd -k $iface"); + + # leave some time + sleep 1; + if (open(FILE, $pidfile)) { + + # still there, okay try killing + my $pid = <FILE>; + close FILE; + chomp($pid); + $pid =~ /(\d*)/; + $pid = $1; + system('/bin/kill', $pid); + unlink "$pidfile"; + } + } + + if (!system('/bin/ps -ef | /bin/grep -q [a]tmarpd')) { + if ($pppsettings{'GATEWAY'} ne '') { + system("/usr/sbin/atmarp -d $pppsettings{'GATEWAY'} 2>/dev/null"); + } + system('/bin/killall /usr/sbin/atmarpd 2>/dev/null'); + system('/sbin/ifconfig', 'atm0', 'down'); + } + + if ($netsettings{'RED_COUNT'} == 0) { + if ($pppsettings{'TYPE'} eq 'isdn') { system('/etc/rc.d/rc.isdn', 'stop'); } + if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'stop'); } + if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'stop'); } + if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'fritzdsl') { system('/etc/rc.d/rc.fritzdsl', 'stop'); } + if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'stop'); } + if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'stop'); } + if ($pppsettings{'TYPE'} =~ /wanpipe/) { system('/etc/rc.d/rc.wanpipe', 'stop'); } + } + + if ( + (($netsettings{'RED_COUNT'} > 0) && $netsettings{'RED_1_TYPE'} eq 'STATIC') + || ( ($netsettings{'RED_COUNT'} == 0) + && $pppsettings{'PROTOCOL'} eq 'RFC1483' + && $pppsettings{'METHOD'} eq 'STATIC') + ) + { + system("/etc/rc.d/rc.updatered"); + } } +elsif ($ARGV[0] eq 'clear') { + &doupdatesettings(); + &docleanup(); +} +else { + &General::log("ERROR: rc.red bad argument (start|stop|clear)"); + exit 1; +} exit 0; -sub docleanup -{ - if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'fritzdsl') { system ('/etc/rc.d/rc.fritzdsl','cleanup'); } - if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'cleanup'); } - if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'cleanup'); } +sub docleanup { + if ($pppsettings{'TYPE'} eq 'alcatelusbk') { system('/etc/rc.d/rc.alcatelusbk', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'alcatelusb') { system('/etc/rc.d/rc.alcatelusb', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'eciadsl') { system('/etc/rc.d/rc.eciadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'pulsardsl') { system('/etc/rc.d/rc.pulsardsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'fritzdsl') { system('/etc/rc.d/rc.fritzdsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'bewanadsl') { system('/etc/rc.d/rc.bewanadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'eagleusbadsl') { system('/etc/rc.d/rc.eagleusbadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'conexantusbadsl') { system('/etc/rc.d/rc.conexantusbadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'conexantpciadsl') { system('/etc/rc.d/rc.conexantpciadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq 'amedynusbadsl') { system('/etc/rc.d/rc.amedynusbadsl', 'cleanup'); } + if ($pppsettings{'TYPE'} eq '3cp4218usbadsl') { system('/etc/rc.d/rc.3cp4218usbadsl', 'cleanup'); } } -sub domodemdial -{ - my @pppcommand = ('/usr/sbin/pppd'); - my $loginscript = ''; +sub domodemdial { + my @pppcommand = ('/usr/sbin/pppd'); + my $loginscript = ''; - if ($pppsettings{'COMPORT'} =~ /ttyACM/) { - system ('/sbin/rmmod acm'); - sleep 1; - system ('/sbin/modprobe acm'); - } + if ($pppsettings{'COMPORT'} =~ /ttyACM/) { + system('/sbin/rmmod acm'); + sleep 1; + system('/sbin/modprobe acm'); + } - my $device = "/dev/${pppsettings{'COMPORT'}}"; + my $device = "/dev/${pppsettings{'COMPORT'}}"; - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); } + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } elsif ($pppsettings{'AUTH'} eq 'standard-login-script') { - $loginscript = 'standardloginscript'; - } elsif ($pppsettings{'AUTH'} eq 'demon-login-script') { - $loginscript = 'demonloginscript'; - } else { - $loginscript = $pppsettings{'LOGINSCRIPT'}; - } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + elsif ($pppsettings{'AUTH'} eq 'standard-login-script') { + $loginscript = 'standardloginscript'; + } + elsif ($pppsettings{'AUTH'} eq 'demon-login-script') { + $loginscript = 'demonloginscript'; + } + else { + $loginscript = $pppsettings{'LOGINSCRIPT'}; + } - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) - { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push (@pppcommand, ('idle', $seconds)); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand', 'nopersist')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', $seconds)); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } - push (@pppcommand, ('novj', 'novjccomp')); + push(@pppcommand, ('novj', 'novjccomp')); - push (@pppcommand, ('lock', 'modem', 'crtscts', $device, - $pppsettings{'DTERATE'}, 'noipdefault', - 'defaultroute', 'user', $pppsettings{'USERNAME'}, - 'maxfail', $pppsettings{'MAXRETRIES'}, 'connect', - '/etc/ppp/dialer')); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } + push( + @pppcommand, + ( + 'lock', 'modem', 'crtscts', $device, + $pppsettings{'DTERATE'}, 'noipdefault', 'defaultroute', 'user', + $pppsettings{'USERNAME'}, 'maxfail', $pppsettings{'MAXRETRIES'}, 'connect', + '/etc/ppp/dialer' + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } - system @pppcommand; + system @pppcommand; } -sub doserialdial -{ - my @pppcommand = ('/usr/sbin/pppd'); - my $loginscript = ''; +sub doserialdial { + my @pppcommand = ('/usr/sbin/pppd'); + my $loginscript = ''; - if ($pppsettings{'COMPORT'} =~ /ttyACM/) { - system ('/sbin/rmmod acm'); - sleep 1; - system ('/sbin/modprobe acm'); - } + if ($pppsettings{'COMPORT'} =~ /ttyACM/) { + system('/sbin/rmmod acm'); + sleep 1; + system('/sbin/modprobe acm'); + } - my $device = "/dev/${pppsettings{'COMPORT'}}"; + my $device = "/dev/${pppsettings{'COMPORT'}}"; - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); } + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) - { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push (@pppcommand, ('idle', $seconds)); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand', 'nopersist')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', $seconds)); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } - push (@pppcommand, ('novj', 'novjccomp')); + push(@pppcommand, ('novj', 'novjccomp')); - push (@pppcommand, ('lock', 'modem', 'crtscts', $device, - $pppsettings{'DTERATE'}, 'noipdefault', - 'defaultroute', 'user', $pppsettings{'USERNAME'}, - 'maxfail', $pppsettings{'MAXRETRIES'}, 'connect', - '/bin/true')); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } + push( + @pppcommand, + ( + 'lock', 'modem', 'crtscts', $device, + $pppsettings{'DTERATE'}, 'noipdefault', 'defaultroute', 'user', + $pppsettings{'USERNAME'}, 'maxfail', $pppsettings{'MAXRETRIES'}, 'connect', + '/bin/true' + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } - system @pppcommand; + system @pppcommand; } -sub doisdndial -{ - my $pppoptions; - my $seconds; - my $phone; +sub doisdndial { + my $pppoptions; + my $seconds; + my $phone; - if (system ('/etc/rc.d/rc.isdn', 'start')) { - &General::log ("ERROR: ISDN module failed to load"); - exit 1; - } + if (system('/etc/rc.d/rc.isdn', 'start')) { + &General::log("ERROR: ISDN module failed to load"); + exit 1; + } - $seconds = $pppsettings{'TIMEOUT'} * 60; - if ($pppsettings{'USEDOV'} eq 'on') - { - $phone = 'v' . $pppsettings{'TELEPHONE'}; - } - else - { - $phone = $pppsettings{'TELEPHONE'}; - }; + $seconds = $pppsettings{'TIMEOUT'} * 60; + if ($pppsettings{'USEDOV'} eq 'on') { + $phone = 'v' . $pppsettings{'TELEPHONE'}; + } + else { + $phone = $pppsettings{'TELEPHONE'}; + } - if ($pppsettings{'COMPORT'} eq 'isdn2') - { - system('/usr/sbin/isdnctrl','addif','ippp0'); - system('/usr/sbin/isdnctrl','addslave','ippp0','ippp1'); - system('/usr/sbin/isdnctrl','l2_prot','ippp0','hdlc'); - system('/usr/sbin/isdnctrl','l3_prot','ippp0','trans'); - system('/usr/sbin/isdnctrl','encap','ippp0','syncppp'); - system('/usr/sbin/isdnctrl','dialmax','ippp0',$pppsettings{'MAXRETRIES'}); - system('/usr/sbin/isdnctrl','eaz','ippp0',$isdnsettings{'MSN'}); - system('/usr/sbin/isdnctrl','addphone','ippp0','out',$phone); - system('/usr/sbin/isdnctrl','huptimeout','ippp0',$seconds); - system('/usr/sbin/isdnctrl','l2_prot','ippp1','hdlc'); - system('/usr/sbin/isdnctrl','l3_prot','ippp1','trans'); - system('/usr/sbin/isdnctrl','encap','ippp1','syncppp'); - system('/usr/sbin/isdnctrl','dialmax','ippp1',$pppsettings{'MAXRETRIES'}); - system('/usr/sbin/isdnctrl','eaz','ippp0',$isdnsettings{'MSN'}); - system('/usr/sbin/isdnctrl','addphone','ippp1','out',$phone); - system('/usr/sbin/isdnctrl','huptimeout','ippp1',$seconds); - system('/usr/sbin/isdnctrl','dialmode','ippp1','auto'); + if ($pppsettings{'COMPORT'} eq 'isdn2') { + system('/usr/sbin/isdnctrl', 'addif', 'ippp0'); + system('/usr/sbin/isdnctrl', 'addslave', 'ippp0', 'ippp1'); + system('/usr/sbin/isdnctrl', 'l2_prot', 'ippp0', 'hdlc'); + system('/usr/sbin/isdnctrl', 'l3_prot', 'ippp0', 'trans'); + system('/usr/sbin/isdnctrl', 'encap', 'ippp0', 'syncppp'); + system('/usr/sbin/isdnctrl', 'dialmax', 'ippp0', $pppsettings{'MAXRETRIES'}); + system('/usr/sbin/isdnctrl', 'eaz', 'ippp0', $isdnsettings{'MSN'}); + system('/usr/sbin/isdnctrl', 'addphone', 'ippp0', 'out', $phone); + system('/usr/sbin/isdnctrl', 'huptimeout', 'ippp0', $seconds); + system('/usr/sbin/isdnctrl', 'l2_prot', 'ippp1', 'hdlc'); + system('/usr/sbin/isdnctrl', 'l3_prot', 'ippp1', 'trans'); + system('/usr/sbin/isdnctrl', 'encap', 'ippp1', 'syncppp'); + system('/usr/sbin/isdnctrl', 'dialmax', 'ippp1', $pppsettings{'MAXRETRIES'}); + system('/usr/sbin/isdnctrl', 'eaz', 'ippp0', $isdnsettings{'MSN'}); + system('/usr/sbin/isdnctrl', 'addphone', 'ippp1', 'out', $phone); + system('/usr/sbin/isdnctrl', 'huptimeout', 'ippp1', $seconds); + system('/usr/sbin/isdnctrl', 'dialmode', 'ippp1', 'auto'); - my @pppcommand = ('/usr/sbin/ipppd','ms-get-dns','noipdefault','+mp', - 'defaultroute','user',$pppsettings{'USERNAME'}, - 'name',$pppsettings{'USERNAME'}, - 'active-filter','outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', - 'pidfile','/var/run/ppp-ipcop.pid','/dev/ippp0','/dev/ippp1'); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } - system (@pppcommand); - } - else - { - system('/usr/sbin/isdnctrl','addif','ippp0'); - system('/usr/sbin/isdnctrl','l2_prot','ippp0','hdlc'); - system('/usr/sbin/isdnctrl','l3_prot','ippp0','trans'); - system('/usr/sbin/isdnctrl','encap','ippp0','syncppp'); - system('/usr/sbin/isdnctrl','dialmax','ippp0',$pppsettings{'MAXRETRIES'}); - system('/usr/sbin/isdnctrl','eaz','ippp0',$isdnsettings{'MSN'}); - system('/usr/sbin/isdnctrl','addphone','ippp0','out',$phone); - system('/usr/sbin/isdnctrl','huptimeout','ippp0',$seconds); + my @pppcommand = ( + '/usr/sbin/ipppd', 'ms-get-dns', + 'noipdefault', '+mp', + 'defaultroute', 'user', + $pppsettings{'USERNAME'}, 'name', + $pppsettings{'USERNAME'}, 'active-filter', + 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', 'pidfile', + '/var/run/ppp-ipcop.pid', '/dev/ippp0', + '/dev/ippp1' + ); - my @pppcommand = ('/usr/sbin/ipppd','ms-get-dns','noipdefault', - 'defaultroute','user',$pppsettings{'USERNAME'}, - 'name',$pppsettings{'USERNAME'}, - 'active-filter','outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', - 'pidfile','/var/run/ppp-ipcop.pid','/dev/ippp0'); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } - system (@pppcommand); - } + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + system(@pppcommand); + } + else { + system('/usr/sbin/isdnctrl', 'addif', 'ippp0'); + system('/usr/sbin/isdnctrl', 'l2_prot', 'ippp0', 'hdlc'); + system('/usr/sbin/isdnctrl', 'l3_prot', 'ippp0', 'trans'); + system('/usr/sbin/isdnctrl', 'encap', 'ippp0', 'syncppp'); + system('/usr/sbin/isdnctrl', 'dialmax', 'ippp0', $pppsettings{'MAXRETRIES'}); + system('/usr/sbin/isdnctrl', 'eaz', 'ippp0', $isdnsettings{'MSN'}); + system('/usr/sbin/isdnctrl', 'addphone', 'ippp0', 'out', $phone); + system('/usr/sbin/isdnctrl', 'huptimeout', 'ippp0', $seconds); - sleep 1; + my @pppcommand = ( + '/usr/sbin/ipppd', 'ms-get-dns', + 'noipdefault', 'defaultroute', + 'user', $pppsettings{'USERNAME'}, + 'name', $pppsettings{'USERNAME'}, + 'active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', + 'pidfile', '/var/run/ppp-ipcop.pid', + '/dev/ippp0' + ); - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - system('/usr/sbin/isdnctrl','dialmode','ippp0','auto'); - system('/sbin/ifconfig','ippp0','10.112.112.112','pointopoint','10.112.112.113'); - system('/sbin/ifconfig','ippp0','-arp','-broadcast'); - system('/sbin/route','add','default','dev','ippp0'); - } else { - system('/usr/sbin/isdnctrl', 'dial', 'ippp0'); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + system(@pppcommand); + } - } + sleep 1; - system('/bin/killall', 'ibod'); - if ($pppsettings{'COMPORT'} eq 'isdn2') { - if ($pppsettings{'USEIBOD'} eq 'on') { - system("/usr/sbin/ibod &"); - } else { - system('/usr/sbin/isdnctrl', 'addlink', 'ippp0'); - } - } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + system('/usr/sbin/isdnctrl', 'dialmode', 'ippp0', 'auto'); + system('/sbin/ifconfig', 'ippp0', '10.112.112.112', 'pointopoint', '10.112.112.113'); + system('/sbin/ifconfig', 'ippp0', '-arp', '-broadcast'); + system('/sbin/route', 'add', 'default', 'dev', 'ippp0'); + } + else { + system('/usr/sbin/isdnctrl', 'dial', 'ippp0'); + + } + + system('/bin/killall', 'ibod'); + if ($pppsettings{'COMPORT'} eq 'isdn2') { + if ($pppsettings{'USEIBOD'} eq 'on') { + system("/usr/sbin/ibod &"); + } + else { + system('/usr/sbin/isdnctrl', 'addlink', 'ippp0'); + } + } } -sub dopppoedial -{ - if ($pppsettings{'METHOD'} ne 'PPPOE_PLUGIN') { - my @pppcommand = ('/usr/sbin/pppd', 'pty'); - my @pppoecommand = ('/usr/sbin/pppoe', '-p','/var/run/pppoe.pid','-I', - $netsettings{'RED_1_DEV'}, '-T', '80', '-U', '-m', '1412'); - - if ($pppsettings{'SERVICENAME'}) { - push(@pppoecommand, ('-S', $pppsettings{'SERVICENAME'})); } - if ($pppsettings{'CONCENTRATORNAME'}) { - push(@pppoecommand, ('-C', $pppsettings{'CONCENTRATORNAME'})); } - - push(@pppcommand, "@pppoecommand"); - - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); - } +sub dopppoedial { + if ($pppsettings{'METHOD'} ne 'PPPOE_PLUGIN') { + my @pppcommand = ('/usr/sbin/pppd', 'pty'); + my @pppoecommand = ( + '/usr/sbin/pppoe', '-p', '/var/run/pppoe.pid', '-I', $netsettings{'RED_1_DEV'}, '-T', + '80', '-U', '-m', '1412' + ); - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } + if ($pppsettings{'SERVICENAME'}) { + push(@pppoecommand, ('-S', $pppsettings{'SERVICENAME'})); + } + if ($pppsettings{'CONCENTRATORNAME'}) { + push(@pppoecommand, ('-C', $pppsettings{'CONCENTRATORNAME'})); + } - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push(@pppcommand, ('idle', "$seconds")); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand','nopersist','connect','/bin/true')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } - - push(@pppcommand, ('noipdefault', 'default-asyncmap', - 'defaultroute', 'hide-password', 'local', - 'mtu', '1492', 'mru', '1492', 'noaccomp', 'noccp', - 'nobsdcomp', 'nodeflate', 'nopcomp', 'novj', 'novjccomp', - 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-max-configure', '50', - 'maxfail',$pppsettings{'MAXRETRIES'})); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } + push(@pppcommand, "@pppoecommand"); - system (@pppcommand); - } else { - # PPPoE plugin - system ('/sbin/modprobe pppoe'); - my @pppcommand = ('/usr/sbin/pppd'); - push(@pppcommand,'plugin','rp-pppoe.so',"$netsettings{'RED_1_DEV'}"); - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); - } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push(@pppcommand, ('idle', "$seconds")); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand','nopersist')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } - push(@pppcommand, ('noipdefault', 'defaultroute', 'hide-password', 'ipcp-accept-local', - 'ipcp-accept-remote', 'passive', 'noccp','nopcomp', 'novjccomp', - 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-max-configure', '50', - 'maxfail',$pppsettings{'MAXRETRIES'})); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } - system (@pppcommand); - } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', "$seconds")); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist', 'connect', '/bin/true')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } + + push( + @pppcommand, + ( + 'noipdefault', 'default-asyncmap', 'defaultroute', 'hide-password', + 'local', 'mtu', '1492', 'mru', + '1492', 'noaccomp', 'noccp', 'nobsdcomp', + 'nodeflate', 'nopcomp', 'novj', 'novjccomp', + 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + + system(@pppcommand); + } + else { + + # PPPoE plugin + system('/sbin/modprobe pppoe'); + my @pppcommand = ('/usr/sbin/pppd'); + push(@pppcommand, 'plugin', 'rp-pppoe.so', "$netsettings{'RED_1_DEV'}"); + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', "$seconds")); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } + push( + @pppcommand, + ( + 'noipdefault', 'defaultroute', 'hide-password', 'ipcp-accept-local', + 'ipcp-accept-remote', 'passive', 'noccp', 'nopcomp', + 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', + '20', 'lcp-echo-failure', '3', 'lcp-max-configure', + '50', 'maxfail', $pppsettings{'MAXRETRIES'} + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + + system(@pppcommand); + } } -sub dopptpdial -{ - my %pptpdhcpc; - my $routerip = $pppsettings{'ROUTERIP'} ? $pppsettings{'ROUTERIP'} : "10.0.0.138"; - if ( $pppsettings{'METHOD'} eq 'DHCP' && open(FILE, "${General::swroot}/red/device")) { - my $device = <FILE>; - close FILE; - chomp ($device); - $device =~ /([a-zA-Z0-9]*)/; $device = $1; -# FIXME: equivalents for dhclient ? - if (&General::readhash("${General::swroot}/dhcpc/dhcpcd-$device.info", \%pptpdhcpc)) { - system("/sbin/route add -host $routerip gw $pptpdhcpc{'GATEWAY'}"); - } else { - system("/sbin/route add -host $routerip dev $device"); - } - } +sub dopptpdial { + my %pptpdhcpc; + my $routerip = $pppsettings{'ROUTERIP'} ? $pppsettings{'ROUTERIP'} : "10.0.0.138"; + if ($pppsettings{'METHOD'} eq 'DHCP' && open(FILE, "/var/ipcop/red/device")) { + my $device = <FILE>; + close FILE; + chomp($device); + $device =~ /([a-zA-Z0-9]*)/; + $device = $1; - my @pppcommand = ('/usr/sbin/pppd', 'pty'); - my @pptpcommand = ('/usr/sbin/pptp', $routerip, '--nobuffer', '--nolaunchpppd', '--sync'); - if ($pppsettings{'PHONEBOOK'}) { - push (@pptpcommand, ('--phone ', $pppsettings{'PHONEBOOK'})); - } + # FIXME: equivalents for dhclient ? + if (&General::readhash("/var/ipcop/dhcpc/dhcpcd-$device.info", \%pptpdhcpc)) { + system("/sbin/route add -host $routerip gw $pptpdhcpc{'GATEWAY'}"); + } + else { + system("/sbin/route add -host $routerip dev $device"); + } + } - push(@pppcommand, "@pptpcommand"); + my @pppcommand = ('/usr/sbin/pppd', 'pty'); + my @pptpcommand = ('/usr/sbin/pptp', $routerip, '--nobuffer', '--nolaunchpppd', '--sync'); + if ($pppsettings{'PHONEBOOK'}) { + push(@pptpcommand, ('--phone ', $pppsettings{'PHONEBOOK'})); + } - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); - } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } + push(@pppcommand, "@pptpcommand"); - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push(@pppcommand, ('idle', "$seconds")); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand','nopersist','connect','/bin/true')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } - push(@pppcommand, ('noipdefault', 'default-asyncmap', - 'defaultroute', 'hide-password', 'local','noaccomp', 'noccp', - 'nobsdcomp', 'nodeflate', 'nopcomp', 'novj', 'novjccomp', - 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-max-configure', '50', - 'maxfail',$pppsettings{'MAXRETRIES'},'sync')); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', "$seconds")); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist', 'connect', '/bin/true')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } - system (@pppcommand); + push( + @pppcommand, + ( + 'noipdefault', 'default-asyncmap', 'defaultroute', 'hide-password', + 'local', 'noaccomp', 'noccp', 'nobsdcomp', + 'nodeflate', 'nopcomp', 'novj', 'novjccomp', + 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'}, 'sync' + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + + system(@pppcommand); } -sub doalcatelusbdial -{ - if (system ('/etc/rc.d/rc.alcatelusb','start')) { - &General::log( "ERROR: Failed to connect to Alcatel USB modem"); - exit 1; - } +sub doalcatelusbdial { + if (system('/etc/rc.d/rc.alcatelusb', 'start')) { + &General::log("ERROR: Failed to connect to Alcatel USB modem"); + exit 1; + } - if ($pppsettings{'PROTOCOL'} eq 'RFC1483') { - if (open(FILE, ">${General::swroot}/red/device")) { print FILE 'tap0'; close FILE; } - $netsettings{'RED_1_DEV'} = 'tap0'; - &dopppoedial(); - } else { - # PPPoA - my @pppcommand = ('/usr/sbin/pppd', 'pty'); - my @pppoacommand = ('/usr/sbin/pppoa3','-c','-m','1','-vpi',$pppsettings{'VPI'},'-vci',$pppsettings{'VCI'}); - - push(@pppcommand, "@pppoacommand"); - - if ($pppsettings{'DNS'} eq 'Automatic') { - push(@pppcommand, ('usepeerdns')); - } - if ($pppsettings{'AUTH'} eq 'pap') { - push(@pppcommand, ('-chap')); - } elsif ($pppsettings{'AUTH'} eq 'chap') { - push(@pppcommand, ('-pap')); - } - - if ($pppsettings{'RECONNECTION'} ne 'persistent') { - if ($pppsettings{'TIMEOUT'} != 0) { - my $seconds = $pppsettings{'TIMEOUT'} * 60; - push(@pppcommand, ('idle', "$seconds")); - } - if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - push (@pppcommand, ('demand','nopersist','connect','/bin/true')); - } - push (@pppcommand, - ('active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ' )); - } - - push(@pppcommand, ('noipdefault', 'defaultroute', 'sync', 'user', - $pppsettings{'USERNAME'}, 'ipcp-accept-local', 'ipcp-accept-remote', 'passive', - 'noaccomp', 'nopcomp', 'noccp', 'novj', 'nobsdcomp', - 'nodeflate', 'lcp-echo-interval', '20', 'lcp-echo-failure', '3', - 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'})); - if ($pppsettings{'DEBUG'} eq 'on') { - push(@pppcommand, ('debug')); - } - - system (@pppcommand); - } + if ($pppsettings{'PROTOCOL'} eq 'RFC1483') { + if (open(FILE, ">/var/ipcop/red/device")) { print FILE 'tap0'; close FILE; } + $netsettings{'RED_1_DEV'} = 'tap0'; + &dopppoedial(); + } + else { + + # PPPoA + my @pppcommand = ('/usr/sbin/pppd', 'pty'); + my @pppoacommand = + ('/usr/sbin/pppoa3', '-c', '-m', '1', '-vpi', $pppsettings{'VPI'}, '-vci', $pppsettings{'VCI'}); + + push(@pppcommand, "@pppoacommand"); + + if ($pppsettings{'DNS'} eq 'Automatic') { + push(@pppcommand, ('usepeerdns')); + } + if ($pppsettings{'AUTH'} eq 'pap') { + push(@pppcommand, ('-chap')); + } + elsif ($pppsettings{'AUTH'} eq 'chap') { + push(@pppcommand, ('-pap')); + } + + if ($pppsettings{'RECONNECTION'} ne 'persistent') { + if ($pppsettings{'TIMEOUT'} != 0) { + my $seconds = $pppsettings{'TIMEOUT'} * 60; + push(@pppcommand, ('idle', "$seconds")); + } + if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { + push(@pppcommand, ('demand', 'nopersist', 'connect', '/bin/true')); + } + push(@pppcommand, ('active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0 ')); + } + + push( + @pppcommand, + ( + 'noipdefault', 'defaultroute', + 'sync', 'user', + $pppsettings{'USERNAME'}, 'ipcp-accept-local', + 'ipcp-accept-remote', 'passive', + 'noaccomp', 'nopcomp', + 'noccp', 'novj', + 'nobsdcomp', 'nodeflate', + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} + ) + ); + if ($pppsettings{'DEBUG'} eq 'on') { + push(@pppcommand, ('debug')); + } + + system(@pppcommand); + } } -sub doeciadsldial -{ - if (system ('/etc/rc.d/rc.eciadsl','start')) { - &General::log ("ERROR: ECI ADSL failed to start"); - exit 1; - } - if ($pppsettings {'PROTOCOL'} eq 'RFC1483') { - if ($pppsettings {'ENCAP'} =~ /^(0|1)$/) { - $iface = "tap0"; - } else { - $iface = "tun0"; - } +sub doeciadsldial { + if (system('/etc/rc.d/rc.eciadsl', 'start')) { + &General::log("ERROR: ECI ADSL failed to start"); + ... [truncated message content] |
From: <ow...@us...> - 2008-11-09 16:50:12
|
Revision: 2043 http://ipcop.svn.sourceforge.net/ipcop/?rev=2043&view=rev Author: owes Date: 2008-11-09 16:50:07 +0000 (Sun, 09 Nov 2008) Log Message: ----------- Also allow _ in network device name here. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2008-11-09 16:25:24 UTC (rev 2042) +++ ipcop/trunk/src/rc.d/rc.red 2008-11-09 16:50:07 UTC (rev 2043) @@ -245,7 +245,7 @@ $iface = <IFACE>; close IFACE; chomp($iface); - $iface =~ /([a-zA-Z0-9]*)/; + $iface =~ /([a-zA-Z0-9_]*)/; $iface = $1; } @@ -254,7 +254,7 @@ $device = <FILE>; close FILE; chomp($device); - $device =~ /([a-zA-Z0-9]*)/; + $device =~ /([a-zA-Z0-9_]*)/; $device = $1; } @@ -706,7 +706,7 @@ my $device = <FILE>; close FILE; chomp($device); - $device =~ /([a-zA-Z0-9]*)/; + $device =~ /([a-zA-Z0-9_]*)/; $device = $1; # FIXME: equivalents for dhclient ? @@ -1058,7 +1058,7 @@ exit 1; } $iface = `/usr/sbin/eaglectrl -i 2>/dev/null | /usr/bin/tr -d '\012'`; - $iface =~ /([a-zA-Z0-9]*)/; + $iface =~ /([a-zA-Z0-9_]*)/; $iface = $1; if ($pppsettings{'PROTOCOL'} eq 'RFC1483') { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2008-12-30 10:07:22
|
Revision: 2244 http://ipcop.svn.sourceforge.net/ipcop/?rev=2244&view=rev Author: owes Date: 2008-12-30 10:07:13 +0000 (Tue, 30 Dec 2008) Log Message: ----------- Look like rp-pppoe tests interface to match eth* or br*. Use nic-<interface> to bypass this test. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2008-12-29 22:11:31 UTC (rev 2243) +++ ipcop/trunk/src/rc.d/rc.red 2008-12-30 10:07:13 UTC (rev 2244) @@ -661,7 +661,7 @@ # PPPoE plugin system('/sbin/modprobe pppoe'); my @pppcommand = ('/usr/sbin/pppd'); - push(@pppcommand, 'plugin', 'rp-pppoe.so', "$netsettings{'RED_1_DEV'}"); + push(@pppcommand, 'plugin', 'rp-pppoe.so', "nic-$netsettings{'RED_1_DEV'}"); if ($pppsettings{'DNS'} eq 'Automatic') { push(@pppcommand, ('usepeerdns')); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2009-02-19 15:04:04
|
Revision: 2494 http://ipcop.svn.sourceforge.net/ipcop/?rev=2494&view=rev Author: owes Date: 2009-02-19 15:04:00 +0000 (Thu, 19 Feb 2009) Log Message: ----------- ppp seems to want /dev/ppp, quick hack to add that. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2009-02-19 14:44:06 UTC (rev 2493) +++ ipcop/trunk/src/rc.d/rc.red 2009-02-19 15:04:00 UTC (rev 2494) @@ -600,6 +600,12 @@ } sub dopppoedial { + + # FIXME: there must be a better place / better way to do this + if (! -e "/dev/ppp") { + system("mknod /dev/ppp c 108 0"); + } + if ($pppsettings{'METHOD'} ne 'PPPOE_PLUGIN') { my @pppcommand = ('/usr/sbin/pppd', 'pty'); my @pppoecommand = ( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2009-02-26 09:16:00
|
Revision: 2532 http://ipcop.svn.sourceforge.net/ipcop/?rev=2532&view=rev Author: owes Date: 2009-02-26 09:15:57 +0000 (Thu, 26 Feb 2009) Log Message: ----------- Accept - character for network interface. We probably need to make a general function for this and unify our code. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2009-02-26 09:14:38 UTC (rev 2531) +++ ipcop/trunk/src/rc.d/rc.red 2009-02-26 09:15:57 UTC (rev 2532) @@ -245,7 +245,7 @@ $iface = <IFACE>; close IFACE; chomp($iface); - $iface =~ /([a-zA-Z0-9_]*)/; + $iface =~ /([a-zA-Z0-9_\-]*)/; $iface = $1; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2009-08-24 09:21:17
|
Revision: 3484 http://ipcop.svn.sourceforge.net/ipcop/?rev=3484&view=rev Author: owes Date: 2009-08-24 09:21:09 +0000 (Mon, 24 Aug 2009) Log Message: ----------- Do not modprobe -r 3cp4218 and CnxADSL as we currently do not have them. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2009-08-24 06:55:47 UTC (rev 3483) +++ ipcop/trunk/src/rc.d/rc.red 2009-08-24 09:21:09 UTC (rev 3484) @@ -72,14 +72,14 @@ system('/sbin/modprobe', '-r', 'br2684'); system('/sbin/modprobe', '-r', 'clip'); - # owes: take out the modules we (currently) do not have - if ($pppsettings{'TYPE'} ne '3cp4218usbadsl') { system('/sbin/modprobe', '-r', '3cp4218'); } + # TODO: readd modules once we can compile them, or find a better mechanism + #if ($pppsettings{'TYPE'} ne '3cp4218usbadsl') { system('/sbin/modprobe', '-r', '3cp4218'); } if ($pppsettings{'TYPE'} ne 'alcatelusbk') { system('/sbin/modprobe', '-r', 'speedtch'); } #if ($pppsettings{'TYPE'} ne 'amedynusbadsl') { system('/sbin/modprobe', '-r', 'amedyn');} #if ($pppsettings{'TYPE'} ne 'bewanadsl') { # system('/sbin/modprobe', '-r', 'unicorn_pci_atm', 'unicorn_usb_atm');} - if ($pppsettings{'TYPE'} ne 'conexantpciadsl') { system('/sbin/modprobe', '-r', 'CnxADSL'); } + #if ($pppsettings{'TYPE'} ne 'conexantpciadsl') { system('/sbin/modprobe', '-r', 'CnxADSL'); } if ($pppsettings{'TYPE'} ne 'conexantusbadsl') { system('/sbin/modprobe', '-r', 'cxacru'); } #if ($pppsettings{'TYPE'} ne 'eagleusbadsl') { system('/sbin/modprobe', '-r', 'eagle-usb');} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2009-09-18 05:48:00
|
Revision: 3572 http://ipcop.svn.sourceforge.net/ipcop/?rev=3572&view=rev Author: owes Date: 2009-09-18 05:47:52 +0000 (Fri, 18 Sep 2009) Log Message: ----------- Fix vlan remove command typo. Also add test for device exists before removing. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2009-09-17 20:19:28 UTC (rev 3571) +++ ipcop/trunk/src/rc.d/rc.red 2009-09-18 05:47:52 UTC (rev 3572) @@ -175,7 +175,7 @@ } system("/sbin/vconfig add $netsettings{'RED_1_DEV'} $pppsettings{'VDSL_TAG'}"); - system("/sbin/ip", "link", "set", "$netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'}", "up"); + system("/sbin/ip link set $netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'} up"); } } @@ -299,9 +299,10 @@ } # VDSL using VLAN tag - if ($pppsettings{'VDSL_TAG'}) { - system("/sbin/ip", "link", "set", "$netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'}", "down"); - system("/sbin/vconfig rem "$netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'}"); + # VLAN tag can be set in profile even when not using PPPoE, so check for dev exists to avoid error messages + if ($pppsettings{'VDSL_TAG'} && -e "/sys/class/net/$netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'}") { + system("/sbin/ip link set $netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'} down"); + system("/sbin/vconfig rem $netsettings{'RED_1_DEV'}.$pppsettings{'VDSL_TAG'}"); } if (-e "/var/run/dhcpcd-$iface.pid") { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2010-03-30 19:30:59
|
Revision: 4418 http://ipcop.svn.sourceforge.net/ipcop/?rev=4418&view=rev Author: owes Date: 2010-03-30 19:30:53 +0000 (Tue, 30 Mar 2010) Log Message: ----------- Fix (partly?) pptp dial as reported in SF #2978513 Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2010-03-30 19:16:31 UTC (rev 4417) +++ ipcop/trunk/src/rc.d/rc.red 2010-03-30 19:30:53 UTC (rev 4418) @@ -708,9 +708,9 @@ if ($pppsettings{'METHOD'} eq 'DHCP' && -e "/var/ipcop/red/device") { my $device = &General::getinterfacefromfile("/var/ipcop/red/device"); - # FIXME: equivalents for dhclient ? - if (&General::readhash("/var/ipcop/dhcpc/dhcpcd-$device.info", \%pptpdhcpc)) { - system("/sbin/ip", "route", "add", $routerip, "via", $pptpdhcpc{'GATEWAY'}); + # TODO: verify the fixes from SF #2978513 + if (&General::readhash("/var/log/dhcpclient.info", \%pptpdhcpc)) { + system("/sbin/ip", "route", "add", $routerip, "via", $pptpdhcpc{'DHCLIENT_GATEWAY'}); } else { system("/sbin/ip", "route", "add", $routerip, "dev", $device); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2010-04-22 05:02:24
|
Revision: 4495 http://ipcop.svn.sourceforge.net/ipcop/?rev=4495&view=rev Author: owes Date: 2010-04-22 05:02:17 +0000 (Thu, 22 Apr 2010) Log Message: ----------- Add --debug option to dhcpcd if connection debugging is activated. We may need to make a modification to the dial CGI page to make clearer/easier for RED=DHCP Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2010-04-22 04:49:29 UTC (rev 4494) +++ ipcop/trunk/src/rc.d/rc.red 2010-04-22 05:02:17 UTC (rev 4495) @@ -50,10 +50,11 @@ unlink "/var/log/dhcpclient.info" if (-e "/var/log/dhcpclient.info"); my @dhcpcommand = ('/usr/sbin/dhcpcd'); push(@dhcpcommand, ('-L', '--quiet', '--script', '/usr/local/bin/dhcpcd.sh', "$iface")); + + push(@dhcpcommand, '--debug') if ($pppsettings{'DEBUG'} eq 'on'); + push(@dhcpcommand, ('-h', "$dhcp_name")) if ($dhcp_name ne ''); + push(@dhcpcommand, '-G') if ($netsettings{'RED_TYPE'} eq 'PPTP'); - if ($dhcp_name ne '') { push(@dhcpcommand, ('-h', "$dhcp_name")); } - if ($netsettings{'RED_TYPE'} eq 'PPTP') { push(@dhcpcommand, '-G'); } - if (system(@dhcpcommand)) { &General::log('dhcp client fail'); exit 1; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2010-08-07 07:31:05
|
Revision: 4775 http://ipcop.svn.sourceforge.net/ipcop/?rev=4775&view=rev Author: owes Date: 2010-08-07 07:30:58 +0000 (Sat, 07 Aug 2010) Log Message: ----------- Change the comment and log for mknod /dev/ppp, /dev/ppp is always missing missing after boot now. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2010-08-07 07:02:45 UTC (rev 4774) +++ ipcop/trunk/src/rc.d/rc.red 2010-08-07 07:30:58 UTC (rev 4775) @@ -210,9 +210,9 @@ &General::log("Dialling $pppsettings{'PROFILENAME'}."); } - # FIXME: there must be a better place / better way to do this + # ppp device node is not present after boot, create it if (! -e "/dev/ppp") { - &General::log("DEBUG: ppp device node created"); + &General::log("red", "ppp device node created"); system("mknod /dev/ppp c 108 0"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2010-09-26 12:47:36
|
Revision: 4971 http://ipcop.svn.sourceforge.net/ipcop/?rev=4971&view=rev Author: owes Date: 2010-09-26 12:47:29 +0000 (Sun, 26 Sep 2010) Log Message: ----------- Move some rc.red logmessages into the RED section Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2010-09-23 19:42:08 UTC (rev 4970) +++ ipcop/trunk/src/rc.d/rc.red 2010-09-26 12:47:29 UTC (rev 4971) @@ -56,11 +56,11 @@ push(@dhcpcommand, "$iface"); if (system(@dhcpcommand)) { - &General::log('dhcp client fail'); + &General::log('red', 'dhcp client fail'); exit 1; } else { - &General::log('dhcp client success'); + &General::log('red', 'dhcp client success'); } } @@ -120,7 +120,7 @@ ### if ($netsettings{'RED_COUNT'} > 0) { if ($netsettings{'RED_1_DEV'} ne '') { - &General::log("Starting RED device $netsettings{'RED_1_DEV'}."); + &General::log("red", "Starting RED device $netsettings{'RED_1_DEV'}."); if ($netsettings{'RED_1_TYPE'} eq 'DHCP') { if (open(FILE, ">/var/ipcop/red/iface")) { print FILE $netsettings{'RED_1_DEV'}; close FILE; } @@ -187,7 +187,7 @@ } if ($pppsettings{'VALID'} ne 'yes') { - &General::log("Profile has errors."); + &General::log("ERROR: Profile has errors."); exit 1; } @@ -202,10 +202,10 @@ if (open(FILE, ">/var/ipcop/red/remote-ipaddress")) { print FILE $pppsettings{'GATEWAY'}; close FILE; } } if ($pppsettings{'RECONNECTION'} eq 'dialondemand') { - &General::log("Dial-on-Demand waiting to dial $pppsettings{'PROFILENAME'}."); + &General::log("red", "Dial-on-Demand waiting to dial $pppsettings{'PROFILENAME'}."); } else { - &General::log("Dialling $pppsettings{'PROFILENAME'}."); + &General::log("red", "Dialling $pppsettings{'PROFILENAME'}."); } # ppp device node is not present after boot, create it This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2011-11-30 14:40:27
|
Revision: 6145 http://ipcop.svn.sourceforge.net/ipcop/?rev=6145&view=rev Author: owes Date: 2011-11-30 14:40:20 +0000 (Wed, 30 Nov 2011) Log Message: ----------- Add exit sub() for some extra logging. Most logging to RED section, admin should look there in case of trouble. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2011-11-30 14:38:13 UTC (rev 6144) +++ ipcop/trunk/src/rc.d/rc.red 2011-11-30 14:40:20 UTC (rev 6145) @@ -41,6 +41,18 @@ &General::readhash("/var/ipcop/ethernet/settings", \%netsettings); &General::readhash("/var/ipcop/dhcp/settings", \%dhcpsettings); +sub myexit +{ + my $retcode = shift; + + unlink('/var/ipcop/red/connecting'); + unlink('/var/ipcop/red/disconnecting'); + + &General::log("ERROR ($retcode) in rc.red") if ($retcode); + + exit $retcode; +} + sub dodhcpdial($;$) { my ($iface, $dhcp_name) = @_; @@ -57,8 +69,7 @@ if (system(@dhcpcommand)) { &General::log('red', 'dhcp client fail'); - unlink('/var/ipcop/red/connecting'); - exit 1; + myexit(1); } else { &General::log('red', 'dhcp client success'); @@ -184,9 +195,8 @@ } } else { - &General::log("ERROR: Can't start RED when RED device not set!"); - unlink('/var/ipcop/red/connecting'); - exit 1; + &General::log('red', "ERROR: Can't start RED when RED device not set!"); + myexit(1); } } @@ -195,8 +205,8 @@ } if ($pppsettings{'VALID'} ne 'yes') { - &General::log("ERROR: Profile has errors."); - exit 1; + &General::log('red', 'ERROR: Profile has errors.'); + myexit(1); } if (-e "/var/ipcop/ppp/updatesettings") { @@ -249,7 +259,9 @@ $iface = &General::getredinterface(); my $device = &General::getinterfacefromfile("/var/ipcop/red/device"); - system('/usr/bin/touch /var/ipcop/red/disconnecting'); + if (-e "/var/ipcop/red/active") { + system('/usr/bin/touch /var/ipcop/red/disconnecting'); + } unlink "/var/ipcop/red/dial-on-demand"; unlink "/var/ipcop/red/active"; unlink "/var/ipcop/red/connecting"; @@ -490,8 +502,8 @@ my $phone; if (system('/etc/rc.d/rc.isdn', 'start')) { - &General::log("ERROR: ISDN module failed to load"); - exit 1; + &General::log('red', 'ERROR: ISDN module failed to load'); + myexit(1); } $seconds = $pppsettings{'TIMEOUT'} * 60; @@ -522,14 +534,13 @@ system('/usr/sbin/isdnctrl', 'dialmode', 'ippp1', 'auto'); my @pppcommand = ( - '/usr/sbin/ipppd', 'ms-get-dns', - 'noipdefault', '+mp', - 'defaultroute', 'user', - $pppsettings{'USERNAME'}, 'name', - $pppsettings{'USERNAME'}, 'active-filter', - 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', 'pidfile', - '/var/run/ppp-ipcop.pid', '/dev/ippp0', - '/dev/ippp1' + '/usr/sbin/ipppd', 'ms-get-dns', + 'noipdefault', '+mp', 'defaultroute', + 'user', $pppsettings{'USERNAME'}, + 'name', $pppsettings{'USERNAME'}, + 'active-filter', 'outbound and not icmp[0] == 3 and not tcp[13] & 4 != 0', + 'pidfile', '/var/run/ppp-ipcop.pid', + '/dev/ippp0', '/dev/ippp1' ); if ($pppsettings{'DEBUG'} eq 'on') { @@ -585,7 +596,6 @@ } else { system('/usr/sbin/isdnctrl', 'dial', 'ippp0'); - } system('/usr/bin/killall', 'ibod'); @@ -766,8 +776,8 @@ sub doeciadsldial { if (system('/etc/rc.d/rc.eciadsl', 'start')) { - &General::log("ERROR: ECI ADSL failed to start"); - exit 1; + &General::log('red', 'ERROR: ECI ADSL failed to start'); + myexit(1); } if ($pppsettings{'PROTOCOL'} eq 'RFC1483') { if ($pppsettings{'ENCAP'} =~ /^(0|1)$/) { @@ -814,12 +824,12 @@ } close(MODEMS); if ($VID2 eq '') { - &General::log("$pppsettings{'MODEM'} not found in modems.db"); - exit 1; + &General::log('red', "$pppsettings{'MODEM'} not found in modems.db"); + myexit(1); } if ($CHIP eq '') { - &General::log("error in modems.db reading for $pppsettings{'MODEM'}"); - exit 1; + &General::log('red', "error in modems.db reading for $pppsettings{'MODEM'}"); + myexit(1); } if ($pppsettings{'ENCAP'} eq '1') { $ECIMODE = "LLC_RFC2364"; @@ -886,8 +896,8 @@ my $controller; if (system('/etc/rc.d/rc.fritzdsl', 'start')) { - &General::log("ERROR: Fritz DSL module failed to load"); - exit 1; + &General::log('red', 'ERROR: Fritz DSL module failed to load'); + myexit(1); } # controller number @@ -984,8 +994,8 @@ sub doeagleusbadsldial { if (system('/etc/rc.d/rc.eagleusbadsl', 'start')) { - &General::log("ERROR: EAGLE-USB ADSL MODEM failed to start"); - exit 1; + &General::log('red', 'ERROR: EAGLE-USB ADSL MODEM failed to start'); + myexit(1); } # I'm guessing here, but documentation suggests to use br2684ctl etc. @@ -1069,8 +1079,8 @@ sub dopulsardsldial { if (system('/etc/rc.d/rc.pulsardsl', 'start')) { - &General::log("ERROR: PULSAR ADSL modem failed to start"); - exit 1; + &General::log('red', 'ERROR: PULSAR ADSL modem failed to start'); + myexit(1); } doatmdial(); } @@ -1078,16 +1088,16 @@ sub doconexantpciadsldial { if (system('/etc/rc.d/rc.conexantpciadsl', 'start')) { - &General::log("ERROR: Conexant PCI ADSL modem failed to start"); - exit 1; + &General::log('red', 'ERROR: Conexant PCI ADSL modem failed to start'); + myexit(1); } doatmdial(); } sub dowanpipeadsldial { if (system('/etc/rc.d/rc.wanpipe', 'start')) { - &General::log("ERROR: wanpipe adsl failed to start"); - exit 1; + &General::log('red', 'ERROR: wanpipe adsl failed to start'); + myexit(1); } doatmdial(); } @@ -1178,8 +1188,8 @@ if (open(FILE, ">/var/ipcop/red/iface")) { print FILE $iface; close FILE; } if (system('/bin/ps -ef | /bin/grep -q [a]tmarpd')) { if (system('/usr/sbin/atmarpd -b -l syslog')) { - &General::log('atmarpd fail'); - exit 1; + &General::log('red', 'atmarpd fail'); + myexit(1); } # it will fail on all attempt after the first because interface still exist @@ -1210,8 +1220,8 @@ sub dowanpipeserialdial { if (system('/etc/rc.d/rc.wanpipe', 'start')) { - &General::log("ERROR: Sangoma Wanpipe serial interface failed to start"); - exit 1; + &General::log('red', 'ERROR: Sangoma Wanpipe serial interface failed to start'); + myexit(1); } my @pppcommand = ('/usr/sbin/pppd'); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2014-09-30 13:33:19
|
Revision: 7661 http://sourceforge.net/p/ipcop/svn/7661 Author: owes Date: 2014-09-30 13:33:10 +0000 (Tue, 30 Sep 2014) Log Message: ----------- rearrange ppp command options. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2014-09-30 12:45:24 UTC (rev 7660) +++ ipcop/trunk/src/rc.d/rc.red 2014-09-30 13:33:10 UTC (rev 7661) @@ -658,13 +658,20 @@ push( @pppcommand, ( - 'noipdefault', 'default-asyncmap', 'defaultroute', 'hide-password', - 'local', 'mtu', '1492', 'mru', - '1492', 'noaccomp', 'noccp', 'nobsdcomp', - 'nodeflate', 'nopcomp', 'novj', 'novjccomp', - 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-max-configure', '50', - 'maxfail', $pppsettings{'MAXRETRIES'} + 'noipdefault', 'default-asyncmap', + 'defaultroute', 'hide-password', + 'local', + 'mtu', '1492', + 'mru', '1492', + 'noaccomp', 'noccp', + 'nobsdcomp', 'nodeflate', + 'nopcomp', 'novj', + 'novjccomp', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); if ($pppsettings{'DEBUG'} eq 'on') { @@ -701,11 +708,16 @@ push( @pppcommand, ( - 'noipdefault', 'defaultroute', 'hide-password', 'ipcp-accept-local', - 'ipcp-accept-remote', 'passive', 'noccp', 'nopcomp', - 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', - '20', 'lcp-echo-failure', '3', 'lcp-max-configure', - '50', 'maxfail', $pppsettings{'MAXRETRIES'} + 'noipdefault', 'defaultroute', + 'hide-password', 'ipcp-accept-local', + 'ipcp-accept-remote', 'passive', + 'noccp', 'nopcomp', + 'novjccomp', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); if ($pppsettings{'DEBUG'} eq 'on') { @@ -763,12 +775,18 @@ push( @pppcommand, ( - 'noipdefault', 'default-asyncmap', 'defaultroute', 'hide-password', - 'local', 'noaccomp', 'noccp', 'nobsdcomp', - 'nodeflate', 'nopcomp', 'novj', 'novjccomp', - 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-max-configure', '50', - 'maxfail', $pppsettings{'MAXRETRIES'}, 'sync' + 'noipdefault', 'default-asyncmap', + 'defaultroute', 'hide-password', + 'local', 'noaccomp', + 'noccp', 'nobsdcomp', + 'nodeflate', 'nopcomp', + 'novj', 'novjccomp', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'}, + 'sync' ) ); if ($pppsettings{'DEBUG'} eq 'on') { @@ -875,17 +893,17 @@ push( @pppcommand, ( - 'noipdefault', 'defaultroute', - 'sync', 'user', - $pppsettings{'USERNAME'}, 'ipcp-accept-local', - 'ipcp-accept-remote', 'passive', - 'noaccomp', 'nopcomp', - 'noccp', 'novj', - 'nobsdcomp', 'nodeflate', - 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', - 'lcp-max-configure', '50', - 'maxfail', $pppsettings{'MAXRETRIES'} + 'noipdefault', 'defaultroute', + 'sync', 'ipcp-accept-local', + 'ipcp-accept-remote', 'passive', + 'noaccomp', 'nopcomp', + 'noccp', 'novj', + 'nobsdcomp', 'nodeflate', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); if ($pppsettings{'DEBUG'} eq 'on') { @@ -952,17 +970,17 @@ push( @pppcommand, ( - 'noipdefault', 'defaultroute', - 'sync', 'user', - $pppsettings{'USERNAME'}, 'ipcp-accept-local', - 'ipcp-accept-remote', 'passive', - 'noaccomp', 'nopcomp', - 'noccp', 'novj', - 'nobsdcomp', 'nodeflate', - 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', - 'lcp-max-configure', '50', - 'maxfail', $pppsettings{'MAXRETRIES'} + 'noipdefault', 'defaultroute', + 'sync', 'ipcp-accept-local', + 'ipcp-accept-remote', 'passive', + 'noaccomp', 'nopcomp', + 'noccp', 'novj', + 'nobsdcomp', 'nodeflate', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); @@ -1062,16 +1080,16 @@ @pppcommand, ( 'noipdefault', 'defaultroute', - 'user', $pppsettings{'USERNAME'}, 'ipcp-accept-local', 'ipcp-accept-remote', 'passive', 'noaccomp', 'nopcomp', 'noccp', 'novj', 'nobsdcomp', - 'nodeflate', 'lcp-echo-interval', - '20', 'lcp-echo-failure', - '3', 'lcp-max-configure', - '50', 'maxfail', - $pppsettings{'MAXRETRIES'} + 'nodeflate', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); @@ -1147,11 +1165,16 @@ push( @pppcommand, ( - 'noipdefault', 'defaultroute', 'user', $pppsettings{'USERNAME'}, - 'ipcp-accept-local', 'ipcp-accept-remote', 'passive', 'nopcomp', - 'noccp', 'novj', 'nobsdcomp', 'nodeflate', - 'lcp-echo-interval', '20', 'lcp-echo-failure', '3', - 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} + 'noipdefault', 'defaultroute', + 'ipcp-accept-local', 'ipcp-accept-remote', + 'passive', 'nopcomp', + 'noccp', 'novj', + 'nobsdcomp', 'nodeflate', + 'user', $pppsettings{'USERNAME'}, + 'lcp-echo-interval', '20', + 'lcp-echo-failure', '3', + 'lcp-max-configure', '50', + 'maxfail', $pppsettings{'MAXRETRIES'} ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2014-09-30 13:37:25
|
Revision: 7662 http://sourceforge.net/p/ipcop/svn/7662 Author: owes Date: 2014-09-30 13:37:17 +0000 (Tue, 30 Sep 2014) Log Message: ----------- Add lcp-echo-adaptive to ppp. In case link is 100% 'busy', echo may be lost which is OK because the link is working (communicating). lcp-echo-adaptive should handle such situations. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2014-09-30 13:33:10 UTC (rev 7661) +++ ipcop/trunk/src/rc.d/rc.red 2014-09-30 13:37:17 UTC (rev 7662) @@ -669,7 +669,7 @@ 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -715,7 +715,7 @@ 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -783,7 +783,7 @@ 'novj', 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'}, 'sync' @@ -901,7 +901,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -978,7 +978,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -1087,7 +1087,7 @@ 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -1172,7 +1172,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', + 'lcp-echo-failure', '3', 'lcp-echo-adaptive', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ow...@us...> - 2014-10-28 21:30:43
|
Revision: 7684 http://sourceforge.net/p/ipcop/svn/7684 Author: owes Date: 2014-10-28 21:30:32 +0000 (Tue, 28 Oct 2014) Log Message: ----------- Drop lcp-echo-adaptive from rc.red, need patched ppp which will follow later. Modified Paths: -------------- ipcop/trunk/src/rc.d/rc.red Modified: ipcop/trunk/src/rc.d/rc.red =================================================================== --- ipcop/trunk/src/rc.d/rc.red 2014-10-28 20:27:31 UTC (rev 7683) +++ ipcop/trunk/src/rc.d/rc.red 2014-10-28 21:30:32 UTC (rev 7684) @@ -669,7 +669,7 @@ 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -715,7 +715,7 @@ 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -783,7 +783,7 @@ 'novj', 'novjccomp', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'}, 'sync' @@ -901,7 +901,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -978,7 +978,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -1087,7 +1087,7 @@ 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) @@ -1172,7 +1172,7 @@ 'nobsdcomp', 'nodeflate', 'user', $pppsettings{'USERNAME'}, 'lcp-echo-interval', '20', - 'lcp-echo-failure', '3', 'lcp-echo-adaptive', + 'lcp-echo-failure', '3', 'lcp-max-configure', '50', 'maxfail', $pppsettings{'MAXRETRIES'} ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |