From 991b346d4994b4b85981adb35d0dd6e91bedd364 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Mon, 11 Jun 2001 14:46:02 +0000 Subject: have adsl pppoe installation available --- mdk-stage1/ppp/pppd/.cvsignore | 2 ++ mdk-stage1/ppp/pppd/Makefile | 59 +++++++++++++++++++++++++++++++++++++++++ mdk-stage1/ppp/pppd/auth.c | 27 +++++-------------- mdk-stage1/ppp/pppd/magic.c | 1 + mdk-stage1/ppp/pppd/main.c | 21 ++++++++++++--- mdk-stage1/ppp/pppd/md5.c | 3 +++ mdk-stage1/ppp/pppd/multilink.c | 3 ++- mdk-stage1/ppp/pppd/options.c | 2 +- mdk-stage1/ppp/pppd/pathnames.h | 36 ++----------------------- mdk-stage1/ppp/pppd/utils.c | 1 + 10 files changed, 96 insertions(+), 59 deletions(-) create mode 100644 mdk-stage1/ppp/pppd/.cvsignore create mode 100644 mdk-stage1/ppp/pppd/Makefile (limited to 'mdk-stage1/ppp/pppd') diff --git a/mdk-stage1/ppp/pppd/.cvsignore b/mdk-stage1/ppp/pppd/.cvsignore new file mode 100644 index 000000000..476ef2253 --- /dev/null +++ b/mdk-stage1/ppp/pppd/.cvsignore @@ -0,0 +1,2 @@ +pppd +pppd-DIET diff --git a/mdk-stage1/ppp/pppd/Makefile b/mdk-stage1/ppp/pppd/Makefile new file mode 100644 index 000000000..ad2bdae90 --- /dev/null +++ b/mdk-stage1/ppp/pppd/Makefile @@ -0,0 +1,59 @@ + #****************************************************************************** + # + # Guillaume Cottenceau (gc@mandrakesoft.com) + # + # Copyright 2000 MandrakeSoft + # + # This software may be freely redistributed under the terms of the GNU + # public license. + # + # You should have received a copy of the GNU General Public License + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + # + #***************************************************************************** + +top_dir = ../.. + +include $(top_dir)/Makefile.common + + +TARGETS = pppd + +ifeq (DIETLIBC, $(L)) +TARGETS += pppd-DIET +endif + +BINTARGET = ../pppd-bin + + +all: $(TARGETS) + +clean: + rm -f *.o *.a $(BINTARGET) pppd pppd-DIET + +FLAGS = -Wall -Werror -Os -fomit-frame-pointer -DDO_BSD_COMPRESS=0 -D_linux_=1 -DHAVE_MMAP -DNO_DRAND48 + +INCS = -I../include -I. + + +OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap.o md5.o ccp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o multilink.o tdb.o tty.o +OBJS-DIET = $(subst .o,-DIET.o,$(OBJS)) + + +pppd: $(OBJS) + gcc -static -o $@ $^ -lcrypt + $(STRIPCMD) $@ + cp -f $@ $(BINTARGET) + +pppd-DIET: $(OBJS-DIET) + gcc $(DIETLIBC_LDFLAGS_STAGE1) -o $@ $^ $(DIETLIBC_LIBC) + $(STRIPCMD) $@ + cp -f $@ $(BINTARGET) + +$(OBJS): %.o: %.c + gcc $(FLAGS) $(INCS) $(GLIBC_INCLUDES) -c $< -o $@ + +$(OBJS-DIET): %-DIET.o: %.c + gcc $(FLAGS) $(INCS) $(DIETLIBC_INCLUDES) -c $< -o $@ + diff --git a/mdk-stage1/ppp/pppd/auth.c b/mdk-stage1/ppp/pppd/auth.c index c1912c252..5f95a2982 100644 --- a/mdk-stage1/ppp/pppd/auth.c +++ b/mdk-stage1/ppp/pppd/auth.c @@ -76,6 +76,8 @@ #endif #include "pathnames.h" +#include + static const char rcsid[] = RCSID; /* Bits in scan_authfile return value */ @@ -1183,7 +1185,7 @@ plogin(user, passwd, msg) tty = devnam; if (strncmp(tty, "/dev/", 5) == 0) tty += 5; - logwtmp(tty, user, remote_name); /* Add wtmp login entry */ +// logwtmp(tty, user, remote_name); /* Add wtmp login entry */ #if defined(_PATH_LASTLOG) && !defined(USE_PAM) if (pw != (struct passwd *)NULL) { @@ -1229,7 +1231,7 @@ plogout() tty = devnam; if (strncmp(tty, "/dev/", 5) == 0) tty += 5; - logwtmp(tty, "", ""); /* Wipe out utmp logout entry */ +// logwtmp(tty, "", ""); /* Wipe out utmp logout entry */ #endif /* ! USE_PAM */ logged_in = 0; } @@ -1475,8 +1477,7 @@ set_allowed_addrs(unit, addrs, opts) struct permitted_ip *ip; char *ptr_word, *ptr_mask; struct hostent *hp; - struct netent *np; - u_int32_t a, mask, ah, offset; + u_int32_t a, mask, offset; struct ipcp_options *wo = &ipcp_wantoptions[unit]; u_int32_t suggested_ip = 0; @@ -1551,22 +1552,8 @@ set_allowed_addrs(unit, addrs, opts) if (hp != NULL && hp->h_addrtype == AF_INET) { a = *(u_int32_t *)hp->h_addr; } else { - np = getnetbyname (ptr_word); - if (np != NULL && np->n_addrtype == AF_INET) { - a = htonl (*(u_int32_t *)np->n_net); - if (ptr_mask == NULL) { - /* calculate appropriate mask for net */ - ah = ntohl(a); - if (IN_CLASSA(ah)) - mask = IN_CLASSA_NET; - else if (IN_CLASSB(ah)) - mask = IN_CLASSB_NET; - else if (IN_CLASSC(ah)) - mask = IN_CLASSC_NET; - } - } else { - a = inet_addr (ptr_word); - } + printf("*** getnetbyname is unsupported, please report bug! ***\n"); + return; } if (ptr_mask != NULL) diff --git a/mdk-stage1/ppp/pppd/magic.c b/mdk-stage1/ppp/pppd/magic.c index 764692a16..1682dee03 100644 --- a/mdk-stage1/ppp/pppd/magic.c +++ b/mdk-stage1/ppp/pppd/magic.c @@ -19,6 +19,7 @@ #define RCSID "$Id$" +#include #include #include #include diff --git a/mdk-stage1/ppp/pppd/main.c b/mdk-stage1/ppp/pppd/main.c index 8789d3b1d..c074938cd 100644 --- a/mdk-stage1/ppp/pppd/main.c +++ b/mdk-stage1/ppp/pppd/main.c @@ -1415,9 +1415,24 @@ device_script(program, in, out, dont_wait) exit(1); } setgid(getgid()); - execl("/bin/sh", "sh", "-c", program, (char *)0); - error("could not exec /bin/sh: %m"); - exit(99); + { + int argc = 0; + char * argv[500]; + char * ptr = program; + while (ptr != NULL) { + argv[argc] = ptr; + argc++; + ptr = strchr(ptr, ' '); + if (ptr) { + ptr[0] = '\0'; + ptr++; + } + } + argv[argc] = NULL; + execv(argv[0], argv); + error("could not exec %s: %m", program); + exit(99); + } /* NOTREACHED */ } diff --git a/mdk-stage1/ppp/pppd/md5.c b/mdk-stage1/ppp/pppd/md5.c index db48023c5..0b8de3aae 100644 --- a/mdk-stage1/ppp/pppd/md5.c +++ b/mdk-stage1/ppp/pppd/md5.c @@ -33,6 +33,9 @@ *********************************************************************** */ +#include +#include + #include "md5.h" /* diff --git a/mdk-stage1/ppp/pppd/multilink.c b/mdk-stage1/ppp/pppd/multilink.c index e5f2ac40d..c30b07e0a 100644 --- a/mdk-stage1/ppp/pppd/multilink.c +++ b/mdk-stage1/ppp/pppd/multilink.c @@ -13,9 +13,10 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ +#include +#include #include #include -#include #include #include #include diff --git a/mdk-stage1/ppp/pppd/options.c b/mdk-stage1/ppp/pppd/options.c index 9ebac372e..1921d9ec5 100644 --- a/mdk-stage1/ppp/pppd/options.c +++ b/mdk-stage1/ppp/pppd/options.c @@ -894,7 +894,7 @@ print_option(opt, mainopt, printer, arg) break; default: - printer(arg, "# %s value (type %d??)", opt->name, opt->type); + printer(arg, "# %s value (type %d)", opt->name, opt->type); break; } printer(arg, "\t\t# (from %s)\n", mainopt->source); diff --git a/mdk-stage1/ppp/pppd/pathnames.h b/mdk-stage1/ppp/pppd/pathnames.h index d8eee70de..e80784567 100644 --- a/mdk-stage1/ppp/pppd/pathnames.h +++ b/mdk-stage1/ppp/pppd/pathnames.h @@ -4,19 +4,9 @@ * $Id$ */ -#ifdef HAVE_PATHS_H -#include - -#else /* HAVE_PATHS_H */ -#ifndef _PATH_VARRUN -#define _PATH_VARRUN "/etc/ppp/" -#endif +#define _PATH_VARRUN "/var/run/" #define _PATH_DEVNULL "/dev/null" -#endif /* HAVE_PATHS_H */ - -#ifndef _ROOT_PATH #define _ROOT_PATH -#endif #define _PATH_UPAPFILE _ROOT_PATH "/etc/ppp/pap-secrets" #define _PATH_CHAPFILE _ROOT_PATH "/etc/ppp/chap-secrets" @@ -28,30 +18,8 @@ #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options." #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors" #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/" -#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf" +#define _PATH_RESOLV _ROOT_PATH "/etc/resolv.conf" #define _PATH_USEROPT ".ppprc" -#ifdef INET6 -#define _PATH_IPV6UP _ROOT_PATH "/etc/ppp/ipv6-up" -#define _PATH_IPV6DOWN _ROOT_PATH "/etc/ppp/ipv6-down" -#endif - -#ifdef IPX_CHANGE -#define _PATH_IPXUP _ROOT_PATH "/etc/ppp/ipx-up" -#define _PATH_IPXDOWN _ROOT_PATH "/etc/ppp/ipx-down" -#endif /* IPX_CHANGE */ - -#ifdef __STDC__ #define _PATH_PPPDB _ROOT_PATH _PATH_VARRUN "pppd.tdb" -#else /* __STDC__ */ -#ifdef HAVE_PATHS_H -#define _PATH_PPPDB "/var/run/pppd.tdb" -#else -#define _PATH_PPPDB "/etc/ppp/pppd.tdb" -#endif -#endif /* __STDC__ */ - -#ifdef PLUGIN -#define _PATH_PLUGIN "/usr/lib/pppd/" VERSION -#endif /* PLUGIN */ diff --git a/mdk-stage1/ppp/pppd/utils.c b/mdk-stage1/ppp/pppd/utils.c index 6a5b88e8b..9c987cfcd 100644 --- a/mdk-stage1/ppp/pppd/utils.c +++ b/mdk-stage1/ppp/pppd/utils.c @@ -44,6 +44,7 @@ #endif #include "pppd.h" +#include static const char rcsid[] = RCSID; -- cgit v1.2.1