include $(TOPDIR)/rules.mk
PKG_NAME:=kamailio5
-PKG_VERSION:=5.1.3
-PKG_RELEASE:=4
+PKG_VERSION:=5.1.6
+PKG_RELEASE:=1
-PKG_SOURCE_URL:=https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
+PKG_SOURCE_URL := \
+ https://sources.openwrt.org \
+ https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
PKG_SOURCE:=kamailio-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
-PKG_HASH:=b2266e15ec8ffa62be66b44989155f26a31d137f06f81fb3841aad8315315a14
+PKG_HASH:=99880df20dd836e4d9ec03fe863f7a5fc77bb29e3d56f59ea92b8b986deb5186
PKG_USE_MIPS16:=0
PKG_LICENSE:=GPL-2.0+
DESTDIR=$(PKG_INSTALL_DIR) \
quiet=verbose
+define Build/Configure
+endef
+
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) $(PKG_MAKE_ARGS) cfg
$(MAKE) -C $(PKG_BUILD_DIR) quiet=verbose all
+++ /dev/null
-commit 281a6c6b6eaaf30058b603325e8ded20b99e1456
-Author: Henning Westerholt <hw@kamailio.org>
-Date: Mon May 7 09:36:53 2018 +0200
-
- core: improve to header check guards, str consists of length and pointer
-
-diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
-index 22122768a..4dd648e87 100644
---- a/src/core/msg_translator.c
-+++ b/src/core/msg_translator.c
-@@ -2369,7 +2369,7 @@ char * build_res_buf_from_sip_req( unsigned int code, str *text ,str *new_tag,
- case HDR_TO_T:
- if (new_tag && new_tag->len) {
- to_tag=get_to(msg)->tag_value;
-- if ( to_tag.len || to_tag.s )
-+ if ( to_tag.len && to_tag.s )
- len+=new_tag->len-to_tag.len;
- else
- len+=new_tag->len+TOTAG_TOKEN_LEN/*";tag="*/;
-@@ -2497,7 +2497,7 @@ char * build_res_buf_from_sip_req( unsigned int code, str *text ,str *new_tag,
- break;
- case HDR_TO_T:
- if (new_tag && new_tag->len){
-- if (to_tag.s ) { /* replacement */
-+ if (to_tag.len && to_tag.s) { /* replacement */
- /* before to-tag */
- append_str( p, hdr->name.s, to_tag.s-hdr->name.s);
- /* to tag replacement */
+++ /dev/null
-commit d67b2f9874ca23bd69f18df71b8f53b1b6151f6d
-Author: Henning Westerholt <hw@kamailio.org>
-Date: Sun Jun 3 20:59:32 2018 +0200
-
- core: improve header safe guards for Via handling
-
- (cherry picked from commit ad68e402ece8089f133c10de6ce319f9e28c0692)
-
-diff --git a/src/core/crc.c b/src/core/crc.c
-index 462846324..23b2876ec 100644
---- a/src/core/crc.c
-+++ b/src/core/crc.c
-@@ -231,6 +231,8 @@ void crcitt_string_array( char *dst, str src[], int size )
- ccitt = 0xFFFF;
- str_len=CRC16_LEN;
- for (i=0; i<size; i++ ) {
-+ /* invalid str with positive length and null char pointer */
-+ if( unlikely(src[i].s==NULL)) break;
- c=src[i].s;
- len=src[i].len;
- while(len) {
-diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
-index 201e3a5e1..58978f958 100644
---- a/src/core/msg_translator.c
-+++ b/src/core/msg_translator.c
-@@ -168,12 +168,17 @@ static int check_via_address(struct ip_addr* ip, str *name,
- (name->s[name->len-1]==']')&&
- (strncasecmp(name->s+1, s, len)==0))
- )
-- )
-+ ) {
- return 0;
-- else
--
-+ }
-+ else {
-+ if (unlikely(name->s==NULL)) {
-+ LM_CRIT("invalid Via host name\n");
-+ return -1;
-+ }
- if (strncmp(name->s, s, name->len)==0)
- return 0;
-+ }
- }else{
- LM_CRIT("could not convert ip address\n");
- return -1;
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
-diff --git a/utils/kamctl/kamctl.base b/utils/kamctl/kamctl.base
-index adeceb77f..a776e10d8 100644
--- a/utils/kamctl/kamctl.base
+++ b/utils/kamctl/kamctl.base
-@@ -715,7 +715,7 @@ filter_json()
+@@ -699,7 +699,7 @@ filter_json()
$AWK 'function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
BEGIN { line=0; IGNORECASE=1; }
{ line++; }
--- /dev/null
+commit cbff35909edccffe778d04f3871d880195d82b7a
+Author: Sebastian Kemper <sebastian_ml@gmx.net>
+Date: Fri Nov 2 10:10:38 2018 +0100
+
+ dialplan: fix dp_replace() in cmd_export_t struct
+
+ In the struct 'int param_no' is set to '2'. But dp_replace() has actually three
+ parameters (dpid, inval, outvar), so kamailio's cfg parser fails when
+ dp_replace() is called:
+
+ yyparse(): cfg. parser: failed to find command dp_replace (params 3)
+ yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 366, column 45: unknown command, missing loadmodule?
+
+ This commit fixes 'int param_no' to address this.
+
+ Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
+
+diff --git a/src/modules/dialplan/dialplan.c b/src/modules/dialplan/dialplan.c
+index 39ba1ceef..a96b246b7 100644
+--- a/src/modules/dialplan/dialplan.c
++++ b/src/modules/dialplan/dialplan.c
+@@ -115,7 +115,7 @@ static cmd_export_t cmds[]={
+ ANY_ROUTE},
+ {"dp_match",(cmd_function)w_dp_match, 2, fixup_igp_spve,
+ fixup_free_igp_spve, ANY_ROUTE},
+- {"dp_replace",(cmd_function)w_dp_replace, 2, dp_replace_fixup,
++ {"dp_replace",(cmd_function)w_dp_replace, 3, dp_replace_fixup,
+ dp_replace_fixup_free, ANY_ROUTE},
+ {0,0,0,0,0,0}
+ };