summaryrefslogtreecommitdiff
path: root/pppd/plugins
diff options
context:
space:
mode:
authorPali Rohár <pali@kernel.org>2021-01-01 16:51:08 +0100
committerPali Rohár <pali@kernel.org>2021-01-05 00:43:57 +0100
commitcd5b0f0543cad042df126cf8ad1a238e5d13dd17 (patch)
tree23b52ffa7de013e8ff752b819047536b95a3d132 /pppd/plugins
parent8a244973b319be723a6e817dd123b558f528d6c9 (diff)
downloadppp-cd5b0f0543cad042df126cf8ad1a238e5d13dd17.tar.gz
pppoe-discovery: Define function and variables which are used by pppoe plugin code
Signed-off-by: Pali Rohár <pali@kernel.org>
Diffstat (limited to 'pppd/plugins')
-rw-r--r--pppd/plugins/pppoe/pppoe-discovery.c126
-rw-r--r--pppd/plugins/pppoe/pppoe.h1
2 files changed, 96 insertions, 31 deletions
diff --git a/pppd/plugins/pppoe/pppoe-discovery.c b/pppd/plugins/pppoe/pppoe-discovery.c
index 6f01790..482964c 100644
--- a/pppd/plugins/pppoe/pppoe-discovery.c
+++ b/pppd/plugins/pppoe/pppoe-discovery.c
@@ -45,24 +45,105 @@
#include <net/if_arp.h>
#endif
+int debug;
+int got_sigterm;
int pppoe_verbose;
-char *xstrdup(const char *s);
-void usage(void);
+void
+fatal(char *fmt, ...)
+{
+ va_list pvar;
+ va_start(pvar, fmt);
+ vfprintf(stderr, fmt, pvar);
+ va_end(pvar);
+ fputc('\n', stderr);
+ exit(1);
+}
-void die(int status)
+void fatalSys(char const *str)
{
- exit(status);
+ perror(str);
+ exit(1);
+}
+
+void
+error(char *fmt, ...)
+{
+ va_list pvar;
+ va_start(pvar, fmt);
+ vfprintf(stderr, fmt, pvar);
+ fputc('\n', stderr);
+ va_end(pvar);
}
-void error(char *fmt, ...)
+void
+warn(char *fmt, ...)
{
va_list pvar;
va_start(pvar, fmt);
vfprintf(stderr, fmt, pvar);
+ fputc('\n', stderr);
va_end(pvar);
}
+void
+info(char *fmt, ...)
+{
+ va_list pvar;
+ va_start(pvar, fmt);
+ vprintf(fmt, pvar);
+ putchar('\n');
+ va_end(pvar);
+}
+
+void
+init_pr_log(const char *prefix, int level)
+{
+}
+
+void
+end_pr_log(void)
+{
+}
+
+void
+pr_log(void *arg, char *fmt, ...)
+{
+}
+
+size_t
+strlcpy(char *dest, const char *src, size_t len)
+{
+ size_t ret = strlen(src);
+
+ if (len != 0) {
+ if (ret < len)
+ strcpy(dest, src);
+ else {
+ strncpy(dest, src, len - 1);
+ dest[len-1] = 0;
+ }
+ }
+ return ret;
+}
+
+static char *
+xstrdup(const char *s)
+{
+ char *ret = strdup(s);
+ if (!ret) {
+ perror("strdup");
+ exit(1);
+ }
+ return ret;
+}
+
+int
+get_time(struct timeval *tv)
+{
+ return gettimeofday(tv, NULL);
+}
+
/* Initialize frame types to RFC 2516 values. Some broken peers apparently
use different frame types... sigh... */
@@ -640,6 +721,14 @@ discovery(PPPoEConnection *conn)
} while (!conn->numPADOs);
}
+static void
+term_handler(int signum)
+{
+ got_sigterm = 1;
+}
+
+static void usage(void);
+
int main(int argc, char *argv[])
{
int opt;
@@ -742,31 +831,8 @@ int main(int argc, char *argv[])
exit(0);
}
-void fatal(char * fmt, ...)
-{
- va_list ap;
- va_start(ap, fmt);
- vfprintf(stderr, fmt, ap);
- va_end(ap);
- fputc('\n', stderr);
- exit(1);
-}
-
-void fatalSys(char const *str)
-{
- perror(str);
- exit(1);
-}
-
-char *xstrdup(const char *s)
-{
- register char *ret = strdup(s);
- if (!ret)
- fatalSys("strdup");
- return ret;
-}
-
-void usage(void)
+static void
+usage(void)
{
fprintf(stderr, "Usage: pppoe-discovery [options]\n");
fprintf(stderr, "Options:\n");
diff --git a/pppd/plugins/pppoe/pppoe.h b/pppd/plugins/pppoe/pppoe.h
index 60c4f5e..b3d2184 100644
--- a/pppd/plugins/pppoe/pppoe.h
+++ b/pppd/plugins/pppoe/pppoe.h
@@ -238,7 +238,6 @@ typedef struct PPPoEConnectionStruct {
PPPoETag cookie; /* We have to send this if we get it */
PPPoETag relayId; /* Ditto */
int error; /* Error packet received */
- int debug; /* Set to log packets sent and received */
int discoveryTimeout; /* Timeout for discovery packets */
int discoveryAttempts; /* Number of discovery attempts */
int seenMaxPayload;