rajiv 08/03/23 08:32:17
Modified: ChangeLog
Added: asterisk-1.2.27.ebuild
Log:
version bump. fixes security bugs #200792, #202733, #213883.
(Portage version: 2.1.4.4)
Revision Changes Path
1.177 net-misc/asterisk/ChangeLog
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/asterisk/ChangeLog?rev=1.177&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/asterisk/ChangeLog?rev=1.177&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/asterisk/ChangeLog?r1=1.176&r2=1.177
Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v
retrieving revision 1.176
retrieving revision 1.177
diff -u -r1.176 -r1.177
--- ChangeLog 21 Feb 2008 18:14:20 -0000 1.176
+++ ChangeLog 23 Mar 2008 08:32:17 -0000 1.177
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/asterisk
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.176 2008/02/21 18:14:20 welp Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.177 2008/03/23 08:32:17 rajiv Exp $
+
+*asterisk-1.2.27 (23 Mar 2008)
+
+ 23 Mar 2008; Rajiv Aaron Manglani <rajiv@g.o>
+ +asterisk-1.2.27.ebuild:
+ version bump. fixes security bugs #200792, #202733, #213883.
21 Feb 2008; <welp@g.o> asterisk-1.2.17-r1.ebuild,
asterisk-1.2.21.1-r1.ebuild:
1.1 net-misc/asterisk/asterisk-1.2.27.ebuild
file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/asterisk/asterisk-1.2.27.ebuild?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/asterisk/asterisk-1.2.27.ebuild?rev=1.1&content-type=text/plain
Index: asterisk-1.2.27.ebuild
===================================================================
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.27.ebuild,v 1.1 2008/03/23 08:32:17 rajiv Exp $
inherit eutils multilib toolchain-funcs
IUSE="alsa bri curl debug doc gtk h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl zaptel \
elibc_uclibc"
BRI_VERSION="0.3.0-PRE-1y-l"
AST_PATCHES="1.2.27-patches-1.0"
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
mirror://gentoo/${PN}-${AST_PATCHES}.tar.bz2
http://dev.gentoo.org/~rajiv/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://dev.gentoo.org/~rajiv/asterisk/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
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.5 )
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.16 )
postgres? ( dev-db/postgresql )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.5
>=net-misc/zaptel-1.2.18 )"
DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"
#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
}
#
# 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"
epause
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 bri; then
if ! built_with_use net-libs/libpri bri; then
die "net-libs/libpri must be rebuilt ith USE=bri."
fi
elif use pri; then
if built_with_use net-libs/libpri bri; then
die "net-libs/libpri must be rebuilt without USE=bri."
fi
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
epatch "${FILESDIR}"/1.2.0/asterisk-1.2.21.1-h323-dumb-makefile.diff
#
# 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"
epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
#epatch "${S_BRI}"/patches/asterisk.patch
fi
#
# Disable AEL, security bug #171884
# Re-enable at your own risk (no USE since it can be critical)
#
sed -i -e 's/pbx_ael.so//' pbx/Makefile || die
}
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 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"
chown -R asterisk:asterisk "${ROOT}"var/log/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"var/log/asterisk
for x in lib run spool; do
chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
done
chown asterisk:asterisk "${ROOT}"etc/asterisk/
chown asterisk:asterisk "${ROOT}"etc/asterisk/*.adsi
chown asterisk:asterisk "${ROOT}"etc/asterisk/extensions.ael
chmod u=rwX,g=rwX,o= "${ROOT}"etc/asterisk/
chmod u=rwX,g=rwX,o= "${ROOT}"etc/asterisk/*.adsi
chmod u=rwX,g=rwX,o= "${ROOT}"etc/asterisk/extensions.ael
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
elog
elog "Please note that AEL is no longer built because of security bugs"
elog "See http://bugs.gentoo.org/show_bug.cgi?id=171884"
elog
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
# 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
}
--
gentoo-commits@g.o mailing list
|