Revpatch wrt security #171467 and sparc stable
authorGustavo Zacarias <gustavoz@gentoo.org>
Tue, 20 Mar 2007 17:45:06 +0000 (17:45 +0000)
committerGustavo Zacarias <gustavoz@gentoo.org>
Tue, 20 Mar 2007 17:45:06 +0000 (17:45 +0000)
Package-Manager: portage-2.1.2.2

net-misc/asterisk/ChangeLog
net-misc/asterisk/Manifest
net-misc/asterisk/asterisk-1.2.14-r2.ebuild [new file with mode: 0644]
net-misc/asterisk/files/1.2.0/asterisk-1.2.14-chan_sip2.patch [new file with mode: 0644]
net-misc/asterisk/files/digest-asterisk-1.2.14-r2 [new file with mode: 0644]

index dd72ddd47694939bc3ffb9dd1e72ed9d12f20b00..e6e026d4fb96b47f2b4d99eaaa45056ee9f529d8 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for net-misc/asterisk
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.151 2007/03/19 20:05:39 rajiv Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.152 2007/03/20 17:45:06 gustavoz Exp $
+
+*asterisk-1.2.14-r2 (20 Mar 2007)
+
+  20 Mar 2007; Gustavo Zacarias <gustavoz@gentoo.org>
+  +files/1.2.0/asterisk-1.2.14-chan_sip2.patch, +asterisk-1.2.14-r2.ebuild:
+  Revpatch wrt security #171467 and sparc stable
 
 *asterisk-1.0.12-r2 (19 Mar 2007)
 
index 9a72dc82648c37417ab6dffb514f666ad75c69cd..f64de43467d22c9bbd26202c2cfed6ef2a2b8b7c 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX 1.0.0/asterisk-1.0-CVE-2006-1827.patch 422 RMD160 e025a6c976e9ee081e1379953b2ccbe86049a751 SHA1 5e95bd4e35827479aa008196b36c0ffd60a3cf52 SHA256 fa601a359aae0692d6166cd3625fd3415e50fcccc85c58ab37e6374d2575364d
 MD5 6e50e3012b488f05338d1ce3694f3082 files/1.0.0/asterisk-1.0-CVE-2006-1827.patch 422
 RMD160 e025a6c976e9ee081e1379953b2ccbe86049a751 files/1.0.0/asterisk-1.0-CVE-2006-1827.patch 422
@@ -126,6 +129,10 @@ AUX 1.2.0/asterisk-1.2.14-chan_sip.patch 468 RMD160 610a4e64e6c8207cf3f05d7c558a
 MD5 9a62dadb00b30ced51cfe57b86678743 files/1.2.0/asterisk-1.2.14-chan_sip.patch 468
 RMD160 610a4e64e6c8207cf3f05d7c558a6d5d75b889ad files/1.2.0/asterisk-1.2.14-chan_sip.patch 468
 SHA256 6251e649052bff2dd1aee186e9edecff3fcf88265975cb5a4a26c079929f6164 files/1.2.0/asterisk-1.2.14-chan_sip.patch 468
+AUX 1.2.0/asterisk-1.2.14-chan_sip2.patch 1405 RMD160 39c94dbf22e4cad57ed6e8df42fd1f87a5f9943e SHA1 02dea93a60668b7dbade5a5b5c93cd1477f9a050 SHA256 a23edceff270a7e68730da9f5f3564c41db335e673dd5415a490e421ccf09c5a
+MD5 21bd9e85ce8f705cec65e5aa583479f7 files/1.2.0/asterisk-1.2.14-chan_sip2.patch 1405
+RMD160 39c94dbf22e4cad57ed6e8df42fd1f87a5f9943e files/1.2.0/asterisk-1.2.14-chan_sip2.patch 1405
+SHA256 a23edceff270a7e68730da9f5f3564c41db335e673dd5415a490e421ccf09c5a files/1.2.0/asterisk-1.2.14-chan_sip2.patch 1405
 AUX 1.2.0/asterisk-updater 3127 RMD160 41ea584081c3e565205e59771e24a8715d7e2042 SHA1 1c11d9ce286972b6f98c15a16cbb7f1c943414eb SHA256 93e6862361a320c7f7f30525b4209366190dd2bc21eedbd3654ffb4b991af5fd
 MD5 b3b1dced30f74b9475ca7d3a8155385d files/1.2.0/asterisk-updater 3127
 RMD160 41ea584081c3e565205e59771e24a8715d7e2042 files/1.2.0/asterisk-updater 3127
@@ -169,14 +176,18 @@ EBUILD asterisk-1.2.14-r1.ebuild 11930 RMD160 74241311f2348987b79c2358f3ce5ed4b9
 MD5 d8ac552fc5fdfc3a421dd626d695f9f9 asterisk-1.2.14-r1.ebuild 11930
 RMD160 74241311f2348987b79c2358f3ce5ed4b9834f3c asterisk-1.2.14-r1.ebuild 11930
 SHA256 428ce9dffe2c67f66df67f76b64d9b261ba6770105877ba63d5e071bc3a3c062 asterisk-1.2.14-r1.ebuild 11930
+EBUILD asterisk-1.2.14-r2.ebuild 11951 RMD160 d2e6ec39571c4eca04a93d93c43effa995b8db19 SHA1 dd9861991952cb305305a4a1410ac19d0407f4fb SHA256 b4f4363e10430de453d0e00ba700fbd148388564288cc27ffd6b4a5641e80156
+MD5 7b3d9cdac3063b6b4aecc7b9f51237c2 asterisk-1.2.14-r2.ebuild 11951
+RMD160 d2e6ec39571c4eca04a93d93c43effa995b8db19 asterisk-1.2.14-r2.ebuild 11951
+SHA256 b4f4363e10430de453d0e00ba700fbd148388564288cc27ffd6b4a5641e80156 asterisk-1.2.14-r2.ebuild 11951
 EBUILD asterisk-1.2.14.ebuild 11838 RMD160 834090ebf563ed70ec98cb63ab463159019c8582 SHA1 f60bf586c28c3f7dbb07cd7b9e2b1da53b1c3163 SHA256 7e3813497985452771afd493925519fb0783c300f2fc3784cf8875d2ee424aee
 MD5 08d28ca37d6b92bacc2298fb5fd5c515 asterisk-1.2.14.ebuild 11838
 RMD160 834090ebf563ed70ec98cb63ab463159019c8582 asterisk-1.2.14.ebuild 11838
 SHA256 7e3813497985452771afd493925519fb0783c300f2fc3784cf8875d2ee424aee asterisk-1.2.14.ebuild 11838
-MISC ChangeLog 29567 RMD160 b95d2b030c419d9f4ab3787196963f0c247d7035 SHA1 3617911f5a5c6207c1afd98a786cc1d2eb6cfabe SHA256 3d0ce048147bc0d8f88fb22a214ec4d6bb0c494876e4600c27a60f888f504076
-MD5 72d441a0a437e2763e993ee321158638 ChangeLog 29567
-RMD160 b95d2b030c419d9f4ab3787196963f0c247d7035 ChangeLog 29567
-SHA256 3d0ce048147bc0d8f88fb22a214ec4d6bb0c494876e4600c27a60f888f504076 ChangeLog 29567
+MISC ChangeLog 29785 RMD160 68746aee0785ad0b4b7dfd1966206c1ab34be28f SHA1 72e4b98afc6e4be7c67b254f181376b3468d8fca SHA256 e41e6b06fa6692c6309d58152893906f684950c3f6a7d2985ec304a4e412e6e6
+MD5 4e66c9adddb467cb9d76e09df30f0137 ChangeLog 29785
+RMD160 68746aee0785ad0b4b7dfd1966206c1ab34be28f ChangeLog 29785
+SHA256 e41e6b06fa6692c6309d58152893906f684950c3f6a7d2985ec304a4e412e6e6 ChangeLog 29785
 MISC metadata.xml 384 RMD160 f5de78add5676233b8e0b9e111eab08970443582 SHA1 0441844fb3a715d6979e6c548147ada23d73fec2 SHA256 674224368cb2be6f72655cd67ee19d4d2d0f3425d560aff22b698269e0adc6d8
 MD5 488aea6fbdb7537394cc049b0ff9e5d5 metadata.xml 384
 RMD160 f5de78add5676233b8e0b9e111eab08970443582 metadata.xml 384
@@ -199,3 +210,13 @@ SHA256 bedfbd607a6b74146a30d8b1b74b3464efa13b38362c2f1ae4fe0aa341435b83 files/di
 MD5 3342bcac7eb8510d9016dee340017fe6 files/digest-asterisk-1.2.14-r1 1376
 RMD160 57192415a5909407d11c68a9d1e8f17af6b44097 files/digest-asterisk-1.2.14-r1 1376
 SHA256 bedfbd607a6b74146a30d8b1b74b3464efa13b38362c2f1ae4fe0aa341435b83 files/digest-asterisk-1.2.14-r1 1376
+MD5 3342bcac7eb8510d9016dee340017fe6 files/digest-asterisk-1.2.14-r2 1376
+RMD160 57192415a5909407d11c68a9d1e8f17af6b44097 files/digest-asterisk-1.2.14-r2 1376
+SHA256 bedfbd607a6b74146a30d8b1b74b3464efa13b38362c2f1ae4fe0aa341435b83 files/digest-asterisk-1.2.14-r2 1376
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6-ecc01.6 (GNU/Linux)
+
+iD8DBQFGAB2sKRy60XGEcJIRAsOHAJwLKLurkQjzSHNbq+I61Ej1tgXWzwCeO3Jt
+mPKIJEUNz1PyDW7xOTk/kUE=
+=XIIs
+-----END PGP SIGNATURE-----
diff --git a/net-misc/asterisk/asterisk-1.2.14-r2.ebuild b/net-misc/asterisk/asterisk-1.2.14-r2.ebuild
new file mode 100644 (file)
index 0000000..6179e6f
--- /dev/null
@@ -0,0 +1,480 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.14-r2.ebuild,v 1.1 2007/03/20 17:45:06 gustavoz Exp $
+
+inherit eutils multilib toolchain-funcs
+
+IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
+       nosamples odbc osp postgres pri speex sqlite ssl zaptel \
+       elibc_uclibc"
+
+BRI_VERSION="0.3.0-PRE-1x"
+AST_PATCHES="1.2.11-patches-1.0"
+JB_PATCHES="1.2.11-jb"
+
+## NOTE:
+#
+# - t.38 dropped
+#
+
+MY_P="${P/_p/.}"
+
+DESCRIPTION="Asterisk: A Modular Open Source PBX System"
+HOMEPAGE="http://www.asterisk.org/"
+SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
+        http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
+        bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
+               http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
+        genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
+#       bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
+
+
+S="${WORKDIR}/${MY_P}"
+S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~ppc sparc ~x86"
+
+RDEPEND="dev-libs/newt
+       media-sound/sox
+       ssl? ( dev-libs/openssl )
+       gtk? ( =x11-libs/gtk+-1.2* )
+       pri? ( >=net-libs/libpri-1.2.3 )
+       h323? ( >=dev-libs/pwlib-1.8.3
+               >=net-libs/openh323-1.15.0 )
+       alsa? ( media-libs/alsa-lib )
+       curl? ( net-misc/curl )
+       odbc? ( dev-db/unixODBC )
+       speex? ( media-libs/speex )
+       sqlite? ( <dev-db/sqlite-3.0.0 )
+       zaptel? ( >=net-misc/zaptel-1.2.8 )
+       postgres? ( dev-db/postgresql )
+       osp? ( >=net-libs/osptoolkit-3.3.4 )
+       bri? (  >=net-libs/libpri-1.2.3-r1
+               >=net-misc/zaptel-1.2.8 )"
+
+DEPEND="${RDEPEND}
+       sys-devel/flex
+       sys-devel/bison
+       doc? ( app-doc/doxygen )"
+
+#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
+PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"
+
+QA_TEXTRELS_x86="usr/lib/asterisk/modules/codec_gsm.so"
+QA_EXECSTACK_x86="usr/lib/asterisk/modules/codec_gsm.so"
+
+#
+# List of modules to ignore during scan (because they have been removed in 1.2.x)
+#
+SCAN_IGNORE_MODS="
+       app_qcall
+       chan_modem
+       chan_modem_i4l
+       chan_modem_bestdata
+       chan_modme_aopen"
+
+#
+# shortcuts
+#
+is_ast10update() {
+       return $(has_version "=net-misc/asterisk-1.0*")
+}
+
+is_astupdate() {
+       if ! is_ast10update; then
+               return $(has_version "<net-misc/asterisk-${PV}")
+       fi
+       return 0
+}
+
+#
+# Display a nice countdown...
+#
+countdown() {
+       local n
+
+       ebeep
+
+       n=${1:-10}
+       while [[ $n -gt 0 ]]; do
+               echo -en "  Waiting $n second(s)...\r"
+               sleep 1
+               (( n-- ))
+       done
+}
+
+#
+# Scan for asterisk-1.0.x modules that will have to be updated
+#
+scan_modules() {
+       local modules_list=""
+       local n
+
+       for x in $(ls -1 "${ROOT}"usr/$(get_libdir)/asterisk/modules/*.so); do
+               echo -en "Scanning.... $(basename ${x})   \r"
+
+               # skip blacklisted modules
+               hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue
+
+               if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
+                       modules_list="${modules_list} $(basename ${x//.so})"
+               fi
+       done
+
+       if [[ -n "${modules_list}" ]]; then
+               echo  "   ========================================================"
+               ewarn "Please update or unmerge the following modules:"
+               echo
+
+               n=0
+               for x in ${modules_list}; do
+                       ewarn " -   ${x}"
+                       (( n++ ))
+               done
+
+               echo
+               ewarn "Warning: $n outdated module(s) found!"
+               ewarn "Warning: asterisk may not work if you don't update them!"
+               echo  "   ========================================================"
+               echo
+               einfo "You can use the \"asterisk-updater\" script to update the modules"
+               echo
+               countdown
+               echo
+               return 1
+       else
+               einfo "No asterisk-1.0.x modules found!"
+               return 0
+       fi
+}
+
+pkg_setup() {
+       local checkfailed=0 waitaftermsg=0
+
+       if is_ast10update; then
+               ewarn "                      Asterisk UPGRADE Warning"
+               ewarn ""
+               ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
+               ewarn ""
+               ewarn "                      Asterisk UPGRADE Warning"
+               echo
+               waitaftermsg=1
+       fi
+
+       if use genericjb; then
+               ewarn "********************** Experimental Feature **************************"
+               ewarn "Please note that generic jitterbuffer support is experimental and may not"
+               ewarn "be included in newer versions!"
+               echo
+               waitaftermsg=1
+       fi
+
+       if [[ $waitaftermsg -eq 1 ]]; then
+               einfo "Press Ctrl+C to abort"
+               echo
+               countdown
+       fi
+
+       #
+       # Regular checks
+       #
+       einfo "Running some pre-flight checks..."
+       echo
+
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       #
+       # gentoo patchset
+       #
+       for x in $(grep -v "^#\| \+" "${WORKDIR}"/patches/patches.list); do
+               epatch "${WORKDIR}"/patches/${x}
+       done
+
+       if use mmx; then
+               if ! use hardened; then
+                       einfo "Enabling mmx optimization"
+                       sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
+                               Makefile
+               else
+                       ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
+               fi
+       fi
+
+       if ! use debug; then
+               einfo "Disabling debug support"
+               sed -i -e "s:^\(DEBUG=\):#\1:" \
+                       Makefile
+       fi
+
+       if ! use ssl; then
+               einfo "Disabling crypto support"
+               sed -i -e 's:^#\(NOCRYPTO=yes\):\1:' \
+                       -e '/^LIBS+=-lssl/d' Makefile || die
+       fi
+
+       #
+       # uclibc patch
+       #
+       if use elibc_uclibc; then
+               einfo "Patching asterisk for uclibc..."
+               epatch "${FILESDIR}"/1.0.0/${PN}-1.0.5-uclibc-dns.diff
+               epatch "${FILESDIR}"/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
+       fi
+
+       #
+       # BRI patches
+       #
+       if use bri; then
+               einfo "Patching asterisk w/ BRI stuff"
+               pwd
+
+               epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
+               #epatch "${S_BRI}"/patches/asterisk.patch
+       fi
+
+       #
+       # Generic jitterbuffer (asterisk bug #3854)
+       #
+       if use genericjb; then
+               einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
+#              epatch "${WORKDIR}"/ast_jb-${JB_PATCHES}.patch
+               epatch "${WORKDIR}"/${PN}-${JB_PATCHES}.patch
+
+               #sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
+               #       Makefile
+       fi
+
+       #
+       # Security patch bug #169616 and bug #171467
+       #
+       epatch "${FILESDIR}"/1.2.0/${PN}-1.2.14-chan_sip2.patch
+
+}
+
+src_compile() {
+       local myopts
+
+       use lowmem && \
+               myopts="-DLOW_MEMORY"
+
+       if use h323; then
+               einfo "Building H.323 wrapper lib..."
+               make -C channels/h323 \
+                       NOTRACE=1 \
+                       PWLIBDIR=/usr/share/pwlib \
+                       OPENH323DIR=/usr/share/openh323 \
+                       libchanh323.a Makefile.ast || die "Make h323 failed"
+       fi
+
+       einfo "Building Asterisk..."
+       make \
+               CC=$(tc-getCC) \
+               NOTRACE=1 \
+               OPTIMIZE="${CFLAGS}" \
+               PWLIBDIR=/usr/share/pwlib \
+               OPENH323DIR=/usr/share/openh323 \
+               OPTIONS="${myopts}" || die "Make failed"
+
+       # create api docs
+       use doc && \
+               make progdocs
+
+       # build bristuff's ISDNguard
+       use bri && \
+               make -C "${S_BRI}"/ISDNguard
+}
+
+src_install() {
+
+       # install asterisk
+       make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
+       make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"
+
+       # remove bristuff capi
+       use bri && \
+               rm -f "${D}"usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null
+
+       # remove installed sample files if nosamples flag is set
+       if use nosamples; then
+               einfo "Skipping installation of sample files..."
+               rm -rf "${D}"var/spool/asterisk/voicemail/default
+               rm -f  "${D}"var/lib/asterisk/mohmp3/*
+               rm -f  "${D}"var/lib/asterisk/sounds/demo-*
+               rm -f  "${D}"var/lib/asterisk/agi-bin/*
+       else
+               einfo "Sample files have been installed"
+               keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
+       fi
+
+       # move sample configuration files to doc directory
+       if is_ast10update; then
+               elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
+               elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
+       elif has_version "net-misc/asterisk"; then
+               elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
+               insinto /usr/share/doc/${PF}/conf
+               doins "${D}"etc/asterisk/*.conf*
+               rm -f "${D}"etc/asterisk/*.conf* 2>/dev/null
+       fi
+
+       # don't delete these directories, even if they are empty
+       for x in voicemail meetme system dictate monitor tmp; do
+               keepdir /var/spool/asterisk/${x}
+       done
+       keepdir /var/lib/asterisk/sounds/priv-callerintros
+       keepdir /var/lib/asterisk/mohmp3
+       keepdir /var/lib/asterisk/agi-bin
+       keepdir /var/log/asterisk/cdr-csv
+       keepdir /var/log/asterisk/cdr-custom
+       keepdir /var/run/asterisk
+
+       # install astxs
+       dobin  contrib/scripts/astxs
+
+       newinitd "${FILESDIR}"/1.2.0/asterisk.rc6 asterisk
+       newconfd "${FILESDIR}"/1.2.0/asterisk.confd asterisk
+
+       # install standard docs...
+       dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
+       dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
+       dodoc doc/README.*
+       dodoc doc/*.txt
+
+       docinto scripts
+       dodoc contrib/scripts/*
+
+       docinto utils
+       dodoc contrib/utils/*
+
+       docinto configs
+       dodoc configs/*
+
+       # install api docs
+       if use doc; then
+               insinto /usr/share/doc/${PF}/api/html
+               doins doc/api/html/*
+       fi
+
+       # install ISDNguard
+       if use bri; then
+               cd "${S_BRI}"/ISDNguard
+               dosbin ISDNguard
+
+               docinto ISDNguard
+               dodoc INSTALL.ISDNguard
+
+               cd "${S}"
+       fi
+
+       insinto /usr/share/doc/${PF}/cgi
+       doins contrib/scripts/vmail.cgi
+       doins images/*.gif
+
+       # install asterisk-updater
+       dosbin "${FILESDIR}"/1.2.0/asterisk-updater
+
+       # install asterisk.h, a lot of external modules need this
+       insinto /usr/include/asterisk
+       doins   include/asterisk.h
+
+       # make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
+       rm -f "${D}"/etc/asterisk/misdn.conf "${D}"/usr/lib/asterisk/modules/chan_misdn.so \
+               "${D}"/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
+       rm -f "${D}"/usr/include/asterisk/chan_capi{,_app}.h \
+               "${D}"/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
+}
+
+pkg_preinst() {
+       enewgroup asterisk
+       enewuser asterisk -1 -1 /var/lib/asterisk asterisk
+}
+
+pkg_postinst() {
+       einfo "Fixing permissions"
+       for x in spool run lib log; do
+               chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
+               chmod -R u=rwX,g=rX,o=     "${ROOT}"var/${x}/asterisk
+       done
+
+       chown -R root:asterisk "${ROOT}"etc/asterisk
+       chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
+       echo
+
+       #
+       # Announcements, warnings, reminders...
+       #
+       einfo "Asterisk has been installed"
+       einfo ""
+       elog "If you want to know more about asterisk, visit these sites:"
+       elog "http://www.asteriskdocs.org/"
+       elog "http://www.voip-info.org/wiki-Asterisk"
+       echo
+       elog "http://asterisk.xvoip.com/"
+       elog "http://junghanns.net/asterisk/"
+       elog "http://www.automated.it/guidetoasterisk.htm"
+       echo
+       elog "Gentoo VoIP IRC Channel:"
+       elog "#gentoo-voip @ irc.freenode.net"
+       echo
+       echo
+
+       #
+       # Warning about 1.0 -> 1.2 changes...
+       #
+       if is_ast10update; then
+               ewarn ""
+               ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
+               ewarn ""
+       fi
+
+       if is_astupdate; then
+               ewarn ""
+               ewarn " - The initgroups patch has been dropped, please update your"
+               ewarn "   \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
+               ewarn ""
+       fi
+
+       if use genericjb; then
+               ewarn "********************** Experimental Feature **************************"
+               ewarn "Please note that generic jitterbuffer support is experimental and may not"
+               ewarn "be included in newer versions!"
+               echo
+       fi
+
+       # scan for old modules
+       if is_ast10update; then
+               einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
+               scan_modules
+       fi
+}
+
+pkg_config() {
+       einfo "Do you want to reset file permissions and ownerships (y/N)?"
+
+       read tmp
+       tmp="$(echo $tmp | tr [:upper:] [:lower:])"
+
+       if [[ "$tmp" = "y" ]] ||\
+          [[ "$tmp" = "yes" ]]
+       then
+               einfo "Resetting permissions to defaults..."
+
+               for x in spool run lib log; do
+                       chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
+                       chmod -R u=rwX,g=rX,o=     "${ROOT}"var/${x}/asterisk
+               done
+
+               chown -R root:asterisk "${ROOT}"etc/asterisk
+               chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
+
+               einfo "done"
+       else
+               einfo "skipping"
+       fi
+}
diff --git a/net-misc/asterisk/files/1.2.0/asterisk-1.2.14-chan_sip2.patch b/net-misc/asterisk/files/1.2.0/asterisk-1.2.14-chan_sip2.patch
new file mode 100644 (file)
index 0000000..9df194e
--- /dev/null
@@ -0,0 +1,43 @@
+diff -Nura asterisk-1.2.14/channels/chan_sip.c asterisk-1.2.14-r2/channels/chan_sip.c
+--- asterisk-1.2.14/channels/chan_sip.c        2006-12-06 12:42:41.000000000 -0300
++++ asterisk-1.2.14-r2/channels/chan_sip.c     2007-03-20 12:20:33.596548316 -0300
+@@ -3652,6 +3652,7 @@
+                       hp = ast_gethostbyname(host, &ahp);
+                       if (!hp) {
+                               ast_log(LOG_WARNING, "Unable to lookup host in secondary c= line, '%s'\n", c);
++                              return -1;
+                       }
+               }
+       }
+@@ -3678,6 +3679,7 @@
+                       hp = ast_gethostbyname(host, &ahp);
+                       if (!hp) {
+                               ast_log(LOG_WARNING, "Unable to lookup host in secondary c= line, '%s'\n", c);
++                              return -1;
+                       }
+               }
+       }
+@@ -11251,6 +11253,10 @@
+               if (sscanf(e, "%d %n", &respid, &len) != 1) {
+                       ast_log(LOG_WARNING, "Invalid response: '%s'\n", e);
+               } else {
++                      if (respid <= 0) {
++                              ast_log(LOG_WARNING, "Invalid SIP response code: '%d'\n", respid);
++                              return 0;
++                      }
+                       /* More SIP ridiculousness, we have to ignore bogus contacts in 100 etc responses */
+                       if ((respid == 200) || ((respid >= 300) && (respid <= 399)))
+                               extract_uri(p, req);
+@@ -11312,6 +11318,12 @@
+               }
+       }
++      if (!e && (p->method == SIP_INVITE || p->method == SIP_SUBSCRIBE || p->method == SIP_REGISTER)) {
++              transmit_response(p, "400 Bad request", req);
++              ast_set_flag(p, SIP_NEEDDESTROY);
++              return -1;
++      }
++
+       /* Handle various incoming SIP methods in requests */
+       switch (p->method) {
+       case SIP_OPTIONS:
diff --git a/net-misc/asterisk/files/digest-asterisk-1.2.14-r2 b/net-misc/asterisk/files/digest-asterisk-1.2.14-r2
new file mode 100644 (file)
index 0000000..93b80ed
--- /dev/null
@@ -0,0 +1,15 @@
+MD5 a407d1ef9bc88e38f435581380975fec asterisk-1.2.11-jb.patch.bz2 15598
+RMD160 cbf4a95e25bf03a41ebef2a726419299494bb298 asterisk-1.2.11-jb.patch.bz2 15598
+SHA256 e85e438cb88993a188d063582f38eff0efc1b727e47d9f71809ee81d19992946 asterisk-1.2.11-jb.patch.bz2 15598
+MD5 c91195d62d39cf71da31122dd8157828 asterisk-1.2.11-patches-1.0.tar.bz2 7432
+RMD160 b840a16b6ae9ffb1e76da4a7a8129916e1710204 asterisk-1.2.11-patches-1.0.tar.bz2 7432
+SHA256 46d198be655b35383725dde72ed82ecc7767b8009356f88d27c763323d1cdaa8 asterisk-1.2.11-patches-1.0.tar.bz2 7432
+MD5 8bda7388cf9a7fd045af9efaf58a1a6f asterisk-1.2.14-bristuff-0.3.0-PRE-1x.diff.bz2 95462
+RMD160 4b592148b692d010dfd64df4a969838d15525489 asterisk-1.2.14-bristuff-0.3.0-PRE-1x.diff.bz2 95462
+SHA256 30203a73f6f409bc96f0896d26d1cba47857e040003f6e066227519bb2ef91ef asterisk-1.2.14-bristuff-0.3.0-PRE-1x.diff.bz2 95462
+MD5 2ce03466b99e0b9471e6c791ed14a5f2 asterisk-1.2.14.tar.gz 10595184
+RMD160 c07410e57086ebc34c78fd6794fa5395c3f5a174 asterisk-1.2.14.tar.gz 10595184
+SHA256 115248cb7b1fc35dc2be24218f91a87272cf5c0d8c2050a36da2314fadc05cf4 asterisk-1.2.14.tar.gz 10595184
+MD5 2f9c26b445dc76e7767fffa5e350d618 bristuff-0.3.0-PRE-1x.tar.gz 279200
+RMD160 bc84aa50370627cfead9e0646cf87c16ddff7b00 bristuff-0.3.0-PRE-1x.tar.gz 279200
+SHA256 13d98160d4a10b46b77c822577e6c64ad7dadbc2df1b4cd0a1007ae3bbbd4aa8 bristuff-0.3.0-PRE-1x.tar.gz 279200