From 0d2dd0d9d1c22d3575d08d424952d34626a43305 Mon Sep 17 00:00:00 2001 From: Automatic Build System Date: Sat, 6 Jan 2024 10:30:09 +0100 Subject: [PATCH] automatic version update by autodist [release 2.4.6-1mamba;Thu Feb 20 2014] --- README.md | 5 + ppp-2.4.2-pppoatm.patch | 295 ++++++++++++++++++++++++++++++++++ ppp-2.4.3-CVE_2006_2194.patch | 25 +++ ppp-2.4.3-expect_path.patch | 8 + ppp-2.4.5-enable_ipv6.patch | 12 ++ ppp-2.4.5-enable_pam.patch | 12 ++ ppp-adsl.directory | 6 + ppp-ip-down | 20 +++ ppp-ip-up | 24 +++ ppp-options | 3 + ppp-options-atm | 13 ++ ppp-xdg-adsl.menu | 15 ++ ppp.spec | 244 ++++++++++++++++++++++++++++ pppoatm-initscript | 69 ++++++++ pppoatm-start.desktop | 18 +++ pppoatm-stop.desktop | 20 +++ 16 files changed, 789 insertions(+) create mode 100644 ppp-2.4.2-pppoatm.patch create mode 100644 ppp-2.4.3-CVE_2006_2194.patch create mode 100644 ppp-2.4.3-expect_path.patch create mode 100644 ppp-2.4.5-enable_ipv6.patch create mode 100644 ppp-2.4.5-enable_pam.patch create mode 100644 ppp-adsl.directory create mode 100644 ppp-ip-down create mode 100644 ppp-ip-up create mode 100644 ppp-options create mode 100644 ppp-options-atm create mode 100644 ppp-xdg-adsl.menu create mode 100644 ppp.spec create mode 100644 pppoatm-initscript create mode 100644 pppoatm-start.desktop create mode 100644 pppoatm-stop.desktop diff --git a/README.md b/README.md index 2b9b7eb..f4b54cf 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,7 @@ # ppp +The ppp package contains the PPP (Point-to-Point Protocol) daemon and documentation for PPP support. +The PPP protocol provides a method for transmitting datagrams over serial point-to-point links. + +The ppp package should be installed if your machine needs to support the PPP protocol. + diff --git a/ppp-2.4.2-pppoatm.patch b/ppp-2.4.2-pppoatm.patch new file mode 100644 index 0000000..62dd44d --- /dev/null +++ b/ppp-2.4.2-pppoatm.patch @@ -0,0 +1,295 @@ +diff -u -r -N a/ppp/pppd/options.c ppp/pppd/options.c +--- a/ppp/pppd/options.c 2003-03-03 06:11:46.000000000 +0100 ++++ b/pppd/options.c 2003-07-01 11:17:12.000000000 +0200 +@@ -843,6 +843,22 @@ + } + + /* ++ * remove_option - permanently remove an option from consideration... ++ * for use by modules to remove choices which no longer make sense. ++ * returns true if found an option ++ */ ++int remove_option(const char *name) ++{ ++ option_t *o; ++ ++ o = find_option(name); ++ if (o == NULL) ++ return 0; ++ o->name = ""; ++ return 1; ++} ++ ++/* + * check_options - check that options are valid and consistent. + */ + void +diff -u -r -N a/ppp/pppd/plugins/Makefile.linux ppp/pppd/plugins/Makefile.linux +--- a/ppp/pppd/plugins/Makefile.linux 2003-02-16 23:31:24.000000000 +0100 ++++ b/pppd/plugins/Makefile.linux 2003-07-01 11:39:05.000000000 +0200 +@@ -6,7 +6,7 @@ + SUBDIRS := rp-pppoe + # Uncomment the next line to include the radius authentication plugin + # SUBDIRS += radius +-PLUGINS := minconn.so passprompt.so passwordfd.so ++PLUGINS := minconn.so passprompt.so passwordfd.so pppoatm.so + + # include dependencies if present + ifeq (.depend,$(wildcard .depend)) +@@ -16,6 +16,9 @@ + all: $(PLUGINS) + for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done + ++pppoatm.so: pppoatm.c ++ $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ -latm ++ + %.so: %.c + $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ + +diff -u -r -N a/ppp/pppd/plugins/pppoatm.c ppp/pppd/plugins/pppoatm.c +--- /dev/null 1970-01-01 01:00:00.000000000 +0100 ++++ b/pppd/plugins/pppoatm.c 2003-07-01 11:39:37.000000000 +0200 +@@ -0,0 +1,232 @@ ++/* pppoatm.c - pppd plugin to implement PPPoATM protocol. ++ * ++ * Copyright 2000 Mitchell Blank Jr. ++ * Based in part on work from Jens Axboe and Paul Mackerras. ++ * Updated to ppp-2.4.1 by Bernhard Kaindl ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version ++ * 2 of the License, or (at your option) any later version. ++ */ ++#include ++#include ++#include ++#include "pppd.h" ++#include "pathnames.h" ++#include "fsm.h" /* Needed for lcp.h to include cleanly */ ++#include "lcp.h" ++#include ++#include ++#include ++#include ++#include ++#include ++ ++const char pppd_version[] = VERSION; ++ ++static struct sockaddr_atmpvc pvcaddr; ++static char *qosstr = NULL; ++//static int pppoatm_accept = 0; ++static bool llc_encaps = 0; ++static bool vc_encaps = 0; ++static int device_got_set = 0; ++static int pppoatm_max_mtu, pppoatm_max_mru; ++static int setdevname_pppoatm(const char *cp, const char **argv, int doit); ++struct channel pppoa_channel; ++ ++static option_t pppoa_options[] = { ++ { "device name", o_wild, (void *) &setdevname_pppoatm, ++ "ATM service provider IDs: VPI.VCI", ++ OPT_DEVNAM | OPT_PRIVFIX | OPT_NOARG | OPT_A2STRVAL | OPT_STATIC, ++ devnam}, ++#if 0 ++ { "accept", o_bool, &pppoatm_accept, ++ "set PPPoATM socket to accept incoming connections", 1 }, ++#endif ++ { "llc-encaps", o_bool, &llc_encaps, ++ "use LLC encapsulation for PPPoATM", 1}, ++ { "vc-encaps", o_bool, &vc_encaps, ++ "use VC multiplexing for PPPoATM (default)", 1}, ++ { "qos", o_string, &qosstr, ++ "set QoS for PPPoATM connection", 1}, ++ { NULL } ++}; ++ ++/* returns: ++ * -1 if there's a problem with setting the device ++ * 0 if we can't parse "cp" as a valid name of a device ++ * 1 if "cp" is a reasonable thing to name a device ++ * Note that we don't actually open the device at this point ++ * We do need to fill in: ++ * devnam: a string representation of the device ++ * devstat: a stat structure of the device. In this case ++ * we're not opening a device, so we just make sure ++ * to set up S_ISCHR(devstat.st_mode) != 1, so we ++ * don't get confused that we're on stdin. ++ */ ++int (*old_setdevname_hook)(const char* cp) = NULL; ++static int setdevname_pppoatm(const char *cp, const char **argv, int doit) ++{ ++ struct sockaddr_atmpvc addr; ++ extern struct stat devstat; ++ if (device_got_set) ++ return 0; ++ //info("PPPoATM setdevname_pppoatm: '%s'", cp); ++ memset(&addr, 0, sizeof addr); ++ if (text2atm(cp, (struct sockaddr *) &addr, sizeof(addr), ++ T2A_PVC | T2A_NAME) < 0) { ++ if(doit) ++ info("atm does not recognize: %s", cp); ++ return 0; ++ } ++ if (!doit) return 1; ++ //if (!dev_set_ok()) return -1; ++ memcpy(&pvcaddr, &addr, sizeof pvcaddr); ++ strlcpy(devnam, cp, sizeof devnam); ++ devstat.st_mode = S_IFSOCK; ++ if (the_channel != &pppoa_channel) { ++ static char *bad_options[] = { ++ "noaccomp", "-ac", ++ "default-asyncmap", "-am", "asyncmap", "-as", "escape", ++ "receive-all", ++ "crtscts", "-crtscts", "nocrtscts", ++ "cdtrcts", "nocdtrcts", ++ "xonxoff", ++ "modem", "local", "sync", ++ NULL }; ++ char **a; ++ the_channel = &pppoa_channel; ++ info("PPPoATM setdevname - remove unwanted options"); ++ for (a = bad_options; *a != NULL; a++) ++ remove_option(*a); ++ modem = 0; ++ lcp_wantoptions[0].neg_accompression = 0; ++ lcp_allowoptions[0].neg_accompression = 0; ++ lcp_wantoptions[0].neg_asyncmap = 0; ++ lcp_allowoptions[0].neg_asyncmap = 0; ++ lcp_wantoptions[0].neg_pcompression = 0; ++ } ++ info("PPPoATM setdevname_pppoatm - SUCCESS:%s", cp); ++ device_got_set = 1; ++ return 1; ++} ++ ++#define pppoatm_overhead() (llc_encaps ? 6 : 2) ++ ++static void no_device_given_pppoatm(void) ++{ ++ fatal("No vpi.vci specified"); ++} ++ ++static void set_line_discipline_pppoatm(int fd) ++{ ++ struct atm_backend_ppp be; ++ be.backend_num = ATM_BACKEND_PPP; ++ if (!llc_encaps) ++ be.encaps = PPPOATM_ENCAPS_VC; ++ else if (!vc_encaps) ++ be.encaps = PPPOATM_ENCAPS_LLC; ++ else ++ be.encaps = PPPOATM_ENCAPS_AUTODETECT; ++ if (ioctl(fd, ATM_SETBACKEND, &be) < 0) ++ fatal("ioctl(ATM_SETBACKEND): %m"); ++} ++ ++#if 0 ++static void reset_line_discipline_pppoatm(int fd) ++{ ++ atm_backend_t be = ATM_BACKEND_RAW; ++ /* 2.4 doesn't support this yet */ ++ (void) ioctl(fd, ATM_SETBACKEND, &be); ++} ++#endif ++ ++static int connect_pppoatm(void) ++{ ++ int fd; ++ struct atm_qos qos; ++ ++ system ("/sbin/modprobe pppoatm"); ++ ++ if (!device_got_set) ++ no_device_given_pppoatm(); ++ fd = socket(AF_ATMPVC, SOCK_DGRAM, 0); ++ if (fd < 0) ++ fatal("failed to create socket: %m"); ++ memset(&qos, 0, sizeof qos); ++ qos.txtp.traffic_class = qos.rxtp.traffic_class = ATM_UBR; ++ /* TODO: support simplified QoS setting */ ++ if (qosstr != NULL) ++ if (text2qos(qosstr, &qos, 0)) ++ fatal("Can't parse QoS: \"%s\""); ++ qos.txtp.max_sdu = lcp_allowoptions[0].mru + pppoatm_overhead(); ++ qos.rxtp.max_sdu = lcp_wantoptions[0].mru + pppoatm_overhead(); ++ qos.aal = ATM_AAL5; ++ if (setsockopt(fd, SOL_ATM, SO_ATMQOS, &qos, sizeof(qos)) < 0) ++ fatal("setsockopt(SO_ATMQOS): %m"); ++ /* TODO: accept on SVCs... */ ++ if (connect(fd, (struct sockaddr *) &pvcaddr, ++ sizeof(struct sockaddr_atmpvc))) ++ fatal("connect(%s): %m", devnam); ++ pppoatm_max_mtu = lcp_allowoptions[0].mru; ++ pppoatm_max_mru = lcp_wantoptions[0].mru; ++ set_line_discipline_pppoatm(fd); ++ strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam)); ++ return fd; ++} ++ ++static void send_config_pppoa(int mtu, ++ u_int32_t asyncmap, ++ int pcomp, ++ int accomp) ++{ ++ int sock; ++ struct ifreq ifr; ++ if (mtu > pppoatm_max_mtu) ++ error("Couldn't increase MTU to %d", mtu); ++ sock = socket(AF_INET, SOCK_DGRAM, 0); ++ if (sock < 0) ++ fatal("Couldn't create IP socket: %m"); ++ strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); ++ ifr.ifr_mtu = mtu; ++ if (ioctl(sock, SIOCSIFMTU, (caddr_t) &ifr) < 0) ++ fatal("ioctl(SIOCSIFMTU): %m"); ++ (void) close (sock); ++} ++ ++static void recv_config_pppoa(int mru, ++ u_int32_t asyncmap, ++ int pcomp, ++ int accomp) ++{ ++ if (mru > pppoatm_max_mru) ++ error("Couldn't increase MRU to %d", mru); ++} ++ ++void plugin_init(void) ++{ ++#if defined(__linux__) ++ extern int new_style_driver; /* From sys-linux.c */ ++ if (!ppp_available() && !new_style_driver) ++ fatal("Kernel doesn't support ppp_generic - " ++ "needed for PPPoATM"); ++#else ++ fatal("No PPPoATM support on this OS"); ++#endif ++ info("PPPoATM plugin_init"); ++ add_options(pppoa_options); ++} ++struct channel pppoa_channel = { ++ options: pppoa_options, ++ process_extra_options: NULL, ++ check_options: NULL, ++ connect: &connect_pppoatm, ++ disconnect: NULL, ++ establish_ppp: &generic_establish_ppp, ++ disestablish_ppp: &generic_disestablish_ppp, ++ send_config: &send_config_pppoa, ++ recv_config: &recv_config_pppoa, ++ close: NULL, ++ cleanup: NULL ++}; +diff -u -r -N a/ppp/pppd/pppd.h ppp/pppd/pppd.h +--- a/ppp/pppd/pppd.h 2003-04-07 02:01:46.000000000 +0200 ++++ b/pppd/pppd.h 2003-07-01 11:18:54.000000000 +0200 +@@ -408,6 +408,7 @@ + option_t *options; /* List of command-line options */ + /* Check requested options, assign defaults */ + void (*check_options) __P((void)); ++ int (*remove_option) __P((const char *)); /* Disable the specified option */ + /* Configure interface for demand-dial */ + int (*demand_conf) __P((int unit)); + /* Say whether to bring up link for this pkt */ diff --git a/ppp-2.4.3-CVE_2006_2194.patch b/ppp-2.4.3-CVE_2006_2194.patch new file mode 100644 index 0000000..71d0235 --- /dev/null +++ b/ppp-2.4.3-CVE_2006_2194.patch @@ -0,0 +1,25 @@ +--- ppp-2.4.3/pppd/plugins/winbind.c 2004-11-05 10:42:31.000000000 +0100 ++++ ppp-2.4.3/pppd/plugins/winbind.c-secfix 2006-07-11 09:22:08.000000000 +0200 +@@ -304,13 +304,21 @@ + } + + if (forkret == 0) { ++ uid_t uid = getuid(); + /* child process */ + close(child_out[0]); + close(child_in[1]); + + /* run winbind as the user that invoked pppd */ + setgid(getgid()); +- setuid(getuid()); ++ if (-1 == setuid(uid)) { ++ perror("pppd/winbind: could not setuid"); ++ exit(1); ++ } ++ if (getuid() != uid) { ++ perror("pppd/winbind: could not setuid to orig uid"); ++ exit(1); ++ } + execl("/bin/sh", "sh", "-c", ntlm_auth, NULL); + perror("pppd/winbind: could not exec /bin/sh"); + exit(1); diff --git a/ppp-2.4.3-expect_path.patch b/ppp-2.4.3-expect_path.patch new file mode 100644 index 0000000..4d612ec --- /dev/null +++ b/ppp-2.4.3-expect_path.patch @@ -0,0 +1,8 @@ +--- ppp-2.4.3/scripts/secure-card 2004-02-02 04:36:46.000000000 +0100 ++++ ppp-2.4.3/scripts/secure-card-fix 2006-07-11 09:29:02.000000000 +0200 +@@ -1,4 +1,4 @@ +-#!/usr/local/bin/expect -f ++#!/usr/bin/expect -f + # + # This script was written by Jim Isaacson . It is + # designed to work as a script to use the SecureCARD(tm) device. This diff --git a/ppp-2.4.5-enable_ipv6.patch b/ppp-2.4.5-enable_ipv6.patch new file mode 100644 index 0000000..4c042cb --- /dev/null +++ b/ppp-2.4.5-enable_ipv6.patch @@ -0,0 +1,12 @@ +diff -Nru ppp-2.4.5.orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux +--- ppp-2.4.5.orig/pppd/Makefile.linux 2009-11-16 23:26:07.000000000 +0100 ++++ ppp-2.4.5/pppd/Makefile.linux 2013-01-02 16:25:11.884763886 +0100 +@@ -62,7 +62,7 @@ + + HAS_SHADOW=y + #USE_PAM=y +-#HAVE_INET6=y ++HAVE_INET6=y + + # Enable plugins + PLUGIN=y diff --git a/ppp-2.4.5-enable_pam.patch b/ppp-2.4.5-enable_pam.patch new file mode 100644 index 0000000..f140e24 --- /dev/null +++ b/ppp-2.4.5-enable_pam.patch @@ -0,0 +1,12 @@ +diff -Nru ppp-2.4.5.orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux +--- ppp-2.4.5.orig/pppd/Makefile.linux 2013-01-02 16:28:28.056893791 +0100 ++++ ppp-2.4.5/pppd/Makefile.linux 2013-01-02 16:29:50.815104864 +0100 +@@ -61,7 +61,7 @@ + USE_TDB=y + + HAS_SHADOW=y +-#USE_PAM=y ++USE_PAM=y + HAVE_INET6=y + + # Enable plugins diff --git a/ppp-adsl.directory b/ppp-adsl.directory new file mode 100644 index 0000000..369329c --- /dev/null +++ b/ppp-adsl.directory @@ -0,0 +1,6 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Directory +Comment= +Icon=kppp +Name=ADSL diff --git a/ppp-ip-down b/ppp-ip-down new file mode 100644 index 0000000..3d3d82f --- /dev/null +++ b/ppp-ip-down @@ -0,0 +1,20 @@ +#!/bin/sh +# +# This sample code shows you one way to modify your setup to allow automatic +# configuration of your resolv.conf for peer supplied DNS addresses when using +# the `usepeerdns' option. +# +# In my case I just added this to my /etc/ppp/ip-down.local script. You may need to +# create an executable script if one does not exist. +# +# Nick Walker (nickwalker@email.com) +# + +if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + if [ -f /etc/ppp/resolv.prev ]; then + cp -f /etc/ppp/resolv.prev /etc/resolv.conf + else + rm -f /etc/resolv.conf + fi +fi + diff --git a/ppp-ip-up b/ppp-ip-up new file mode 100644 index 0000000..b16e7bb --- /dev/null +++ b/ppp-ip-up @@ -0,0 +1,24 @@ +#!/bin/bash +# +# This script automatically configure the file resolv.conf for peer supplied +# DNS addresses when using the `usepeerdns' option. +# Based on the example script by Nick Walker (nickwalker@email.com) +# +# Copyright (C) 2005 Davide Madrisan + +if [ -n "$USEPEERDNS" -a -f /etc/ppp/resolv.conf ]; then + rm -f /etc/ppp/resolv.prev + + if [ -f /etc/resolv.conf ]; then + cp /etc/resolv.conf /etc/ppp/resolv.prev + + echo "\ +; generated by /etc/ppp/ip-up +; lock $PPPD_PID" > /etc/resolv.conf + grep domain /etc/ppp/resolv.prev >> /etc/resolv.conf + grep search /etc/ppp/resolv.prev >> /etc/resolv.conf + cat /etc/ppp/resolv.conf >> /etc/resolv.conf + else + cp /etc/ppp/resolv.conf /etc + fi +fi diff --git a/ppp-options b/ppp-options new file mode 100644 index 0000000..c63670a --- /dev/null +++ b/ppp-options @@ -0,0 +1,3 @@ +#lock +noauth +logfile /var/log/pppd.log diff --git a/ppp-options-atm b/ppp-options-atm new file mode 100644 index 0000000..6683b80 --- /dev/null +++ b/ppp-options-atm @@ -0,0 +1,13 @@ +user "yourusername" +plugin pppoatm.so 8.35 +logfile /var/log/pppd.log +noipdefault +usepeerdns +defaultroute +persist +noauth +nopcomp +noccp +novj +holdoff 5 +maxfail 25 diff --git a/ppp-xdg-adsl.menu b/ppp-xdg-adsl.menu new file mode 100644 index 0000000..367580c --- /dev/null +++ b/ppp-xdg-adsl.menu @@ -0,0 +1,15 @@ + + +Applications + + Internet + + ADSL + adsl.directory + + X-ADSL + + + + + diff --git a/ppp.spec b/ppp.spec new file mode 100644 index 0000000..50ffba9 --- /dev/null +++ b/ppp.spec @@ -0,0 +1,244 @@ +%define dialout_groupid 10 + +Name: ppp +Version: 2.4.6 +Release: 1mamba +Summary: Point to Point Protocol +Group: System/Servers +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.samba.org/ppp +Source0: ftp://ftp.samba.org/pub/ppp/%{name}-%{version}.tar.gz +Source1: ppp-options-atm +Source2: ppp-options +Source3: ppp-ip-up +Source4: ppp-ip-down +Source5: pppoatm-initscript +Source6: pppoatm-start.desktop +Source7: pppoatm-stop.desktop +Source8: ppp-adsl.directory +Source9: ppp-xdg-adsl.menu +Patch0: %{name}-2.4.2-pppoatm.patch +Patch1: %{name}-2.4.3-expect_path.patch +Patch2: %{name}-2.4.3-CVE_2006_2194.patch +Patch3: ppp-2.4.5-enable_ipv6.patch +Patch4: ppp-2.4.5-enable_pam.patch +License: BSD +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libpcap-devel +BuildRequires: pam-devel +## AUTOBUILDREQ-END +BuildRequires: libpcap-devel >= 1.2 +BuildRequires: libatm-devel >= 2.4.1 +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +The ppp package contains the PPP (Point-to-Point Protocol) daemon and documentation for PPP support. +The PPP protocol provides a method for transmitting datagrams over serial point-to-point links. + +The ppp package should be installed if your machine needs to support the PPP protocol. + +%package devel +Group: Development/Libraries +Summary: x264 development files +Requires: %{name} = %{version}-%{release} + +%description devel +The ppp package contains the PPP (Point-to-Point Protocol) daemon and documentation for PPP support. +The PPP protocol provides a method for transmitting datagrams over serial point-to-point links. + +This package contains static libraries and header files need for development. + +%prep +%setup -q +%patch1 -p1 +#%patch2 -p1 -b .CVE_2006_2194 +#%patch3 -p1 +%patch4 -p1 + +rm -f include/linux/if_pppol2tp.h + +%ifarch x86_64 +sed -i "s|/lib/pppd|/%{_lib}/pppd|" pppd/pathnames.h pppd/plugins/Makefile.linux pppd/plugins/*/Makefile.linux +%endif + +%build +%configure +# --prefix=%{_prefix} +%make CC=%{_target_platform}-gcc + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall \ + DESTDIR=%{buildroot}%{_prefix} + +install -D -m 0644 %{S:1} %{buildroot}%{_sysconfdir}/ppp/options-atm +install -m 0644 %{S:2} %{buildroot}%{_sysconfdir}/ppp/options +install -m 0755 %{S:3} %{buildroot}%{_sysconfdir}/ppp/ip-up +install -m 0755 %{S:4} %{buildroot}%{_sysconfdir}/ppp/ip-down +install -D -m 0755 %{S:5} %{buildroot}%{_initrddir}/pppoatm +sed -i "s/@PPPDVERSION@/%{version}/" %{buildroot}%{_initrddir}/pppoatm + +install -m 0755 scripts/ipv6-up.sample %{buildroot}%{_sysconfdir}/ppp/ipv6-up +install -m 0755 scripts/ipv6-down.sample %{buildroot}%{_sysconfdir}/ppp/ipv6-down +install -m 0644 etc.ppp/* %{buildroot}%{_sysconfdir}/ppp/ + +install -d %{buildroot}%{_datadir}/ppp/scripts +cp -a scripts/* %{buildroot}%{_datadir}/ppp/scripts + +install -d %{buildroot}%{_sysconfdir}/ppp/peers + +## Install ADSL desktop menu and links +#install -D -m 0644 %{S:6} \ +# %{buildroot}%{_datadir}/applications/pppoatm-start.desktop +#install -D -m 0644 %{S:7} \ +# %{buildroot}%{_datadir}/applications/pppoatm-stop.desktop +#install -D -m 0644 %{S:8} \ +# %{buildroot}%{_datadir}/desktop-directories/adsl.directory +#install -D -m 0644 %{S:9} \ +# %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/adsl.menu + +install -d -m0755 %{buildroot}%{_sysconfdir}/modprobe.d/ +cat > %{buildroot}%{_sysconfdir}/modprobe.d/ppp.conf << _EOF +alias ppp0 ppp_generic +_EOF + +# FIXME: this script needs perl(Proc::Daemon) and perl(Proc::WaitStat) +rm %{buildroot}%{_datadir}/ppp/scripts/autopppd + +# fix wrong permissions +chmod 0755 %{buildroot}%{_sbindir}/pppd +chmod 0755 %{buildroot}%{_sbindir}/pppoe-discovery +chmod 0755 %{buildroot}%{_libdir}/pppd/%{version}/*.so +chmod 0644 %{buildroot}%{_mandir}/man8/*.8* + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%pre +groupadd dialout -g %{dialout_groupid} 2>/dev/null +exit 0 + +%files +%defattr(-,root,root) +%{_sysconfdir}/modprobe.d/ppp.conf +%attr(4550,root,dialout) %{_sbindir}/pppd +%{_sbindir}/pppstats +%{_sbindir}/pppdump +%{_sbindir}/chat +%{_sbindir}/pppoe-discovery +#%{_sysconfdir}/xdg/menus/applications-merged/adsl.menu +#%{_datadir}/applications/pppoatm-*.desktop +#%{_datadir}/desktop-directories/adsl.directory +%dir %{_datadir}/ppp/scripts +%{_datadir}/ppp/scripts/* +%if "%{_host}" != "%{_build}" +# expect cannot be cross-compiled +%exclude %{_datadir}/ppp/scripts/secure-card +%endif +%{_initrddir}/pppoatm +%{_libdir}/pppd/%{version}/*.so +%dir %{_sysconfdir}/ppp +%config(noreplace) %attr(0664,root,dialout) %{_sysconfdir}/ppp/options* +%config(noreplace) %attr(0660,root,dialout) %{_sysconfdir}/ppp/chap-secrets +%config(noreplace) %attr(0660,root,dialout) %{_sysconfdir}/ppp/pap-secrets +%config(noreplace) %{_sysconfdir}/ppp/peers +%config %{_sysconfdir}/ppp/ip-* +%config %{_sysconfdir}/ppp/ipv6-* +%{_mandir}/man8/* + +%files devel +%defattr(-,root,root) +%{_includedir}/pppd + +%changelog +* Thu Feb 20 2014 Automatic Build System 2.4.6-1mamba +- automatic version update by autodist + +* Wed Jan 02 2013 Silvan Calarco 2.4.5-5mamba +- enable ipv6 support required by NetworkManager >= 0.9.6 +- enable pam support + +* Wed Jul 25 2012 Silvan Calarco 2.4.5-4mamba +- rebuilt against libpcap 1.2.1 + +* Tue Dec 20 2011 Davide Madrisan 2.4.5-3mamba +- make pppoatm initscript dash compatible +- fix permissions of several files + +* Mon Feb 14 2011 Silvan Calarco 2.4.5-2mamba +- remove ADSL desktop menu and pppoatm start and stop entries obsoleted by network manager GUI + +* Tue Nov 17 2009 Automatic Build System 2.4.5-1mamba +- automatic update to 2.4.5 by autodist + +* Sat Jul 25 2009 Silvan Calarco 2.4.4-4mamba +- install modprobe file as /etc/modprobe.d/ppp.conf + +* Mon Oct 29 2007 Silvan Calarco 2.4.4-3mamba +- revert PEERDNS to USEPEERDNS to fix pppoatm (must fix pppoe again, now?) + +* Fri Oct 05 2007 Silvan Calarco 2.4.4-2mamba +- ip-up/up-down: substitute reference USEPEERDNS with PEERDNS + +* Wed Sep 26 2007 Silvan Calarco 2.4.4-1mamba +- update to 2.4.4 +- remove old code for modules.conf replaced by /etc/modprobe.d/ppp + +* Tue Jul 11 2006 Davide Madrisan 2.4.3-4qilnx +- security fix: CVE-2006-2194 (qibug 196) + +* Tue Jun 06 2006 Massimo Pintore 2.4.3-3qilnx +- updated initscript pppoatm +- fixed adsl.directory warning + +* Mon May 22 2006 Davide Madrisan 2.4.3-2qilnx +- fixed 'Categories' entry in the desktop files +- added french translation + +* Thu May 18 2006 Silvan Calarco 2.4.3-1qilnx +- update to version 2.4.3 by autospec +- added pppoatm initscript +- added ADSL desktop menu and start/stop entries + +* Fri Nov 04 2005 Davide Madrisan 2.4.2-10qilnx +- ip-up script fix + +* Thu Nov 03 2005 Davide Madrisan 2.4.2-9qilnx +- ip-up script: prepend to /etc/resolv.conf some information needed by + the dhcp-clienti script + +* Fri Sep 23 2005 Silvan Calarco 2.4.2-8qilnx +- add devel package +- support for cross platform builds + +* Sun Jun 26 2005 Silvan Calarco 2.4.2-7qilnx +- fix permissions on some files + +* Fri Nov 26 2004 Silvan Calarco 2.4.2-6qilnx +- added ip-up and ip-down script for automatic resolv.conf configuration +- added /usr/share/ppp/scripts dir containing a lot of sample scripts + +* Fri Aug 17 2004 Silvan Calarco 2.4.2-5qilnx +- reverted back to the previous pppoatm patch that seems to be working better +- added /etc/ppp/options-atm default configuration file + +* Fri Aug 13 2004 Silvan Calarco 2.4.2-4qilnx +- changed pppoatm patch with one supporting ppp 2.4.2 + +* Wed Aug 11 2004 Silvan Calarco 2.4.2-3qilnx +- removed default ppp option lock and added noauth to make kppp work correctly + +* Wed Aug 11 2004 Silvan Calarco 2.4.2-2qilnx +- added patch for pppoatm plugin + +* Thu Mar 25 2004 Silvan Calarco 2.4.2-1qilnx +- new version build + +* Mon Nov 03 2003 Silvan Calarco 2.4.1-2qilnx +- added configuration files + +* Tue Apr 18 2003 Luca Tinelli 2.4.1-1qilnx +- First Build diff --git a/pppoatm-initscript b/pppoatm-initscript new file mode 100644 index 0000000..edd8c71 --- /dev/null +++ b/pppoatm-initscript @@ -0,0 +1,69 @@ +#!/bin/sh +# +# pppoatm - Initscript for starting a PPP over ATM connection +# description: PPP over ATM start/stop script +# chkconfig: 345 80 10 + +# Source function library +[ -r /etc/rc.d/init.d/functions ] && . /etc/rc.d/init.d/functions + +PPPD="/usr/sbin/pppd" +PPPDCONF_OATM="/etc/ppp/options-atm" +PLUGIN="/usr/lib/pppd/@PPPDVERSION@/pppoatm.so" + +RETVAL=0 + +start() { + echo -n "Starting ppp over ATM..." + $PPPD file $PPPDCONF_OATM >/dev/null + evaluate_retval +} + +stop() { + echo -n "Stopping ppp daemon..." + killproc $PPPD >/dev/null 2>&1 + rm -f /var/run/ppp*.pid +} + +status() { + pidf=$(cd /var/run && ls --sort=time ppp*.pid 2>/dev/null) + pppint=${pidf/.pid*/} + + LANG=C /sbin/ifconfig $pppint 2>/dev/null | \ + grep -q "UP POINTOPOINT RUNNING" && { + echo -n "ppp connection active: $pppint" + return 0; } + + echo -n "No ppp connections" + return 1 +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + status) + status + ;; + + restart) + stop + start + ;; + + *) + echo $"Usage: $0 {start|stop|status|restart}" + exit 1 +esac + +RETVAL=$? + +[ $RETVAL = 0 ] && echo_success || echo_failure +echo + +exit $RETVAL diff --git a/pppoatm-start.desktop b/pppoatm-start.desktop new file mode 100644 index 0000000..7284b8c --- /dev/null +++ b/pppoatm-start.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=service pppoatm start +Icon=kppp +MimeType= +Name=pppoatm start +GenericName=Start ppp over ATM link +GenericName[fr]=Établie la connection ppp sur ATM +GenericName[it]=Attiva il collegamento ppp over ATM +Path= +StartupNotify=true +Terminal=false +Type=Application +Categories=X-ADSL +X-DCOP-ServiceType= +X-KDE-RootOnly=true +X-KDE-SubstituteUID=true +X-KDE-Username=root diff --git a/pppoatm-stop.desktop b/pppoatm-stop.desktop new file mode 100644 index 0000000..6188889 --- /dev/null +++ b/pppoatm-stop.desktop @@ -0,0 +1,20 @@ +[Desktop Entry] +Encoding=UTF-8 +Exec=service pppoatm stop +Icon=kppp +MimeType= +Name=pppoatm stop +GenericName=Stop ppp over ATM link +GenericName[fr]=Désactive la connection ppp sur ATM +GenericName[it]=Disattiva il collegamento ppp over ATM +Path= +StartupNotify=true +Terminal=false +TerminalOptions= +Type=Application +Categories=X-ADSL; +X-DCOP-ServiceType= +X-KDE-RootOnly=true +X-KDE-SubstituteUID=true +X-KDE-Username=root +