### Description
When Kamailio listening IP address is assigned to a secondary network interface and this card does not use for the default route, then at the L3-network level selected wrong IP address and in the "Recrod-Route" and "Via" headers used correct Kamailio IP.
For example in the attached file, frame 5 and fragments in frames 3,4. [invite-from-wrong-ip.pcap.gz](https://github.com/kamailio/kamailio/files/11…
![image](https://github.com/kamailio/kamailio/assets/2562241/68696b29-b37c-4d0a-b349-97054db14727)
#### Reproduction
Our use case.
1. create a new virtual machine with a random IP address in the AWS cloud;
2. create a new network interface card with a static IP address;
3. attach a new network interface to a virtual machine, in Linux should be configured only one default route via the first network interface with a dynamic IP address;
4. start Kamailio daemon with configured listening TCP/socket with the IP address from the secondary IP card.
5. make a call via Kamailio.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3486
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3486(a)github.com>
#### 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
- [ ] Tested changes locally
- [x] Related to issues #3011 #3222 #3259
#### Description
investigate changes needed for openssl 3.0
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3482
-- Commit Summary --
* tls: OPENSSL_fork_[prepare|parent|child] deprecated at openssl 3.0
-- File Changes --
M src/modules/tls/tls_init.c (2)
M src/modules/tls/tls_mod.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3482.patchhttps://github.com/kamailio/kamailio/pull/3482.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3482
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3482(a)github.com>
Module: kamailio
Branch: master
Commit: 9d6bfb96528c49e6aaa39aa47be877ca528c3537
URL: https://github.com/kamailio/kamailio/commit/9d6bfb96528c49e6aaa39aa47be877c…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2023-06-20T12:51:16+02:00
tls: OPENSSL_fork_[prepare|parent|child] deprecated at openssl 3.0
From https://www.openssl.org/docs/man3.0/man3/OPENSSL_fork_prepare.html:
> OPENSSL_fork_prepare, OPENSSL_fork_parent, OPENSSL_fork_child have been
> deprecated since OpenSSL 3.0.
>
> These methods are currently unused, and as such, no replacement methods
> are required or planned.
>
> OpenSSL has state that should be reset when a process forks. For
> example, the entropy pool used to generate random numbers (and therefore
> encryption keys) should not be shared across multiple programs. The
> OPENSSL_fork_prepare(), OPENSSL_fork_parent(), and OPENSSL_fork_child()
> functions are used to reset this internal state.
>
> OPENSSL_init_crypto(3) will register these functions with the
> appropriate handler, when the OPENSSL_INIT_ATFORK flag is used
---
Modified: src/modules/tls/tls_init.c
Modified: src/modules/tls/tls_mod.c
---
Diff: https://github.com/kamailio/kamailio/commit/9d6bfb96528c49e6aaa39aa47be877c…
Patch: https://github.com/kamailio/kamailio/commit/9d6bfb96528c49e6aaa39aa47be877c…
---
diff --git a/src/modules/tls/tls_init.c b/src/modules/tls/tls_init.c
index 0a2f13a77b2..cb035ee24fa 100644
--- a/src/modules/tls/tls_init.c
+++ b/src/modules/tls/tls_init.c
@@ -745,7 +745,7 @@ int tls_h_mod_pre_init_f(void)
LM_DBG("preparing tls env for modules initialization\n");
#if OPENSSL_VERSION_NUMBER >= 0x010100000L && !defined(LIBRESSL_VERSION_NUMBER)
LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n");
- OPENSSL_init_ssl(0, NULL);
+ OPENSSL_init_ssl(OPENSSL_INIT_ATFORK, NULL);
#else
LM_DBG("preparing tls env for modules initialization (libssl <=1.0)\n");
SSL_library_init();
diff --git a/src/modules/tls/tls_mod.c b/src/modules/tls/tls_mod.c
index 3f42073b175..156eff81c76 100644
--- a/src/modules/tls/tls_mod.c
+++ b/src/modules/tls/tls_mod.c
@@ -452,7 +452,8 @@ static int mod_child(int rank)
< 0)
return -1;
}
-#if OPENSSL_VERSION_NUMBER >= 0x010101000L
+#if OPENSSL_VERSION_NUMBER >= 0x010101000L \
+ && OPENSSL_VERSION_NUMBER < 0x030000000L
if(ksr_tls_init_mode & TLS_MODE_FORK_PREPARE) {
OPENSSL_fork_prepare();
}
@@ -460,7 +461,8 @@ static int mod_child(int rank)
return 0;
}
-#if OPENSSL_VERSION_NUMBER >= 0x010101000L
+#if OPENSSL_VERSION_NUMBER >= 0x010101000L \
+ && OPENSSL_VERSION_NUMBER < 0x030000000L
if(ksr_tls_init_mode & TLS_MODE_FORK_PREPARE) {
if(rank == PROC_POSTCHILDINIT) {
/*
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3487
-- Commit Summary --
* core: typos
* src/Makefile*: typos
* lwsc: typos
* mangler: typos
* matrix: typo
* maxfwd: typo
* mediaproxy: typos
* memcached: typos
* misc_radius: typos
* misctest: typos
* mqtt: typo
* msilo: typos
* nat_traversal: typo
* ndb_cassandra: typos
* ndb_mongodb: typo
* usrloc: typo
* test/misc/code: typos
* tools: typos
-- File Changes --
M src/Makefile (2)
M src/Makefile.defs (14)
M src/Makefile.groups (2)
M src/Makefile.targets (6)
M src/core/async_task.c (6)
M src/core/forward.c (2)
M src/core/mem/dl_malloc.c (2)
M src/core/msg_translator.c (2)
M src/core/parser/msg_parser.h (2)
M src/core/parser/parse_via.c (2)
M src/core/socket_info.c (2)
M src/core/tcp_main.c (2)
M src/main.c (24)
M src/modules/lwsc/api.h (2)
M src/modules/lwsc/lwsc_mod.c (2)
M src/modules/mangler/contact_ops.c (2)
M src/modules/mangler/mangler.c (4)
M src/modules/mangler/mangler.cfg (4)
M src/modules/mangler/sdp_mangler.c (42)
M src/modules/mangler/sdp_mangler.h (6)
M src/modules/matrix/doc/matrix_admin.xml (2)
M src/modules/maxfwd/doc/maxfwd_admin.xml (2)
M src/modules/mediaproxy/mediaproxy.c (6)
M src/modules/memcached/doc/memcached_admin.xml (2)
M src/modules/memcached/mcd_var.c (2)
M src/modules/misc_radius/doc/misc_radius_admin.xml (2)
M src/modules/misc_radius/functions.c (2)
M src/modules/misctest/misctest_mod.c (4)
M src/modules/mqtt/mqtt_dispatch.c (2)
M src/modules/msilo/doc/msilo_admin.xml (4)
M src/modules/msilo/msilo.c (4)
M src/modules/nat_traversal/nat_traversal.c (2)
M src/modules/ndb_cassandra/doc/ndb_cassandra_admin.xml (4)
M src/modules/ndb_mongodb/doc/ndb_mongodb_admin.xml (2)
M src/modules/usrloc/udomain.c (2)
M test/misc/code/shoot.c (2)
M test/misc/code/shoot2.c (2)
M utils/db_berkeley/kambdb_recover.c (14)
M utils/kamcmd/kamcmd.8 (2)
M utils/kamcmd/kamcmd.c (2)
M utils/kamctl/kamctl.base (2)
M utils/kamunix/kamunix.8 (8)
M utils/pdbt/docs/network_protocol.txt (2)
M utils/pdbt/pdbt.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3487.patchhttps://github.com/kamailio/kamailio/pull/3487.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3487
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3487(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 -->
- [ /] 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)
- [ /] 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
A couple of commits into db_redis and ndb_redis adding TLS support and also password support to db_redis.
This mainly includes checking if proper parameter is provided (for ndb_redis is `tls` option in the DB URL and, for db_redis, a new `opt_tls` parameter) and creates a temporary SSL context that is used to initialise the redis context.
Also added `ca_path` parameter to both modules to be able to define a valid folder containing the root certificates used to validate TLS' certificate chain.
db_redis is also updated with a `db_pass` parameter to provide a DB access password.
TLS support is automatically enabled by checking libhiredis_ssl.so existence in each Makefile and defining a `WITH_SSL` flag that enables all the corresponding code lines.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3477
-- Commit Summary --
* db_redis: Adding TLS support
* ndb_redis: Adding TLS support
-- File Changes --
M src/modules/db_redis/Makefile (24)
M src/modules/db_redis/db_redis_mod.c (13)
M src/modules/db_redis/doc/db_redis.xml (5)
M src/modules/db_redis/doc/db_redis_admin.xml (59)
M src/modules/db_redis/redis_connection.c (98)
M src/modules/db_redis/redis_connection.h (6)
M src/modules/ndb_redis/Makefile (15)
M src/modules/ndb_redis/doc/ndb_redis.xml (5)
M src/modules/ndb_redis/doc/ndb_redis_admin.xml (26)
M src/modules/ndb_redis/ndb_redis_mod.c (10)
M src/modules/ndb_redis/redis_client.c (69)
M src/modules/ndb_redis/redis_client.h (7)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3477.patchhttps://github.com/kamailio/kamailio/pull/3477.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3477
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3477(a)github.com>