From 4d3a7b124e08a597d5f01fb2a71f3a4677a360a9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 24 May 2011 21:31:53 +0200 Subject: socket: Skip ifa's without ifa->ifa_addr Apparently getifaddrs() returns ifa's without an ifa_addr set. --- src/socket.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/socket.c b/src/socket.c index 66907c8c..901b8cdf 100644 --- a/src/socket.c +++ b/src/socket.c @@ -169,6 +169,8 @@ int osmo_sockaddr_is_local(struct sockaddr *addr, socklen_t addrlen) } for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { + if (!ifa->ifa_addr) + continue; if (sockaddr_equal(ifa->ifa_addr, addr, addrlen)) return 1; } -- cgit v1.2.3 From 08de66dd5eb57e39bc5d9f4dfcfd3febec458c11 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 29 May 2011 15:26:48 +0200 Subject: socket: remove unused IPv4 related header includes --- src/socket.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/socket.c b/src/socket.c index 901b8cdf..014bbaa2 100644 --- a/src/socket.c +++ b/src/socket.c @@ -6,10 +6,8 @@ #include #include -#include #include #include -#include #include #include -- cgit v1.2.3 From cd623ebb560d33de2b29ad3d93af5ebbd30c85e1 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 29 May 2011 15:37:38 +0200 Subject: bitvec: add missing stdint.h --- include/osmocom/core/bitvec.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/osmocom/core/bitvec.h b/include/osmocom/core/bitvec.h index bbe1641b..7cb8a873 100644 --- a/include/osmocom/core/bitvec.h +++ b/include/osmocom/core/bitvec.h @@ -23,6 +23,7 @@ * */ +#include /* In GSM mac blocks, every bit can be 0 or 1, or L or H. L/H are * defined relative to the 0x2b padding pattern */ -- cgit v1.2.3 From 8c6be75d4f73fe16d0493c9de636019dd52bcf00 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 29 May 2011 15:37:49 +0200 Subject: gsm/sysinfo: don't include netinet/in.h --- src/gsm/sysinfo.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gsm/sysinfo.c b/src/gsm/sysinfo.c index 0dbff3ae..73225b15 100644 --- a/src/gsm/sysinfo.c +++ b/src/gsm/sysinfo.c @@ -23,7 +23,6 @@ #include #include #include -#include #include #include -- cgit v1.2.3 From f2699501bc20a1dc5ee965ca1cbb8f18a3471ff8 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Sun, 29 May 2011 15:39:04 +0200 Subject: gsm/sysinfo: Fix rsl2sitype array size 0xff is the maximum value ... so there is 256 elements. Signed-off-by: Sylvain Munaut --- src/gsm/sysinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gsm/sysinfo.c b/src/gsm/sysinfo.c index 73225b15..9df18877 100644 --- a/src/gsm/sysinfo.c +++ b/src/gsm/sysinfo.c @@ -70,7 +70,7 @@ static const uint8_t sitype2rsl[_MAX_SYSINFO_TYPE] = { [SYSINFO_TYPE_5ter] = RSL_SYSTEM_INFO_5ter, }; -static const uint8_t rsl2sitype[0xff] = { +static const uint8_t rsl2sitype[256] = { [RSL_SYSTEM_INFO_1] = SYSINFO_TYPE_1, [RSL_SYSTEM_INFO_2] = SYSINFO_TYPE_2, [RSL_SYSTEM_INFO_3] = SYSINFO_TYPE_3, -- cgit v1.2.3 From 3710e462f85824cd9d84b3f95e6b2ea694119ff9 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Sun, 29 May 2011 19:48:15 +0200 Subject: gsmtap_util: Remove msg_free from the wq call back write_queue already frees the message after the callback is called. Signed-off-by: Sylvain Munaut --- src/gsmtap_util.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/gsmtap_util.c b/src/gsmtap_util.c index 3d20bfc2..95458657 100644 --- a/src/gsmtap_util.c +++ b/src/gsmtap_util.c @@ -197,16 +197,13 @@ static int gsmtap_wq_w_cb(struct osmo_fd *ofd, struct msgb *msg) rc = write(ofd->fd, msg->data, msg->len); if (rc < 0) { perror("writing msgb to gsmtap fd"); - msgb_free(msg); return rc; } if (rc != msg->len) { perror("short write to gsmtap fd"); - msgb_free(msg); return -EIO; } - msgb_free(msg); return 0; } -- cgit v1.2.3 From 271c43b0ae533c0371b2380f91e79dc97bdd0bcc Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 31 May 2011 00:42:38 +0200 Subject: abis_nm: Forward declare the used enums This file is using enums in that might or might not be known to the compiler. Forward declare them. --- include/osmocom/gsm/abis_nm.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h index dcc8d4bb..85345575 100644 --- a/include/osmocom/gsm/abis_nm.h +++ b/include/osmocom/gsm/abis_nm.h @@ -4,6 +4,9 @@ #include #include +enum abis_nm_msgtype; +enum gsm_phys_chan_config; + const enum abis_nm_msgtype abis_nm_reports[4]; const enum abis_nm_msgtype abis_nm_no_ack_nack[3]; const enum abis_nm_msgtype abis_nm_sw_load_msgs[9]; -- cgit v1.2.3 From f9e0746add961552366416e1f55878baf20be44b Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 31 May 2011 17:47:54 +0200 Subject: socket: getaddrinfo(): set AI_PASSIVE if we want to bind This will tell getaddrinfo() that we want a INADDR_ANY style socket --- src/socket.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/socket.c b/src/socket.c index 014bbaa2..0be98b93 100644 --- a/src/socket.c +++ b/src/socket.c @@ -31,6 +31,9 @@ int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto, hints.ai_flags = 0; hints.ai_protocol = proto; + if (connect0_bind1) + hints.ai_flags |= AI_PASSIVE; + rc = getaddrinfo(host, portbuf, &hints, &result); if (rc != 0) { perror("getaddrinfo returned NULL"); -- cgit v1.2.3 From fc90646d489ed85c73b5b809e3b74851fa57b3d9 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 5 Jun 2011 11:22:59 +0200 Subject: abis_nm.h: Add include to gsm_utils.h --- include/osmocom/gsm/abis_nm.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/osmocom/gsm/abis_nm.h b/include/osmocom/gsm/abis_nm.h index 85345575..3f5335e2 100644 --- a/include/osmocom/gsm/abis_nm.h +++ b/include/osmocom/gsm/abis_nm.h @@ -2,6 +2,7 @@ #define _OSMO_GSM_ABIS_NM_H #include +#include #include enum abis_nm_msgtype; -- cgit v1.2.3 From ee50081daa3a80586f3044056517337a8e8fac9f Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 5 Jun 2011 19:53:56 +0200 Subject: add missing #include file to sysinfo.h (otherwise 'struct value_string' would not be defined) --- include/osmocom/gsm/sysinfo.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/osmocom/gsm/sysinfo.h b/include/osmocom/gsm/sysinfo.h index a66f3f19..6c81134e 100644 --- a/include/osmocom/gsm/sysinfo.h +++ b/include/osmocom/gsm/sysinfo.h @@ -1,6 +1,7 @@ #ifndef _OSMO_GSM_SYSINFO_H #define _OSMO_GSM_SYSINFO_H +#include #include enum osmo_sysinfo_type { -- cgit v1.2.3