<!-- 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 <!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2001
-- Commit Summary --
* ims_ipsec_pcscf: support for multiple TCP connections * ims_registrar_pcscf: update contacts with user callbacks * ims_usrloc_pcscf: added a new match key for ipsec location tbl * kamctl: added new fields in ims_usrloc_pcscf db
-- File Changes --
M src/modules/ims_ipsec_pcscf/cmd.c (230) M src/modules/ims_ipsec_pcscf/cmd.h (12) M src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml (28) M src/modules/ims_ipsec_pcscf/ims_ipsec_pcscf_mod.c (244) M src/modules/ims_ipsec_pcscf/ipsec.c (166) M src/modules/ims_ipsec_pcscf/ipsec.h (11) A src/modules/ims_ipsec_pcscf/port_gen.c (145) A src/modules/ims_ipsec_pcscf/port_gen.h (40) A src/modules/ims_ipsec_pcscf/sec_agree.c (264) A src/modules/ims_ipsec_pcscf/sec_agree.h (35) M src/modules/ims_ipsec_pcscf/spi_gen.c (3) M src/modules/ims_ipsec_pcscf/spi_list.c (2) M src/modules/ims_ipsec_pcscf/spi_list_tests.c (32) M src/modules/ims_registrar_pcscf/ims_registrar_pcscf_mod.c (15) M src/modules/ims_registrar_pcscf/save.c (42) M src/modules/ims_usrloc_pcscf/udomain.c (101) M src/modules/ims_usrloc_pcscf/udomain.h (1) M src/modules/ims_usrloc_pcscf/ul_callback.c (44) M src/modules/ims_usrloc_pcscf/ul_callback.h (1) M src/modules/ims_usrloc_pcscf/usrloc.c (1) M src/modules/ims_usrloc_pcscf/usrloc.h (4) M src/modules/ims_usrloc_pcscf/usrloc_db.c (119) M src/modules/ims_usrloc_pcscf/usrloc_db.h (4) M utils/kamctl/mysql/ims_usrloc_pcscf-create.sql (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2001.patch https://github.com/kamailio/kamailio/pull/2001.diff
@miconda @ngvoice
Could you please have a look at the third commit in ims_usrloc_pcscf? Seems reasonable to me but I'm not very familiar with the code in the module, so I'll appreciate another opinion.
@alexyosifov I will have a look this weekend to the commits.
I'm merging this as it is waiting for too long time. If anyone has concerns about the code, we'll fix them later.
Merged #2001 into master.
@tdimitrov I started the review yesterday as announced here, but got caught by some other urgent topic. This is a quite large patch in the end. There was no need to rush this into the repository.
There exists many white-space issues where the code uses a complete different indention as the existing code (e.g. ims_ipsec_pcscf_mod.c). There are also several commented out code blocks which should be probably removed as well (src/modules/ims_ipsec_pcscf/ipsec.c). I will have a look to fix the most noticeable cases.
If you like to merge a big patch like this in the future, please spend some time to review the code to catch this obvious issues before.
@henningw I've made a review on my own, before asking a second opinion. The patch remained open for more than 10 days, which I think is too much. I wasn't aware that you are still reviewing the patch.
The whole mode is in "work in progress" state, so I am willing to accept commented out code blocks in this state. It's more important to have proper integration with the other IMS modules and working usecases for the IPSec module itself.
I agree that it is important to have a working IMS modules and proper integration.
About the commented out code - feel free to add a TODO or a similar comment like this to it, then people know that it is still work in progress. Otherwise it might get removed during integration or later, as dead code is useless and makes the code hard to read (we use git in the end).
I agree, no one should complain if commented out code gets removed at some point and you can look up old code in git.
@alexyosifov could you please have a look at the commented out code and remove the unnecessary functions or add TODOs, as @henningw suggested?
@alexyosifov I already removed the ones (mostly copy and pasted code) that I found in commit ad5a346c and ac2736d6. If you need this for debugging - feel free to add a proper debugging function that output some information at LM_DBG log level. There is almost no performance impact in doing so, if you don't activate it.