summaryrefslogtreecommitdiff
path: root/net/siproxd
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-05-06 18:00:40 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-05-06 18:00:40 +0000
commit0dc1e179973b9a7aba75f66939d6be02122e17c6 (patch)
tree7f01179677efbd769d703ea986597a997a124cb0 /net/siproxd
parentUpdate to 0.99 (diff)
- Update to 0.5.11
PR: ports/80680 Submitted by: Frank W. Josellis <frank@dynamical-systems.org> (maintainer)
Notes
Notes: svn path=/head/; revision=134722
Diffstat (limited to 'net/siproxd')
-rw-r--r--net/siproxd/Makefile2
-rw-r--r--net/siproxd/distinfo4
-rw-r--r--net/siproxd/files/patch-doc_siproxd.conf.example20
-rw-r--r--net/siproxd/files/patch-src_proxy.c218
-rw-r--r--net/siproxd/files/patch-src_register.c145
-rw-r--r--net/siproxd/files/patch-src_sip_utilc.c154
-rw-r--r--net/siproxd/files/patch-src_siproxd.c84
-rw-r--r--net/siproxd/files/patch-src_siproxd.h80
-rw-r--r--net/siproxd/files/patch-src_utils.c60
9 files changed, 14 insertions, 753 deletions
diff --git a/net/siproxd/Makefile b/net/siproxd/Makefile
index 20332e3ef6f6..7cb8ad132e6d 100644
--- a/net/siproxd/Makefile
+++ b/net/siproxd/Makefile
@@ -6,7 +6,7 @@
#
PORTNAME= siproxd
-PORTVERSION= 0.5.10
+PORTVERSION= 0.5.11
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= siproxd
diff --git a/net/siproxd/distinfo b/net/siproxd/distinfo
index f85097f6bfd0..d8c393a3602a 100644
--- a/net/siproxd/distinfo
+++ b/net/siproxd/distinfo
@@ -1,2 +1,2 @@
-MD5 (siproxd-0.5.10.tar.gz) = f7c867affe6f1c6674bf174af6c9dd32
-SIZE (siproxd-0.5.10.tar.gz) = 201888
+MD5 (siproxd-0.5.11.tar.gz) = a614f60683f9ea9423573bc5d646c525
+SIZE (siproxd-0.5.11.tar.gz) = 216684
diff --git a/net/siproxd/files/patch-doc_siproxd.conf.example b/net/siproxd/files/patch-doc_siproxd.conf.example
index eb3f1d7903a4..82c2094eb5fe 100644
--- a/net/siproxd/files/patch-doc_siproxd.conf.example
+++ b/net/siproxd/files/patch-doc_siproxd.conf.example
@@ -1,17 +1,17 @@
---- doc/siproxd.conf.example.orig Thu Dec 30 12:26:17 2004
-+++ doc/siproxd.conf.example Fri Apr 8 21:02:45 2005
-@@ -9,8 +9,8 @@
- ######################################################################
- # The interface names of INBOUND and OUTBOUND interface.
+--- doc/siproxd.conf.example.orig Tue Apr 19 21:00:20 2005
++++ doc/siproxd.conf.example Thu May 5 17:35:35 2005
+@@ -17,8 +17,8 @@
+ # or a hostname that resolves to that address (use a dyndns address for
+ # example).
#
-if_inbound = eth0
-if_outbound = ppp0
+if_inbound = ed0
+if_outbound = tun0
-
-
- ######################################################################
-@@ -70,20 +70,20 @@
+ # uncomment the following line ONLY IF YOU KNOW WHAT YOU ARE DOING!
+ # READ THE FAQ FIRST!
+ #host_outbound = 1.2.3.4
+@@ -81,14 +81,14 @@
# user: uid/gid to switch to after startup
# chrootjail: path to chroot to (chroot jail)
user = nobody
@@ -27,6 +27,8 @@
+registration_file = siproxd_registrations
######################################################################
+ # Automatically save current registrations every 'n' seconds
+@@ -99,7 +99,7 @@
# PID file:
# Where to create the PID file.
# This file holds the PID of the main thread of siproxd.
diff --git a/net/siproxd/files/patch-src_proxy.c b/net/siproxd/files/patch-src_proxy.c
deleted file mode 100644
index 8c9fc2f8a135..000000000000
--- a/net/siproxd/files/patch-src_proxy.c
+++ /dev/null
@@ -1,218 +0,0 @@
---- src/proxy.c.orig Mon Jan 24 20:12:40 2005
-+++ src/proxy.c Sat Apr 9 16:01:02 2005
-@@ -35,7 +35,7 @@
- #include "siproxd.h"
- #include "log.h"
-
--static char const ident[]="$Id: proxy.c,v 1.80 2005/01/24 19:12:40 hb9xar Exp $";
-+static char const ident[]="$Id: proxy.c,v 1.85 2005/03/27 16:05:16 hb9xar Exp $";
-
- /* configuration storage */
- extern struct siproxd_config configuration; /* defined in siproxd.c */
-@@ -81,6 +81,7 @@
- osip_uri_t *url;
- int port;
- char *buffer;
-+ int buflen;
- osip_message_t *request;
- struct sockaddr_in *from;
-
-@@ -516,14 +517,14 @@
- * RFC 3261, Section 16.6 step 10
- * Proxy Behavior - Forward the new request
- */
-- sts = osip_message_to_str(request, &buffer);
-+ sts = osip_message_to_str(request, &buffer, &buflen);
- if (sts != 0) {
- ERROR("proxy_request: osip_message_to_str failed");
- return STS_FAILURE;
- }
-
- sipsock_send(sendto_addr, port, ticket->protocol,
-- buffer, strlen(buffer));
-+ buffer, buflen);
- osip_free (buffer);
-
- /*
-@@ -565,6 +566,7 @@
- osip_via_t *via;
- int port;
- char *buffer;
-+ int buflen;
- osip_message_t *response;
- struct sockaddr_in *from;
-
-@@ -669,8 +671,8 @@
- (e.g 1393xxx@proxy01.sipphone.com for calls made sipphone -> FWD)
- How can we deal with this? Should I take into consideration the 'Via'
- headers? This is the only clue I have, pointing to the *real* UA.
-- Maybe I should put in a 'siproxd' ftag value to recognize it a header
-- put in by myself
-+ Maybe I should put in a 'siproxd' ftag value to recognize it as a header
-+ inserted by myself
- */
- if ((type == 0) && (!osip_list_eol(response->vias, 0))) {
- osip_via_t *via;
-@@ -910,14 +912,14 @@
- }
- }
-
-- sts = osip_message_to_str(response, &buffer);
-+ sts = osip_message_to_str(response, &buffer, &buflen);
- if (sts != 0) {
- ERROR("proxy_response: osip_message_to_str failed");
- return STS_FAILURE;
- }
-
- sipsock_send(sendto_addr, port, ticket->protocol,
-- buffer, strlen(buffer));
-+ buffer, buflen);
- osip_free (buffer);
- return STS_SUCCESS;
- }
-@@ -938,6 +940,7 @@
- struct in_addr map_addr, addr_sess, addr_media, outside_addr, inside_addr;
- int sts;
- char *bodybuff;
-+ int bodybuflen;
- char clen[8]; /* content length: probably never more than 7 digits !*/
- int map_port, msg_port;
- int media_stream_no;
-@@ -966,25 +969,31 @@
- }
- }
-
-- sts = osip_body_to_str(body, &bodybuff);
-+ sts = osip_body_to_str(body, &bodybuff, &bodybuflen);
-+ if (sts != 0) {
-+ ERROR("rewrite_invitation_body: unable to osip_body_to_str");
-+ }
- sts = sdp_message_init(&sdp);
- sts = sdp_message_parse (sdp, bodybuff);
-- osip_free(bodybuff);
- if (sts != 0) {
- ERROR("rewrite_invitation_body: unable to sdp_message_parse body");
-+ DUMP_BUFFER(-1, bodybuff, bodybuflen);
-+ osip_free(bodybuff);
- sdp_message_free(sdp);
- return STS_FAILURE;
- }
-+ osip_free(bodybuff);
-
-
- if (configuration.debuglevel)
- { /* just dump the buffer */
- char *tmp, *tmp2;
-+ int tmplen;
- sts = osip_message_get_body(mymsg, 0, &body);
-- sts = osip_body_to_str(body, &tmp);
-+ sts = osip_body_to_str(body, &tmp, &tmplen);
- osip_content_length_to_str(mymsg->content_length, &tmp2);
- DEBUG("Body before rewrite (clen=%s, strlen=%i):\n%s\n----",
-- tmp2, strlen(tmp), tmp);
-+ tmp2, tmplen, tmp);
- osip_free(tmp);
- osip_free(tmp2);
- }
-@@ -995,22 +1004,16 @@
- */
-
- /* get outbound address */
-- if (get_ip_by_ifname(configuration.outbound_if, &outside_addr) !=
-- STS_SUCCESS) {
-- ERROR("can't find outbound interface %s - configuration error?",
-- configuration.outbound_if);
-+ if (get_interface_ip(IF_OUTBOUND, &outside_addr) != STS_SUCCESS) {
- sdp_message_free(sdp);
- return STS_FAILURE;
- }
-
- /* get inbound address */
-- if (get_ip_by_ifname(configuration.inbound_if, &inside_addr) !=
-- STS_SUCCESS) {
-- ERROR("can't find inbound interface %s - configuration error?",
-- configuration.inbound_if);
-+ if (get_interface_ip(IF_INBOUND, &inside_addr) != STS_SUCCESS) {
- sdp_message_free(sdp);
-- return STS_FAILURE;
-- }
-+ return STS_FAILURE;
-+ }
-
- /* figure out what address to use for RTP masquerading */
- if (MSG_IS_REQUEST(mymsg)) {
-@@ -1081,7 +1084,6 @@
- * Rewrite
- * an IP address of 0.0.0.0 means *MUTE*, don't rewrite such
- */
-- /*&&&& should use gethostbyname here */
- if (strcmp(sdp->c_connection->c_addr, "0.0.0.0") != 0) {
- osip_free(sdp->c_connection->c_addr);
- sdp->c_connection->c_addr=osip_malloc(HOSTNAME_SIZE);
-@@ -1126,7 +1128,6 @@
- have_c_media=0;
- sdp_conn=sdp_message_connection_get(sdp, media_stream_no, 0);
- if (sdp_conn && sdp_conn->c_addr) {
-- /*&&&& should use gethostbyname here as well */
- if (strcmp(sdp_conn->c_addr, "0.0.0.0") != 0) {
- sts = get_ip_by_host(sdp_conn->c_addr, &addr_media);
- have_c_media=1;
-@@ -1170,6 +1171,19 @@
- memcpy(&addr_media, &addr_sess, sizeof(addr_sess));
- }
-
-+ /*
-+ * Am I running in front of the routing device? Then I cannot
-+ * use the external IP to bind a listen socket to, so force
-+ * the use of my inbound IP for listening.
-+ */
-+ if ((rtp_direction == DIR_INCOMING) &&
-+ (configuration.outbound_host) &&
-+ (strcmp(configuration.outbound_host, "")!=0)) {
-+ DEBUGC(DBCLASS_PROXY, "proxy_rewrite_invitation_body: "
-+ "in-front-of-NAT-Router");
-+ memcpy(&map_addr, &inside_addr, sizeof (map_addr));
-+ }
-+
- sts = rtp_start_fwd(osip_message_get_call_id(mymsg),
- client_id,
- rtp_direction,
-@@ -1205,17 +1219,21 @@
-
- /* dump new body */
- sdp_message_to_str(sdp, &bodybuff);
-+ bodybuflen=strlen(bodybuff);
-
- /* free sdp structure */
- sdp_message_free(sdp);
-
- /* include new body */
-- osip_message_set_body(mymsg, bodybuff);
-+ osip_message_set_body(mymsg, bodybuff, bodybuflen);
-+ if (sts != 0) {
-+ ERROR("rewrite_invitation_body: unable to osip_message_set_body body");
-+ }
-
- /* free content length resource and include new one*/
- osip_content_length_free(mymsg->content_length);
- mymsg->content_length=NULL;
-- sprintf(clen,"%i",strlen(bodybuff));
-+ sprintf(clen,"%i",bodybuflen);
- sts = osip_message_set_content_length(mymsg, clen);
-
- /* free old body */
-@@ -1224,11 +1242,12 @@
- if (configuration.debuglevel)
- { /* just dump the buffer */
- char *tmp, *tmp2;
-+ int tmplen;
- sts = osip_message_get_body(mymsg, 0, &body);
-- sts = osip_body_to_str(body, &tmp);
-+ sts = osip_body_to_str(body, &tmp, &tmplen);
- osip_content_length_to_str(mymsg->content_length, &tmp2);
- DEBUG("Body after rewrite (clen=%s, strlen=%i):\n%s\n----",
-- tmp2, strlen(tmp), tmp);
-+ tmp2, tmplen, tmp);
- osip_free(tmp);
- osip_free(tmp2);
- }
diff --git a/net/siproxd/files/patch-src_register.c b/net/siproxd/files/patch-src_register.c
deleted file mode 100644
index df8cf92d8dde..000000000000
--- a/net/siproxd/files/patch-src_register.c
+++ /dev/null
@@ -1,145 +0,0 @@
---- src/register.c.orig Sat Jan 8 11:05:12 2005
-+++ src/register.c Sat Apr 9 16:16:48 2005
-@@ -35,7 +35,7 @@
- #include "siproxd.h"
- #include "log.h"
-
--static char const ident[]="$Id: register.c,v 1.46 2005/01/08 10:05:12 hb9xar Exp $";
-+static char const ident[]="$Id: register.c,v 1.50 2005/04/03 20:55:30 hb9xar Exp $";
-
- /* configuration storage */
- extern struct siproxd_config configuration;
-@@ -255,7 +255,7 @@
- */
- if (expires > 0) {
- /*
-- * First make sure, we have a prober Contact header:
-+ * First make sure, we have a proper Contact header:
- * - url
- * - url -> hostname
- *
-@@ -367,57 +367,56 @@
- strlen(configuration.masked_host.string[j])+1);
- strcpy(urlmap[i].masq_url->host, configuration.masked_host.string[j]);
- }
--
-+ } else { /* if new entry */
-+ /* This is an existing entry */
- /*
-- * for transparent proxying: force device to be masqueraded
-- * as with the outbound IP
-+ * Some phones (like BudgeTones *may* dynamically grab a SIP port
-+ * so we might want to update the true_url and reg_url each time
-+ * we get an REGISTER
- */
-- if (force_lcl_masq) {
-- struct in_addr addr;
-- char *addrstr;
--
-- if (get_ip_by_ifname(configuration.outbound_if, &addr) !=
-- STS_SUCCESS) {
-- ERROR("can't find outbound interface %s - configuration error?",
-- configuration.outbound_if);
-- return STS_FAILURE;
-- }
--
-- /* host part */
-- addrstr = utils_inet_ntoa(addr);
-- DEBUGC(DBCLASS_REG,"masquerading UA %s@%s local %s@%s",
-- (url1_contact->username) ? url1_contact->username : "*NULL*",
-- (url1_contact->host) ? url1_contact->host : "*NULL*",
-- (url1_contact->username) ? url1_contact->username : "*NULL*",
-- addrstr);
-- urlmap[i].masq_url->host=realloc(urlmap[i].masq_url->host,
-- strlen(addrstr)+1);
-- strcpy(urlmap[i].masq_url->host, addrstr);
-
-- /* port number if required */
-- if (configuration.sip_listen_port != SIP_PORT) {
-- urlmap[i].masq_url->port=realloc(urlmap[i].masq_url->port, 16);
-- sprintf(urlmap[i].masq_url->port, "%i",
-- configuration.sip_listen_port);
-- }
-- }
--
-- } else { /* if new entry */
-- /*
-- * Some phones (like BudgeTones *may* dynamically grab a SIP port
-- * so we might want to update the true_url and reg_url each time
-- * we get an REGISTER
-- */
-- /* Contact: field */
-+ /* Contact: field (true_url) */
- osip_uri_free(urlmap[i].true_url);
- osip_uri_clone( ((osip_contact_t*)
- (ticket->sipmsg->contacts->node->element))->url,
-- &urlmap[i].true_url);
-- /* To: field */
-+ &urlmap[i].true_url);
-+ /* To: field (reg_url) */
- osip_uri_free(urlmap[i].reg_url);
- osip_uri_clone( ticket->sipmsg->to->url,
-- &urlmap[i].reg_url);
-+ &urlmap[i].reg_url);
- }
-+
-+ /*
-+ * for proxying: force device to be masqueraded
-+ * as with the outbound IP (masq_url)
-+ */
-+ if (force_lcl_masq) {
-+ struct in_addr addr;
-+ char *addrstr;
-+
-+ if (get_interface_ip(IF_OUTBOUND, &addr) != STS_SUCCESS) {
-+ return STS_FAILURE;
-+ }
-+
-+ /* host part */
-+ addrstr = utils_inet_ntoa(addr);
-+ DEBUGC(DBCLASS_REG,"masquerading UA %s@%s local %s@%s",
-+ (url1_contact->username) ? url1_contact->username : "*NULL*",
-+ (url1_contact->host) ? url1_contact->host : "*NULL*",
-+ (url1_contact->username) ? url1_contact->username : "*NULL*",
-+ addrstr);
-+ urlmap[i].masq_url->host=realloc(urlmap[i].masq_url->host,
-+ strlen(addrstr)+1);
-+ strcpy(urlmap[i].masq_url->host, addrstr);
-+
-+ /* port number if required */
-+ if (configuration.sip_listen_port != SIP_PORT) {
-+ urlmap[i].masq_url->port=realloc(urlmap[i].masq_url->port, 16);
-+ sprintf(urlmap[i].masq_url->port, "%i",
-+ configuration.sip_listen_port);
-+ }
-+ }
-+
- /* give some safety margin for the next update */
- if (expires > 0) expires+=30;
-
-@@ -495,6 +494,7 @@
- osip_via_t *via;
- int port;
- char *buffer;
-+ int buflen;
- struct in_addr addr;
- osip_header_t *expires_hdr;
-
-@@ -550,7 +550,7 @@
- }
- }
-
-- sts = osip_message_to_str(response, &buffer);
-+ sts = osip_message_to_str(response, &buffer, &buflen);
- if (sts != 0) {
- ERROR("register_response: msg_2char failed");
- return STS_FAILURE;
-@@ -563,7 +563,7 @@
- port=configuration.sip_listen_port;
- }
-
-- sipsock_send(addr, port, ticket->protocol, buffer, strlen(buffer));
-+ sipsock_send(addr, port, ticket->protocol, buffer, buflen);
-
- /* free the resources */
- osip_message_free(response);
diff --git a/net/siproxd/files/patch-src_sip_utilc.c b/net/siproxd/files/patch-src_sip_utilc.c
deleted file mode 100644
index e525def7ec5a..000000000000
--- a/net/siproxd/files/patch-src_sip_utilc.c
+++ /dev/null
@@ -1,154 +0,0 @@
---- src/sip_utils.c.orig Sat Jan 8 11:05:13 2005
-+++ src/sip_utils.c Sat Apr 9 16:19:28 2005
-@@ -43,7 +43,7 @@
- #include "rewrite_rules.h"
- #include "log.h"
-
--static char const ident[]="$Id: sip_utils.c,v 1.34 2005/01/08 10:05:13 hb9xar Exp $";
-+static char const ident[]="$Id: sip_utils.c,v 1.37 2005/03/01 21:36:48 hb9xar Exp $";
-
-
- /* configuration storage */
-@@ -174,11 +174,8 @@
- int is_via_local (osip_via_t *via) {
- int sts, found;
- struct in_addr addr_via, addr_myself;
-- char *my_interfaces[]=
-- { configuration.inbound_if, configuration.outbound_if, (char*)-1 };
- int port;
- int i;
-- char *ptr;
-
- if (via==NULL) {
- ERROR("called is_via_local with NULL via");
-@@ -197,19 +194,14 @@
- }
-
- found=0;
-- for (i=0; ; i++) {
-+ for (i=0; i<2; i++) {
- /*
-- * try to search by interface name first
-+ * search my in/outbound interfaces
- */
-- ptr=my_interfaces[i];
-- if (ptr==(char*)-1) break; /* end of list mark */
--
-- if (ptr) {
-- DEBUGC(DBCLASS_BABBLE,"resolving IP of interface %s",ptr);
-- if (get_ip_by_ifname(ptr, &addr_myself) != STS_SUCCESS) {
-- ERROR("can't find interface %s - configuration error?", ptr);
-- continue;
-- }
-+ DEBUGC(DBCLASS_BABBLE,"resolving IP of interface %s",
-+ (i==IF_INBOUND)? "inbound":"outbound");
-+ if (get_interface_ip(i, &addr_myself) != STS_SUCCESS) {
-+ continue;
- }
-
- /* check the extracted VIA against my own host addresses */
-@@ -390,11 +382,8 @@
- osip_message_t *sip=ticket->sipmsg;
- int found;
- struct in_addr addr_uri, addr_myself;
-- char *my_interfaces[]=
-- { configuration.inbound_if, configuration.outbound_if, (char*)-1 };
- int port;
- int i;
-- char *ptr;
-
- if (sip==NULL) {
- ERROR("called is_sipuri_local with NULL sip");
-@@ -416,19 +405,14 @@
- }
-
- found=0;
-- for (i=0; ; i++) {
-+ for (i=0; i<2; i++) {
- /*
-- * try to search by interface name first
-+ * search my in/outbound interfaces
- */
-- ptr=my_interfaces[i];
-- if (ptr==(char*)-1) break; /* end of list mark */
--
-- if (ptr) {
-- DEBUGC(DBCLASS_BABBLE,"resolving IP of interface %s",ptr);
-- if (get_ip_by_ifname(ptr, &addr_myself) != STS_SUCCESS) {
-- ERROR("can't find interface %s - configuration error?", ptr);
-- continue;
-- }
-+ DEBUGC(DBCLASS_BABBLE,"resolving IP of interface %s",
-+ (i==IF_INBOUND)? "inbound":"outbound");
-+ if (get_interface_ip(i, &addr_myself) != STS_SUCCESS) {
-+ continue;
- }
-
- /* check the extracted HOST against my own host addresses */
-@@ -533,6 +517,7 @@
- osip_via_t *via;
- int port;
- char *buffer;
-+ int buflen;
- struct in_addr addr;
-
- /* create the response template */
-@@ -563,7 +548,7 @@
- }
- }
-
-- sts = osip_message_to_str(response, &buffer);
-+ sts = osip_message_to_str(response, &buffer, &buflen);
- if (sts != 0) {
- ERROR("sip_gen_response: msg_2char failed");
- return STS_FAILURE;
-@@ -577,7 +562,7 @@
- }
-
- /* send to destination */
-- sipsock_send(addr, port, ticket->protocol, buffer, strlen(buffer));
-+ sipsock_send(addr, port, ticket->protocol, buffer, buflen);
-
- /* free the resources */
- osip_message_free(response);
-@@ -601,25 +586,26 @@
- osip_via_t *via;
- int sts;
- char branch_id[VIA_BRANCH_SIZE];
-+ char *myaddr;
-
-- if (interface == IF_OUTBOUND) {
-- if (get_ip_by_ifname(configuration.outbound_if, &addr) != STS_SUCCESS) {
-- ERROR("can't find interface %s - configuration error?",
-- configuration.outbound_if);
-- return STS_FAILURE;
-- }
-- } else {
-- if (get_ip_by_ifname(configuration.inbound_if, &addr) != STS_SUCCESS) {
-- ERROR("can't find inbound interface %s - configuration error?",
-- configuration.inbound_if);
-- return STS_FAILURE;
-- }
-+ if (get_interface_ip(interface, &addr) != STS_SUCCESS) {
-+ return STS_FAILURE;
- }
-
- sts = sip_calculate_branch_id(ticket, branch_id);
-
-- sprintf(tmp, "SIP/2.0/UDP %s:%i;branch=%s;", utils_inet_ntoa(addr),
-- configuration.sip_listen_port, branch_id);
-+ myaddr=utils_inet_ntoa(addr);
-+//&&&&
-+#if 0
-+ sprintf(tmp, "SIP/2.0/UDP %s:%i;branch=%s;sent-by=%s:%i",
-+ myaddr, configuration.sip_listen_port,
-+ branch_id,
-+ myaddr, configuration.sip_listen_port);
-+#else
-+ sprintf(tmp, "SIP/2.0/UDP %s:%i;branch=%s",
-+ myaddr, configuration.sip_listen_port,
-+ branch_id);
-+#endif
- DEBUGC(DBCLASS_BABBLE,"adding VIA:%s",tmp);
-
- sts = osip_via_init(&via);
diff --git a/net/siproxd/files/patch-src_siproxd.c b/net/siproxd/files/patch-src_siproxd.c
deleted file mode 100644
index 45542c7193b4..000000000000
--- a/net/siproxd/files/patch-src_siproxd.c
+++ /dev/null
@@ -1,84 +0,0 @@
---- src/siproxd.c.orig Sat Jan 8 11:41:46 2005
-+++ src/siproxd.c Sat Apr 9 15:50:49 2005
-@@ -38,7 +38,7 @@
- #include "siproxd.h"
- #include "log.h"
-
--static char const ident[]="$Id: siproxd.c,v 1.57 2005/01/08 10:41:46 hb9xar Exp $";
-+static char const ident[]="$Id: siproxd.c,v 1.60 2005/03/01 21:36:48 hb9xar Exp $";
-
- /* configuration storage */
- struct siproxd_config configuration;
-@@ -82,6 +82,7 @@
- {
- int sts;
- int i;
-+ int buflen;
- int access;
- char buff [BUFFER_SIZE];
- sip_ticket_t ticket;
-@@ -291,8 +292,9 @@
- /* got input, process */
- DEBUGC(DBCLASS_BABBLE,"back from sipsock_wait");
-
-- i=sipsock_read(&buff, sizeof(buff)-1, &ticket.from, &ticket.protocol);
-- buff[i]='\0';
-+ buflen=sipsock_read(&buff, sizeof(buff)-1, &ticket.from,
-+ &ticket.protocol);
-+ buff[buflen]='\0';
-
- /* evaluate the access lists (IP based filter)*/
- access=accesslist_check(ticket.from);
-@@ -302,7 +304,7 @@
- }
-
- /* integrity checks */
-- sts=security_check_raw(buff, i);
-+ sts=security_check_raw(buff, buflen);
- if (sts != STS_SUCCESS) {
- DEBUGC(DBCLASS_SIP,"security check (raw) failed");
- continue; /* there are no resources to free */
-@@ -321,10 +323,10 @@
- * Proxy Behavior - Request Validation - Reasonable Syntax
- * (parse the received message)
- */
-- sts=osip_message_parse(ticket.sipmsg, buff);
-+ sts=osip_message_parse(ticket.sipmsg, buff, buflen);
- if (sts != 0) {
- ERROR("osip_message_parse() failed... this is not good");
-- DUMP_BUFFER(-1, buff, i);
-+ DUMP_BUFFER(-1, buff, buflen);
- goto end_loop; /* skip and free resources */
- }
-
-@@ -332,7 +334,7 @@
- sts=security_check_sip(&ticket);
- if (sts != STS_SUCCESS) {
- ERROR("security_check_sip() failed... this is not good");
-- DUMP_BUFFER(-1, buff, i);
-+ DUMP_BUFFER(-1, buff, buflen);
- goto end_loop; /* skip and free resources */
- }
-
-@@ -422,10 +424,8 @@
- dest_port= (url->port)?atoi(url->port):SIP_PORT;
-
- if ( (get_ip_by_host(url->host, &addr1) == STS_SUCCESS) &&
-- (get_ip_by_ifname(configuration.inbound_if,&addr2) ==
-- STS_SUCCESS) &&
-- (get_ip_by_ifname(configuration.outbound_if,&addr3) ==
-- STS_SUCCESS)) {
-+ (get_interface_ip(IF_INBOUND,&addr2) == STS_SUCCESS) &&
-+ (get_interface_ip(IF_OUTBOUND,&addr3) == STS_SUCCESS)) {
-
- if ((configuration.sip_listen_port == dest_port) &&
- ((memcmp(&addr1, &addr2, sizeof(addr1)) == 0) ||
-@@ -455,7 +455,7 @@
- * If not, send back error to UA and
- * skip any proxying attempt
- */
-- } else if (get_ip_by_ifname(configuration.outbound_if,NULL) !=
-+ } else if (get_interface_ip(IF_OUTBOUND,NULL) !=
- STS_SUCCESS) {
- DEBUGC(DBCLASS_SIP, "got a %s to proxy, but outbound interface "
- "is down", (MSG_IS_REQUEST(ticket.sipmsg))? "REQ" : "RES");
diff --git a/net/siproxd/files/patch-src_siproxd.h b/net/siproxd/files/patch-src_siproxd.h
deleted file mode 100644
index 843de58c883a..000000000000
--- a/net/siproxd/files/patch-src_siproxd.h
+++ /dev/null
@@ -1,80 +0,0 @@
---- src/siproxd.h.orig Sat Jan 8 11:05:13 2005
-+++ src/siproxd.h Tue Mar 1 22:36:48 2005
-@@ -18,7 +18,7 @@
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
--/* $Id: siproxd.h,v 1.48 2005/01/08 10:05:13 hb9xar Exp $ */
-+/* $Id: siproxd.h,v 1.51 2005/03/01 21:36:48 hb9xar Exp $ */
-
- #ifdef DMALLOC
- #include <dmalloc.h>
-@@ -60,6 +60,7 @@
- int debugport;
- char *inbound_if;
- char *outbound_if;
-+ char *outbound_host;
- int sip_listen_port;
- int daemonize;
- int silence_log;
-@@ -147,6 +148,7 @@
- int get_ip_by_host(char *hostname, struct in_addr *addr); /*X*/
- void secure_enviroment (void);
- int get_ip_by_ifname(char *ifname, struct in_addr *retaddr); /*X*/
-+int get_interface_ip(int interface, struct in_addr *retaddr); /*X*/
- char *utils_inet_ntoa(struct in_addr in);
- int utils_inet_aton(const char *cp, struct in_addr *inp);
-
-@@ -159,8 +161,6 @@
- int is_sipuri_local (sip_ticket_t *ticket); /*X*/
- int check_rewrite_rq_uri (osip_message_t *sip); /*X*/
- int sip_gen_response(sip_ticket_t *ticket, int code); /*X*/
--#define IF_OUTBOUND 0
--#define IF_INBOUND 1
- int sip_add_myvia (sip_ticket_t *ticket, int interface); /*X*/
- int sip_del_myvia (sip_ticket_t *ticket); /*X*/
- int sip_rewrite_contact (sip_ticket_t *ticket, int direction); /*X*/
-@@ -176,7 +176,7 @@
- int rtpproxy_init( void ); /*X*/
- int rtp_start_fwd (osip_call_id_t *callid, char *client_id, /*X*/
- int direction, int media_stream_no,
-- struct in_addr outbound_ipaddr, int *outboundport,
-+ struct in_addr outbound_ipaddr, int *outboundport,
- struct in_addr lcl_client_ipaddr, int lcl_clientport);
- int rtp_stop_fwd (osip_call_id_t *callid, int direction); /*X*/
- void rtpproxy_kill( void ); /*X*/
-@@ -201,6 +201,12 @@
- struct in_addr local_ipaddr, int local_port,
- struct in_addr remote_ipaddr, int remote_port);
-
-+/* sip_layer.c */
-+int sip_message_parse(osip_message_t * sip, const char *buf, int len);
-+int sip_message_to_str(osip_message_t * sip, char **dest, int *len);
-+int sip_body_to_str(const osip_body_t * body, char **dest, int *len);
-+int sip_message_set_body(osip_message_t * sip, const char *buf, int len);
-+
-
- /*
- * some constant definitions
-@@ -236,8 +242,8 @@
- #define SEC_MINLEN 16 /* minimum received length */
- #define SEC_MAXLINELEN 1024 /* maximum acceptable length of one line
- in the SIP telegram (security check)
-- Careful: Proxy-Authorization lines may
-- get quite long */
-+ Careful: Proxy-Authorization lines may
-+ get quite long */
-
- /* symbols for access control */
- #define ACCESSCTL_SIP 1 /* for access control - SIP allowed */
-@@ -253,6 +259,10 @@
- /* symbolic direction of data */
- #define DIR_INCOMING 1
- #define DIR_OUTGOING 2
-+
-+/* Interfaces */
-+#define IF_OUTBOUND 0
-+#define IF_INBOUND 1
-
- /* various */
- #ifndef satoi
diff --git a/net/siproxd/files/patch-src_utils.c b/net/siproxd/files/patch-src_utils.c
deleted file mode 100644
index 346d40a23e73..000000000000
--- a/net/siproxd/files/patch-src_utils.c
+++ /dev/null
@@ -1,60 +0,0 @@
---- src/utils.c.orig Sat Jan 8 11:05:13 2005
-+++ src/utils.c Tue Mar 1 22:36:48 2005
-@@ -44,7 +44,7 @@
- #include "siproxd.h"
- #include "log.h"
-
--static char const ident[]="$Id: utils.c,v 1.41 2005/01/08 10:05:13 hb9xar Exp $";
-+static char const ident[]="$Id: utils.c,v 1.42 2005/03/01 21:36:48 hb9xar Exp $";
-
- /* configuration storage */
- extern struct siproxd_config configuration;
-@@ -288,6 +288,48 @@
- passwd->pw_uid, (sts==0)?"Ok":"Failed");
- }
- }
-+}
-+
-+
-+/*
-+ * get_interface_ip:
-+ * fetches own IP address by interface INBOUND/OUTBOUND
-+ *
-+ * STS_SUCCESS on returning a valid IP and interface is UP
-+ * STS_FAILURE if interface is DOWN or other problem
-+ */
-+int get_interface_ip(int interface, struct in_addr *retaddr) {
-+ int sts=STS_FAILURE;
-+ char *tmp=NULL;
-+
-+ if (interface == IF_INBOUND) {
-+ tmp = configuration.inbound_if;
-+ } else if (interface == IF_OUTBOUND) {
-+ tmp = configuration.outbound_if;
-+ }
-+
-+ if ((interface == IF_OUTBOUND) &&
-+ (configuration.outbound_host) &&
-+ (strcmp(configuration.outbound_host, "")!=0)) {
-+ DEBUGC(DBCLASS_DNS, "fetching outbound IP by HOSTNAME");
-+ if (retaddr) {
-+ sts = get_ip_by_host(configuration.outbound_host, retaddr);
-+ } else {
-+ sts = STS_SUCCESS;
-+ }
-+
-+ } else if (tmp && (strcmp(tmp, "")!=0)) {
-+ DEBUGC(DBCLASS_DNS, "fetching interface IP by INTERFACE [%i]", interface);
-+ sts = get_ip_by_ifname(tmp, retaddr);
-+ if (sts != STS_SUCCESS) {
-+ ERROR("can't find interface %s - configuration error?", tmp);
-+ }
-+
-+ } else {
-+ ERROR("Don't know what interface to look for - configuration error?");
-+ }
-+
-+ return sts;
- }
-
-