Subject: [alpine-aports] [PATCH] main/sems version bump to 1.6.0

From: Nathan Angelacos <[email-masked]>
Date: Fri, 25 Sep 2015 16:38:32 +0000

---
 main/sems/APKBUILD                            | 104 ++++++++--
 main/sems/sems-0004-fix-PRACK-route.patch     |  14 --
 main/sems/sems-0004-musl-fixes.patch          |  56 +++++
 main/sems/sems-0005-stats-needs-version.patch |  12 ++
 main/sems/std-types.patch                     | 283 ++++++++++++++++++++++++--
 5 files changed, 417 insertions(+), 52 deletions(-)
 delete mode 100644 main/sems/sems-0004-fix-PRACK-route.patch
 create mode 100644 main/sems/sems-0004-musl-fixes.patch
 create mode 100644 main/sems/sems-0005-stats-needs-version.patch

diff --git a/main/sems/APKBUILD b/main/sems/APKBUILD
index efd1b13..ada6003 100644
--- a/main/sems/APKBUILD
+++ b/main/sems/APKBUILD
@@ -1,8 +1,8 @@
 # Contributor: Francesco Colista <[email-masked]>
 # Maintainer: Natanael Copa <[email-masked]>
 pkgname=sems
-pkgver=1.5.0
-pkgrel=4
+pkgver=1.6.0
+pkgrel=0
 pkgdesc="SIP Express Media Server, an extensible SIP media server"
 url="http://iptel.org/sems/"
 arch="all"
@@ -11,19 +11,23 @@ pkgusers="sems"
 pkggroups="sems"
 install="$pkgname.pre-install"
 makedepends="python-dev cmake bash openssl-dev linux-headers
-	libsamplerate-dev spandsp-dev flite-dev gsm-dev speex-dev"
+	libsamplerate-dev spandsp-dev flite-dev gsm-dev speex-dev
+	libevent-dev libev-dev lame-dev"
 subpackages="$pkgname-doc $pkgname-conf_auth $pkgname-conference
 	$pkgname-diameter_client $pkgname-dsm $pkgname-early_announce
 	$pkgname-g722 $pkgname-gsm $pkgname-ivr $pkgname-mailbox
-	$pkgname-pin_collect $pkgname-speex $pkgname-xmlrpc2di"
+	$pkgname-pin_collect $pkgname-speex $pkgname-xmlrpc2di
+	$pkgname-webconference $pkgname-voicebox $pkgname-voicemail
+	$pkgname-annrecorder $pkgname-jsonrpc $pkgname-registrar"
 
-source="ftp://ftp.iptel.org/pub/sems/sems-$pkgver.tar.gz
+source="saveas-https://github.com/sems-server/sems/archive/$pkgver.tar.gz/$pkgname-$pkgver.tar.gz
 	sems-0001-Force-to-use-system-wide-GSM-includes.patch
 	sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
 	sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
-	sems-0004-fix-PRACK-route.patch
-	sems.initd
+	sems-0004-musl-fixes.patch
+	sems-0005-stats-needs-version.patch
 	std-types.patch
+	sems.initd
 	"
 #	sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
 #	sems-0006-last-minute-fix-proper-version.patch
@@ -31,6 +35,7 @@ source="ftp://ftp.iptel.org/pub/sems/sems-$pkgver.tar.gz
 #	sems-0009-Don-t-start-py_sems-by-default.patch
 
 # applied:
+#	sems-0004-fix-PRACK-route.patch
 #	sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
 #	sems-0010-Move-CMake-defines.patch
 
@@ -148,7 +153,7 @@ gsm() {
 }
 
 ivr() {
-	pkgdesc="IVR functionallity for SEMS"
+	pkgdesc="IVR (python) functionallity for SEMS"
 	depends="sems python"
 	cd "$pkgdir"
 	_mv_sub etc/sems/etc/ivr.conf \
@@ -168,7 +173,7 @@ mailbox() {
 
 pin_collect() {
 	pkgdesc="Collects a PIN for SEMS"
-	depends="sems sems-ivr"
+	depends="sems"
 	cd "$pkgdir"
 	_mv_sub etc/sems/etc/pin_collect.conf \
 		usr/share/sems/audio/pin_collect \
@@ -176,6 +181,43 @@ pin_collect() {
 		usr/lib/sems/ivr/pin_collect*
 }
 
+webconference() {
+	pkgdesc="Conference bridge via DI (xmlrpc) for SEMS"
+	depends="sems sems-xmlrpc2di"
+	cd "$pkgdir"
+	_mv_sub etc/sems/etc/webconference.conf \
+		usr/share/sems/audio/webconference \
+		usr/lib/sems/plug-in/webconference.so
+}
+
+annrecorder() {
+	pkgdesc="Allow user to record personal greeting for SEMS"
+	depends="sems"
+	cd "$pkgdir"
+	_mv_sub etc/sems/etc/annrecorder.conf \
+		usr/share/sems/audio/annrecorder \
+		usr/lib/sems/plug-in/annrecorder.so
+}
+
+voicebox() {
+	pkgdesc="Voicebox (call in for messsages) for SEMS"
+	depends="sems"
+	cd "$pkgdir"
+	_mv_sub etc/sems/etc/voicebox.conf \
+		usr/share/sems/audio/voicebox \
+		usr/lib/sems/plug-in/voicebox.so \
+		var/spool/voicebox
+}
+
+voicemail() {
+	pkgdesc="Play greeting and record voicemail for SEMS"
+	depends="sems"
+	cd "$pkgdir"
+	_mv_sub etc/sems/etc/voicemail.conf \
+		usr/share/sems/audio/voicemail \
+		usr/lib/sems/plug-in/voicemail.so
+}
+
 _python() {
 	pkgdesc="Python bindings for SEMS"
 	depends="python sems"
@@ -198,25 +240,45 @@ xmlrpc2di() {
 		usr/lib/sems/plug-in/xmlrpc2di.so
 }
 
+jsonrpc() {
+	pkgdesc="Jsonrpc support for SEMS"
+	depends="sems"
+	_mv_sub \
+		etc/sems/etc/jsonrpc.conf \
+		usr/lib/sems/plug-in/jsonrpc.so
+}
+
+registrar() {
+	pkgdesc="Support for SEMS to register to a SIP server"
+	depends="sems"
+	_mv_sub \
+		etc/sems/etc/reg_agent.conf \
+		usr/lib/sems/plug-in/reg_agent.so \
+		usr/lib/sems/plug-in/registrar_client.so
+}
+
 
-md5sums="ec0a88f9081679b3b4ab9d06e84ea759  sems-1.5.0.tar.gz
+md5sums="dc33c71af73e315c72b99c8618649ffb  sems-1.6.0.tar.gz
 5b2fded836b44bda33f39adc37de4de7  sems-0001-Force-to-use-system-wide-GSM-includes.patch
 b8efd1a6415afa08f7c676f6976fca36  sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
 331e7529833c906b4738006f32a65fde  sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
-62f03dac8e098b0333f3e8b06770b459  sems-0004-fix-PRACK-route.patch
-4b537f18cda6c72d7afda582a6f5858e  sems.initd
-ce9f27a70cdf2b3a5812ee25005b5feb  std-types.patch"
-sha256sums="aec3dd76911d76b9a2ffbb82c6e36ba828514ccf500b7ab9df45ac7f8ef78547  sems-1.5.0.tar.gz
+83d66d121d4f3e823a93f3e2dfbcbcff  sems-0004-musl-fixes.patch
+305081ea41aebd3544cc2c528f7612c6  sems-0005-stats-needs-version.patch
+bbcbee0f73342b4c35deff15c1d708d5  std-types.patch
+4b537f18cda6c72d7afda582a6f5858e  sems.initd"
+sha256sums="fd8ece47ea2ef47f7dc62a410ec94f5a162531ce7c1a9a4e5979b8b1d944fd63  sems-1.6.0.tar.gz
 a36950f68e78af21f0e1152bb01e2f25f74b8c63210eecc01e4a4f90cf841371  sems-0001-Force-to-use-system-wide-GSM-includes.patch
 0992f15e2a5c58d63a5a06dda027323e203fbf67d57022c11d5d63fd953088bc  sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
 04e0b2a944c5f64305e5711f5dfdcf4675fc7980225ef87267fcaff241168d46  sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
-2f2d7f6318dd6d202266aa96fab310ad2d7740286aa624d71f0f4b2c6636602e  sems-0004-fix-PRACK-route.patch
-5bc8ece09cf1c47c8f0880fdeca40d1e72eb4bc5c6356ffc2d738179b9463e19  sems.initd
-3da54852bafc4f343208034f56caf659dcf381f399c54c83f19072abb294e0d1  std-types.patch"
-sha512sums="f0e055bd33fac106ac2592e977a03b5e2fe93f539e0b60a7bf61881434849b119efebdd4784e0c9c06149992765db5995441e45fb23d0217726c6293c7984baf  sems-1.5.0.tar.gz
+be53fb504459c59d31d03a89246cba555d796b9b08516e08f50a15ce423d4618  sems-0004-musl-fixes.patch
+0609ddae2ce3035e5d0dc40e33814dcc83dd848ae854e535e8b3140bb5f23eda  sems-0005-stats-needs-version.patch
+c4aac6f50d8ba85d389a859d9067fb7e7589daf4b84cd1d68ac231bcdb0d2aeb  std-types.patch
+5bc8ece09cf1c47c8f0880fdeca40d1e72eb4bc5c6356ffc2d738179b9463e19  sems.initd"
+sha512sums="80190dbdc1d68dc7aa377b2af6a962f08c058a42cd618cb422d6d4e0f9138059fad71b7f284c6420de462ad4dcd65ea5e65b3c5b82dc1850dbd5b5a45644d3d4  sems-1.6.0.tar.gz
 87c6f878c3ad5e947a9a80431ddf28f08c04ce1415b7c42878f66b423c78d909efda836c7c2d3ed97e075c08d7a07c4707a49c14ce42c1a3aa350de1878c8d09  sems-0001-Force-to-use-system-wide-GSM-includes.patch
 4c09033d6acd1bbef2aa2d02571f74da29532decca67b9ce861872d8d9522ca31808d6e26c3b536913ef7a988f90d374e217187b9cadb6a79d5c830571e94b67  sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
 ba6f0d917464729c63628255bee3d864a954af4a510b802f0de1d51f35ff5d7c1c33cbe14db31818133a3c94f84da0f4bea4184ce1e8eae6aa9a1ba79f2e5347  sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
-816d93ef9ab5a38b8cb03ee5c68b9dd3ad3cb810e021b02c24def45ddd4d7f8223bb3f1fee5b897de18db323fc2ea99c4279bc0d0246e3926edb5604d37e1ffb  sems-0004-fix-PRACK-route.patch
-5be93b6444a9592daa6c883c78e5906e9e662891e1daa850d872bdaa657eb756f1bc0879732033479b279b75c2fd42ef79aa530ebf3b1692e7fb222d484f804b  sems.initd
-17c0baa5f8c3da66e3d1442c41ebbb58c5282d9f165ddd460d1680bb5079d6a33ad961a85447744a8342b8ed6f2ca91ca7803e4427c9d886a4eff18e9e138b0a  std-types.patch"
+0d3deeb8617a96f81a05fc27b94bca70f4f6dfbdb3c75f0cd4abc5df002ff16f70ec2836717f317b0d03a8178415c2c09ca2d7099bf10c7ac3c58b273ee98776  sems-0004-musl-fixes.patch
+28f07142a0b8b6698948d41bfb198e59637d5a921960adc496111b5cad4685a0b1cade821ac9cd9dbbf3f25ed6195f29485a12d077abf81428b9b6f8bfced79e  sems-0005-stats-needs-version.patch
+79e3ac2b202b3f6c710b3d2bc8ac459e3622f2bf5945eaaa81778f53bcbddc7951266f88c2fd9862fbed44f10a160368af7d19b5e81929a3b1e8ee150111f74b  std-types.patch
+5be93b6444a9592daa6c883c78e5906e9e662891e1daa850d872bdaa657eb756f1bc0879732033479b279b75c2fd42ef79aa530ebf3b1692e7fb222d484f804b  sems.initd"
diff --git a/main/sems/sems-0004-fix-PRACK-route.patch b/main/sems/sems-0004-fix-PRACK-route.patch
deleted file mode 100644
index af28271..0000000
--- a/main/sems/sems-0004-fix-PRACK-route.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp
-index d121606..17c9731 100644
---- a/core/AmSipDialog.cpp
-+++ b/core/AmSipDialog.cpp
-@@ -406,6 +406,9 @@ void AmSipDialog::onRxReply(const AmSipReply& reply)
- 	else {
- 	  status = Early;
- 	  remote_tag = reply.to_tag;
-+	  route = reply.route;
-+	  if(!reply.to_uri.empty())
-+	    remote_uri = reply.to_uri;
- 	}
-       }
-       else if(reply.code < 300){
diff --git a/main/sems/sems-0004-musl-fixes.patch b/main/sems/sems-0004-musl-fixes.patch
new file mode 100644
index 0000000..6302f30
--- /dev/null
+++ b/main/sems/sems-0004-musl-fixes.patch
@@ -0,0 +1,56 @@
+diff --git a/core/AmBasicSipDialog.cpp b/core/AmBasicSipDialog.cpp
+index 8a9fc04..d6d5ab7 100644
+--- a/core/AmBasicSipDialog.cpp
++++ b/core/AmBasicSipDialog.cpp
+@@ -591,7 +591,7 @@ int AmBasicSipDialog::reply(const AmSipRequest& req,
+ 	  "remote_tag=%s\n",
+ 	  req.cseq,code,callid.c_str(),
+ 	  local_tag.c_str(),remote_tag.c_str());
+-    log_stacktrace(L_ERR);
++    // log_stacktrace(L_ERR);
+     return -1;
+   }
+   DBG("reply: transaction found!\n");
+diff --git a/core/log.cpp b/core/log.cpp
+index 933657e..efc2ae2 100644
+--- a/core/log.cpp
++++ b/core/log.cpp
+@@ -206,6 +206,7 @@ void register_log_hook(AmLoggingFacility* fac)
+   log_hooks.push_back(fac);
+ }
+ 
++#ifdef MUSL_SUPPORTS_BACKTRACE
+ /**
+  * Print stack-trace through logging function
+  */
+@@ -300,3 +301,5 @@ void __lds(int ll, unsigned int max_frames)
+   free(funcname);
+   free(symbollist);
+ }
++
++#endif
+diff --git a/core/log.h b/core/log.h
+index 253d824..5ffda75 100644
+--- a/core/log.h
++++ b/core/log.h
+@@ -33,7 +33,7 @@
+ #include <stdio.h>
+ #include <unistd.h>	/* getpid() */
+ #include <pthread.h>	/* pthread_self() */
+-#include <execinfo.h>   /* backtrace_symbols() */
++// #include <execinfo.h>   /* backtrace_symbols() */
+ 
+ #ifdef __cplusplus
+ #include <cxxabi.h> /* __cxa_demangle() */
+diff --git a/core/sems.cpp b/core/sems.cpp
+index 6f03e5c..d7030eb 100644
+--- a/core/sems.cpp
++++ b/core/sems.cpp
+@@ -69,6 +69,7 @@
+ using std::string;
+ 
+ #if defined(__linux__)
++#include <sys/resource.h>
+ #include <sys/prctl.h>
+ #endif
+ 
diff --git a/main/sems/sems-0005-stats-needs-version.patch b/main/sems/sems-0005-stats-needs-version.patch
new file mode 100644
index 0000000..01a7108
--- /dev/null
+++ b/main/sems/sems-0005-stats-needs-version.patch
@@ -0,0 +1,12 @@
+diff --git a/core/plug-in/stats/StatsUDPServer.cpp b/core/plug-in/stats/StatsUDPServer.cpp
+index c78dc10..8d92720 100644
+--- a/core/plug-in/stats/StatsUDPServer.cpp
++++ b/core/plug-in/stats/StatsUDPServer.cpp
+@@ -26,6 +26,7 @@
+  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+  */
+ 
++#include "sems.h"
+ #include "StatsUDPServer.h"
+ #include "Statistics.h"
+ #include "AmConfigReader.h"
diff --git a/main/sems/std-types.patch b/main/sems/std-types.patch
index e67e94a..edaf8d5 100644
--- a/main/sems/std-types.patch
+++ b/main/sems/std-types.patch
@@ -1,6 +1,110 @@
---- ./core/sip/parse_dns.h.orig
-+++ ./core/sip/parse_dns.h
-@@ -34,10 +34,10 @@
+diff --git a/apps/gateway/mISDNChannel.cpp b/apps/gateway/mISDNChannel.cpp
+index 8abd77a..36e8778 100644
+--- a/apps/gateway/mISDNChannel.cpp
++++ b/apps/gateway/mISDNChannel.cpp
+@@ -118,8 +118,8 @@ int mISDN_get_free_ext_ie(mISDN::Q931_info_t *qi) {
+         return (-1);
+ }
+ 
+-int mISDN_AddIE(mISDN::Q931_info_t *qi, u_char *p, u_char ie, u_char *iep) {
+-        u_char          *ps;
++int mISDN_AddIE(mISDN::Q931_info_t *qi, unsigned char *p, unsigned char ie, unsigned char *iep) {
++        unsigned char          *ps;
+         mISDN::ie_info_t       *ies;
+         int             l;
+ 
+@@ -158,7 +158,7 @@ int mISDN_AddIE(mISDN::Q931_info_t *qi, u_char *p, u_char ie, u_char *iep) {
+                 }
+                 l = iep[0] + 1;
+         }
+-        ps = (u_char *) qi;
++        ps = (unsigned char *) qi;
+         ps += L3_EXTRA_SIZE;
+         ies->off = (u16)(p - ps);
+         *p++ = ie;
+diff --git a/core/sip/parse_dns.cpp b/core/sip/parse_dns.cpp
+index 2b62f3e..d24f537 100644
+--- a/core/sip/parse_dns.cpp
++++ b/core/sip/parse_dns.cpp
+@@ -6,10 +6,10 @@
+ #define SECTION_COUNTS_OFF 4
+ #define HEADER_OFFSET      12
+ 
+-unsigned short dns_msg_count(u_char* begin, dns_section_type sect);
+-int dns_skip_name(u_char** p, u_char* end);
+-int dns_expand_name(u_char** ptr, u_char* begin, u_char* end, 
+-		    u_char* buf, unsigned int len);
++unsigned short dns_msg_count(unsigned char* begin, dns_section_type sect);
++int dns_skip_name(unsigned char** p, unsigned char* end);
++int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end, 
++		    unsigned char* buf, unsigned int len);
+ 
+ 
+ const char* dns_rr_type_str(dns_rr_type t)
+@@ -27,11 +27,11 @@ const char* dns_rr_type_str(dns_rr_type t)
+ 
+ 
+ 
+-int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
++int dns_msg_parse(unsigned char* msg, int len, dns_parse_fct fct, void* data)
+ {
+-  u_char* begin = msg;
+-  u_char* p = begin + HEADER_OFFSET;
+-  u_char* end = msg + len;
++  unsigned char* begin = msg;
++  unsigned char* p = begin + HEADER_OFFSET;
++  unsigned char* end = msg + len;
+ 
+   if(p >= end) return -1;
+ 
+@@ -48,7 +48,7 @@ int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
+     for(int i=0; i<dns_msg_count(begin,(dns_section_type)s); i++){
+ 
+       // expand name
+-      if(dns_expand_name(&p,begin,end,(u_char*)rr.name,NS_MAXDNAME) < 0) return -1;
++      if(dns_expand_name(&p,begin,end,(unsigned char*)rr.name,NS_MAXDNAME) < 0) return -1;
+ 
+       // at least 8 bytes for type+class+ttl left?
+       if((p + 8) > end) return -1;
+@@ -79,14 +79,14 @@ int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
+   return 0;
+ }
+ 
+-unsigned short dns_msg_count(u_char* begin, dns_section_type sect)
++unsigned short dns_msg_count(unsigned char* begin, dns_section_type sect)
+ {
+-  u_char* p = begin + SECTION_COUNTS_OFF + 2*sect;
++  unsigned char* p = begin + SECTION_COUNTS_OFF + 2*sect;
+ 
+   return ((u_short)*p)<<8 | ((u_short)*(p+1));
+ }
+ 
+-int dns_skip_name(u_char** p, u_char* end)
++int dns_skip_name(unsigned char** p, unsigned char* end)
+ {
+   while(*p < end) {
+     
+@@ -106,11 +106,11 @@ int dns_skip_name(u_char** p, u_char* end)
+   return -1;
+ }
+ 
+-int dns_expand_name(u_char** ptr, u_char* begin, u_char* end, 
+-		    u_char* start_buf, unsigned int len)
++int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end, 
++		    unsigned char* start_buf, unsigned int len)
+ {
+-  u_char* buf = start_buf;
+-  u_char* p = *ptr;
++  unsigned char* buf = start_buf;
++  unsigned char* p = *ptr;
+   bool    is_ptr=false;
+ 
+   while(p < end) {
+diff --git a/core/sip/parse_dns.h b/core/sip/parse_dns.h
+index c5de8b6..34406b0 100644
+--- a/core/sip/parse_dns.h
++++ b/core/sip/parse_dns.h
+@@ -39,18 +39,18 @@ struct dns_record
  
  class dns_entry;
  
@@ -14,19 +118,164 @@
 +int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end, 
 +		    unsigned char* buf, unsigned int len);
  
- #endif
---- ./core/sip/parse_dns.cpp.orig
-+++ ./core/sip/parse_dns.cpp
-@@ -6,9 +6,9 @@
- #define SECTION_COUNTS_OFF 4
- #define HEADER_OFFSET      12
+-inline uint16_t dns_get_16(const u_char* p)
++inline uint16_t dns_get_16(const unsigned char* p)
+ {
+   return ntohs(*(uint16_t*)p);
+ }
  
--unsigned short dns_msg_count(u_char* begin, dns_section_type sect);
--int dns_skip_name(u_char** p, u_char* end);
--int dns_expand_name(u_char** ptr, u_char* begin, u_char* end, 
-+unsigned short dns_msg_count(unsigned char* begin, dns_section_type sect);
-+int dns_skip_name(unsigned char** p, unsigned char* end);
-+int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end, 
- 		    u_char* buf, unsigned int len);
+-inline uint32_t dns_get_32(const u_char* p)
++inline uint32_t dns_get_32(const unsigned char* p)
+ {
+   return ntohl(*(uint32_t*)p);
+ }
+diff --git a/core/sip/resolver.cpp b/core/sip/resolver.cpp
+index 9793069..80c547c 100644
+--- a/core/sip/resolver.cpp
++++ b/core/sip/resolver.cpp
+@@ -169,7 +169,7 @@ public:
+ 	stable_sort(ip_vec.begin(),ip_vec.end(),srv_less);
+     }
+ 
+-    dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
++    dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
+ 
+     int next_ip(dns_handle* h, sockaddr_storage* sa)
+     {
+@@ -316,7 +316,7 @@ dns_entry* dns_entry::make_entry(dns_rr_type t)
+     }
+ }
+ 
+-void dns_entry::add_rr(dns_record* rr, u_char* begin, u_char* end, long now)
++void dns_entry::add_rr(dns_record* rr, unsigned char* begin, unsigned char* end, long now)
+ {
+     dns_base_entry* e = get_rr(rr,begin,end);
+     if(!e) return;
+@@ -451,7 +451,7 @@ void ip_entry::to_sa(sockaddr_storage* sa)
+ string ip_entry::to_str()
+ {
+     if(type == IPv4) {
+-	u_char* cp = (u_char*)&addr;
++	unsigned char* cp = (unsigned char*)&addr;
+ 	return int2str(cp[0]) + 
+ 	    "." + int2str(cp[1]) + 
+ 	    "." + int2str(cp[2]) + 
+@@ -496,7 +496,7 @@ string ip_port_entry::to_str()
+     return ip_entry::to_str() + ":" + int2str(port);
+ }
+ 
+-dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
++dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
+ {
+     if(rr->type != dns_r_a)
+ 	return NULL;
+@@ -516,16 +516,16 @@ dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
+     return new_ip;
+ }
+ 
+-dns_base_entry* dns_srv_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
++dns_base_entry* dns_srv_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
+ {
+     if(rr->type != dns_r_srv)
+ 	return NULL;
+ 
+-    u_char name_buf[NS_MAXDNAME];
+-    const u_char * rdata = ns_rr_rdata(*rr);
++    unsigned char name_buf[NS_MAXDNAME];
++    const unsigned char * rdata = ns_rr_rdata(*rr);
+ 	
+     /* Expand the target's name */
+-    u_char* p = (u_char*)rdata+6;
++    unsigned char* p = (unsigned char*)rdata+6;
+     if (dns_expand_name(&p,begin,end,
+     			   name_buf,         /* Result                */
+     			   NS_MAXDNAME)      /* Size of result buffer */
+@@ -570,7 +570,7 @@ struct dns_search_h
+ };
+ 
+ int rr_to_dns_entry(dns_record* rr, dns_section_type t,
+-		    u_char* begin, u_char* end, void* data)
++		    unsigned char* begin, unsigned char* end, void* data)
+ {
+     // only answer and additional sections
+     if(t != dns_s_an && t != dns_s_ar)
+@@ -668,7 +668,7 @@ void dns_naptr_entry::init()
+     stable_sort(ip_vec.begin(),ip_vec.end(),naptr_less);
+ }
+ 
+-dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
++dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
+ {
+     enum NAPTR_FieldIndex {
+ 	NAPTR_Flags       = 0,
+@@ -681,7 +681,7 @@ dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, u_char* begin, u_char* e
+     if(rr->type != dns_r_naptr)
+ 	return NULL;
+ 
+-    const u_char * rdata = ns_rr_rdata(*rr);
++    const unsigned char * rdata = ns_rr_rdata(*rr);
+ 
+     unsigned short order = dns_get_16(rdata);
+     rdata += 2;
+@@ -856,7 +856,7 @@ _resolver::~_resolver()
+ 
+ int _resolver::query_dns(const char* name, dns_entry_map& entry_map, dns_rr_type t)
+ {
+-    u_char dns_res[NS_PACKETSZ];
++    unsigned char dns_res[NS_PACKETSZ];
+ 
+     if(!name) return -1;
+ 
+diff --git a/core/sip/resolver.h b/core/sip/resolver.h
+index 7565898..caa81e8 100644
+--- a/core/sip/resolver.h
++++ b/core/sip/resolver.h
+@@ -77,7 +77,7 @@ class dns_entry
+     : public atomic_ref_cnt,
+       public dns_base_entry
+ {
+-    virtual dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end)=0;
++    virtual dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)=0;
+ 
+ public:
+     vector<dns_base_entry*> ip_vec;
+@@ -87,7 +87,7 @@ public:
+     dns_entry();
+     virtual ~dns_entry();
+     virtual void init()=0;
+-    virtual void add_rr(dns_record* rr, u_char* begin, u_char* end, long now);
++    virtual void add_rr(dns_record* rr, unsigned char* begin, unsigned char* end, long now);
+     virtual int next_ip(dns_handle* h, sockaddr_storage* sa)=0;
+ 
+     virtual string to_str();
+@@ -140,7 +140,7 @@ public:
+     {}
+ 
+     void init(){};
+-    dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
++    dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
+     int next_ip(dns_handle* h, sockaddr_storage* sa);
+ 
+     int fill_ip_list(const list<sip_destination>& ip_list);
+@@ -199,7 +199,7 @@ public:
+     {}
+ 
+     void init();
+-    dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
++    dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
+ 
+     // not needed
+     int next_ip(dns_handle* h, sockaddr_storage* sa) { return -1; }
+diff --git a/core/sip/udp_trsp.cpp b/core/sip/udp_trsp.cpp
+index eb3a1ce..e33a156 100644
+--- a/core/sip/udp_trsp.cpp
++++ b/core/sip/udp_trsp.cpp
+@@ -300,7 +300,7 @@ void udp_trsp::run()
+     msg.msg_namelen    = sizeof(sockaddr_storage);
+     msg.msg_iov        = iov;
+     msg.msg_iovlen     = 1;
+-    msg.msg_control    = new u_char[DSTADDR_DATASIZE];
++    msg.msg_control    = new unsigned char[DSTADDR_DATASIZE];
+     msg.msg_controllen = DSTADDR_DATASIZE;
  
- inline unsigned short dns_get_16(u_char* p)
+     if(sock->get_sd()<=0){
-- 
2.5.3

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---