From cd5b0f0543cad042df126cf8ad1a238e5d13dd17 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Pali=20Roh=C3=A1r?= Date: Fri, 1 Jan 2021 16:51:08 +0100 Subject: [PATCH] pppoe-discovery: Define function and variables which are used by pppoe plugin code MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Pali Rohár --- pppd/plugins/pppoe/pppoe-discovery.c | 126 ++++++++++++++++++++------- pppd/plugins/pppoe/pppoe.h | 1 - 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 #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; -- 2.39.2