SYSTEM WARNING: 'date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in '/usr/share/mantis/www/core.php' line 264

0001463: pppcall does not recognize when pppd dialing in using rp-pppoe receives a timeout and exits - MantisBT
MantisBT - Endian Firewall
View Issue Details
0001463Endian FirewallNetwork related (VPN, uplinks)public2008-11-14 17:152009-10-27 12:01
0001463: pppcall does not recognize when pppd dialing in using rp-pppoe receives a timeout and exits
now PPPoE is the next, which behaves like ISDN and UMTS during dialup.

A system with a PPPoE connection which has no ethernet cable attached, let's the pppd timeout waiting for a PADO. After the timeout pppd exits, but pppcall continues to wait:

0xb7d40bae in __open_nocancel () from /lib/tls/i686/
(gdb) where
#0 0xb7d40bae in __open_nocancel () from /lib/tls/i686/
0000001 0xb7ceb044 in _IO_new_file_fopen (fp=0x8e90908, filename=0x8ea5200 "/var/efw//uplinks//main//main.fifo", mode=Variable "mode" is not available.
) at fileops.c:233
0000002 0xb7ce33d2 in __fopen_internal (filename=0x8ea5200 "/var/efw//uplinks//main//main.fifo", mode=0xb7c5eed4 "r", is32=0) at iofopen.c:93
0000003 0xb7ce5471 in _IO_fopen64 (filename=0x8ea5200 "/var/efw//uplinks//main//main.fifo", mode=0xb7c5eed4 "r") at iofopen64.c:39

uplinksdaemon then kills away the dialup process after 5 minutes, but that's way to long to wait for a pppoE connection which retries 3 times having a timeout of 5 minutes every time.

This causes the backup uplink to come up after more than 15 minutes and that's not acceptable
Issue History
2008-11-14 17:15peter-endianNew Issue
2008-11-14 17:15peter-endianAssigned To => peter-endian
2008-11-14 17:15peter-endianTag Attached: needsfix
2008-11-14 18:31peter-endianNote Added: 0001790
2008-11-14 19:09peter-endianNote Added: 0001791
2008-11-17 19:34peter-endianNote Added: 0001796
2008-11-17 19:34peter-endianStatusnew => resolved
2008-11-17 19:34peter-endianFixed in Version => 2.3
2008-11-17 19:34peter-endianResolutionopen => fixed
2009-10-27 12:01peter-endianStatusresolved => closed

2008-11-14 18:31   
the problem is within pppd. pppd exits with exitcode 0 when rp-pppoe gets a timeout waiting for PADO
It should exit with an errorcode != 0, I think it should be 10

" 10 The PPP negotiation failed, that is, it didn’t reach the point
              where at least one network protocol (e.g. IP) was running.
2008-11-14 19:09   
status == EXIT_OK witin start_link() before calling connect()
if connect() fails, status is still EXIT_OK, because nobody (the plugins) sets a failure.
I think status must always be != EXIT_OK on start_link()
2008-11-17 19:34   
moved status = EXIT_NEGOTIATION_FAILED before something happens in start_link()
So if first steps go wrong, it exits with failure