Skip to content

Commit

Permalink
core: fix Makefile.defs errors to include raw socket support
Browse files Browse the repository at this point in the history
Compiling kamailio on `linux`, `gnu_kfreebsd`, and `freebsd` -
unless `RAW_SOCKS` is set up otherwise -
should automatically enable raw sockets, according to `Makefile.defs`
[L97][]:

    # enable raw sockets
    RAW_SOCKS ?= yes
    ifeq ($(RAW_SOCKS),1)
        RAW_SOCKS = yes
    endif

By all indications, if `RAW_SOCKS` is unset, set to `1`, or set to `yes`
before this `ifeq` statement, it will be set to `yes` after the `endif`.

The issue arises later on in `Makefile.defs` [L1758][] (and also
[L1808][] and [L1892]):

    #os specific stuff
    ifeq ($(OS), linux)
    # by default use futexes if available
        use_futex= yes
        C_DEFS+=-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD \
                -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H \
                -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN
        ifneq ($(RAW_SOCKS), yes)  ### <--- The issue ###
            C_DEFS+= -DUSE_RAW_SOCKS
        endif

Clearly, the `ifneq` should be `ifeq`.

This commit fixes the issue by making the above changes, and `kamailio`
should compile on Linux - by default - with raw sockets support unless
`RAW_SOCKS` is explicitly set prior to evaluation to something other
than `yes` or `1`.

[L97]: https://github.com/kamailio/kamailio/blob/a57a96f8fea3a5f7bff068ab0ea0d4c17c15bb65/src/Makefile.defs#L97
[L1758]: https://github.com/kamailio/kamailio/blob/a57a96f8fea3a5f7bff068ab0ea0d4c17c15bb65/src/Makefile.defs#L1758
[L1808]: https://github.com/kamailio/kamailio/blob/a57a96f8fea3a5f7bff068ab0ea0d4c17c15bb65/src/Makefile.defs#L1808
[L1892]: https://github.com/kamailio/kamailio/blob/a57a96f8fea3a5f7bff068ab0ea0d4c17c15bb65/src/Makefile.defs#L1892

(cherry picked from commit 1d4ee77)
  • Loading branch information
Edwin Fine authored and henningw committed Jun 14, 2018
1 parent e4ff0ab commit a04c931
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/Makefile.defs
Expand Up @@ -1755,7 +1755,7 @@ ifeq ($(OS), linux)
C_DEFS+=-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD \
-DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H \
-DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DHAVE_IP_MREQN
ifneq ($(RAW_SOCKS), yes)
ifeq ($(RAW_SOCKS), yes)
C_DEFS+= -DUSE_RAW_SOCKS
endif
ifneq ($(found_lock_method), yes)
Expand Down Expand Up @@ -1805,7 +1805,7 @@ ifeq ($(OS), gnu_kfreebsd)
C_DEFS+=-DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD \
-DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H \
-DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER
ifneq ($(RAW_SOCKS), yes)
ifeq ($(RAW_SOCKS), yes)
C_DEFS+= -DUSE_RAW_SOCKS
endif
ifneq ($(found_lock_method), yes)
Expand Down Expand Up @@ -1889,7 +1889,7 @@ ifeq ($(OS), freebsd)
-DHAVE_SCHED_YIELD -DHAVE_MSGHDR_MSG_CONTROL \
-DHAVE_CONNECT_ECONNRESET_BUG -DHAVE_TIMEGM \
-DHAVE_NETINET_IN_SYSTM -DHAVE_IP_MREQN
ifneq ($(RAW_SOCKS), yes)
ifeq ($(RAW_SOCKS), yes)
C_DEFS+= -DUSE_RAW_SOCKS
endif
ifneq ($(found_lock_method), yes)
Expand Down

0 comments on commit a04c931

Please sign in to comment.