aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ppp-watch.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/ppp-watch.c b/src/ppp-watch.c
index 722adcc6..a1dd3705 100644
--- a/src/ppp-watch.c
+++ b/src/ppp-watch.c
@@ -126,11 +126,12 @@ detach(int now, int parentExitCode, char *device) {
break;
case 33:
fprintf(stderr, "%s already up, initiating redial\n", device);
+ break;
case 34:
fprintf(stderr, "Failed to activate %s, retrying in the background\n", device);
break;
default:
- fprintf(stderr, "Failed to activate %s\n", device);
+ fprintf(stderr, "Failed to activate %s with error %d\n", device, exitCode);
break;
}
exit(exitCode);
@@ -553,6 +554,18 @@ main(int argc, char **argv) {
if (!WIFEXITED(status)) cleanExit(29);
if (dieing) cleanExit(WEXITSTATUS(status));
+ /* error conditions from which we do not expect to recover
+ * without user intervention -- do not fill up the logs.
+ */
+ switch (WEXITSTATUS(status)) {
+ case 1: case 2: case 3: case 4: case 6:
+ case 7: case 9: case 14: case 17:
+ cleanExit(WEXITSTATUS(status));
+ break;
+ default:
+ break;
+ }
+
if (!connectedOnce || svTrueValue(ifcfg, "PERSIST", 0)) {
temp = svGetValue(ifcfg, "RETRYTIMEOUT");
if (temp) {