commit 11fe800f0f214157d0660fd64d95dad47346f70f
Author: Jakub Bogusz <[email protected]>
Date:   Sun Dec 10 18:12:17 2023 +0100

    - updated to 3.3.0, patched for pppd 2.5.0

 dahdi-tools-pppd.patch | 200 +++++++++++++++++++++++++++++++++++++++++++++++++
 dahdi-tools.spec       |  20 ++---
 link.patch             |  22 ------
 3 files changed, 210 insertions(+), 32 deletions(-)
---
diff --git a/dahdi-tools.spec b/dahdi-tools.spec
index 14768a2..8b957de 100644
--- a/dahdi-tools.spec
+++ b/dahdi-tools.spec
@@ -6,16 +6,16 @@
 Summary:       DAHDI telephony device support
 Summary(pl.UTF-8):     Obsługa urządzeń telefonicznych DAHDI
 Name:          dahdi-tools
-Version:       3.1.0
+Version:       3.3.0
 Release:       1
 License:       GPL v2
 Group:         Applications/System
 Source0:       
http://downloads.asterisk.org/pub/telephony/dahdi-tools/%{name}-%{version}.tar.gz
-# Source0-md5: bc9f39264e5a862dde92f206c55d1162
+# Source0-md5: 237e35e7fc5def7d339b088656a7b983
 Source1:       dahdi.init
 Source2:       dahdi.sysconfig
 Patch0:                %{name}-includes.patch
-Patch1:                link.patch
+Patch1:                %{name}-pppd.patch
 URL:           http://www.asterisk.org/
 BuildRequires: asciidoc
 BuildRequires: autoconf >= 2.59
@@ -27,13 +27,13 @@ BuildRequires:      libusb-devel >= 1.0.9
 BuildRequires: newt-devel
 BuildRequires: perl-base
 BuildRequires: perl-tools-pod
-%{?with_ppp:BuildRequires:     ppp-plugin-devel}
+%{?with_ppp:BuildRequires:     ppp-plugin-devel >= 3:2.5.0}
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpmbuild(macros) >= 1.745
 Requires:      libusb >= 1.0.9
-Obsoletes:     dahdi-tools-utils
-Obsoletes:     zaptel
-Obsoletes:     zaptel-utils
+Obsoletes:     dahdi-tools-utils < 2.6.1
+Obsoletes:     zaptel < 2
+Obsoletes:     zaptel-utils < 2
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -48,7 +48,7 @@ Summary(pl.UTF-8):    Pliki nagłówkowe DAHDI
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      dahdi-linux-devel
-Obsoletes:     zaptel-devel
+Obsoletes:     zaptel-devel < 2
 
 %description devel
 DAHDI development headers.
@@ -87,7 +87,7 @@ Group:                Applications/Communications
 Requires(post,preun):  /sbin/chkconfig
 Requires:      %{name} = %{version}-%{release}
 Requires:      rc-scripts
-Obsoletes:     zaptel-init
+Obsoletes:     zaptel-init < 2
 
 %description init
 DAHDI boot-time initialization.
@@ -153,7 +153,7 @@ Perlowy interfejs do DAHDI.
 Summary:       DAHDI plugin for PPP daemon
 Summary(pl.UTF-8):     Wtyczka DAHDI dla demona PPP
 Group:         Libraries
-Requires:      ppp
+Requires:      ppp >= 3:2.5.0
 
 %description -n ppp-plugin-dahdi
 DAHDI plugin for PPP daemon.
diff --git a/dahdi-tools-pppd.patch b/dahdi-tools-pppd.patch
new file mode 100644
index 0000000..5b3498e
--- /dev/null
+++ b/dahdi-tools-pppd.patch
@@ -0,0 +1,200 @@
+--- dahdi-tools-3.3.0/configure.ac.orig        2023-12-07 07:27:33.000000000 
+0100
++++ dahdi-tools-3.3.0/configure.ac     2023-12-10 16:29:22.580323430 +0100
+@@ -333,7 +333,7 @@ case "$with_ppp" in
+       *) ppp_path="$with_ppp" ;;
+ esac
+ 
+-level_file="$ppp_path/include/pppd/patchlevel.h"
++level_file="$ppp_path/include/pppd/pppdconf.h"
+ PPP_VERSION=
+ if test "$ppp_path" != '' && test -r "$level_file"; then
+       PPPD_VERSION=`awk -F '"' '/VERSION/ { print $$2; }' $level_file`
+@@ -345,7 +345,7 @@ case "$with_ppp" in
+       # If we asked explicitly for ppp support
+       if test "$PPPD_VERSION" = ''; then
+               # but have not detected it
+-              AC_MSG_ERROR(failed to find pppd/patchlevel.h: no ppp support.)
++              AC_MSG_ERROR(failed to find pppd/pppdconf.h: no ppp support.)
+       fi
+       ;;
+ esac
+--- dahdi-tools-3.3.0/ppp/dahdi.c.orig 2023-12-07 07:27:33.000000000 +0100
++++ dahdi-tools-3.3.0/ppp/dahdi.c      2023-12-10 18:09:40.067723903 +0100
+@@ -35,21 +35,23 @@
+ #include <errno.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <stdio.h>
+ 
+ #include <pppd/pppd.h>
+ #include <pppd/fsm.h>
+ #include <pppd/lcp.h>
+ #include <pppd/ipcp.h>
+ #include <pppd/ccp.h>
+-#include <pppd/pathnames.h>
++#include <pppd/options.h>
++#include <pppd/pppdconf.h>
+ 
+ #include <dahdi/user.h>
+ 
+ extern int new_style_driver;
+ 
+-const char pppd_version[] = VERSION;
++const char pppd_version[] = PPPD_VERSION;
+ 
+-#define _PATH_DAHDI_OPT         _ROOT_PATH "/etc/ppp/options."
++#define _PATH_DAHDI_OPT         "/etc/ppp/options."
+ 
+ #define DAHDI_MTU     (DAHDI_DEFAULT_MTU_MRU - 16)
+ extern int kill_link;
+@@ -61,7 +63,7 @@ static option_t dahdi_options[] = {
+       { "device name", o_wild, (void *) &setdevname_dahdi,
+         "Serial port device name",
+         OPT_DEVNAM | OPT_PRIVFIX | OPT_NOARG  | OPT_A2STRVAL | OPT_STATIC,
+-        devnam},
++        NULL},
+       { NULL }
+ };
+ 
+@@ -74,16 +76,17 @@ static int connect_dahdi(void)
+     struct dahdi_params dahdi_params;
+     int res;
+     int x;
++    const char* ddevnam = ppp_devnam();
+ 
+-    info("DAHDI device is '%s'\n", devnam);
++    info("DAHDI device is '%s'\n", ddevnam);
+ 
+-    strlcpy(ppp_devnam, devnam, sizeof(ppp_devnam));
++    ppp_set_pppdevnam(ddevnam);
+ 
+-    if (strlen(devnam) && strcmp(devnam, "stdin")) {
++    if (strlen(ddevnam) && strcmp(ddevnam, "stdin")) {
+       /* Get the channel number */
+-      dahdi_chan = atoi(devnam);
++      dahdi_chan = atoi(ddevnam);
+       if (dahdi_chan < 1) {
+-              fatal("'%s' is not a valid device name\n", devnam);
++              fatal("'%s' is not a valid device name\n", ddevnam);
+               return -1;
+       }
+ 
+@@ -114,7 +117,7 @@ static int connect_dahdi(void)
+     res = ioctl(dahdi_fd, DAHDI_GET_PARAMS, &dahdi_params);
+ 
+     if (res) {
+-      fatal("Device '%s' does not appear to be a DAHDI device\n", devnam ? 
devnam : "<stdin>");
++      fatal("Device '%s' does not appear to be a DAHDI device\n", ddevnam ? 
ddevnam : "<stdin>");
+     }
+ 
+     x = 1;
+@@ -123,7 +126,7 @@ static int connect_dahdi(void)
+     res = ioctl(dahdi_fd, DAHDI_HDLCPPP, &x);
+ 
+     if (res) {
+-      fatal("Unable to put device '%s' into HDLC mode\n", devnam);
++      fatal("Unable to put device '%s' into HDLC mode\n", ddevnam);
+       close(dahdi_fd);
+       dahdi_fd = -1;
+       return -1;
+@@ -141,15 +144,16 @@ static void disconnect_dahdi(void)
+ {
+     int res;
+     int x = 0;
++    const char *ddevnam = ppp_devnam();
+     /* Throw out of HDLC mode */
+     res = ioctl(dahdi_fd, DAHDI_HDLCPPP, &x);
+ 
+     if (res) {
+-      warn("Unable to take device '%s' out of HDLC mode\n", devnam);
++      warn("Unable to take device '%s' out of HDLC mode\n", ddevnam);
+     }
+ 
+     /* Close if it's not stdin */
+-    if (strlen(devnam))
++    if (strlen(ddevnam))
+       close(dahdi_fd);
+     warn("Disconnect from DAHDI");
+ 
+@@ -165,8 +169,8 @@ static void dahdi_extra_options()
+ {
+     int ret;
+     char buf[256];
+-    snprintf(buf, 256, _PATH_DAHDI_OPT "%s",devnam);
+-    if(!options_from_file(buf, 0, 0, 1))
++    snprintf(buf, 256, _PATH_DAHDI_OPT "%s",ppp_devnam());
++    if(!ppp_options_from_file(buf, 0, 0, 1))
+       exit(EXIT_OPTION_ERROR);
+ 
+ }
+@@ -196,11 +200,6 @@ static void recv_config_dahdi(int mru,
+       error("Couldn't increase MRU to %d", mru);
+ }
+ 
+-static void set_xaccm_pppoe(int unit, ext_accm accm)
+-{
+-    /* NOTHING */
+-}
+-
+ 
+ 
+ struct channel dahdi_channel;
+@@ -218,9 +217,10 @@ int setdevname_dahdi(const char *cp)
+ {
+     int ret;
+     int chan;
++    const char *ddevnam = ppp_devnam();
+ 
+     /* If already set, forgoe */
+-    if (strlen(devnam))
++    if (strlen(ddevnam))
+       return 1;
+ 
+ 
+@@ -232,9 +232,9 @@ int setdevname_dahdi(const char *cp)
+       }
+     }
+ 
+-    dahdi_copy_string(devnam, cp, sizeof(devnam));
++    ppp_set_devnam(cp);
+ 
+-    info("Using DAHDI device '%s'\n", devnam);
++    info("Using DAHDI device '%s'\n", ppp_devnam());
+ 
+     ret = 1;
+ 
+@@ -242,7 +242,7 @@ int setdevname_dahdi(const char *cp)
+ 
+       the_channel = &dahdi_channel;
+ 
+-      modem = 0;
++      ppp_set_modem(false);
+ 
+       lcp_allowoptions[0].neg_accompression = 0;
+       lcp_wantoptions[0].neg_accompression = 0;
+@@ -270,9 +270,12 @@ int setdevname_dahdi(const char *cp)
+ 
+ void plugin_init(void)
+ {
+-    if (!ppp_available() && !new_style_driver)
++    static char def_devnam[256];
++    if (!ppp_check_kernel_support() && !new_style_driver)
+       fatal("Kernel doesn't support ppp_generic needed for DAHDI PPP");
+-    add_options(dahdi_options);
++    strlcpy(def_devnam, ppp_devnam(), 256);
++    dahdi_options[0].addr2 = def_devnam;
++    ppp_add_options(dahdi_options);
+ 
+     info("DAHDI Plugin Initialized");
+ }
+@@ -283,8 +286,8 @@ struct channel dahdi_channel = {
+     check_options: NULL,
+     connect: &connect_dahdi,
+     disconnect: &disconnect_dahdi,
+-    establish_ppp: &generic_establish_ppp,
+-    disestablish_ppp: &generic_disestablish_ppp,
++    establish_ppp: &ppp_generic_establish,
++    disestablish_ppp: &ppp_generic_disestablish,
+     send_config: &send_config_dahdi,
+     recv_config: &recv_config_dahdi,
+     close: NULL,
diff --git a/link.patch b/link.patch
deleted file mode 100644
index b9e3941..0000000
--- a/link.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- dahdi-tools-3.1.0/xpp/mpptalk.c~   2019-10-03 16:48:11.000000000 +0200
-+++ dahdi-tools-3.1.0/xpp/mpptalk.c    2020-08-24 11:51:44.540425525 +0200
-@@ -237,7 +237,7 @@
-               MEMBER(MPP, TWS_PORT_GET_REPLY);
-               MEMBER(MPP, TWS_PWR_GET);
-               MEMBER(MPP, TWS_PWR_GET_REPLY);
--} PACKED members;
-+} PACKED mpp_members;
- 
- /*
-  * Statuses
---- dahdi-tools-3.1.0/xpp/xtalk/xtalk_sync.c~  2019-10-03 16:48:11.000000000 
+0200
-+++ dahdi-tools-3.1.0/xpp/xtalk/xtalk_sync.c   2020-08-24 11:52:00.910944115 
+0200
-@@ -60,7 +60,7 @@
-       MEMBER(XTALK, ACK);
-       MEMBER(XTALK, PROTO_GET);
-       MEMBER(XTALK, PROTO_GET_REPLY);
--} PACKED members;
-+} PACKED xtalk_members;
- 
- const struct xtalk_protocol   xtalk_sync_proto = {
-       .name   = "XTALK-SYNC",
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dahdi-tools.git/commitdiff/11fe800f0f214157d0660fd64d95dad47346f70f

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to