diff options
author | Pali Rohár <pali@kernel.org> | 2021-01-01 16:51:08 +0100 |
---|---|---|
committer | Pali Rohár <pali@kernel.org> | 2021-01-05 00:43:57 +0100 |
commit | cd5b0f0543cad042df126cf8ad1a238e5d13dd17 (patch) | |
tree | 23b52ffa7de013e8ff752b819047536b95a3d132 /pppd | |
parent | 8a244973b319be723a6e817dd123b558f528d6c9 (diff) | |
download | ppp-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')
-rw-r--r-- | pppd/plugins/pppoe/pppoe-discovery.c | 126 | ||||
-rw-r--r-- | 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 <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; |