diff --git a/.gitignore b/.gitignore index 8af13bd..e07570c 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ opensips-1.6.3-tls_src.tar.gz /opensips-1.8.1_src.tar.gz /opensips-1.8.2_src.tar.gz /opensips-1.9.1_src.tar.gz +/opensips-1.10.0_src.tar.gz diff --git a/opensips-0001-Consistently-use-rtpproxy-switches.patch b/opensips-0001-Consistently-use-rtpproxy-switches.patch index c17027d..636fd1c 100644 --- a/opensips-0001-Consistently-use-rtpproxy-switches.patch +++ b/opensips-0001-Consistently-use-rtpproxy-switches.patch @@ -1,7 +1,7 @@ -From 099792fd2bdca396965d75f4d0e92fbdd0aed19b Mon Sep 17 00:00:00 2001 +From 2c423ae932acc3a551cfde59708873dac45e5210 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 11 Aug 2011 16:37:04 +0400 -Subject: [PATCH 1/5] Consistently use rtpproxy switches +Subject: [PATCH 1/8] Consistently use rtpproxy switches Signed-off-by: Peter Lemenkov --- @@ -10,10 +10,10 @@ Signed-off-by: Peter Lemenkov 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/rtpproxy/doc/rtpproxy_admin.xml b/modules/rtpproxy/doc/rtpproxy_admin.xml -index fc947d9..958611f 100644 +index 731a0f9..3b67b3b 100644 --- a/modules/rtpproxy/doc/rtpproxy_admin.xml +++ b/modules/rtpproxy/doc/rtpproxy_admin.xml -@@ -552,7 +552,7 @@ rtpproxy_offer(); +@@ -581,7 +581,7 @@ rtpproxy_offer(); connection information. @@ -23,10 +23,10 @@ index fc947d9..958611f 100644 diff --git a/modules/rtpproxy/rtpproxy.c b/modules/rtpproxy/rtpproxy.c -index 45dbbe1..99f83a1 100644 +index 7abe6e2..0b1528e 100644 --- a/modules/rtpproxy/rtpproxy.c +++ b/modules/rtpproxy/rtpproxy.c -@@ -3118,8 +3118,6 @@ force_rtp_proxy_body(struct sip_msg* msg, struct force_rtpp_args *args) +@@ -3145,8 +3145,6 @@ force_rtp_proxy_body(struct sip_msg* msg, struct force_rtpp_args *args) enable_notification = 1; break; diff --git a/opensips-0002-Cleanup-Oracle-s-makefiles.patch b/opensips-0002-Cleanup-Oracle-s-makefiles.patch index d218e6e..46e57eb 100644 --- a/opensips-0002-Cleanup-Oracle-s-makefiles.patch +++ b/opensips-0002-Cleanup-Oracle-s-makefiles.patch @@ -1,19 +1,19 @@ -From a197a6cfb69acdcaa0a10dff6dbf1abced221892 Mon Sep 17 00:00:00 2001 +From 79277b719731e8b4f0e1565f2aa50cc0bbb4c668 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Thu, 14 Jun 2012 11:38:48 +0400 -Subject: [PATCH 2/5] Cleanup Oracle's makefiles +Subject: [PATCH 2/8] Cleanup Oracle's makefiles Signed-off-by: Peter Lemenkov --- - modules/db_oracle/Makefile | 54 ++-------------------------------------------- - utils/db_oracle/Makefile | 52 ++------------------------------------------ - 2 files changed, 4 insertions(+), 102 deletions(-) + modules/db_oracle/Makefile | 70 ++-------------------------------------------- + utils/db_oracle/Makefile | 68 ++------------------------------------------ + 2 files changed, 4 insertions(+), 134 deletions(-) diff --git a/modules/db_oracle/Makefile b/modules/db_oracle/Makefile -index 6b7e685..a721aba 100644 +index 3dfd1b7..a721aba 100644 --- a/modules/db_oracle/Makefile +++ b/modules/db_oracle/Makefile -@@ -6,57 +6,7 @@ include ../../Makefile.defs +@@ -6,73 +6,7 @@ include ../../Makefile.defs auto_gen= NAME=db_oracle.so @@ -49,13 +49,29 @@ index 6b7e685..a721aba 100644 - echo $(SYSBASE)/lib64/oracle$(ORAVERDIR) ) -endif -ifeq ($(ORAPATH),) -- ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ -- echo $(SYSBASE)/lib/oracle$(ORAVERDIR) ) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib64/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(LOCALBASE)/lib64/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(SYSBASE)/lib64/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(SYSBASE)/lib64/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ +- echo $(LOCALBASE)/lib/oracle$(ORAVERDIR) ) -endif -ifeq ($(ORAPATH),) - ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ - echo $(SYSBASE)/lib/oracle$(ORAVERDIR) ) -endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(LOCALBASE)/lib/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(SYSBASE)/lib/oracle$(ORAVERDIR)/lib ) +-endif - -ifneq ($(ORAPATH),) - LIBS +=-L$(ORAPATH) @@ -74,10 +90,10 @@ index 6b7e685..a721aba 100644 include ../../Makefile.modules diff --git a/utils/db_oracle/Makefile b/utils/db_oracle/Makefile -index b1c8231..9565134 100644 +index 1f1af8e..9565134 100644 --- a/utils/db_oracle/Makefile +++ b/utils/db_oracle/Makefile -@@ -10,56 +10,8 @@ NAME=opensips_orasel +@@ -10,72 +10,8 @@ NAME=opensips_orasel include ../../Makefile.sources @@ -111,13 +127,29 @@ index b1c8231..9565134 100644 - echo $(SYSBASE)/lib64/oracle$(ORAVERDIR) ) -endif -ifeq ($(ORAPATH),) -- ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ -- echo $(SYSBASE)/lib/oracle$(ORAVERDIR) ) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib64/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(LOCALBASE)/lib64/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(SYSBASE)/lib64/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(SYSBASE)/lib64/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ +- echo $(LOCALBASE)/lib/oracle$(ORAVERDIR) ) -endif -ifeq ($(ORAPATH),) - ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/libocci.so ] && \ - echo $(SYSBASE)/lib/oracle$(ORAVERDIR) ) -endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(LOCALBASE)/lib/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(LOCALBASE)/lib/oracle$(ORAVERDIR)/lib ) +-endif +-ifeq ($(ORAPATH),) +- ORAPATH=$(shell [ -f $(SYSBASE)/lib/oracle$(ORAVERDIR)/lib/libocci.so ] && \ +- echo $(SYSBASE)/lib/oracle$(ORAVERDIR)/lib ) +-endif - -ifneq ($(ORAPATH),) - LIBS +=-L$(ORAPATH) diff --git a/opensips-0003-Removed-all-async-Oracle-operations-they-didn-t-work.patch b/opensips-0003-Removed-all-async-Oracle-operations-they-didn-t-work.patch index 51dc728..11b1057 100644 --- a/opensips-0003-Removed-all-async-Oracle-operations-they-didn-t-work.patch +++ b/opensips-0003-Removed-all-async-Oracle-operations-they-didn-t-work.patch @@ -1,8 +1,8 @@ -From 215d1977c93ffee4de9197785868e309d9d35309 Mon Sep 17 00:00:00 2001 +From 1352777b98595914b1f4c4981acc3149b98caff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=A1=D0=B0=D0=BC?= =?UTF-8?q?=D1=83=D1=81=D0=B5=D0=BD=D0=BA=D0=BE?= Date: Mon, 25 Jun 2012 17:54:27 +0400 -Subject: [PATCH 3/5] Removed all async Oracle operations - they didn't work +Subject: [PATCH 3/8] Removed all async Oracle operations - they didn't work well anyway --- diff --git a/opensips-0004-db_oracle-Fix-default-ret-result.patch b/opensips-0004-db_oracle-Fix-default-ret-result.patch index 19fb16e..362bf1c 100644 --- a/opensips-0004-db_oracle-Fix-default-ret-result.patch +++ b/opensips-0004-db_oracle-Fix-default-ret-result.patch @@ -1,7 +1,7 @@ -From 872115af03cbceb9160a0b6af18fbefe94671a1d Mon Sep 17 00:00:00 2001 +From c1d71640807646a7dc489f3f399dcad7308ad2b5 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Tue, 14 Aug 2012 15:43:46 +0400 -Subject: [PATCH 4/5] [db_oracle] Fix default ret result +Subject: [PATCH 4/8] [db_oracle] Fix default ret result Signed-off-by: Peter Lemenkov --- diff --git a/opensips-0005-Fix-for-old-Perl-in-RHEL5.patch b/opensips-0005-Fix-for-old-Perl-in-RHEL5.patch index 3284d7f..29ec666 100644 --- a/opensips-0005-Fix-for-old-Perl-in-RHEL5.patch +++ b/opensips-0005-Fix-for-old-Perl-in-RHEL5.patch @@ -1,7 +1,7 @@ -From 3ea0233b4aa1d27bc575d60f98ed41eb6e493e3a Mon Sep 17 00:00:00 2001 +From 5647240ba0b0f6c4e9a491da06470219bea277ee Mon Sep 17 00:00:00 2001 From: Peter Lemenkov Date: Tue, 19 Mar 2013 13:36:44 +0400 -Subject: [PATCH 5/5] Fix for old Perl in RHEL5 +Subject: [PATCH 5/8] Fix for old Perl in RHEL5 Partially revert a3cec180516b16ac84fc7e457cec2a03039e04bf diff --git a/opensips-0006-Don-t-modify-interim-return-value.patch b/opensips-0006-Don-t-modify-interim-return-value.patch new file mode 100644 index 0000000..b5afbcd --- /dev/null +++ b/opensips-0006-Don-t-modify-interim-return-value.patch @@ -0,0 +1,143 @@ +From e1c19f8b5129ca4886e21767c5ce8c1806d12277 Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 11 Jan 2013 14:32:19 +0400 +Subject: [PATCH 6/8] Don't modify interim return value. + +Signed-off-by: Peter Lemenkov +--- + modules/sipmsgops/codecs.c | 28 +++++++++++++--------------- + 1 file changed, 13 insertions(+), 15 deletions(-) + +diff --git a/modules/sipmsgops/codecs.c b/modules/sipmsgops/codecs.c +index e502140..159cf6a 100644 +--- a/modules/sipmsgops/codecs.c ++++ b/modules/sipmsgops/codecs.c +@@ -349,8 +349,6 @@ static int do_for_all_streams(struct sip_msg* msg, str* str1,str * str2, + + } + +- if( rez <0 ) +- rez = 0; + return rez; + } + +@@ -679,7 +677,7 @@ int codec_find (struct sip_msg* msg, char* str1 ) + LM_DBG("searching for codec <%.*s> \n",res.len,res.s); + + if( do_for_all_streams( msg, &res, NULL, NULL, +- FIND, DESC_NAME) == 0) ++ FIND, DESC_NAME) <= 0) + return -1; + + return 1; +@@ -690,7 +688,7 @@ int codec_find_re (struct sip_msg* msg, char* str1 ) + { + + if( do_for_all_streams(msg, NULL, NULL, (regex_t*)str1, +- FIND, DESC_REGEXP) == 0) ++ FIND, DESC_REGEXP) <= 0) + return -1; + + return 1; +@@ -717,7 +715,7 @@ int codec_find_clock (struct sip_msg* msg, char* str1,char * str2 ) + codec.len,codec.s,clock.len,clock.s); + + if( do_for_all_streams( msg, &codec, &clock, NULL, +- FIND, DESC_NAME_AND_CLOCK) == 0) ++ FIND, DESC_NAME_AND_CLOCK) <= 0) + return -1; + + return 1; +@@ -737,7 +735,7 @@ int codec_delete (struct sip_msg* msg, char* str1 ) + LM_DBG("deleting codec <%.*s> \n",res.len,res.s); + + if( do_for_all_streams( msg, &res, NULL, NULL, +- DELETE, DESC_NAME) == 0) ++ DELETE, DESC_NAME) <= 0) + return -1; + return 1; + } +@@ -746,7 +744,7 @@ int codec_delete (struct sip_msg* msg, char* str1 ) + int codec_delete_re (struct sip_msg* msg, char* str1 ) + { + if( do_for_all_streams( msg, NULL, NULL, (regex_t*) str1, +- DELETE, DESC_REGEXP) == 0) ++ DELETE, DESC_REGEXP) <= 0) + return -1; + return 1; + } +@@ -755,7 +753,7 @@ int codec_delete_re (struct sip_msg* msg, char* str1 ) + int codec_delete_except_re (struct sip_msg* msg, char* str1 ) + { + if( do_for_all_streams( msg, NULL, NULL, (regex_t*) str1, +- DELETE, DESC_REGEXP_COMPLEMENT) == 0) ++ DELETE, DESC_REGEXP_COMPLEMENT) <= 0) + return -1; + return 1; + } +@@ -781,7 +779,7 @@ int codec_delete_clock (struct sip_msg* msg, char* str1 ,char * str2) + codec.len,codec.s,clock.len,clock.s); + + if( do_for_all_streams( msg, &codec, &clock, NULL, +- DELETE, DESC_NAME_AND_CLOCK) == 0) ++ DELETE, DESC_NAME_AND_CLOCK) <= 0) + return -1; + return 1; + } +@@ -800,7 +798,7 @@ int codec_move_up (struct sip_msg* msg, char* str1) + LM_DBG("moving up codec <%.*s> \n",res.len,res.s); + + if( do_for_all_streams( msg, &res, NULL, NULL, +- ADD_TO_FRONT, DESC_NAME) == 0) ++ ADD_TO_FRONT, DESC_NAME) <= 0) + return -1; + return 1; + } +@@ -809,7 +807,7 @@ int codec_move_up (struct sip_msg* msg, char* str1) + int codec_move_up_re (struct sip_msg* msg, char* str1) + { + if( do_for_all_streams( msg, NULL, NULL, (regex_t*)str1, +- ADD_TO_FRONT, DESC_REGEXP) == 0) ++ ADD_TO_FRONT, DESC_REGEXP) <= 0) + return -1; + return 1; + } +@@ -835,7 +833,7 @@ int codec_move_up_clock (struct sip_msg* msg, char* str1 ,char * str2) + codec.len,codec.s,clock.len,clock.s); + + if( do_for_all_streams( msg, &codec, &clock, NULL, +- ADD_TO_FRONT, DESC_NAME_AND_CLOCK) == 0) ++ ADD_TO_FRONT, DESC_NAME_AND_CLOCK) <= 0) + return -1; + return 1; + } +@@ -854,7 +852,7 @@ int codec_move_down (struct sip_msg* msg, char* str1) + LM_DBG("moving down codec <%.*s> \n",res.len,res.s); + + if( do_for_all_streams( msg, &res, NULL, NULL, +- ADD_TO_BACK, DESC_NAME) == 0) ++ ADD_TO_BACK, DESC_NAME) <= 0) + return -1; + return 1; + } +@@ -863,7 +861,7 @@ int codec_move_down (struct sip_msg* msg, char* str1) + int codec_move_down_re (struct sip_msg* msg, char* str1) + { + if( do_for_all_streams( msg, NULL, NULL, (regex_t*)str1, +- ADD_TO_BACK, DESC_REGEXP) == 0) ++ ADD_TO_BACK, DESC_REGEXP) <= 0) + return -1; + return 1; + } +@@ -889,7 +887,7 @@ int codec_move_down_clock (struct sip_msg* msg, char* str1 ,char * str2) + codec.len,codec.s,clock.len,clock.s); + + if( do_for_all_streams( msg, &codec, &clock, NULL, +- ADD_TO_BACK, DESC_NAME_AND_CLOCK) == 0) ++ ADD_TO_BACK, DESC_NAME_AND_CLOCK) <= 0) + return -1; + return 1; + } +-- +1.8.3.1 + diff --git a/opensips-0007-Return-actual-payload-ID-in-case-of-a-dynamic-payloa.patch b/opensips-0007-Return-actual-payload-ID-in-case-of-a-dynamic-payloa.patch new file mode 100644 index 0000000..21c82d8 --- /dev/null +++ b/opensips-0007-Return-actual-payload-ID-in-case-of-a-dynamic-payloa.patch @@ -0,0 +1,74 @@ +From 092b81d54550670b4a0ec38fc667372e0a26a4ec Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Fri, 11 Jan 2013 14:40:08 +0400 +Subject: [PATCH 7/8] Return actual payload ID in case of a dynamic payload + +Signed-off-by: Peter Lemenkov +--- + modules/sipmsgops/codecs.c | 25 +++++++------------------ + 1 file changed, 7 insertions(+), 18 deletions(-) + +diff --git a/modules/sipmsgops/codecs.c b/modules/sipmsgops/codecs.c +index 159cf6a..7d1203f 100644 +--- a/modules/sipmsgops/codecs.c ++++ b/modules/sipmsgops/codecs.c +@@ -34,6 +34,7 @@ + #include "codecs.h" + #include "../../route.h" + #include "../../mod_fix.h" ++#include "../../ut.h" + + #define MAX_STREAMS 64 + +@@ -528,7 +529,9 @@ static int stream_process(struct sip_msg * msg, struct sdp_stream_cell *cell, + + if(op == FIND) + { +- ret = 1; ++ str2sint(&(payload->rtp_payload), &ret); ++ if( (ret >= 0) && (ret <= 34) ) /* if a fixed payload ID then just return 1 */ ++ ret = 1; + goto end; + } + +@@ -676,22 +679,12 @@ int codec_find (struct sip_msg* msg, char* str1 ) + + LM_DBG("searching for codec <%.*s> \n",res.len,res.s); + +- if( do_for_all_streams( msg, &res, NULL, NULL, +- FIND, DESC_NAME) <= 0) +- return -1; +- +- return 1; +- ++ return do_for_all_streams( msg, &res, NULL, NULL, FIND, DESC_NAME); + } + + int codec_find_re (struct sip_msg* msg, char* str1 ) + { +- +- if( do_for_all_streams(msg, NULL, NULL, (regex_t*)str1, +- FIND, DESC_REGEXP) <= 0) +- return -1; +- +- return 1; ++ return do_for_all_streams(msg, NULL, NULL, (regex_t*)str1, FIND, DESC_REGEXP); + } + + +@@ -714,11 +707,7 @@ int codec_find_clock (struct sip_msg* msg, char* str1,char * str2 ) + LM_DBG("searching for codec <%.*s> with clock <%.*s> \n", + codec.len,codec.s,clock.len,clock.s); + +- if( do_for_all_streams( msg, &codec, &clock, NULL, +- FIND, DESC_NAME_AND_CLOCK) <= 0) +- return -1; +- +- return 1; ++ return do_for_all_streams( msg, &codec, &clock, NULL, FIND, DESC_NAME_AND_CLOCK); + } + + +-- +1.8.3.1 + diff --git a/opensips-0008-Use-additional-auth-field-Sip-Source-IP-Address.patch b/opensips-0008-Use-additional-auth-field-Sip-Source-IP-Address.patch new file mode 100644 index 0000000..15dc3df --- /dev/null +++ b/opensips-0008-Use-additional-auth-field-Sip-Source-IP-Address.patch @@ -0,0 +1,68 @@ +From 9b54b0f2fedfaba610af940cb54fdb929e83dd9d Mon Sep 17 00:00:00 2001 +From: Peter Lemenkov +Date: Wed, 10 Aug 2011 17:30:51 +0400 +Subject: [PATCH 8/8] Use additional auth field - Sip-Source-IP-Address + +Signed-off-by: Peter Lemenkov +--- + aaa/aaa_avp.h | 3 ++- + modules/auth_aaa/authaaa_mod.c | 1 + + modules/auth_aaa/sterman.c | 9 +++++++++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/aaa/aaa_avp.h b/aaa/aaa_avp.h +index 1211c26..6d95c72 100644 +--- a/aaa/aaa_avp.h ++++ b/aaa/aaa_avp.h +@@ -58,7 +58,8 @@ + #define A_TIME_STAMP 28 + #define A_SIP_CALL_ID 29 + #define A_SIP_REQUEST_HASH 30 +-#define A_MAX 31 ++#define A_SIP_SOURCE_IP_ADDRESS 31 ++#define A_MAX 32 + + #define V_STATUS_START 0 + #define V_STATUS_STOP 1 +diff --git a/modules/auth_aaa/authaaa_mod.c b/modules/auth_aaa/authaaa_mod.c +index 9c5a01d..5c4b77b 100644 +--- a/modules/auth_aaa/authaaa_mod.c ++++ b/modules/auth_aaa/authaaa_mod.c +@@ -126,6 +126,7 @@ static int mod_init(void) + memset(vals, 0, sizeof(vals)); + attrs[A_SERVICE_TYPE].name = "Service-Type"; + attrs[A_SIP_URI_USER].name = "Sip-URI-User"; ++ attrs[A_SIP_SOURCE_IP_ADDRESS].name = "Sip-Source-IP-Address"; + attrs[A_DIGEST_RESPONSE].name = "Digest-Response"; + attrs[A_DIGEST_ALGORITHM].name = "Digest-Algorithm"; + attrs[A_DIGEST_BODY_DIGEST].name = "Digest-Body-Digest"; +diff --git a/modules/auth_aaa/sterman.c b/modules/auth_aaa/sterman.c +index e10deec..702af71 100644 +--- a/modules/auth_aaa/sterman.c ++++ b/modules/auth_aaa/sterman.c +@@ -89,6 +89,7 @@ int aaa_authorize_sterman(struct sip_msg* _msg, dig_cred_t* _cred, str* _method, + uint32_t service; + str method, user, user_name; + str *ruri; ++ str ip; + + send = received = NULL; + +@@ -231,6 +232,14 @@ int aaa_authorize_sterman(struct sip_msg* _msg, dig_cred_t* _cred, str* _method, + goto err; + } + ++ /* Add SIP source IP address as a check item */ ++ ip.s = ip_addr2a(&_msg->rcv.src_ip); ++ ip.len = strlen(ip.s); ++ if (proto.avp_add(conn, send, &attrs[A_SIP_SOURCE_IP_ADDRESS], ip.s,ip.len,0)) { ++ LM_ERR("unable to add Sip-URI-User attribute\n"); ++ goto err; ++ } ++ + /* Add CALL-ID in Acct-Session-Id Attribute */ + if ( _msg->callid==NULL && + (parse_headers(_msg, HDR_CALLID_F, 0)==-1 || _msg->callid==NULL) ) { +-- +1.8.3.1 + diff --git a/opensips.spec b/opensips.spec index a58900c..d1ee561 100644 --- a/opensips.spec +++ b/opensips.spec @@ -8,28 +8,32 @@ %global opensips_group root %endif +%global _with_snmpstats 1 %if 0%{?el5}%{?el6} # copied from lm_sensors exclusive arch -%ifnarch alpha i386 i486 i586 i686 pentium3 pentium4 athlon x86_64 -%global disable_snmpstats snmpstats +%ifnarch alpha %{ix86} x86_64 +%global _with_snmpstats 0 %endif %endif -%global EXCLUDE_MODULES cachedb_cassandra cachedb_couchbase cachedb_mongodb %{?el5:cachedb_redis} %{!?_with_oracle:db_oracle} lua osp %{?disable_snmpstats} +%global EXCLUDE_MODULES cachedb_cassandra cachedb_couchbase cachedb_mongodb %{?el5:cachedb_redis} %{!?_with_oracle:db_oracle} lua osp sngtc %{!?_with_snmpstats:snmpstats} Summary: Open Source SIP Server Name: opensips -Version: 1.9.1 -Release: 2%{?dist} +Version: 1.10.0 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Daemons -Source0: http://opensips.org/pub/%{name}/%{version}/src/%{name}-%{version}_src.tar.gz +Source0: https://opensips.org/pub/%{name}/%{version}/src/%{name}-%{version}_src.tar.gz Patch1: opensips-0001-Consistently-use-rtpproxy-switches.patch Patch2: opensips-0002-Cleanup-Oracle-s-makefiles.patch Patch3: opensips-0003-Removed-all-async-Oracle-operations-they-didn-t-work.patch Patch4: opensips-0004-db_oracle-Fix-default-ret-result.patch Patch5: opensips-0005-Fix-for-old-Perl-in-RHEL5.patch -URL: http://opensips.org +Patch6: opensips-0006-Don-t-modify-interim-return-value.patch +Patch7: opensips-0007-Return-actual-payload-ID-in-case-of-a-dynamic-payloa.patch +Patch8: opensips-0008-Use-additional-auth-field-Sip-Source-IP-Address.patch +URL: https://opensips.org BuildRequires: expat-devel BuildRequires: libxml2-devel @@ -42,7 +46,7 @@ BuildRequires: mysql-devel BuildRequires: postgresql-devel # required by snmpstats module -%if %{undefined disable_snmpstats} +%if 0%{?_with_snmpstats} BuildRequires: lm_sensors-devel %endif BuildRequires: net-snmp-devel @@ -99,27 +103,27 @@ registrar and user location. %package aaa_radius Summary: RADIUS backend for AAA api Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description aaa_radius +%description aaa_radius This module provides the RADIUS backend for the AAA API - group, auth, uri module use the AAA API for performing RADIUS ops. %package acc Summary: Accounts transactions information to different backends Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description acc +%description acc ACC module is used to account transactions information to different backends like syslog, SQL, AAA. %package auth_aaa Summary: Performs authentication using an AAA server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description auth_aaa +%description auth_aaa This module contains functions that are used to perform authentication using an AAA server. Basically the proxy will pass along the credentials to the AAA server which will in turn send a reply containing result of the @@ -129,35 +133,35 @@ server. %package auth_diameter Summary: Performs authentication using a Diameter server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description auth_diameter +%description auth_diameter This module implements SIP authentication and authorization with DIAMETER server, namely DIameter Server Client (DISC). %package b2bua Summary: Back-2-Back User Agent Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description b2bua +%description b2bua B2BUA is an implementation of the behavior of a B2BUA as defined in RFC 3261 that offers the possibility to build certain services on top of it. %package carrierroute Summary: Routing extension suitable for carriers Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description carrierroute +%description carrierroute A module which provides routing, balancing and blacklisting capabilities. %package cpl-c Summary: Call Processing Language interpreter Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description cpl-c +%description cpl-c This module implements a CPL (Call Processing Language) interpreter. Support for uploading/downloading/removing scripts via SIP REGISTER method is present. @@ -165,28 +169,28 @@ is present. %package db_berkeley Summary: Berkeley DB backend support Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description db_berkeley +%description db_berkeley This is a module which integrates the Berkeley DB into OpenSIPS. It implements the DB API defined in OpenSIPS. %package db_http Summary: HTTP DB backend support Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description db_http +%description db_http This module provides access to a database that is implemented as a HTTP server. %package event_rabbitmq Summary: Event RabbitMQ module Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: librabbitmq-devel -%description event_rabbitmq +%description event_rabbitmq This module provides the implementation of a RabbitMQ client for the Event Interface. It is used to send AMQP messages to a RabbitMQ server each time the Event Interface triggers an event subscribed for. @@ -194,9 +198,9 @@ triggers an event subscribed for. %package h350 Summary: H350 implementation Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description h350 +%description h350 The OpenSIPS H350 module enables an OpenSIPS SIP proxy server to access SIP account data stored in an LDAP [RFC4510] directory containing H.350 [H.350] commObjects. @@ -204,44 +208,44 @@ commObjects. %package httpd Summary: HTTP transport layer implementation Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: libmicrohttpd-devel -%description httpd +%description httpd This module provides an HTTP transport layer for OpenSIPS. %package jabber Summary: Gateway between OpenSIPS and a jabber server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description jabber +%description jabber Jabber module that integrates XODE XML parser for parsing Jabber messages. %package json Summary: A JSON variables within the script Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description json +%description json This module introduces a new type of variable that provides both serialization and de-serialization from JSON format. %package ldap Summary: LDAP connector Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description ldap +%description ldap The LDAP module implements an LDAP search interface for OpenSIPS. #%package lua #Summary: Helps implement your own OpenSIPS extensions in Lua #Group: System Environment/Daemons -#Requires: %{name} = %{version}-%{release} +#Requires: %{name}%{?_isa} = %{version}-%{release} #BuildRequires: lua-devel -#%description lua +#%description lua #The time needed when writing a new OpenSIPS module unfortunately is quite #high, while the options provided by the configuration file are limited to #the features implemented in the modules. With this Lua module, you can @@ -250,28 +254,28 @@ The LDAP module implements an LDAP search interface for OpenSIPS. %package memcached Summary: Memcached connector Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: libmemcached-devel -%description memcached +%description memcached Memcached module is an implementation of a cache system designed to work with a memcached server. %package mmgeoip Summary: Wrapper for the MaxMind GeoIP API Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description mmgeoip +%description mmgeoip Mmgeoip is a lightweight wrapper for the MaxMind GeoIP API. It adds IP address-to-location lookup capability to OpenSIPS scripts. %package mysql -Summary: MySQL Storage Support for the OpenSIPS +Summary: MySQL storage support for the OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description mysql +%description mysql The %{name}-mysql package contains the MySQL plugin for %{name}, which allows a MySQL-Database to be used for persistent storage. @@ -279,7 +283,7 @@ a MySQL-Database to be used for persistent storage. %package oracle Summary: Oracle Storage Support for the OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: oracle-instantclient-devel %description oracle @@ -290,9 +294,9 @@ a Oracle-Database to be used for persistent storage. %package peering Summary: Radius peering Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description peering +%description peering Peering module allows SIP providers (operators or organizations) to verify from a broker if source or destination of a SIP request is a trusted peer. @@ -307,10 +311,10 @@ BuildRequires: perl(ExtUtils::Embed) %else BuildRequires: perl(ExtUtils::Embed), perl-devel %endif -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -%description perl +%description perl The time needed when writing a new OpenSIPS module unfortunately is quite high, while the options provided by the configuration file are limited to the features implemented in the modules. With this Perl module, you can @@ -324,11 +328,11 @@ Summary: Perl virtual database engine Group: System Environment/Daemons # require perl-devel for >F7 and perl for <=F6 BuildRequires: perl(ExtUtils::MakeMaker) -Requires: %{name} = %{version}-%{release} -Requires: %{name}-perl +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-perl%{?_isa} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -%description perlvdb +%description perlvdb The Perl Virtual Database (VDB) provides a virtualization framework for OpenSIPS's database access. It does not handle a particular database engine itself but lets the user relay database requests to arbitrary Perl functions. @@ -336,10 +340,10 @@ itself but lets the user relay database requests to arbitrary Perl functions. %package pi_http Summary: A HTTP provisioning interface for OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-httpd = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-httpd%{?_isa} = %{version}-%{release} -%description pi_http +%description pi_http This module provides an HTTP provisioning interface for OpenSIPS. It is using the OpenSIPS's internal database API to provide a simple way of manipulating records inside OpenSIPS's tables. @@ -347,18 +351,18 @@ records inside OpenSIPS's tables. %package postgresql Summary: PostgreSQL Storage Support for the OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description postgresql +%description postgresql The %{name}-postgresql package contains the PostgreSQL plugin for %{name}, which allows a PostgreSQL-Database to be used for persistent storage. %package presence Summary: Presence server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description presence +%description presence This module implements a presence server. It handles PUBLISH and SUBSCRIBE messages and generates NOTIFY messages. It offers support for aggregation of published presence information for the same presentity using more devices. @@ -368,10 +372,10 @@ rules. %package presence_callinfo Summary: SIMPLE Presence extension Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-presence +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} -%description presence_callinfo +%description presence_callinfo The module enables the handling of "call-info" and "line-seize" events inside the presence module. It is used with the general event handling module: presence and it constructs and adds "Call-Info" headers to notification events. @@ -381,10 +385,10 @@ publish "call-info" events to the presence server. %package presence_dialoginfo Summary: Extension to Presence server for Dialog-Info Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-presence +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} -%description presence_dialoginfo +%description presence_dialoginfo The module enables the handling of "Event: dialog" (as defined in RFC 4235) inside of the presence module. This can be used distribute the dialog-info status to the subscribed watchers. @@ -392,10 +396,10 @@ distribute the dialog-info status to the subscribed watchers. %package presence_mwi Summary: Extension to Presence server for Message Waiting Indication Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-presence +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} -%description presence_mwi +%description presence_mwi The module does specific handling for notify-subscribe message-summary (message waiting indication) events as specified in RFC 3842. It is used with the general event handling module, presence. It constructs and adds @@ -404,52 +408,52 @@ message-summary event to it. %package presence_xcapdiff Summary: Extension to Presence server for XCAP-DIFF event Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-presence -Requires: %{name}-pua_mi +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} +Requires: %{name}-pua_mi%{?_isa} = %{version}-%{release} -%description presence_xcapdiff +%description presence_xcapdiff The presence_xcapdiff is an OpenSIPS module that adds support for the "xcap-diff" event to presence and pua. %package presence_xml Summary: SIMPLE Presence extension Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-presence -Requires: %{name}-xcap_client +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} +Requires: %{name}-xcap_client%{?_isa} = %{version}-%{release} -%description presence_xml +%description presence_xml The module does specific handling for notify-subscribe events using xml bodies. It is used with the general event handling module, presence. %package pua Summary: Offer the functionality of a presence user agent client Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description pua +%description pua This module offer the functionality of a presence user agent client, sending Subscribe and Publish messages. %package pua_bla Summary: BLA extension for PUA Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua -Requires: %{name}-presence +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} -%description pua_bla +%description pua_bla The pua_bla module enables Bridged Line Appearances support according to the specifications in draft-anil-sipping-bla-03.txt. %package pua_dialoginfo Summary: Dialog-Info extension for PUA Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} -%description pua_dialoginfo +%description pua_dialoginfo The pua_dialoginfo retrieves dialog state information from the dialog module and PUBLISHes the dialog-information using the pua module. Thus, in combination with the presence_xml module this can be used to derive dialog-info from the @@ -458,10 +462,10 @@ dialog module and NOTIFY the subscribed watchers about dialog-info changes. %package pua_mi Summary: Connector between usrloc and MI interface Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} -%description pua_mi +%description pua_mi The pua_mi sends offer the possibility to publish presence information via MI transports. Using this module you can create independent applications/scripts to publish not sip-related information (e.g., system @@ -470,10 +474,10 @@ resources like CPU-usage, memory, number of active subscribers ...) %package pua_usrloc Summary: Connector between usrloc and pua modules Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} -%description pua_usrloc +%description pua_usrloc This module is the connector between usrloc and pua modules. It creates the environment to send PUBLISH requests for user location records, on specific events (e.g., when new record is added in usrloc, a PUBLISH with status open @@ -484,12 +488,12 @@ online/offline. %package pua_xmpp Summary: SIMPLE-XMPP Presence gateway Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua -Requires: %{name}-presence -Requires: %{name}-xmpp +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} +Requires: %{name}-xmpp%{?_isa} = %{version}-%{release} -%description pua_xmpp +%description pua_xmpp This module is a gateway for presence between SIP and XMPP. It translates one format into another and uses xmpp, pua and presence modules to manage the transmition of presence state information. @@ -497,19 +501,19 @@ transmition of presence state information. %package python Summary: Python scripting support Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description python +%description python Helps implement your own OpenSIPS extensions in Python %if %{undefined el5} %package redis Summary: Redis connector Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} BuildRequires: hiredis-devel -%description redis +%description redis This module is an implementation of a cache system designed to work with a Redis server. %endif @@ -517,30 +521,39 @@ with a Redis server. %package regex Summary: RegExp via PCRE library Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description regex +%description regex This module offers matching operations against regular expressions using the powerful PCRE library. +%package rest_client +Summary: HTTP client module for OpenSIPS +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description rest_client +This module provides a means of interacting with an HTTP server by doing +RESTful queries, such as GET and POST. + %package rls Summary: Resource List Server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} -Requires: %{name}-pua -Requires: %{name}-presence -Requires: %{name}-xcap = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-pua%{?_isa} = %{version}-%{release} +Requires: %{name}-presence%{?_isa} = %{version}-%{release} +Requires: %{name}-xcap%{?_isa} = %{version}-%{release} -%description rls +%description rls The modules is a Resource List Server implementation following the specification in RFC 4662 and RFC 4826. %package seas Summary: Transfers the execution logic control to a given external entity Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description seas +%description seas SEAS module enables OpenSIPS to transfer the execution logic control of a sip message to a given external entity, called the Application Server. When the OpenSIPS script is being executed on an incoming SIP message, invocation of @@ -553,9 +566,9 @@ with a SIP repy, etc %package sms Summary: Gateway between SIP and GSM networks via sms Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description sms +%description sms This module provides a way of communication between SIP network (via SIP MESSAGE) and GSM networks (via ShortMessageService). Communication is possible from SIP to SMS and vice versa. The module provides facilities @@ -563,14 +576,14 @@ like SMS confirmation--the gateway can confirm to the SIP user if his message really reached its destination as a SMS--or multi-part messages--if a SIP messages is too long it will be split and sent as multiple SMS. -%if %{undefined disable_snmpstats} +%if 0%{?_with_snmpstats} %package snmpstats Summary: SNMP management interface for the OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) -%description snmpstats +%description snmpstats The %{name}-snmpstats package provides an SNMP management interface to OpenSIPS. Specifically, it provides general SNMP queryable scalar statistics, table representations of more complicated data such as user and contact @@ -580,9 +593,9 @@ information, and alarm monitoring capabilities. %package tlsops Summary: TLS-relating functions for the OpenSIPS Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description tlsops +%description tlsops The %{name}-tlsops package implements TLS related functions to use in the routing script, and exports pseudo variables with certificate and TLS parameters. @@ -590,27 +603,27 @@ parameters. %package unixodbc Summary: OpenSIPS unixODBC Storage support Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description unixodbc +%description unixodbc The %{name}-unixodbc package contains the unixODBC plugin for %{name}, which allows a unixODBC to be used for persistent storage %package xcap Summary: XCAP common functions Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description xcap +%description xcap The module contains several parameters and functions common to all modules using XCAP capabilities. %package xcap_client Summary: XCAP client Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description xcap_client +%description xcap_client The modules is an XCAP client for OpenSIPS that can be used by other modules. It fetches XCAP elements, either documents or part of them, by sending HTTP GET requests. It also offers support for conditional queries. It uses libcurl @@ -619,18 +632,28 @@ library as a client-side HTTP transfer library. %package xmlrpc Summary: A xmlrpc server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description xmlrpc +This module implements a xmlrpc server that handles xmlrpc requests and generates +xmlrpc responses. When a xmlrpc message is received a default method is executed. + +%package xmlrpc_ng +Summary: A xmlrpc server (new version) +Group: System Environment/Daemons +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-httpd%{?_isa} = %{version}-%{release} -%description xmlrpc +%description xmlrpc_ng This module implements a xmlrpc server that handles xmlrpc requests and generates xmlrpc responses. When a xmlrpc message is received a default method is executed. %package xmpp Summary: Gateway between OpenSIPS and a jabber server Group: System Environment/Daemons -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} -%description xmpp +%description xmpp This modules is a gateway between Openser and a jabber server. It enables the exchange of instant messages between SIP clients and XMPP(jabber) clients. @@ -646,6 +669,11 @@ rm -f modules/db_oracle/asynch.* %if 0%{?el5} %patch5 -p1 %endif +%patch6 -p1 -b .dont_modify +%patch7 -p1 -b .return_actual_payload_id +%if 0%{?_with_additional_auth_field_opensips} +%patch8 -p1 -b .additional_auth_field_src_ip +%endif %build LOCALBASE=/usr NICER=0 CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" %{?_with_oracle:ORAHOME="$ORACLE_HOME"} %{__make} all %{?_smp_mflags} TLS=1 \ @@ -730,21 +758,6 @@ fi %systemd_preun %{name}.service %endif -%if 0%{?fedora} > 16 -%triggerun -- %{name} < 1.7.2-1 -# Save the current service runlevel info -# User must manually run systemd-sysv-convert --apply opensips -# to migrate them to systemd targets -/usr/bin/systemd-sysv-convert --save %{name} >/dev/null 2>&1 ||: - -# Run these because the SysV package being removed won't do them -/sbin/chkconfig --del %{name} >/dev/null 2>&1 || : -/bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || : - -%triggerun -- opensips < 1.7.2-4 -chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} -%endif - %files %{_sbindir}/opensips %{_sbindir}/opensipsctl @@ -833,6 +846,7 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %{_libdir}/opensips/modules/call_control.so %{_libdir}/opensips/modules/closeddial.so %{_libdir}/opensips/modules/cfgutils.so +%{_libdir}/opensips/modules/db_cachedb.so %{_libdir}/opensips/modules/db_flatstore.so %{_libdir}/opensips/modules/db_virtual.so %{_libdir}/opensips/modules/db_text.so @@ -855,6 +869,7 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %{_libdir}/opensips/modules/imc.so %{_libdir}/opensips/modules/load_balancer.so %{_libdir}/opensips/modules/mangler.so +%{_libdir}/opensips/modules/mathops.so %{_libdir}/opensips/modules/maxfwd.so %{_libdir}/opensips/modules/mediaproxy.so %{_libdir}/opensips/modules/mi_fifo.so @@ -903,6 +918,7 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %doc docdir/README.call_control %doc docdir/README.closeddial %doc docdir/README.cfgutils +%doc docdir/README.db_cachedb %doc docdir/README.db_flatstore %doc docdir/README.db_virtual %doc docdir/README.db_text @@ -925,6 +941,7 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %doc docdir/README.imc %doc docdir/README.load_balancer %doc docdir/README.mangler +%doc docdir/README.mathops %doc docdir/README.maxfwd %doc docdir/README.mediaproxy %doc docdir/README.mi_fifo @@ -1031,7 +1048,6 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %doc docdir/README.ldap #%files lua -#%defattr(-,root,root,-) #%{_libdir}/opensips/modules/lua.so #%doc docdir/README.lua @@ -1173,6 +1189,10 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %{_libdir}/opensips/modules/regex.so %doc docdir/README.regex +%files rest_client +%{_libdir}/opensips/modules/rest_client.so +%doc docdir/README.rest_client + %files rls %{_libdir}/opensips/modules/rls.so %doc docdir/README.rls @@ -1185,7 +1205,7 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %{_libdir}/opensips/modules/sms.so %doc docdir/README.sms -%if %{undefined disable_snmpstats} +%if 0%{?_with_snmpstats} %files snmpstats %{_libdir}/opensips/modules/snmpstats.so %doc docdir/README.snmpstats @@ -1218,11 +1238,24 @@ chown -R %{opensips_user}:%{opensips_group} %{_sysconfdir}/%{name} %{_libdir}/opensips/modules/mi_xmlrpc.so %doc docdir/README.mi_xmlrpc +%files xmlrpc_ng +%{_libdir}/opensips/modules/mi_xmlrpc_ng.so +%doc docdir/README.mi_xmlrpc_ng + %files xmpp %{_libdir}/opensips/modules/xmpp.so %doc docdir/README.xmpp %changelog +* Wed Sep 25 2013 Peter Lemenkov - 1.10.0-1 +- Ver. 1.10.0 +- Drop support for Fedora 17 and earlier (still maintain support for EL5) +- New external module - rest_client +- New external module - xmlrpc_ng (contains mi_xmlrpc_ng) +- New internal module - db_cachedb +- New internal module - mathops +- Disabled new external module - sngtc (requires a proprietary library) + * Fri Sep 06 2013 Peter Lemenkov - 1.9.1-2 - Proper directory for storing tmpfile diff --git a/sources b/sources index 20e3202..1498af8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0b7b93f4df29a96daedf12e490e7ec86 opensips-1.9.1_src.tar.gz +5cbccda321940c51baed798f2f6c5b1a opensips-1.10.0_src.tar.gz