*/
#ifndef lint
-static char rcsid[] = "$Id: main.c,v 1.80 1999/07/21 00:24:31 paulus Exp $";
+static const char rcsid[] = "$Id: main.c,v 1.81 1999/08/12 04:17:07 paulus Exp $";
#endif
#include <stdio.h>
int prepass = 0; /* doing prepass to find device name */
int devnam_fixed; /* set while in options.ttyxx file */
volatile int status; /* exit status for pppd */
+int unsuccess; /* # unsuccessful connection attempts */
static int fd_ppp = -1; /* fd for talking PPP */
static int fd_loop; /* fd for getting demand-dial packets */
ttyfd = -1;
real_ttyfd = -1;
status = EXIT_OK;
+ ++unsuccess;
if (demand) {
/*
pidfilename[0] = 0;
}
- if (!persist)
+ if (!persist || (maxfail > 0 && unsuccess >= maxfail))
break;
kill_link = 0;
*/
#ifndef lint
-static char rcsid[] = "$Id: options.c,v 1.60 1999/07/21 00:24:31 paulus Exp $";
+static const char rcsid[] = "$Id: options.c,v 1.61 1999/08/12 04:17:07 paulus Exp $";
#endif
#include <ctype.h>
int using_pty = 0;
bool sync_serial = 0; /* Device is synchronous serial device */
int log_to_fd = 1; /* send log messages to this fd too */
+int maxfail; /* max # of unsuccessful connection attempts */
extern option_t auth_options[];
extern struct stat devstat;
{ "nologfd", o_int, &log_to_fd,
"Don't send log messages to any file descriptor",
OPT_NOARG | OPT_VAL(-1) },
+ { "maxfail", o_int, &maxfail,
+ "Maximum number of unsuccessful connection attempts to allow" },
#ifdef PPP_FILTER
{ "pdebug", o_int, &dflag,