#etc/atmsigd.conf
#etc/hosts.atm
+#lib/firmware/pca200e.bin
+#lib/firmware/pca200e_ecd.bin2
+#lib/firmware/sba200e_ecd.bin2
#usr/bin/aread
#usr/bin/atmdiag
#usr/bin/atmdump
+#usr/bin/atmswitch
#usr/bin/awrite
#usr/bin/saaldump
#usr/bin/sonetdiag
+#usr/bin/svc_recv
+#usr/bin/svc_send
#usr/bin/ttcp_atm
#usr/include/atm.h
#usr/include/atmarp.h
#usr/include/atmsap.h
#usr/lib/libatm.a
#usr/lib/libatm.la
-usr/lib/libatm.so
+#usr/lib/libatm.so
usr/lib/libatm.so.1
usr/lib/libatm.so.1.0.0
-#usr/man/man4
-#usr/man/man4/atmsigd.conf.4
-#usr/man/man7
-#usr/man/man7/qos.7
-#usr/man/man7/sap.7
-#usr/man/man8
-#usr/man/man8/atmaddr.8
-#usr/man/man8/atmarp.8
-#usr/man/man8/atmarpd.8
-#usr/man/man8/atmdiag.8
-#usr/man/man8/atmdump.8
-#usr/man/man8/atmloop.8
-#usr/man/man8/atmsigd.8
-#usr/man/man8/atmtcp.8
-#usr/man/man8/bus.8
-#usr/man/man8/esi.8
-#usr/man/man8/lecs.8
-#usr/man/man8/les.8
-#usr/man/man8/mpcd.8
-#usr/man/man8/zeppelin.8
#usr/sbin/atmaddr
#usr/sbin/atmarp
#usr/sbin/atmarpd
#usr/sbin/atmloop
#usr/sbin/atmsigd
#usr/sbin/atmtcp
+usr/sbin/br2684ctl
#usr/sbin/bus
#usr/sbin/enitune
#usr/sbin/esi
+#usr/sbin/hediag
#usr/sbin/ilmid
+#usr/sbin/ilmidiag
#usr/sbin/lecs
#usr/sbin/les
#usr/sbin/mpcd
#usr/sbin/zeppelin
#usr/sbin/zntune
+#usr/share/man/man4/atmsigd.conf.4
+#usr/share/man/man7/qos.7
+#usr/share/man/man7/sap.7
+#usr/share/man/man8/atmaddr.8
+#usr/share/man/man8/atmarp.8
+#usr/share/man/man8/atmarpd.8
+#usr/share/man/man8/atmdiag.8
+#usr/share/man/man8/atmdump.8
+#usr/share/man/man8/atmloop.8
+#usr/share/man/man8/atmsigd.8
+#usr/share/man/man8/atmtcp.8
+#usr/share/man/man8/br2684ctl.8
+#usr/share/man/man8/bus.8
+#usr/share/man/man8/esi.8
+#usr/share/man/man8/ilmid.8
+#usr/share/man/man8/lecs.8
+#usr/share/man/man8/les.8
+#usr/share/man/man8/mpcd.8
+#usr/share/man/man8/zeppelin.8
include Config
-VER = 2.4.1
+VER = 2.5.2
THISAPP = linux-atm-$(VER)
DL_FILE = $(THISAPP).tar.gz
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = cc3d04d25198a811ebc3c98a28005b1ff62732f59ac1a9979492f5666c0d41dde8545e24b43e17a5b0e7151143802ce7196a2b668b39f59171276b3d53113e0e
+$(DL_FILE)_BLAKE2 = 329aad437a1e6a17fd7d7d2b81c976a76c684aaf127006ed3af1e998a0f52df056747cc84fc13c933dc15c07246f1f00e4ff101ac98ef1dd1bea102830a83625
install : $(TARGET)
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
$(UPDATE_AUTOMAKE)
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-gcc-4.patch
- cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-arpd_includes.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.4.1-linux-5.2-SIOCGSTAMP.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-2.5.2-headers.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-use_socklen_t.patch
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux-atm-remove-define-hacks.patch
+ cd $(DIR_APP) && autoreconf -vfi
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc --disable-nls
cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
cd $(DIR_APP) && make install
+++ /dev/null
-Index: linux-atm-2.4.1/src/arpd/arp.c
-===================================================================
---- linux-atm-2.4.1.orig/src/arpd/arp.c 2007-10-20 19:19:10.002198470 +0200
-+++ linux-atm-2.4.1/src/arpd/arp.c 2007-10-20 19:19:19.138719139 +0200
-@@ -15,7 +15,6 @@
- #include <sys/types.h>
- #include <sys/socket.h> /* for linux/if_arp.h */
- #include <netinet/in.h> /* for ntohs, etc. */
--#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */
- #include <linux/if_arp.h>
- #include <linux/if_ether.h>
- #include <atm.h>
-Index: linux-atm-2.4.1/src/arpd/io.c
-===================================================================
---- linux-atm-2.4.1.orig/src/arpd/io.c 2007-10-20 19:19:09.994198016 +0200
-+++ linux-atm-2.4.1/src/arpd/io.c 2007-10-20 19:19:19.154720039 +0200
-@@ -16,12 +16,11 @@
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/ioctl.h>
--#include <net/if.h>
-+#include <linux/if.h>
- #include <netinet/in.h>
- #include <atm.h>
- #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */
- #include <linux/atmarp.h>
--#define _LINUX_NETDEVICE_H /* glibc2 */
- #include <linux/if_arp.h>
-
- #include "atmd.h"
-Index: linux-atm-2.4.1/src/arpd/itf.c
-===================================================================
---- linux-atm-2.4.1.orig/src/arpd/itf.c 2007-10-20 19:19:10.010198930 +0200
-+++ linux-atm-2.4.1/src/arpd/itf.c 2007-10-20 19:19:19.186721859 +0200
-@@ -12,7 +12,6 @@
- #include <sys/types.h>
- #include <linux/atmclip.h>
- #include <sys/socket.h>
--#define _LINUX_NETDEVICE_H /* glibc2 */
- #include <linux/if_arp.h>
-
- #include "atmd.h"
+++ /dev/null
-diff -Naur linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c linux-atm-2.4.1/src/ilmid/atmf_uni.c
---- linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/ilmid/atmf_uni.c 2005-08-13 10:22:44.000000000 +0100
-@@ -187,7 +187,7 @@
- newPrefix->name = alloc_t(AsnOid);
- newPrefix->name->octs = alloc(varBindName->octetLen);
- AsnOidCopy(newPrefix->name, varBindName);
-- Q_INSERT_BEFORE((NetPrefixNode *) var->value, newPrefix, prefix);
-+ Q_INSERT_BEFORE((*((NetPrefixNode **)&var->value)), newPrefix, prefix);
- if(atmNetPrefix.octs == NULL)
- {
- atmNetPrefix.octetLen = varBindName->octetLen - NETPREFIX_LEN - 2;
-@@ -197,7 +197,7 @@
- }
- else if (varbind->value->a.simple->a.number == INVALID && cmp == AsnOidEqual)
- {
-- Q_REMOVE((NetPrefixNode *) var->value, prefix);
-+ Q_REMOVE((*((NetPrefixNode **) &var->value)), prefix);
- }
-
- return NOERROR;
-diff -Naur linux-atm-2.4.1-orig/src/lib/sapequal.c linux-atm-2.4.1/src/lib/sapequal.c
---- linux-atm-2.4.1-orig/src/lib/sapequal.c 2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/lib/sapequal.c 2005-02-06 19:24:37.000000000 +0000
-@@ -65,6 +65,7 @@
- CHECK(l2.itu.window,a.l2.itu.window > b.l2.itu.window);
- break;
- default:
-+ ;
- }
- switch (a.l3_proto) {
- case ATM_L3_X25:
-@@ -83,6 +84,7 @@
- if (a.l3.user != b.l3.user) return 0;
- break;
- default:
-+ ;
- }
- return 1;
- }
-diff -Naur linux-atm-2.4.1-orig/src/maint/atmtcp.c linux-atm-2.4.1/src/maint/atmtcp.c
---- linux-atm-2.4.1-orig/src/maint/atmtcp.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/maint/atmtcp.c 2005-08-13 10:22:44.000000000 +0100
-@@ -60,7 +60,7 @@
- static IN *inputs = NULL;
- static fd_set in_set;
- static int fds = 0;
--static int debug = 0;
-+int debug = 0;
- static int links = 0;
-
-
-diff -Naur linux-atm-2.4.1-orig/src/maint/enitune.c linux-atm-2.4.1/src/maint/enitune.c
---- linux-atm-2.4.1-orig/src/maint/enitune.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/maint/enitune.c 2005-02-06 19:24:37.000000000 +0000
-@@ -44,6 +44,7 @@
- if (*end || mult.rx <= 100) usage(name);
- break;
- default:
-+ ;
- }
- if (argc != optind+1) usage(name);
- sioc.number = strtol(argv[optind],&end,0);
-diff -Naur linux-atm-2.4.1-orig/src/mpoad/p_factory.c linux-atm-2.4.1/src/mpoad/p_factory.c
---- linux-atm-2.4.1-orig/src/mpoad/p_factory.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/mpoad/p_factory.c 2005-08-13 10:22:44.000000000 +0100
-@@ -31,16 +31,17 @@
- * beginning at location "addr".
- */
- uint32_t sum = 0;
-+ uint16_t *addr16 = addr;
-
- while( count > 1 ) {
- /* This is the inner loop */
-- sum += * ((uint16_t *) addr)++;
-+ sum += * addr16++;
- count -= 2;
- }
-
- /* Add left-over byte, if any */
- if( count > 0 )
-- sum += * (unsigned char *) addr;
-+ sum += * (unsigned char *) addr16;
-
- /* Fold 32-bit sum to 16 bits */
- while (sum>>16)
-diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.c linux-atm-2.4.1/src/qgen/qlib.c
---- linux-atm-2.4.1-orig/src/qgen/qlib.c 2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/qgen/qlib.c 2005-08-13 10:22:44.000000000 +0100
-@@ -26,8 +26,6 @@
- #include "op.h"
-
-
--static int debug = 0;
--
-
- void PREFIX(report)(int severity,const char *msg,...)
- {
-@@ -830,6 +828,8 @@
-
- #ifdef STANDALONE
-
-+int debug = 0;
-+
- int main(int argc,const char **argv)
- {
- unsigned char msg[5000]; /* should be large enough for that */
-diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.h linux-atm-2.4.1/src/qgen/qlib.h
---- linux-atm-2.4.1-orig/src/qgen/qlib.h 2001-09-03 19:41:05.000000000 +0100
-+++ linux-atm-2.4.1/src/qgen/qlib.h 2005-08-13 10:22:44.000000000 +0100
-@@ -23,7 +23,6 @@
- #define Q_FATAL -1
-
-
--extern int q_dump;
- extern void q_report(int severity,const char *msg,...);
-
- #ifdef DUMP_MODE
-diff -Naur linux-atm-2.4.1-orig/src/sigd/proto.c linux-atm-2.4.1/src/sigd/proto.c
---- linux-atm-2.4.1-orig/src/sigd/proto.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/sigd/proto.c 2005-02-06 19:24:37.000000000 +0000
-@@ -259,6 +259,7 @@
- break;
- }
- default:
-+ ;
- }
- va_end(ap);
- if ((size = q_close(&dsc)) >= 0) to_signaling(sock->sig,q_buffer,size);
-@@ -288,6 +289,7 @@
- }
- break;
- default:
-+ ;
- }
- va_end(ap);
- }
-diff -Naur linux-atm-2.4.1-orig/src/switch/debug/debug.c linux-atm-2.4.1/src/switch/debug/debug.c
---- linux-atm-2.4.1-orig/src/switch/debug/debug.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/switch/debug/debug.c 2005-08-13 10:22:44.000000000 +0100
-@@ -18,7 +18,7 @@
- #define COMPONENT "FAB(debug)"
-
-
--#define PRV(call) ((FAB *) (call)->fab)
-+#define PRV(call) (*((FAB **) &(call)->fab))
-
-
- typedef struct _fab {
-diff -Naur linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c linux-atm-2.4.1/src/switch/tcp/tcpsw.c
---- linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c 2001-09-03 19:41:06.000000000 +0100
-+++ linux-atm-2.4.1/src/switch/tcp/tcpsw.c 2005-08-13 10:22:44.000000000 +0100
-@@ -27,7 +27,7 @@
-
- #define COMPONENT "FAB(tcp)"
-
--#define PRV(call) ((FAB *) (call)->fab)
-+#define PRV(call) (*((FAB **) &(call)->fab))
-
- #define MAX_VCI 1024
-
--- /dev/null
+--- linux-atm/src/maint/hediag.c.orig
++++ linux-atm/src/maint/hediag.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+ #include <sys/types.h>
+--- linux-atm/src/qgen/ql_y.y
++++ linux-atm/src/qgen/ql_y.y
+@@ -17,6 +17,8 @@
+ static STRUCTURE *structures = NULL;
+ static const char *abort_id; /* indicates abort flag */
+
++void yyerror(const char *s);
++int yylex ( void );
+
+ static NAME_LIST *get_name_list(const char *name)
+ {
+--- linux-atm/src/test/ispl_y.y
++++ linux-atm/src/test/ispl_y.y
+@@ -16,6 +16,7 @@
+
+ static struct atmsvc_msg msg;
+
++int yylex ( void );
+
+ %}
+
--- /dev/null
+diff -up linux-atm-2.5.1/src/arpd/arp.c.ftbfs linux-atm-2.5.1/src/arpd/arp.c
+--- linux-atm-2.5.1/src/arpd/arp.c.ftbfs 2007-07-11 11:27:15.000000000 -0400
++++ linux-atm-2.5.1/src/arpd/arp.c 2019-05-02 20:15:45.497338836 -0400
+@@ -15,7 +15,6 @@
+ #include <sys/types.h>
+ #include <sys/socket.h> /* for linux/if_arp.h */
+ #include <netinet/in.h> /* for ntohs, etc. */
+-#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */
+ #include <linux/types.h>
+ #include <linux/if_arp.h>
+ #include <linux/if_ether.h>
+diff -up linux-atm-2.5.1/src/arpd/itf.c.ftbfs linux-atm-2.5.1/src/arpd/itf.c
+--- linux-atm-2.5.1/src/arpd/itf.c.ftbfs 2007-07-11 11:27:15.000000000 -0400
++++ linux-atm-2.5.1/src/arpd/itf.c 2019-05-02 20:19:08.046499027 -0400
+@@ -12,7 +12,6 @@
+ #include <sys/types.h>
+ #include <linux/atmclip.h>
+ #include <sys/socket.h>
+-#define _LINUX_NETDEVICE_H /* glibc2 */
+ #include <linux/types.h>
+ #include <linux/if_arp.h>
+
--- /dev/null
+diff --git a/src/led/conn.c b/src/led/conn.c
+index 99da5e4..89639e1 100644
+--- a/src/led/conn.c
++++ b/src/led/conn.c
+@@ -405,7 +405,7 @@ Conn_t *accept_conn(Conn_t *conn)
+ {
+ Conn_t *new;
+ struct sockaddr_atmsvc addr;
+- size_t len;
++ socklen_t len;
+ int fd;
+ char buff[MAX_ATM_ADDR_LEN+1];
+