ports/72691: New port: net/siproxd - a proxy/masquerading daemon for SIP
Frank W. Josellis
frank at dynamical-systems.org
Thu Oct 14 14:40:27 UTC 2004
>Number: 72691
>Category: ports
>Synopsis: New port: net/siproxd - a proxy/masquerading daemon for SIP
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Oct 14 14:40:25 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Frank W. Josellis
>Release: FreeBSD 4.10-STABLE i386
>Organization:
none
>Environment:
System: FreeBSD achilles.tractrix.org 4.10-STABLE FreeBSD 4.10-STABLE #0: Sun Oct 3 22:22:17 CEST 2004 root@:/usr/obj/usr/src/sys/ACHILLES i386
>Description:
Siproxd is a proxy/masquerading daemon for the SIP protocol.
It handles registrations of SIP clients on a private IP network
and performs rewriting of the SIP message bodies to make SIP
connections possible via a masquerading firewall.
It allows SIP clients (like kphone, linphone) to work behind
an IP masquerading firewall or router.
>How-To-Repeat:
>Fix:
--- siproxd-0.5.8.shar begins here ---
# This is a shell archive. Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file". Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
# net/siproxd
# net/siproxd/Makefile
# net/siproxd/distinfo
# net/siproxd/pkg-deinstall
# net/siproxd/pkg-descr
# net/siproxd/pkg-install
# net/siproxd/pkg-plist
# net/siproxd/files
# net/siproxd/files/patch-doc_siproxd.conf.example
# net/siproxd/files/patch-src_siproxd.c
# net/siproxd/files/patch-src_utils.c
# net/siproxd/files/siproxd.sh
#
echo c - net/siproxd
mkdir -p net/siproxd > /dev/null 2>&1
echo x - net/siproxd/Makefile
sed 's/^X//' >net/siproxd/Makefile << 'END-of-net/siproxd/Makefile'
X# New ports collection makefile for: siproxd
X# Date created: 10 October 2004
X# Whom: Frank W. Josellis <frank at dynamical-systems.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME= siproxd
XPORTVERSION= 0.5.8
XCATEGORIES= net
XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR= siproxd
X
XMAINTAINER= frank at dynamical-systems.org
XCOMMENT= A proxy/masquerading daemon for the SIP protocol
X
XLIB_DEPENDS= osip2.2:${PORTSDIR}/net/libosip2
X
XUSE_GETOPT_LONG=yes
XUSE_RC_SUBR= yes
XHAS_CONFIGURE= yes
X
XPORTDOCS= AUTHORS ChangeLog README RELNOTES \
X doc/FAQ doc/KNOWN_BUGS doc/RFC3261_compliance.txt \
X doc/sample_cfg_budgetone.txt doc/sample_cfg_x-lite.txt
X
X.include <bsd.port.pre.mk>
X
X.if ${OSVERSION} >= 500041
XLIB_DEPENDS+= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt
X.endif
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X ${MKDIR} ${DOCSDIR}
X.for i in ${PORTDOCS}
X ${INSTALL_MAN} ${WRKSRC}/${i} ${DOCSDIR}
X.endfor
X.endif
X PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
X @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
X -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \
X ${FILESDIR}/siproxd.sh > ${PREFIX}/etc/rc.d/siproxd.sh
X @${CHMOD} 755 ${PREFIX}/etc/rc.d/siproxd.sh
X
X.include <bsd.port.post.mk>
END-of-net/siproxd/Makefile
echo x - net/siproxd/distinfo
sed 's/^X//' >net/siproxd/distinfo << 'END-of-net/siproxd/distinfo'
XMD5 (siproxd-0.5.8.tar.gz) = b987151719fced722b6df7d16c06f58d
XSIZE (siproxd-0.5.8.tar.gz) = 193802
END-of-net/siproxd/distinfo
echo x - net/siproxd/pkg-deinstall
sed 's/^X//' >net/siproxd/pkg-deinstall << 'END-of-net/siproxd/pkg-deinstall'
X#!/bin/sh
X
XPKG_PREFIX=${PKG_PREFIX:=/usr/local}
XSIPROXD_HOME=${PKG_PREFIX}/siproxd
XSIPROXD_PID=${SIPROXD_HOME}/siproxd.pid
X
Xcase $2 in
X DEINSTALL)
X [ -r ${SIPROXD_PID} ] && kill `cat ${SIPROXD_PID}`
X rm -f ${SIPROXD_HOME}/* && rmdir ${SIPROXD_HOME}
X ;;
Xesac
END-of-net/siproxd/pkg-deinstall
echo x - net/siproxd/pkg-descr
sed 's/^X//' >net/siproxd/pkg-descr << 'END-of-net/siproxd/pkg-descr'
XSiproxd is a proxy/masquerading daemon for the SIP protocol.
XIt handles registrations of SIP clients on a private IP network
Xand performs rewriting of the SIP message bodies to make SIP
Xconnections possible via a masquerading firewall.
XIt allows SIP clients (like kphone, linphone) to work behind
Xan IP masquerading firewall or router.
X
XWWW: http://siproxd.sourceforge.net/
END-of-net/siproxd/pkg-descr
echo x - net/siproxd/pkg-install
sed 's/^X//' >net/siproxd/pkg-install << 'END-of-net/siproxd/pkg-install'
X#!/bin/sh
X
XSIPROXD_HOME=${PKG_PREFIX}/siproxd
XSIPROXD_USER=nobody
XSIPROXD_GROUP=nobody
X
Xcase $2 in
X POST-INSTALL)
X mkdir ${SIPROXD_HOME} && \
X chown ${SIPROXD_USER}:${SIPROXD_GROUP} ${SIPROXD_HOME} && \
X chmod 750 ${SIPROXD_HOME}
X for i in siproxd.conf.example siproxd_passwd.cfg; do
X chgrp ${SIPROXD_GROUP} ${PKG_PREFIX}/etc/${i}
X chmod 640 ${PKG_PREFIX}/etc/${i}
X done
X ;;
Xesac
END-of-net/siproxd/pkg-install
echo x - net/siproxd/pkg-plist
sed 's/^X//' >net/siproxd/pkg-plist << 'END-of-net/siproxd/pkg-plist'
Xetc/rc.d/siproxd.sh
Xetc/siproxd.conf.example
Xetc/siproxd_passwd.cfg
Xsbin/siproxd
X%%PORTDOCS%%%%DOCSDIR%%/FAQ
X%%PORTDOCS%%%%DOCSDIR%%/KNOWN_BUGS
X%%PORTDOCS%%%%DOCSDIR%%/RFC3261_compliance.txt
X%%PORTDOCS%%%%DOCSDIR%%/sample_cfg_budgetone.txt
X%%PORTDOCS%%%%DOCSDIR%%/sample_cfg_x-lite.txt
END-of-net/siproxd/pkg-plist
echo c - net/siproxd/files
mkdir -p net/siproxd/files > /dev/null 2>&1
echo x - net/siproxd/files/patch-doc_siproxd.conf.example
sed 's/^X//' >net/siproxd/files/patch-doc_siproxd.conf.example << 'END-of-net/siproxd/files/patch-doc_siproxd.conf.example'
X--- doc/siproxd.conf.example.orig Sun May 9 14:53:06 2004
X+++ doc/siproxd.conf.example Mon Oct 11 21:25:41 2004
X@@ -9,8 +9,8 @@
X ######################################################################
X # The interface names of INBOUND and OUTBOUND interface.
X #
X-if_inbound = eth0
X-if_outbound = ppp0
X+if_inbound = ed0
X+if_outbound = tun0
X
X
X ######################################################################
X@@ -70,20 +70,20 @@
X # user: uid/gid to switch to after startup
X # chrootjail: path to chroot to (chroot jail)
X user = nobody
X-#chrootjail = /var/lib/siproxd/
X+chrootjail = /usr/local/siproxd/
X
X ######################################################################
X # Registration file:
X # Where to store the current registrations.
X # An empty value means we do not save registrations. Make sure that
X # the specified directory path does exist!
X-registration_file = /var/lib/siproxd/siproxd_registrations
X+registration_file = siproxd_registrations
X
X ######################################################################
X # PID file:
X # Where to create the PID file.
X # This file holds the PID of the main thread of siproxd.
X-pid_file = /var/run/siproxd/siproxd.pid
X+pid_file = siproxd.pid
X
X ######################################################################
X # global switch to control the RTP proxy behaviour
END-of-net/siproxd/files/patch-doc_siproxd.conf.example
echo x - net/siproxd/files/patch-src_siproxd.c
sed 's/^X//' >net/siproxd/files/patch-src_siproxd.c << 'END-of-net/siproxd/files/patch-src_siproxd.c'
X--- src/siproxd.c.orig Thu Aug 26 19:32:08 2004
X+++ src/siproxd.c Thu Oct 14 07:18:15 2004
X@@ -179,6 +179,7 @@
X /*
X * Init stuff
X */
X+ INFO(PACKAGE"-"VERSION"-"BUILDSTR" started");
X
X /* read the config file */
X if (read_config(configfile, config_search) == STS_FAILURE) exit(1);
X@@ -245,7 +246,6 @@
X /* initialize the registration facility */
X register_init();
X
X- INFO(PACKAGE"-"VERSION"-"BUILDSTR" started");
X /*
X * silence the log - if so required...
X */
END-of-net/siproxd/files/patch-src_siproxd.c
echo x - net/siproxd/files/patch-src_utils.c
sed 's/^X//' >net/siproxd/files/patch-src_utils.c << 'END-of-net/siproxd/files/patch-src_utils.c'
X--- src/utils.c.orig Sun Aug 22 21:04:37 2004
X+++ src/utils.c Thu Oct 14 07:18:15 2004
X@@ -247,12 +247,12 @@
X * as it loads some dynamic libraries. Once chrootet
X * these libraries will *not* be found and gethostbyname()
X * calls will simply fail (return NULL pointer and h_errno=0).
X+ * Also (at least for FreeBSD) syslog() needs to be called
X+ * before chroot()ing - this is done in main() by an INFO().
X * Took me a while to figure THIS one out
X */
X struct in_addr dummy;
X- DEBUGC(DBCLASS_DNS, "Initializing DNS, the following DNS "
X- "failure is normal, don't worry");
X- get_ip_by_host("foobar", &dummy);
X+ get_ip_by_host("localhost", &dummy);
X DEBUGC(DBCLASS_CONFIG,"chrooting to %s",
X configuration.chrootjail);
X sts = chroot(configuration.chrootjail);
END-of-net/siproxd/files/patch-src_utils.c
echo x - net/siproxd/files/siproxd.sh
sed 's/^X//' >net/siproxd/files/siproxd.sh << 'END-of-net/siproxd/files/siproxd.sh'
X#!/bin/sh
X#
X# $FreeBSD$
X#
X
X# PROVIDE: siproxd
X# REQUIRE: DAEMON
X# KEYWORD: FreeBSD
X#
X# NOTE for FreeBSD 5.0+:
X# If you want this script to start with the base rc scripts
X# move siproxd.sh to /etc/rc.d/siproxd
X
Xprefix=%%PREFIX%%
X
X# Define these siproxd_* variables in one of these files:
X# /etc/rc.conf
X# /etc/rc.conf.local
X# /etc/rc.conf.d/siproxd
X#
X# DO NOT CHANGE THESE DEFAULT VALUES HERE
X#
Xsiproxd_enable=${siproxd_enable:-"NO"} # Enable siproxd
Xsiproxd_flags=${siproxd_flags:-""} # Flags to siproxd program
X#siproxd_program="${prefix}/sbin/siproxd" # Location of siproxd
X
X. %%RC_SUBR%%
X
Xname="siproxd"
Xrcvar=`set_rcvar`
Xcommand="${prefix}/sbin/${name}"
X
Xload_rc_config $name
X
Xcase $1 in
X start)
X run_rc_command "$1" 2> /dev/null
X ;;
X *)
X run_rc_command "$1"
X ;;
Xesac
END-of-net/siproxd/files/siproxd.sh
exit
--- siproxd-0.5.8.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list