123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- From 23ed73623810a0894c8efd9eb79dd38483794a3b Mon Sep 17 00:00:00 2001
- From: Fabrice Fontaine <fabrice.fontaine@orange.com>
- Date: Thu, 20 Aug 2020 18:17:03 +0200
- Subject: [PATCH] fix build with gcc 10
- This will fix build failures with -fno-common which is enabled by
- default with gcc 10
- Fixes:
- - http://autobuild.buildroot.org/results/f296984c3851fc28341210e36ef1b55b2edac209
- Signed-off-by: Fabrice Fontaine <fabrice.fontaine@orange.com>
- [Retrieved from:
- https://github.com/Orange-OpenSource/igd2-for-linux/commit/23ed73623810a0894c8efd9eb79dd38483794a3b]
- Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
- ---
- linuxigd2/src/gatedevice.c | 37 +++++++++++++++++++++++++++++++++
- linuxigd2/src/gatedevice.h | 42 +++++++++-----------------------------
- linuxigd2/src/pinholev6.c | 2 ++
- linuxigd2/src/pinholev6.h | 2 +-
- linuxigd2/src/pmlist.c | 5 +++++
- linuxigd2/src/pmlist.h | 2 +-
- linuxigd2/src/wanipv6fw.h | 3 ---
- 7 files changed, 56 insertions(+), 37 deletions(-)
- diff --git a/linuxigd2/src/gatedevice.c b/linuxigd2/src/gatedevice.c
- index 8be53e5..a50525d 100644
- --- a/linuxigd2/src/gatedevice.c
- +++ b/linuxigd2/src/gatedevice.c
- @@ -41,6 +41,43 @@
- #include "wanipv6fw.h"
- #include "config.h"
-
- +// Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c
- +TimerThread gExpirationTimerThread;
- +
- +// IGD Device Globals
- +UpnpDevice_Handle deviceHandle;
- +UpnpDevice_Handle deviceHandleIPv6;
- +UpnpDevice_Handle deviceHandleIPv6UlaGua;
- +char *gateUDN;
- +char *wanUDN;
- +char *wanConnectionUDN;
- +char *lanUDN;
- +long int startup_time;
- +unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling
- +long int idle_time;
- +
- +// State Variables
- +char ConnectionType[50];
- +char PossibleConnectionTypes[50];
- +char ConnectionStatus[20];
- +char LastConnectionError[35];
- +long int AutoDisconnectTime;
- +long int IdleDisconnectTime;
- +long int WarnDisconnectDelay;
- +int RSIPAvailable;
- +int NATEnabled;
- +char ExternalIPAddress[INET6_ADDRSTRLEN];
- +int PortMappingNumberOfEntries;
- +int PortMappingEnabled;
- +char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46
- +long int SystemUpdateID;
- +
- +// WANEthLinkConfig state variables
- +char EthernetLinkStatus[12];
- +
- +char FirewallEnabled[2];
- +char InboundPinholeAllowed[2];
- +
- //Definitions for mapping expiration timer thread
- static ThreadPool gExpirationThreadPool;
- static ThreadPoolJob gEventUpdateJob;
- diff --git a/linuxigd2/src/gatedevice.h b/linuxigd2/src/gatedevice.h
- index 28d6b21..dbaa0c2 100644
- --- a/linuxigd2/src/gatedevice.h
- +++ b/linuxigd2/src/gatedevice.h
- @@ -33,42 +33,20 @@
- #include "util.h"
-
- // Thread which contains all kind of timers and threads used in gatedevice.c and deviceprotection.c
- -TimerThread gExpirationTimerThread;
- +extern TimerThread gExpirationTimerThread;
-
- // IGD Device Globals
- -UpnpDevice_Handle deviceHandle;
- -UpnpDevice_Handle deviceHandleIPv6;
- -UpnpDevice_Handle deviceHandleIPv6UlaGua;
- -char *gateUDN;
- -char *wanUDN;
- -char *wanConnectionUDN;
- -char *lanUDN;
- -long int startup_time;
- -unsigned long connection_stats[STATS_LIMIT]; // this is used for defining if connection is in idling
- -long int idle_time;
- -
- -// State Variables
- -char ConnectionType[50];
- -char PossibleConnectionTypes[50];
- -char ConnectionStatus[20];
- -char LastConnectionError[35];
- -long int AutoDisconnectTime;
- -long int IdleDisconnectTime;
- -long int WarnDisconnectDelay;
- -int RSIPAvailable;
- -int NATEnabled;
- -char ExternalIPAddress[INET6_ADDRSTRLEN];
- -int PortMappingNumberOfEntries;
- -int PortMappingEnabled;
- -char RemoteHost[INET6_ADDRSTRLEN]; // updated IPv6 addrss length 16 -> 46
- -long int SystemUpdateID;
- -
- -// WANEthLinkConfig state variables
- -char EthernetLinkStatus[12];
- +extern UpnpDevice_Handle deviceHandle;
- +extern UpnpDevice_Handle deviceHandleIPv6;
- +extern UpnpDevice_Handle deviceHandleIPv6UlaGua;
- +extern char *gateUDN;
- +extern char *wanUDN;
- +extern char *wanConnectionUDN;
- +extern char *lanUDN;
-
- // Linked list for portmapping entries
- -struct portMap *pmlist_Head;
- -struct portMap *pmlist_Current;
- +extern struct portMap *pmlist_Head;
- +extern struct portMap *pmlist_Current;
-
- // WanIPConnection Actions
- int EventHandler(Upnp_EventType EventType, void *Event, void *Cookie);
- diff --git a/linuxigd2/src/pinholev6.c b/linuxigd2/src/pinholev6.c
- index 44e8a19..78f886d 100644
- --- a/linuxigd2/src/pinholev6.c
- +++ b/linuxigd2/src/pinholev6.c
- @@ -41,6 +41,8 @@ extern "C" {
- #include "gatedevice.h"
- #include "pinholev6.h"
-
- +struct pinholev6 *ph_first;
- +
- static const char * add_rule_str = "ip6tables -I %s " //upnp forward chain
- "-i %s " //input interface
- "-o %s " //output interface
- diff --git a/linuxigd2/src/pinholev6.h b/linuxigd2/src/pinholev6.h
- index 295b9f9..353ae27 100644
- --- a/linuxigd2/src/pinholev6.h
- +++ b/linuxigd2/src/pinholev6.h
- @@ -37,7 +37,7 @@ struct pinholev6 {
-
- struct pinholev6 *next;
-
- -} *ph_first;
- +};
-
- struct phv6_expirationEvent
- {
- diff --git a/linuxigd2/src/pmlist.c b/linuxigd2/src/pmlist.c
- index 1b3fe05..95d0c61 100644
- --- a/linuxigd2/src/pmlist.c
- +++ b/linuxigd2/src/pmlist.c
- @@ -41,6 +41,11 @@
- #include "iptc.h"
- #endif
-
- +// Linked list for portmapping entries
- +struct portMap *pmlist_Head;
- +struct portMap *pmlist_Current;
- +struct portMap *pmlist_Tail;
- +
- /**
- * Create new portMap struct of rule to add iptables.
- * portMap-struct is internal presentation of iptables rule in IGD.
- diff --git a/linuxigd2/src/pmlist.h b/linuxigd2/src/pmlist.h
- index 436d228..017500d 100644
- --- a/linuxigd2/src/pmlist.h
- +++ b/linuxigd2/src/pmlist.h
- @@ -57,7 +57,7 @@ struct portMap
-
- struct portMap* next;
- struct portMap* prev;
- -} *pmlist_Head, *pmlist_Tail, *pmlist_Current;
- +};
-
- //struct portMap* pmlist_NewNode(void);
- struct portMap* pmlist_NewNode(int enabled, long int duration, char *remoteHost,
- diff --git a/linuxigd2/src/wanipv6fw.h b/linuxigd2/src/wanipv6fw.h
- index 55419fe..a50d267 100644
- --- a/linuxigd2/src/wanipv6fw.h
- +++ b/linuxigd2/src/wanipv6fw.h
- @@ -46,9 +46,6 @@ extern "C" {
- #define ERR_SRC_ADD_WILDCARD 708
- #define ERR_NO_TRAFFIC 709
-
- -char FirewallEnabled[2];
- -char InboundPinholeAllowed[2];
- -
- //-----------------------------------------------------------------------------
-
- int InitFirewallv6(void);
|