### Description
Upon interfacing with a specific carrier’s cloud relay service, upon the termination of the call by the called party after the phone rings, the tag value within the To header of the 408 response from the cloud relay side is altered. When Kamailio relays this 408 response to FreeSwitch, the sofia-sip protocol stack employed by FreeSwitch perceives it as a distinct dialog and does not promptly conclude the call. Given that the carrier’s personnel may lack the capability or the inclination to effect changes, we are looking to accommodate this scenario on the Kamailio side. Upon receipt of the 408 response from the carrier, we will determine if there has been a modification to the tag value in the To header. If such a change is detected, prior to forwarding the 408 response to FreeSwitch, we will rectify the tag value in the To header of the 408 response to correspond with the tag value from the 18x signaling messages.
Our system :
OS: Rocky Linux release 9.3 (Blue Onyx)
Kamailo vesion 5.7.3
### Troubleshooting
#### Reproduction
In the kamailio.cfg, invoke a Python script within the onreply_route[MANAGE_REPLY] block
The following two scenarios both result in content-related errors: 1. First, the ‘To’ header field is removed using msg.call_function(‘remove_hf’, ‘To’), and then the modified ‘To’ header field is added using msg.call_function(‘append_hf’, sip_to). 2. The tag value in the ‘To’ header field is changed back to the original value using msg.call_function(‘replace_hdrs’, toTag, originalToTag).
#### Log Messages
Dec 4 13:45:00 sipp102 ./kamailio[391888]: INFO: {2 92091734 INVITE a18e6868-2ca5-123e-a394-00163e347028} app_python3 [mod_Logger.c:172]: logger_LM_INFO(): recv 408, sip_to_field_val = <sip:130679333xx@39.106.31.1xx:5060>;tag=3b47-eb967d112cba8f7d5eb856259e056294 toUri = <sip:130679333xx@39.106.31.1xx:5060> toTag = tag=3b47-eb967d112cba8f7d5eb856259e056294 originalToTag = tag=as73409c31
Dec 4 13:45:00 sipp102 ./kamailio[391888]: CRITICAL: {2 92091734 INVITE a18e6868-2ca5-123e-a394-00163e347028} <core> [core/mem/q_malloc.c:515]: qm_free(): BUG: bad pointer 0x7f60c10a88a0 (out of memory block!) called from app_python3: python_msgobj.c: msg_call_function(258) - ignoring
#### SIP Traffic
Received 408:
Forwarded 408:

--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4050
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4050(a)github.com>
Hello all,
As you may have noticed, we have added CMake building support to kamailio. You can check the PR https://github.com/kamailio/kamailio/pull/4043 for details and https://github.com/kamailio/kamailio-wiki/blob/main/docs/tutorials/cmake/in… for docs on how to use it.
Currently all of the modules have their corresponding CMakeLists.txt and should compile successfully (apart from the tls_wolfss).
I say should as i have only being able to test them on my machine with the following:
Ubuntu 20.04.6 LTS
Linux 5.4.0-200-generic #220-Ubuntu SMP Fri Sep 27 13:19:16 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
cmake version 3.29.4 (min is 3.10, as defined in CMakelist.txt, found available in Ubuntu 18.04)
i will also add support for more OSes but for the time being there is support for Linux-based, DragonFly (for some reason) and Darwin (MacOS).
You can also introduce the files needed to in https://github.com/kamailio/kamailio/tree/master/cmake/os-specific, if you are willing to help and submit a PR.
Some modules i could not compile because of missing dependencies available on the distribution or require specific OS (db_oracle) are:
1.
db_oracle
2.
dnssec
3.
jwt
4.
microhttpd
5.
nats
6.
nsq
7.
ruxc
8.
secsipid_proc
9.
stirshaken
10.
tls_wolfssl (compilation error, need some more time to see why)
Any help on verifying whether the above modules (and of course all the rest), compile and run successfully will be awesome.
Any bug fixes and PRs are obviously welcome and appreciated.
Reporting issues is can be done of course on kamailio github page.
Cheers,
Xenofon
Hello,
thanks to a significant effort/contribution done by Xenofon Karamanos,
with some help from Alexandr Dubovikov during Kamailio Devel Meeting in
Dusseldorf, support for using CMake (https://cmake.org/) for building
Kamailio has been recently merged to git repository:
-
https://lists.kamailio.org/mailman3/hyperkitty/list/sr-dev@lists.kamailio.o…
The old build system based on manually crafted Makefiles got quite
complex during the past 20 years, discovering and managing dependencies
becoming harder and harder.
Right now, both old Makefiles and the new CMake-based build system are
available in order to help discovering what is missing in CMake files
from what people use with the old Makefiles.
However, the plan is to REMOVE the old Makefiles before freezing the
development for v6.0.x (like 12 days or so). The testing phase for
v6.0.x will be also used for tuning what is missing in the CMake files.
Of course, it not going to end up to be 100% same set of build commands,
but the goal is to have the commonly used ones. Besides that, CMake
should facilitate easier automate testing and packaging.
Therefore it is important that you upgrade your Kamailio build/packaging
process to use CMake and report if there is something that you cannot
achieve with it. Docs are available in the wiki at:
- https://www.kamailio.org/wikidocs/tutorials/cmake/default/
- https://www.kamailio.org/wikidocs/tutorials/cmake/custom/
You are encouraged to make pull requests to the above tutorials if you
find something missing or useful to be known by the others.
Another impact of the new CMake build system is to supported operating
systems. CMake is widely available, however the developers have access
to limited set of machines and they are also not very familiar with
every OS out there. Old Makefiles (tried to) have support for very old
OSes (from late 1990's early 2000's, like vax vms, sunos, ...), I
haven't seen any activity related to them in the community for many
years, therefore unless someone still uses such OS and contributes
support for them, they will be lost by the cmake build system.
Anyhow, in short, test on your favourite OS and report if something is
not working.
Cheers,
Daniel
--
Daniel-Constantin Mierla
| https://www.asipto.com
| SIP/Kamailio Consultancy, Training & Development Services
| Berlin - Germany
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Just a minor typo fix in a README.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4051
-- Commit Summary --
* misc: examples/ims/scscf/README - fix typo in .sql filename [skip ci]
-- File Changes --
M misc/examples/ims/scscf/README.md (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4051.patchhttps://github.com/kamailio/kamailio/pull/4051.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4051
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4051(a)github.com>
### Description
Using `cmake` to compile on MacOS (Darwin) 15.1.1 (Sequoia) fails.
### Troubleshooting
#### Reproduction
<!--
If the issue can be reproduced, describe how it can be done.
-->
#### Debugging Data
```
mkdir buildmac
cd buildmac/
cmake ..
make VERBOSE=1
/opt/local/bin/cmake -S/tmp/kamailio -B/tmp/kamailio/buildmac --check-build-system CMakeFiles/Makefile.cmake 0
/opt/local/bin/cmake -E cmake_progress_start /tmp/kamailio/buildmac/CMakeFiles /tmp/kamailio/buildmac//CMakeFiles/progress.marks
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f CMakeFiles/Makefile2 all
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f src/core/CMakeFiles/GenerateParser.dir/build.make src/core/CMakeFiles/GenerateParser.dir/depend
cd /tmp/kamailio/buildmac && /opt/local/bin/cmake -E cmake_depends "Unix Makefiles" /tmp/kamailio /tmp/kamailio/src/core /tmp/kamailio/buildmac /tmp/kamailio/buildmac/src/core /tmp/kamailio/buildmac/src/core/CMakeFiles/GenerateParser.dir/DependInfo.cmake "--color="
Dependencies file "src/core/CMakeFiles/GenerateParser.dir/lex.yy.c.o.d" is newer than depends file "/tmp/kamailio/buildmac/src/core/CMakeFiles/GenerateParser.dir/compiler_depend.internal".
Consolidate compiler generated dependencies of target GenerateParser
/Applications/Xcode.app/Contents/Developer/usr/bin/make -f src/core/CMakeFiles/GenerateParser.dir/build.make src/core/CMakeFiles/GenerateParser.dir/build
[ 0%] Building C object src/core/CMakeFiles/GenerateParser.dir/lex.yy.c.o
cd /tmp/kamailio/buildmac/src/core && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DARCH=\"arm64\" -DCFG_DIR=\"/usr/local/etc/kamailio/\" -DCOMPILER=\"16.0.0.16000026\" -DDBG_SR_MEMORY -DDISABLE_NAGLE -DDNS_IP_HACK -DFAST_LOCK -DFMSTATS -DF_MALLOC -DHAVE_RESOLV_RES -DKMSTATS -DKSR_PTHREAD_MUTEX_SHARED -DMALLOC_STATS -DNAME=\"kamailio\" -DOS=Darwin -DOS_QUOTED=\"Darwin\" -DPIC -DPKG_MALLOC -DQ_MALLOC -DRAW_SOCKS -DRUN_DIR=\"/var/run/kamailio\" -DSHARE_DIR=\"/usr/local/share/kamailio/\" -DSHM_MMAP -DSTATISTICS -DTLSF_MALLOC -DTLS_HOOKS -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLOCKLIST -DUSE_FUTEX -DUSE_MCAST -DUSE_NAPTR -DUSE_SCTP -DUSE_TCP -DUSE_TLS -DVERSION=\"6.0.0-dev2\" -DVERSIONVAL=6000000 -D__CPU_arm64 -D__OS_darwin -std=gnu11 -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.1.sdk -MD -MT src/core/CMakeFiles/GenerateParser.dir/lex.yy.c.o -MF CMakeFiles/GenerateParser.dir/lex.yy.c.o.d -o CMakeFiles/GenerateParser.dir/lex.yy.c.o -c /tmp/kamailio/src/core/lex.yy.c
In file included from /tmp/kamailio/src/core/cfg.lex:33:
In file included from /tmp/kamailio/src/core/globals.h:34:
In file included from /tmp/kamailio/src/core/ip_addr.h:39:
In file included from /tmp/kamailio/src/core/ut.h:46:
In file included from /tmp/kamailio/src/core/mem/shm_mem.h:32:
In file included from /tmp/kamailio/src/core/mem/shm.h:44:
In file included from /tmp/kamailio/src/core/mem/../lock_ops.h:92:
/tmp/kamailio/src/core/mem/../fastlock.h:130:2: error: "unknown architecture"
130 | #error "unknown architecture"
| ^
/tmp/kamailio/src/core/mem/../fastlock.h:294:2: error: "unknown architecture"
294 | #error "unknown architecture"
| ^
/tmp/kamailio/src/core/mem/../fastlock.h:317:2: error: call to undeclared function 'membar_getlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
317 | membar_getlock();
| ^
/tmp/kamailio/src/core/mem/../fastlock.h:328:2: error: call to undeclared function 'membar_getlock'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
328 | membar_getlock();
| ^
/tmp/kamailio/src/core/mem/../fastlock.h:436:2: error: "unknown architecture"
436 | #error "unknown architecture"
| ^
5 errors generated.
make[2]: *** [src/core/CMakeFiles/GenerateParser.dir/lex.yy.c.o] Error 1
make[1]: *** [src/core/CMakeFiles/GenerateParser.dir/all] Error 2
make: *** [all] Error 2
```
Compiling with the old Makefiles (just git clone and then `make Q=0`), the compile command looks like:
```
gcc -g -pthread -DKSR_PTHREAD_MUTEX_SHARED -Wunused-variable -Wuninitialized -DNAME='"kamailio"' -DVERSION='"6.0.0-dev3"' -DARCH='"arm64"' -DOS='darwin_' -DOS_QUOTED='"darwin"' -DCOMPILER='"gcc Apple clang version 16.0.0 (clang-1600.0.26.4)"' -D__CPU_arm64 -D__OS_darwin -DVERSIONVAL=6000000 -DCFG_DIR='"/opt/local/etc/kamailio/"' -DSHARE_DIR='"/opt/local/share/kamailio/"' -DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLOCKLIST -DUSE_NAPTR -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DUSE_SCTP -DHAVE_SOCKADDR_SA_LEN -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSGHDR_MSG_CONTROL -DUSE_ANON_MMAP -DNDEBUG -DHAVE_CONNECT_ECONNRESET_BUG -DHAVE_TIMEGM -DUSE_SIGWAIT -DHAVE_IP_MREQN -DUSE_PTHREAD_MUTEX -DUSE_SYSV_SEM -DHAVE_KQUEUE -DHAVE_SELECT -c core/lex.yy.c -o core/lex.yy.o
```
### Possible Solutions
<!--
If you found a solution or workaround for the issue, describe it. Ideally, provide a pull request with a fix.
-->
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
Kamailio master branch
```
* **Operating System**:
```
❯ uname -a
Darwin Mac 24.1.0 Darwin Kernel Version 24.1.0: Thu Oct 10 21:03:11 PDT 2024; root:xnu-11215.41.3~2/RELEASE_ARM64_T6020 arm64
❯ uname -m
arm64
❯ uname -p
arm
❯ cmake --version
cmake version 3.29.5
CMake suite maintained and supported by Kitware (kitware.com/cmake).
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4049
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4049(a)github.com>
Module: kamailio
Branch: master
Commit: 6235369e1deab4b87c999d5f00fb59b6609b3df6
URL: https://github.com/kamailio/kamailio/commit/6235369e1deab4b87c999d5f00fb59b…
Author: Xenofon Karamanos <xk(a)gilawa.com>
Committer: Xenofon Karamanos <xk(a)gilawa.com>
Date: 2024-12-03T14:19:43Z
cmake: Update platform-specific flags
- Update the platform-specific flags in the "os-specific.cmake" file for Linux and DragonFly BSD.
- Add new files "dragonfly.cmake" and "linux.cmake" in the "os-specific" directory to define the flags for DragonFly BSD and Linux, respectively.
- Add a new file "macos.cmake" in the "os-specific" directory to define the flags for Mac OS X.
- Update the "defs.cmake" file to print the availability of fast lock.
---
Added: cmake/os-specific/dragonfly.cmake
Added: cmake/os-specific/linux.cmake
Added: cmake/os-specific/macos.cmake
Modified: cmake/defs.cmake
Modified: cmake/os-specific.cmake
---
Diff: https://github.com/kamailio/kamailio/commit/6235369e1deab4b87c999d5f00fb59b…
Patch: https://github.com/kamailio/kamailio/commit/6235369e1deab4b87c999d5f00fb59b…
### Description
When calling inline functions using `app_python3s_exec()`, setting the level to critical using either `KSR.xlog.xcrit("foo\n")` or using `KSR.xlog.xlog("L_CRIT", "foo\n")` Do not set the level on the log line in a manner consistent with other log levels.
#### Reproduction
Kamailio code:
```
request_route {
app_python3s_exec("log_test");
. . .
}
```
Python code to contrast how info level logging and critical level logging differ:
```
def log_test():
KSR.xlog.xinfo("This line log level: xinfo = INFO\n");
KSR.xlog.xcrit("This line log level: xcrit = CRITICAL\n");
KSR.xlog.xlog("L_INFO", "This line log level: xlog = L_INFO\n");
KSR.xlog.xlog("L_CRIT", "This line log level: xlog = L_CRIT\n");
```
#### Log Messages
Log output. Note how the info level lines begin with INFO, but the critical level lines begin with an empty string:
```
2(8) INFO: <script>: This line log level: xinfo = INFO
2(8) : <script>: This line log level: xcrit = CRITICAL
2(8) INFO: <script>: This line log level: xlog = L_INFO
2(8) : <script>: This line log level: xlog = L_CRIT
```
### Possible Solutions
The critical level lines should begin with `CRITICAL` - this is what happens if the xlog function is called in Kamailio script. The output should look like this:
```
2(8) INFO: <script>: This line log level: xinfo = INFO
2(8) CRITICAL: <script>: This line log level: xcrit = CRITICAL
2(8) INFO: <script>: This line log level: xlog = L_INFO
2(8) CRITICAL: <script>: This line log level: xlog = L_CRIT
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.8.4 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 15:03:24 Nov 18 2024 with gcc 13.2.1
```
* **Operating System**:
Tested in docker on Windows 11 (WSL2) using alpine linux as a base. `/etc/os-releas`:
```
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.20.2
PRETTY_NAME="Alpine Linux v3.20"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4048
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4048(a)github.com>
Module: kamailio
Branch: master
Commit: 299db405e54741e4dc1ec04e6658d6bc99901edf
URL: https://github.com/kamailio/kamailio/commit/299db405e54741e4dc1ec04e6658d6b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-12-02T18:00:18+01:00
src/Makefiles: filter out CMakeLists.txt from modules discovery
---
Modified: src/Makefile
---
Diff: https://github.com/kamailio/kamailio/commit/299db405e54741e4dc1ec04e6658d6b…
Patch: https://github.com/kamailio/kamailio/commit/299db405e54741e4dc1ec04e6658d6b…
---
diff --git a/src/Makefile b/src/Makefile
index 28106b06852..4ba662535bb 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -118,10 +118,10 @@ endif
endif
else # config.mak doesn't need to be used
ifneq (,$(filter cfg config cfg-defs,$(word 1,$(MAKECMDGOALS))))
-# needed here to avoid starting a config submake
-# (e.g. rm -f config.mak; make config.mak), which would either require
+# needed here to avoid starting a config submake
+# (e.g. rm -f config.mak; make config.mak), which would either require
# double Makefile.defs defines execution (suboptimal), would loose
-# $(value ...) expansion or would cause some warning (if Makefile.defs exec.
+# $(value ...) expansion or would cause some warning (if Makefile.defs exec.
# is skipped in the "main" makefile invocation).
$(shell rm -rf config.mak)
config_mak=0
@@ -154,12 +154,13 @@ export extra_defs
# When group_include is used, we want: include_modules (based on group_include)
# - exclude_modules
-ifneq ($(modules_configured),1)
+ifneq ($(modules_configured),1)
#modules_all=$(filter-out modules/CVS,$(wildcard modules/*))
# create modules*_all vars
$(foreach mods,$(modules_dirs),$(eval \
- $(mods)_all=$$(filter-out $(mods)/CVS,$$(wildcard $(mods)/*))))
+ $(mods)_all=$$(filter-out $(mods)/CVS $(mods)/CMakeLists.txt, \
+ $$(wildcard $(mods)/*))))
#debugging
#$(foreach mods,$(modules_dirs),$(info "$(mods)_all=$($(mods)_all)"))
@@ -168,7 +169,7 @@ $(foreach mods,$(modules_dirs),$(eval \
$(mods)=$$(filter-out $$(addprefix $(mods)/, \
$$(exclude_modules) $$(static_modules)), \
$$(addprefix $(mods)/, $$(include_modules) )) ))
-else
+else
# Standard, old resultant set
$(foreach mods,$(modules_dirs),$(eval \
$(mods)_noinc=$$(filter-out $$(addprefix $(mods)/, \
@@ -214,14 +215,14 @@ C_INSTALL_UTILS= ../utils/kamctl
else
C_INSTALL_UTILS=
endif
-# list of scripts that should be installed along the core
+# list of scripts that should be installed along the core
# (here a script is something that doesn't have a Makefile)
C_INSTALL_SCRIPTS=
# list of extra configs that should be installed along the core
# Note: all the paths of the form /usr/*lib/$(CFG_NAME)/<module_dir>
# will be updated to the directory where the modules will be installed.
C_INSTALL_CFGS=
-# list of files that should be installed in the arch-independent
+# list of files that should be installed in the arch-independent
# directory (by default /usr/local/share/$(MAIN_NAME)))
C_INSTALL_SHARE=
@@ -237,11 +238,11 @@ tar_extra_args+=$(addprefix --exclude=$(notdir $(CURDIR))/, \
ifeq ($(CORE_TLS), 1)
tar_extra_args+=
else
- tar_extra_args+=--exclude=$(notdir $(CURDIR))/tls/*
+ tar_extra_args+=--exclude=$(notdir $(CURDIR))/tls/*
endif
ifneq ($(nodeb),)
- tar_extra_args+=--exclude=$(notdir $(CURDIR))/debian
+ tar_extra_args+=--exclude=$(notdir $(CURDIR))/debian
tar_name:=$(tar_name)_nodeb
endif
@@ -513,7 +514,7 @@ $(foreach mods,$(modules_dirs),$(eval $(call MODULES_RULES_template,$(mods))))
modules-all every-module: $(modules_dirs)
$(extra_objs):
- @echo "Extra objs: $(extra_objs)"
+ @echo "Extra objs: $(extra_objs)"
@for r in $(static_modules_path) "" ; do \
if [ -n "$$r" -a -r "$$r/Makefile" ]; then \
$(call oecho, "" ;) \
@@ -670,10 +671,10 @@ mk-install_dirs: $(cfg_prefix)/$(cfg_dir) $(bin_prefix)/$(bin_dir) \
$(modules_prefix)/$(modules_dir)$(mods) \
$(doc_prefix)/$(doc_dir)$(mods) )
-$(cfg_prefix)/$(cfg_dir):
+$(cfg_prefix)/$(cfg_dir):
mkdir -p $(cfg_prefix)/$(cfg_dir)
-$(run_prefix)/$(run_dir):
+$(run_prefix)/$(run_dir):
mkdir -p $(run_prefix)/$(run_dir)
$(bin_prefix)/$(bin_dir):
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
This PR adds initial support for building kamailio with CMake.
See [docs](https://github.com/kamailio/kamailio-wiki/pull/63) for more information on how to build and use CMake.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4043
-- Commit Summary --
* core/resovle: Fix compile if DNS_USE_CACHE not defined
* core/forward: Define ret even if USE_TCP is not defined
* Add build folder to ignore
* Add CMake support
* Core compiles and runs successfully on Linux
* Add some notes regarding definitions
* Add missing definitions
* CMake: Clean up and minor fixes
* CMake: Add install targets for binary,cfg,kamctl and kamdbctl
* CMake: Install utils (kamctl,kamdbctl and required) with sed changes
* CMake: Move notes out of pkg
* CMake: Add uninstall target
* CMake: FIx core building and installing
* CMake: Add lib support
* CMake: Add initial module support
* CMake: Fix formating
* Update gitignore/Add cmake-format file
* Add aarch64 options
* Make cross-compile available
* Format CMakeLists with cmake-format
* Add build docs support
* cmake: add github action
* cmake: Remove windows from matrix
* cmake: Add aarch64 cross-compile
* cmake: rename arm to aarch64 arch
* cmake: Add clang support
* cmake: Remove duplicate definition
* cmake: Upgrade warning to errors to match clang
* cmake: Add target host definition
* cmake: Allow only by trigger
* cmake: Add cmake to most (all) modules
* cmake: declare dproto
* cmake: Add MOD_NAMEID definitions to modules
* cmake: modify build_rpath
* Change rpath
* cmake: Move kamailio to root folder
* cmake: Modify run path of modules
* cmake: var/run path change
* cmake: make it abs path
* cmake: Add option to select groups
* cmake: Add all modules group
* cmake: Default group set to default modules
* cmake: groups update, fixup me
* cmake: Add Find MariaDB and MySQL cmake
* cmake: Add absolute path for /var/run (fixup with other commit)
* cmake: Only search for mariadb
* cmake: Update mysql cmake
* cmake: Remove app_mono
* cmake: modify FindMariaDBCLient.cmake
* cmake: Add description to use_mcast option
* cmake: Fix format
* cmake: Add config files to uninstall target
* cmake: Add FindRadius to discover radius client
* cmake: Modify dependencies so parser c files are generated when needed
* cmake: Policy to link against targets defined in other CMakelists.
* cmake: Define MOD_NAME for all modules
* cmake: Remove RPath from module's Cmake and use PRIVATE on all
* cmake: Add support to exclude modules
* cmake: Modules with external deps ready
* cmake: Add srdb2 CMakeLists.txt
* cmake: Add various Find[Module] for cmake
* cmake: Add FindXXX to dedicated folder
* cmake: Add CPack for packaging (experimental)
* camke: Clean up some commented sections
* cmake/modules: Add NETSNMP
* cmake/libs: Modify targets with lib_ and add more libs
* cmake/modules: Update ALL modules CMakeLists.txt
-- File Changes --
A .github/workflows/cmake_build.yml (84)
M .gitignore (2)
A CMakeLists.txt (61)
A CMakelists.notes (54)
A cmake/aarch64-toolchain.cmake (28)
A cmake/cmake-format.py (240)
A cmake/cmake_uninstall.cmake.in (32)
A cmake/modules/FindBerkeleyDB.cmake (182)
A cmake/modules/FindErlang.cmake (151)
A cmake/modules/FindLdap.cmake (119)
A cmake/modules/FindLibev.cmake (60)
A cmake/modules/FindMariaDBClient.cmake (68)
A cmake/modules/FindMySQL.cmake (964)
A cmake/modules/FindNETSNMP.cmake (76)
A cmake/modules/FindOracle.cmake (115)
A cmake/modules/FindRadius.cmake (51)
A cmake/modules_docs.cmake (74)
A src/CMakeLists.txt (164)
A src/compiler-specific.cmake (55)
A src/core/CMakeLists.txt (57)
A src/core/autover.h.in (6)
M src/core/forward.h (6)
M src/core/resolve.c (8)
A src/defs.cmake (318)
A src/lib/CMakeLists.txt (30)
A src/lib/ims/CMakeLists.txt (22)
A src/lib/print/CMakeLists.txt (18)
A src/lib/srdb1/CMakeLists.txt (17)
A src/lib/srdb2/CMakeLists.txt (15)
A src/lib/trie/CMakeLists.txt (16)
A src/modules/CMakeLists.txt (143)
A src/modules/acc/CMakeLists.txt (10)
A src/modules/acc_diameter/CMakeLists.txt (8)
A src/modules/acc_json/CMakeLists.txt (12)
A src/modules/acc_radius/CMakeLists.txt (11)
A src/modules/alias_db/CMakeLists.txt (10)
A src/modules/app_java/CMakeLists.txt (14)
A src/modules/app_jsdt/CMakeLists.txt (8)
A src/modules/app_lua/CMakeLists.txt (22)
A src/modules/app_perl/CMakeLists.txt (14)
A src/modules/app_python/CMakeLists.txt (11)
A src/modules/app_python3/CMakeLists.txt (10)
A src/modules/app_python3s/CMakeLists.txt (10)
A src/modules/app_ruby/CMakeLists.txt (10)
A src/modules/app_ruby_proc/CMakeLists.txt (12)
A src/modules/async/CMakeLists.txt (8)
A src/modules/auth/CMakeLists.txt (9)
A src/modules/auth_db/CMakeLists.txt (10)
A src/modules/auth_diameter/CMakeLists.txt (8)
A src/modules/auth_ephemeral/CMakeLists.txt (8)
A src/modules/auth_radius/CMakeLists.txt (11)
A src/modules/auth_xkeys/CMakeLists.txt (8)
A src/modules/avp/CMakeLists.txt (8)
A src/modules/avpops/CMakeLists.txt (10)
A src/modules/benchmark/CMakeLists.txt (8)
A src/modules/blst/CMakeLists.txt (8)
A src/modules/call_control/CMakeLists.txt (8)
A src/modules/call_obj/CMakeLists.txt (8)
A src/modules/carrierroute/CMakeLists.txt (11)
A src/modules/cdp/CMakeLists.txt (10)
A src/modules/cdp_avp/CMakeLists.txt (8)
A src/modules/cfg_db/CMakeLists.txt (10)
A src/modules/cfg_rpc/CMakeLists.txt (10)
A src/modules/cfgt/CMakeLists.txt (8)
A src/modules/cfgutils/CMakeLists.txt (8)
A src/modules/cnxcc/CMakeLists.txt (18)
A src/modules/corex/CMakeLists.txt (8)
A src/modules/counters/CMakeLists.txt (10)
A src/modules/cplc/CMakeLists.txt (12)
A src/modules/crypto/CMakeLists.txt (10)
A src/modules/ctl/CMakeLists.txt (12)
A src/modules/db2_ldap/CMakeLists.txt (22)
A src/modules/db2_ops/CMakeLists.txt (10)
A src/modules/db_berkeley/CMakeLists.txt (12)
A src/modules/db_cluster/CMakeLists.txt (10)
A src/modules/db_flatstore/CMakeLists.txt (10)
A src/modules/db_mongodb/CMakeLists.txt (17)
A src/modules/db_mysql/CMakeLists.txt (19)
A src/modules/db_oracle/CMakeLists.txt (16)
A src/modules/db_perlvdb/CMakeLists.txt (13)
A src/modules/db_postgres/CMakeLists.txt (14)
A src/modules/db_redis/CMakeLists.txt (21)
A src/modules/db_sqlite/CMakeLists.txt (12)
A src/modules/db_text/CMakeLists.txt (10)
A src/modules/db_unixodbc/CMakeLists.txt (13)
A src/modules/debugger/CMakeLists.txt (8)
A src/modules/dialog/CMakeLists.txt (10)
A src/modules/dialplan/CMakeLists.txt (10)
A src/modules/dispatcher/CMakeLists.txt (10)
A src/modules/diversion/CMakeLists.txt (8)
A src/modules/dlgs/CMakeLists.txt (8)
A src/modules/dmq/CMakeLists.txt (10)
A src/modules/dmq_usrloc/CMakeLists.txt (8)
A src/modules/dnssec/CMakeLists.txt (19)
A src/modules/domain/CMakeLists.txt (10)
A src/modules/domainpolicy/CMakeLists.txt (10)
A src/modules/drouting/CMakeLists.txt (10)
A src/modules/enum/CMakeLists.txt (8)
A src/modules/erlang/CMakeLists.txt (11)
A src/modules/evapi/CMakeLists.txt (10)
A src/modules/evrexec/CMakeLists.txt (8)
A src/modules/exec/CMakeLists.txt (8)
A src/modules/file_out/CMakeLists.txt (8)
A src/modules/gcrypt/CMakeLists.txt (12)
A src/modules/geoip/CMakeLists.txt (12)
A src/modules/geoip2/CMakeLists.txt (13)
A src/modules/group/CMakeLists.txt (10)
A src/modules/groups.cmake (686)
A src/modules/gzcompress/CMakeLists.txt (12)
A src/modules/h350/CMakeLists.txt (8)
A src/modules/htable/CMakeLists.txt (10)
A src/modules/http_async_client/CMakeLists.txt (16)
A src/modules/http_client/CMakeLists.txt (10)
A src/modules/imc/CMakeLists.txt (10)
A src/modules/ims_auth/CMakeLists.txt (10)
A src/modules/ims_charging/CMakeLists.txt (10)
A src/modules/ims_dialog/CMakeLists.txt (10)
A src/modules/ims_diameter_server/CMakeLists.txt (10)
A src/modules/ims_icscf/CMakeLists.txt (12)
A src/modules/ims_ipsec_pcscf/CMakeLists.txt (14)
A src/modules/ims_isc/CMakeLists.txt (11)
A src/modules/ims_ocs/CMakeLists.txt (10)
A src/modules/ims_qos/CMakeLists.txt (10)
A src/modules/ims_qos_npn/CMakeLists.txt (10)
A src/modules/ims_registrar_pcscf/CMakeLists.txt (10)
A src/modules/ims_registrar_scscf/CMakeLists.txt (10)
A src/modules/ims_usrloc_pcscf/CMakeLists.txt (10)
A src/modules/ims_usrloc_scscf/CMakeLists.txt (10)
A src/modules/influxdbc/CMakeLists.txt (8)
A src/modules/ipops/CMakeLists.txt (8)
A src/modules/jansson/CMakeLists.txt (12)
A src/modules/janssonrpcc/CMakeLists.txt (16)
A src/modules/json/CMakeLists.txt (16)
A src/modules/jsonrpcc/CMakeLists.txt (16)
A src/modules/jsonrpcs/CMakeLists.txt (8)
A src/modules/jwt/CMakeLists.txt (16)
A src/modules/kafka/CMakeLists.txt (16)
A src/modules/kazoo/CMakeLists.txt (33)
A src/modules/keepalive/CMakeLists.txt (10)
A src/modules/kemix/CMakeLists.txt (8)
A src/modules/kex/CMakeLists.txt (8)
A src/modules/lcr/CMakeLists.txt (19)
A src/modules/ldap/CMakeLists.txt (10)
A src/modules/log_custom/CMakeLists.txt (8)
A src/modules/log_systemd/CMakeLists.txt (12)
A src/modules/lost/CMakeLists.txt (11)
A src/modules/lrkproxy/CMakeLists.txt (8)
A src/modules/lwsc/CMakeLists.txt (12)
A src/modules/mangler/CMakeLists.txt (8)
A src/modules/math/CMakeLists.txt (8)
A src/modules/matrix/CMakeLists.txt (10)
A src/modules/maxfwd/CMakeLists.txt (8)
A src/modules/mediaproxy/CMakeLists.txt (8)
A src/modules/memcached/CMakeLists.txt (12)
A src/modules/microhttpd/CMakeLists.txt (13)
A src/modules/misc_radius/CMakeLists.txt (12)
A src/modules/misctest/CMakeLists.txt (8)
A src/modules/mohqueue/CMakeLists.txt (10)
A src/modules/mqtt/CMakeLists.txt (14)
A src/modules/mqueue/CMakeLists.txt (10)
A src/modules/msilo/CMakeLists.txt (10)
A src/modules/msrp/CMakeLists.txt (8)
A src/modules/mtree/CMakeLists.txt (10)
A src/modules/nat_traversal/CMakeLists.txt (8)
A src/modules/nathelper/CMakeLists.txt (8)
A src/modules/nats/CMakeLists.txt (12)
A src/modules/ndb_cassandra/CMakeLists.txt (12)
A src/modules/ndb_mongodb/CMakeLists.txt (12)
A src/modules/ndb_redis/CMakeLists.txt (12)
A src/modules/nghttp2/CMakeLists.txt (20)
A src/modules/nosip/CMakeLists.txt (8)
A src/modules/nsq/CMakeLists.txt (29)
A src/modules/outbound/CMakeLists.txt (10)
A src/modules/p_usrloc/CMakeLists.txt (10)
A src/modules/path/CMakeLists.txt (8)
A src/modules/pdb/CMakeLists.txt (8)
A src/modules/pdt/CMakeLists.txt (10)
A src/modules/peering/CMakeLists.txt (11)
A src/modules/permissions/CMakeLists.txt (10)
A src/modules/phonenum/CMakeLists.txt (49)
A src/modules/pike/CMakeLists.txt (8)
A src/modules/pipelimit/CMakeLists.txt (10)
A src/modules/posops/CMakeLists.txt (8)
A src/modules/prefix_route/CMakeLists.txt (10)
A src/modules/presence/CMakeLists.txt (14)
A src/modules/presence_conference/CMakeLists.txt (10)
A src/modules/presence_dialoginfo/CMakeLists.txt (10)
A src/modules/presence_mwi/CMakeLists.txt (8)
A src/modules/presence_profile/CMakeLists.txt (8)
A src/modules/presence_reginfo/CMakeLists.txt (10)
A src/modules/presence_xml/CMakeLists.txt (13)
A src/modules/print/CMakeLists.txt (8)
A src/modules/print_lib/CMakeLists.txt (11)
A src/modules/pua/CMakeLists.txt (12)
A src/modules/pua_bla/CMakeLists.txt (10)
A src/modules/pua_dialoginfo/CMakeLists.txt (10)
A src/modules/pua_json/CMakeLists.txt (16)
A src/modules/pua_reginfo/CMakeLists.txt (10)
A src/modules/pua_rpc/CMakeLists.txt (9)
A src/modules/pua_usrloc/CMakeLists.txt (10)
A src/modules/pua_xmpp/CMakeLists.txt (10)
A src/modules/pv/CMakeLists.txt (9)
A src/modules/pv_headers/CMakeLists.txt (8)
A src/modules/pvtpl/CMakeLists.txt (8)
A src/modules/qos/CMakeLists.txt (8)
A src/modules/rabbitmq/CMakeLists.txt (26)
A src/modules/ratelimit/CMakeLists.txt (8)
A src/modules/regex/CMakeLists.txt (17)
A src/modules/registrar/CMakeLists.txt (9)
A src/modules/rls/CMakeLists.txt (15)
A src/modules/rr/CMakeLists.txt (8)
A src/modules/rtimer/CMakeLists.txt (8)
A src/modules/rtjson/CMakeLists.txt (8)
A src/modules/rtp_media_server/CMakeLists.txt (24)
A src/modules/rtpengine/CMakeLists.txt (10)
A src/modules/rtpproxy/CMakeLists.txt (10)
A src/modules/ruxc/CMakeLists.txt (18)
A src/modules/sanity/CMakeLists.txt (8)
A src/modules/sca/CMakeLists.txt (10)
A src/modules/sctp/CMakeLists.txt (11)
A src/modules/sdpops/CMakeLists.txt (8)
A src/modules/seas/CMakeLists.txt (8)
A src/modules/secfilter/CMakeLists.txt (10)
A src/modules/secsipid/CMakeLists.txt (8)
A src/modules/secsipid_proc/CMakeLists.txt (21)
A src/modules/sipcapture/CMakeLists.txt (10)
A src/modules/sipdump/CMakeLists.txt (8)
A src/modules/sipjson/CMakeLists.txt (8)
A src/modules/siprepo/CMakeLists.txt (8)
A src/modules/sipt/CMakeLists.txt (8)
A src/modules/siptrace/CMakeLists.txt (10)
A src/modules/siputils/CMakeLists.txt (10)
A src/modules/sl/CMakeLists.txt (8)
A src/modules/slack/CMakeLists.txt (10)
A src/modules/sms/CMakeLists.txt (8)
A src/modules/smsops/CMakeLists.txt (8)
A src/modules/snmpstats/CMakeLists.txt (23)
A src/modules/speeddial/CMakeLists.txt (10)
A src/modules/sqlops/CMakeLists.txt (10)
A src/modules/ss7ops/CMakeLists.txt (8)
A src/modules/sst/CMakeLists.txt (8)
A src/modules/statistics/CMakeLists.txt (8)
A src/modules/statsc/CMakeLists.txt (8)
A src/modules/statsd/CMakeLists.txt (8)
A src/modules/stirshaken/CMakeLists.txt (12)
A src/modules/stun/CMakeLists.txt (8)
A src/modules/sworker/CMakeLists.txt (8)
A src/modules/systemdops/CMakeLists.txt (12)
A src/modules/tcpops/CMakeLists.txt (8)
A src/modules/textops/CMakeLists.txt (8)
A src/modules/textopsx/CMakeLists.txt (8)
A src/modules/timer/CMakeLists.txt (8)
A src/modules/tls/CMakeLists.txt (46)
A src/modules/tls_wolfssl/CMakeLists.txt (15)
A src/modules/tlsa/CMakeLists.txt (35)
A src/modules/tm/CMakeLists.txt (12)
A src/modules/tmrec/CMakeLists.txt (8)
A src/modules/tmx/CMakeLists.txt (9)
A src/modules/topoh/CMakeLists.txt (8)
A src/modules/topos/CMakeLists.txt (10)
A src/modules/topos_redis/CMakeLists.txt (12)
A src/modules/tsilo/CMakeLists.txt (12)
A src/modules/uac/CMakeLists.txt (10)
A src/modules/uac_redirect/CMakeLists.txt (8)
A src/modules/uid_auth_db/CMakeLists.txt (9)
A src/modules/uid_avp_db/CMakeLists.txt (9)
A src/modules/uid_domain/CMakeLists.txt (10)
A src/modules/uid_gflags/CMakeLists.txt (10)
A src/modules/uid_uri_db/CMakeLists.txt (10)
A src/modules/uri_db/CMakeLists.txt (10)
A src/modules/userblocklist/CMakeLists.txt (10)
A src/modules/usrloc/CMakeLists.txt (10)
A src/modules/utils/CMakeLists.txt (12)
A src/modules/uuid/CMakeLists.txt (12)
A src/modules/websocket/CMakeLists.txt (17)
A src/modules/xcap_client/CMakeLists.txt (12)
A src/modules/xcap_server/CMakeLists.txt (12)
A src/modules/xhttp/CMakeLists.txt (8)
A src/modules/xhttp_pi/CMakeLists.txt (12)
A src/modules/xhttp_prom/CMakeLists.txt (8)
A src/modules/xhttp_rpc/CMakeLists.txt (8)
A src/modules/xlog/CMakeLists.txt (8)
A src/modules/xmlops/CMakeLists.txt (10)
A src/modules/xmlrpc/CMakeLists.txt (12)
A src/modules/xmpp/CMakeLists.txt (13)
A src/modules/xprint/CMakeLists.txt (8)
A src/os-specific.cmake (97)
A utils/kamctl/CMakeLists.txt (196)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4043.patchhttps://github.com/kamailio/kamailio/pull/4043.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4043
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4043(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
- [x] Related to issue #3814
#### Description
<!-- Describe your changes in detail -->
When the fixup is done in main using fix_rls function (fixing the route lists in cfg file), all the children inherit the memory allocated as a copy that needs separate management.
The function responsible for the fixup (fix_actions) is also used to call the free_fixup function with an added argument.
Then on main, we call the free_rls ( as fix_rls) on two separate occasions. Once in cleanup() function for the main process and once in the sig_usr() function for each of the children.
This seems to work fine and after debugging with `file_out` fixups, I can no longer see memory leaks due to the malloced memory in one of the fixups.
- main.c: Call free_rls() in cleanup() function to clean route lists and fixed up parameters in main process.
- main.c: Call free_rls() in sig_usr() function to clean route lists and fixed up parameters in child processes.
My question is, after a parameter is fixed, is it saved somewhere else, therefore we can immediately free the fix-up resources and not on shutdown?
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4023
-- Commit Summary --
* core: Add fix_actions function parameter in fix_actions to free fixed up resources
-- File Changes --
M src/core/route.c (61)
M src/core/route.h (3)
M src/core/rvalue.c (2)
M src/core/switch.c (4)
M src/main.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4023.patchhttps://github.com/kamailio/kamailio/pull/4023.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4023
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4023(a)github.com>
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [x] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [x] Tested changes locally
#### Description
While working on an IMS setup, I and @lynxis encountered some cases where it was unclear why some of the related modules would not load. They just did not without printing any messages as to why. I have identified a few cases where logging was missing and added it, in the hope that it might be helpful.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4035
-- Commit Summary --
* ims_scscf: Add more logging to ipsec_create()
* ims_ipsec_pcscf: Add error logging
-- File Changes --
M src/modules/ims_ipsec_pcscf/cmd.c (14)
M src/modules/ims_ipsec_pcscf/ims_ipsec_pcscf_mod.c (9)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4035.patchhttps://github.com/kamailio/kamailio/pull/4035.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4035
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4035(a)github.com>
- print entire socket address for ease of debugging with empty mask ip
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### Pre-Submission Checklist
<!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply -->
<!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above-->
<!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [ ] PR should be backported to stable branches
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4039
-- Commit Summary --
* topoh: improve debug info for topoh crash
-- File Changes --
M src/modules/topoh/topoh_mod.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4039.patchhttps://github.com/kamailio/kamailio/pull/4039.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4039
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4039(a)github.com>
```
make[2]: --libs: No such file or directory
CC (gcc) [M db_mongodb.so] db_mongodb_mod.o
CC (gcc) [M db_mongodb.so] mongodb_connection.o
CC (gcc) [M db_mongodb.so] mongodb_dbase.o
mongodb_dbase.c: In function ‘db_mongodb_convert_result’:
mongodb_dbase.c:776:25: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
776 | jstr = bson_as_json(itdoc, NULL);
| ^~~~
In file included from /usr/include/libmongoc-1.0/mongoc/mongoc.h:22,
from /usr/include/libmongoc-1.0/mongoc.h:18,
from mongodb_connection.h:26,
from mongodb_dbase.c:27:
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_dbase.c: In function ‘db_mongodb_query’:
mongodb_dbase.c:1003:17: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
1003 | jstr = bson_as_json(seldoc, NULL);
| ^~~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_dbase.c:1039:25: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
1039 | jstr = bson_as_json(mgcon->colsdoc, NULL);
| ^~~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_dbase.c: In function ‘db_mongodb_insert’:
mongodb_dbase.c:1177:17: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
1177 | jstr = bson_as_json(doc, NULL);
| ^~~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_dbase.c: In function ‘db_mongodb_delete’:
mongodb_dbase.c:1271:17: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
1271 | jstr = bson_as_json(doc, NULL);
| ^~~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
make[3]: Entering directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1'
make[3]: 'libsrdb1.so.1.0' is up to date.
make[3]: Leaving directory '/root/rpmbuild/BUILD/kamailio-6.0.0-dev3/src/lib/srdb1'
LD (gcc) [M db_mongodb.so] db_mongodb.so
make[2]: --libs: No such file or directory
make[2]: --libs: No such file or directory
CC (gcc) [M ndb_mongodb.so] mongodb_client.o
mongodb_client.c: In function ‘mongodbc_exec_cmd’:
mongodb_client.c:266:17: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
266 | rpl->jsonrpl.s = bson_as_json(&reply, NULL);
| ^~~
In file included from /usr/include/libmongoc-1.0/mongoc/mongoc.h:22,
from /usr/include/libmongoc-1.0/mongoc.h:18,
from mongodb_client.h:25,
from mongodb_client.c:34:
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_client.c:271:25: warning: ‘mongoc_collection_command’ is deprecated: Use mongoc_collection_command_simple instead [-Wdeprecated-declarations]
271 | rpl->cursor = mongoc_collection_command(rpl->collection,
| ^~~
In file included from /usr/include/libmongoc-1.0/mongoc/mongoc-client.h:26,
from /usr/include/libmongoc-1.0/mongoc/mongoc-bulkwrite.h:22,
from /usr/include/libmongoc-1.0/mongoc/mongoc.h:28:
/usr/include/libmongoc-1.0/mongoc/mongoc-collection.h:51:1: note: declared here
51 | mongoc_collection_command (mongoc_collection_t *collection,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
mongodb_client.c:306:17: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
306 | rpl->jsonrpl.s = bson_as_json(cdoc, NULL);
| ^~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
mongodb_client.c: In function ‘mongodbc_next_reply’:
mongodb_client.c:482:9: warning: ‘bson_as_json’ is deprecated: Use bson_as_legacy_extended_json instead [-Wdeprecated-declarations]
482 | rpl->jsonrpl.s = bson_as_json(cdoc, NULL);
| ^~~
/usr/include/libbson-1.0/bson/bson.h:535:1: note: declared here
535 | bson_as_json (const bson_t *bson, size_t *length) BSON_GNUC_DEPRECATED_FOR (bson_as_legacy_extended_json);
| ^~~~~~~~~~~~
CC (gcc) [M ndb_mongodb.so] ndb_mongodb_mod.o
LD (gcc) [M ndb_mongodb.so] ndb_mongodb.so
make[2]: --libs: No such file or directory
make[2]: --libs: No such file or directory
CC (gcc) [M db_mysql.so] db_mysql.o
CC (gcc) [M db_mysql.so] km_db_mysql.o
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4037
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4037(a)github.com>