From nobody Mon Jan 02 21:47:54 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Nm8cB3zJ1z2lVPV; Mon, 2 Jan 2023 21:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Nm8cB3XMlz4CkY; Mon, 2 Jan 2023 21:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672696074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5Gkyc/EoOlhYWPnHh6jVMzbmRhI7cjahemhRk7y2zQ=; b=qlry1J43FJYBJFn6yd+nks1+FMronvt+Ja2SQn4pwTONHRbhiQdY/5GDbY2q8pO39l5YMu bpVaOiKXHjc9P7BK7Tx01zB66gnar46Kf2QQaDkqNHWditYqOe6lEg0YvOm/mtGSiUq6dL e6YQi3VB6OD016F82gNgEeZpa+Y5WcmGbd5Cc9Eblr8MCeTwiu9BvsL+uM9Q6aZ+VWAOBU drPeFQEdjCbhNHBapVywv0a28GvL2VtPOVTX7jXFMZBnzNBe11bUPwpCL10lPgIPbXlKJ7 PUbzqQGzqnz52jFDLHWeL3vFFZ9urbQ3Pu+CPT+jMZlAX9NAXfpc2SbTVItf0w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1672696074; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=r5Gkyc/EoOlhYWPnHh6jVMzbmRhI7cjahemhRk7y2zQ=; b=joQSlzcOi0vG6obubzRCzbyXAoCigiE8skTlFZBLj699y5k2iFZ6PLygJbxDTriZPsz1d6 N4TYeAdU27OcAS6qYppoe6a75KUHtoPuVhmYxSc9BoMhDYnwKSgf60jh/T1C2nPFVIH55W NBYFFxlvdfZIEWJeQ3ZTMB7Hw2ybMzwuCfEiS1tdJ1d6QHC/a9ep+4nbhjwumd/rHniPh+ tCvwZ/Vz/UJADvmrhbX7fLeKM8y73X1jdOTwmIy2zcJK/6soNMI/2UtuNCDVIpCHhkmX7E +EfjNoG5oiA/R/TzdTnEzWJQPdSegS1AxCAmGe7sXKQ3emeWH9n3mRrmT/tdhw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1672696074; a=rsa-sha256; cv=none; b=kBOwCqVCOcr3sil1i/QX5ljQ2xmtqGQzhtKg8Cb5AIq7tfkgdTh/hbY5b8YpgqjDsY3KEc fYa5KmBytS5KnQYe77+B+DXf2MgIvYWXNLBlLitfxNiqVLfvPS6cNQ5YboLvMKpB17QZUX kVQrVeZKBTcf0KrF7L1OIPnH/D2n1fQWNjmh1C8VXOL4CFX8y512UrhYeXxsFXzetzBD4F qsW2tHJi1Z3XOUzkH90f2k1fIk+Funwlahcvum/xCBV0v+hsWVj9k9cb7WMmztVqFeV/hI 93+yEw1ZT3cwY/cT/aEVr7EpLOYywGvuy7AfNLlmMLGHWjAjdfALk+L+HKuAiA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Nm8cB2HR7z1MKT; Mon, 2 Jan 2023 21:47:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 302Lls7L087798; Mon, 2 Jan 2023 21:47:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 302LlsP2087797; Mon, 2 Jan 2023 21:47:54 GMT (envelope-from git) Date: Mon, 2 Jan 2023 21:47:54 GMT Message-Id: <202301022147.302LlsP2087797@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Guangyuan Yang Subject: git: 4b6e8edd6eb2 - main - net/kamailio: Update to 5.6.2 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ygy X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4b6e8edd6eb20c4ad1aa2a0477c7520a7b4c444f Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by ygy: URL: https://cgit.FreeBSD.org/ports/commit/?id=4b6e8edd6eb20c4ad1aa2a0477c7520a7b4c444f commit 4b6e8edd6eb20c4ad1aa2a0477c7520a7b4c444f Author: Dmitry Wagin AuthorDate: 2023-01-02 21:47:44 +0000 Commit: Guangyuan Yang CommitDate: 2023-01-02 21:47:44 +0000 net/kamailio: Update to 5.6.2 - Added dlgs, lost, posops, siprepo, slack and sworker modules. - Also backported (from master branch) ASLR support for KEMI modules (see pkg-message). Changelog: https://www.kamailio.org/pub/kamailio/5.6.2/ChangeLog PR: 268670 --- net/kamailio/Makefile | 31 ++++++++-- net/kamailio/distinfo | 6 +- net/kamailio/files/patch-src_core_cfg.y | 43 ++++++++++++++ net/kamailio/files/patch-src_core_sr__module.c | 79 ++++++++++++++++++++++++++ net/kamailio/files/patch-src_core_sr__module.h | 13 +++++ net/kamailio/files/patch-src_main.c | 11 ++++ net/kamailio/pkg-message | 14 +++++ net/kamailio/pkg-plist | 16 +++++- 8 files changed, 203 insertions(+), 10 deletions(-) diff --git a/net/kamailio/Makefile b/net/kamailio/Makefile index 15e54046e147..844e8d9dce2b 100644 --- a/net/kamailio/Makefile +++ b/net/kamailio/Makefile @@ -1,6 +1,5 @@ PORTNAME= kamailio -PORTVERSION= 5.5.4 -PORTREVISION= 3 +PORTVERSION= 5.6.2 CATEGORIES= net MASTER_SITES= http://www.kamailio.org/pub/kamailio/${PORTVERSION}/src/ DISTNAME= ${PORTNAME}-${PORTVERSION}_src @@ -39,9 +38,10 @@ WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} USERS= ${KAMAILIO_USER} GROUPS= ${KAMAILIO_GROUP} -OPTIONS_DEFINE= DATABASE DIALPLAN DOCS EVAPI JWT KAFKA LWSC \ - MQTT OUTBOUND PERL PHONENUM PRESENCE RADIUS \ - SCTP SECSIPID TLS WEBSOCKET +OPTIONS_DEFINE= DATABASE DIALPLAN DLGS DOCS EVAPI JWT KAFKA \ + LOST LWSC MQTT OUTBOUND PERL PHONENUM POSOPS \ + PRESENCE RADIUS SCTP SECSIPID SIPREPO SLACK \ + SWORKER TLS WEBSOCKET OPTIONS_DEFAULT= MYSQL PRESENCE RADIUS SQLITE TLS OPTIONS_GROUP= DATABASE_DRIVERS KEMI_LANGS OPTIONS_GROUP_DATABASE_DRIVERS= MYSQL PGSQL SQLITE UNIXODBC @@ -51,19 +51,25 @@ OPTIONS_SUB= YES DATABASE_DESC= Database support DATABASE_DRIVERS_DESC= Database drivers DIALPLAN_DESC= String translations based on rules +DLGS_DESC= Lightweight, stateless dialog tracking and statistics EVAPI_DESC= Network event broadcast API JWT_DESC= JSON Web Token generation and validation KAFKA_DESC= Produces and sends messages to a Kafka server KEMI_LANGS_DESC= Kamailio Embedded Interface Interpreters +LOST_DESC= HELD (RFC6155) and LOST (RFC5222) location-based routing LUAJIT_DESC= Execute embedded Lua scripts LWSC_DESC= Websocket client connector using libwebsockets MQTT_DESC= MQTT connector for bi-directional publish-subscribe communication OUTBOUND_DESC= SIP Outbound support PHONENUM_DESC= Phone number lookup and normalization using libphonenumber +POSOPS_DESC= Operations using the position in the SIP message buffer PRESENCE_DESC= Presence support PYTHON3_DESC= Execute embedded Python3 scripts SCTP_DESC= SCTP support SECSIPID_DESC= Secure SIP/Telephony Identity (STIR/SHAKEN) extensions +SIPREPO_DESC= In-memory SIP message storage +SLACK_DESC= Connector to Slack channels +SWORKER_DESC= Tasks management for specialized workers WEBSOCKET_DESC= WebSocket transport layer DATABASE_VARS= EXTRA_GROUPS+=db @@ -71,6 +77,8 @@ DATABASE_VARS= EXTRA_GROUPS+=db DIALPLAN_LIB_DEPENDS= libpcre.so:devel/pcre DIALPLAN_VARS= EXTRA_MODULES+=dialplan +DLGS_VARS= EXTRA_MODULES+=dlgs + EVAPI_LIB_DEPENDS= libev.so:devel/libev EVAPI_VARS= EXTRA_MODULES+=evapi @@ -80,6 +88,10 @@ JWT_VARS= EXTRA_MODULES+=jwt KAFKA_LIB_DEPENDS= librdkafka.so:net/librdkafka KAFKA_VARS= EXTRA_MODULES+=kafka +LOST_LIB_DEPENDS= libcurl.so:ftp/curl \ + libxml2.so:textproc/libxml2 +LOST_VARS= EXTRA_MODULES+=lost + LUAJIT_USES= luajit LUAJIT_MAKE_ARGS= LUAJIT=yes LUAJIT_VARS= EXTRA_MODULES+=app_lua @@ -110,6 +122,8 @@ PGSQL_VARS= EXTRA_GROUPS+=postgres PHONENUM_LIB_DEPENDS= libphonenumber.so:devel/libphonenumber PHONENUM_VARS= EXTRA_MODULES+=phonenum +POSOPS_VARS= EXTRA_MODULES+=posops + PRESENCE_LIB_DEPENDS= libcurl.so:ftp/curl \ libxml2.so:textproc/libxml2 PRESENCE_VARS= EXTRA_GROUPS+=presence @@ -125,10 +139,17 @@ SCTP_VARS= EXTRA_MODULES+=sctp SECSIPID_VARS= EXTRA_MODULES+=secsipid +SIPREPO_VARS= EXTRA_MODULES+=siprepo + +SLACK_LIB_DEPENDS= libcurl.so:ftp/curl +SLACK_VARS= EXTRA_MODULES+=slack + SQLITE_IMPLIES= DATABASE SQLITE_USES= sqlite SQLITE_VARS= EXTRA_MODULES+=db_sqlite +SWORKER_VARS= EXTRA_MODULES+=sworker + TLS_USES= ssl TLS_VARS= EXTRA_MODULES+=tls diff --git a/net/kamailio/distinfo b/net/kamailio/distinfo index 3a852c38b7e8..c8f977c5c09f 100644 --- a/net/kamailio/distinfo +++ b/net/kamailio/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1645470840 -SHA256 (kamailio-5.5.4_src.tar.gz) = 991d081abc6ee2efdbdb85ee7398f8812f2bdb9ab30ccf9ae0ace6562943860a -SIZE (kamailio-5.5.4_src.tar.gz) = 12794910 +TIMESTAMP = 1665134014 +SHA256 (kamailio-5.6.2_src.tar.gz) = ea3cd5d688c34208b92072c3844c8276b693e0ca2c688168ea0357978c76b32d +SIZE (kamailio-5.6.2_src.tar.gz) = 12921131 diff --git a/net/kamailio/files/patch-src_core_cfg.y b/net/kamailio/files/patch-src_core_cfg.y new file mode 100644 index 000000000000..c84bab8e0d0c --- /dev/null +++ b/net/kamailio/files/patch-src_core_cfg.y @@ -0,0 +1,43 @@ +--- src/core/cfg.y.orig (revision 2cebd46f8f2dc3f87c9cfd2054976e347aa75ace) ++++ src/core/cfg.y +@@ -2045,14 +2045,38 @@ + module_stm: + LOADMODULE STRING { + LM_DBG("loading module %s\n", $2); +- if (load_module($2)!=0) { ++ if (ksr_load_module($2, NULL)!=0) { ++ yyerror("failed to load module"); ++ } ++ } ++ | LOADMODULE LPAREN STRING RPAREN { ++ LM_DBG("loading module %s\n", $3); ++ if (ksr_load_module($3, NULL)!=0) { ++ yyerror("failed to load module"); ++ } ++ } ++ | LOADMODULE LPAREN STRING COMMA STRING RPAREN { ++ LM_DBG("loading module %s opts %s\n", $3, $5); ++ if (ksr_load_module($3, $5)!=0) { + yyerror("failed to load module"); + } + } + | LOADMODULE error { yyerror("string expected"); } + | LOADMODULEX STRING { + LM_DBG("loading module %s\n", $2); +- if (load_modulex($2)!=0) { ++ if (ksr_load_modulex($2, NULL)!=0) { ++ yyerror("failed to load module"); ++ } ++ } ++ | LOADMODULEX LPAREN STRING RPAREN { ++ LM_DBG("loading module %s\n", $3); ++ if (ksr_load_modulex($3, NULL)!=0) { ++ yyerror("failed to load module"); ++ } ++ } ++ | LOADMODULEX LPAREN STRING COMMA STRING RPAREN { ++ LM_DBG("loading module %s opts %s\n", $3, $5); ++ if (ksr_load_modulex($3, $5)!=0) { + yyerror("failed to load module"); + } + } diff --git a/net/kamailio/files/patch-src_core_sr__module.c b/net/kamailio/files/patch-src_core_sr__module.c new file mode 100644 index 000000000000..947d005ed59f --- /dev/null +++ b/net/kamailio/files/patch-src_core_sr__module.c @@ -0,0 +1,79 @@ +--- src/core/sr_module.c.orig (revision 43f764cae870b15a96b8ca88f1eb195d4ceb8455) ++++ src/core/sr_module.c +@@ -525,6 +525,7 @@ + return -1; + } + ++ + /** + * \brief load a sr module + * +@@ -537,9 +538,10 @@ + * absolute path (not starting with '/') then will try: + * \/mod_path + * @param mod_path path or module name ++ * @param opts options string + * @return 0 on success , <0 on error + */ +-int load_module(char* mod_path) ++int ksr_load_module(char* mod_path, char *opts) + { + void* handle; + char* error; +@@ -553,11 +555,16 @@ + str expref; + char exbuf[64]; + char* mdir; ++ char *p; + + #ifndef RTLD_NOW + /* for openbsd */ + #define RTLD_NOW DL_LAZY + #endif ++#ifndef RTLD_GLOBAL ++/* Unsupported! */ ++#define RTLD_GLOBAL 0 ++#endif + + if(ksr_locate_module(mod_path, &path)<0) { + return -1; +@@ -567,6 +574,17 @@ + + retries=2; + dlflags=RTLD_NOW; ++ ++ if(opts!=NULL) { ++ for(p=opts; *p!='\0'; p++) { ++ if(*p=='G' || *p=='g') { ++ dlflags |= RTLD_GLOBAL; ++ } else { ++ LM_INFO("unknown option: %c\n", *p); ++ } ++ } ++ } ++ + reload: + handle=dlopen(path, dlflags); /* resolve all symbols now */ + if (handle==0){ +@@ -653,10 +671,11 @@ + return -1; + } + ++ + /** + * + */ +-int load_modulex(char* mod_path) ++int ksr_load_modulex(char* mod_path, char *opts) + { + str seval; + str sfmt; +@@ -679,7 +698,7 @@ + } + } + +- return load_module(emod); ++ return ksr_load_module(emod, opts); + } + + /** diff --git a/net/kamailio/files/patch-src_core_sr__module.h b/net/kamailio/files/patch-src_core_sr__module.h new file mode 100644 index 000000000000..af0f3077c090 --- /dev/null +++ b/net/kamailio/files/patch-src_core_sr__module.h @@ -0,0 +1,13 @@ +--- src/core/sr_module.h.orig (revision 43f764cae870b15a96b8ca88f1eb195d4ceb8455) ++++ src/core/sr_module.h +@@ -336,8 +336,8 @@ + extern int mod_response_cbk_no; /**< size of reponse callbacks array */ + + int register_builtin_modules(void); +-int load_module(char* path); +-int load_modulex(char* path); ++int ksr_load_module(char* path, char* opts); ++int ksr_load_modulex(char* path, char* opts); + ksr_cmd_export_t* find_export_record(char* name, int param_no, int flags); + cmd_function find_export(char* name, int param_no, int flags); + cmd_function find_mod_export(char* mod, char* name, int param_no, int flags); diff --git a/net/kamailio/files/patch-src_main.c b/net/kamailio/files/patch-src_main.c new file mode 100644 index 000000000000..d7c078af955b --- /dev/null +++ b/net/kamailio/files/patch-src_main.c @@ -0,0 +1,11 @@ +--- src/main.c.orig (revision 43f764cae870b15a96b8ca88f1eb195d4ceb8455) ++++ src/main.c +@@ -2446,7 +2446,7 @@ + fprintf(stderr, "bad load module parameter\n"); + goto error; + } +- if (load_module(optarg)!=0) { ++ if (ksr_load_module(optarg, NULL)!=0) { + LM_ERR("failed to load the module: %s\n", optarg); + goto error; + } diff --git a/net/kamailio/pkg-message b/net/kamailio/pkg-message new file mode 100644 index 000000000000..8365ba4ccd0c --- /dev/null +++ b/net/kamailio/pkg-message @@ -0,0 +1,14 @@ +[ +{ + type: install + message: <