Module: kamailio
Branch: 5.0
Commit: 3f0d41742e41f117dc9426afd148cf906c271e46
URL: 
https://github.com/kamailio/kamailio/commit/3f0d41742e41f117dc9426afd148cf906c271e46

Author: Henning Westerholt <h...@kamailio.org>
Committer: Henning Westerholt <h...@kamailio.org>
Date: 2019-01-11T16:11:53+01:00

core: fix an error in check_via_address, reported from  Mojtaba, mespio at 
gmail dot com

- fix an error in check_via_address, reported from  Mojtaba, mespio at gmail 
dot com
- use the same logic for IPv4 string comparison as for IPv6
- the old comparison could return true for e.g. via="192.168.1.1", 
src="192.1.1.100"
- the new logic is also faster for the trivial case with different string length

(cherry picked from commit 98ee014a88ca951d82a0389f0be119078ba525f7)

---

Modified: src/core/msg_translator.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/3f0d41742e41f117dc9426afd148cf906c271e46.diff
Patch: 
https://github.com/kamailio/kamailio/commit/3f0d41742e41f117dc9426afd148cf906c271e46.patch

---

diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
index 54ed42b903..aa286788aa 100644
--- a/src/core/msg_translator.c
+++ b/src/core/msg_translator.c
@@ -176,7 +176,7 @@ static int check_via_address(struct ip_addr* ip, str *name,
                                LM_CRIT("invalid Via host name\n");
                                return -1;
                        }
-                       if (strncmp(name->s, s, name->len)==0)
+                       if (len==name->len&&(strncmp(name->s, s, name->len)==0))
                                return 0;
                }
        }else{


_______________________________________________
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to