ddd57c2 pppd: Add lcp-echo-adaptive option c319558 pppd: Handle SIGINT and SIGTERM during interrupted syscalls (#148) 0bc11fb Added missing options to manual pages. (#149) b1fcf16 Merge branch 'monotonic-time' of https://github.com/themiron/ppp c78e312 pppd: linux: use monotonic time if possible Remove patch 121-debian_adaptive_lcp_echo as patch is upstream accepted Remove patch 206-compensate_time_change.patch as timewrap issues are solved by a patch making use of monotonic time Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
24 lines
766 B
Diff
24 lines
766 B
Diff
pppd: Do not clobber exit codes on hangup
|
|
|
|
When a modem hangup occurs, pppd unconditionally sets the exit status code
|
|
to EXIT_HANGUP. This patch only sets EXIT_HANGUP if the exit status code is
|
|
not already set to an error value.
|
|
|
|
The motiviation of this patch is to allow applications which remote control
|
|
pppd to react properly on errors, e.g. only redial (relaunch pppd) if there
|
|
was a hangup, but not if the CHAP authentication failed.
|
|
|
|
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
|
|
|
|
--- a/pppd/main.c
|
|
+++ b/pppd/main.c
|
|
@@ -1052,7 +1052,8 @@ get_input()
|
|
}
|
|
notice("Modem hangup");
|
|
hungup = 1;
|
|
- status = EXIT_HANGUP;
|
|
+ if (status == EXIT_OK)
|
|
+ status = EXIT_HANGUP;
|
|
lcp_lowerdown(0); /* serial link is no longer available */
|
|
link_terminated(0);
|
|
return;
|