636c6f0efe
pkgsrc change: now what sqlite3 has been imported into NetBSD, enable it Asterisk Project Security Advisory - AST-2011-012 Product Asterisk Summary Remote crash vulnerability in SIP channel driver Nature of Advisory Remote crash Susceptibility Remote authenticated sessions Severity Critical Exploits Known No Reported On October 4, 2011 Reported By Ehsan Foroughi Posted On October 17, 2011 Last Updated On October 17, 2011 Advisory Contact Terry Wilson <twilson@digium.com> CVE Name CVE-2011-4063 Description A remote authenticated user can cause a crash with a malformed request due to an unitialized variable. Resolution Ensure variables are initialized in all cases when parsing the request. Affected Versions Product Release Series Asterisk Open Source 1.8.x All versions Asterisk Open Source 10.x All versions (currently in beta) Corrected In Product Release Asterisk Open Source 1.8.7.1, 10.0.0-rc1 Patches Download URL Revision http://downloads.asterisk.org/pub/security/AST-2011-012-1.8.diff 1.8 http://downloads.asterisk.org/pub/security/AST-2011-012-10.diff 10 Links Asterisk Project Security Advisories are posted at http://www.asterisk.org/security This document may be superseded by later versions; if so, the latest version will be posted at http://downloads.digium.com/pub/security/AST-2011-012.pdf and http://downloads.digium.com/pub/security/AST-2011-012.html Revision History Date Editor Revisions Made Asterisk Project Security Advisory - AST-2011-012 Copyright (c) 2011 Digium, Inc. All Rights Reserved. Permission is hereby granted to distribute and publish this advisory in its original, unaltered form.
213 lines
10 KiB
Makefile
213 lines
10 KiB
Makefile
# $NetBSD: Makefile,v 1.15 2011/10/17 23:40:50 jnemeth Exp $
|
|
#
|
|
# NOTE: when updating this package, there are two places that sound
|
|
# tarballs need to be checked
|
|
|
|
DISTNAME= asterisk-1.8.7.1
|
|
DIST_SUBDIR= ${PKGNAME_NOREV}
|
|
DISTFILES= ${DEFAULT_DISTFILES}
|
|
EXTRACT_ONLY= ${DISTNAME}.tar.gz
|
|
CATEGORIES= comms net audio
|
|
MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/ \
|
|
http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ \
|
|
http://downloads.asterisk.org/pub/telephony/sounds/releases/
|
|
|
|
OWNER= jnemeth@NetBSD.org
|
|
HOMEPAGE= http://www.asterisk.org/
|
|
COMMENT= The Asterisk Software PBX
|
|
LICENSE= gnu-gpl-v2
|
|
|
|
CONFLICTS+= asterisk-sounds-extra-[0-9]*
|
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
USE_TOOLS+= bison gmake perl:run pkg-config tar
|
|
USE_LANGUAGES= c c++
|
|
REPLACE_PERL+= agi/DialAnMp3.agi agi/agi-test.agi
|
|
REPLACE_PERL+= agi/fastagi-test agi/jukebox.agi agi/numeralize
|
|
REPLACE_PERL+= contrib/scripts/vmail.cgi
|
|
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS+= --datarootdir=${PREFIX}/libdata
|
|
CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
|
|
CONFIGURE_ARGS+= --without-gtk2
|
|
# XXX remove when lang/lua gets builtin.mk
|
|
CONFIGURE_ARGS+= --without-lua
|
|
|
|
INSTALL_TARGET= install samples
|
|
INSTALLATION_DIRS+= lib/pkgconfig share/doc/${PKGBASE}
|
|
INSTALLATION_DIRS+= share/examples/asterisk share/examples/rc.d
|
|
INSTALLATION_DIRS+= ${ASTDATADIR}/sounds/en ${ASTDATADIR}/moh
|
|
|
|
BUILD_DEFS+= VARBASE
|
|
|
|
ASTERISK_USER?= asterisk
|
|
ASTERISK_GROUP?= asterisk
|
|
PKG_GROUPS= ${ASTERISK_GROUP}
|
|
PKG_USERS= ${ASTERISK_USER}:${ASTERISK_GROUP}
|
|
PKG_GECOS.${ASTERISK_USER}= Asterisk PBX
|
|
PKG_GROUPS_VARS= ASTERISK_GROUP
|
|
PKG_USERS_VARS= ASTERISK_USER
|
|
FILES_SUBST+= ASTERISK_USER=${ASTERISK_USER}
|
|
FILES_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP}
|
|
MESSAGE_SUBST+= ASTERISK_USER=${ASTERISK_USER}
|
|
MESSAGE_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP}
|
|
|
|
# Various path settings for Asterisk
|
|
PKG_SYSCONFSUBDIR= asterisk
|
|
PKG_SYSCONFDIR_PERMS= ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
ASTETCDIR= ${PKG_SYSCONFDIR}
|
|
ASTEXAMPLEDIR= ${PREFIX}/share/examples/asterisk
|
|
ASTDBDIR= ${VARBASE}/db/asterisk
|
|
ASTSPOOLDIR= ${VARBASE}/spool/asterisk
|
|
ASTLOGDIR= ${VARBASE}/log/asterisk
|
|
MESSAGE_SUBST+= ASTDBDIR=${ASTDBDIR}
|
|
MESSAGE_SUBST+= ASTSPOOLDIR=${ASTSPOOLDIR}
|
|
MESSAGE_SUBST+= ASTLOGDIR=${ASTLOGDIR}
|
|
ASTVARRUNDIR= ${VARBASE}/run/asterisk
|
|
FILES_SUBST+= ASTVARRUNDIR=${ASTVARRUNDIR}
|
|
ASTDATADIR= ${PREFIX}/libdata/asterisk
|
|
MAKE_FLAGS+= ASTLIBDIR=${PREFIX}/lib/asterisk
|
|
MAKE_FLAGS+= ASTVARLIBDIR=${ASTDATADIR}
|
|
MAKE_FLAGS+= ASTKEYDIR=${ASTDATADIR}
|
|
MAKE_FLAGS+= ASTDATADIR=${ASTDATADIR}
|
|
MAKE_FLAGS+= ASTSPOOLDIR=${ASTSPOOLDIR}
|
|
MAKE_FLAGS+= ASTLOGDIR=${ASTLOGDIR}
|
|
MAKE_FLAGS+= ASTHEADERDIR=${PREFIX}/include/asterisk
|
|
MAKE_FLAGS+= ASTCONFPATH=${ASTETCDIR}/asterisk.conf
|
|
MAKE_FLAGS+= ASTBINDIR=${PREFIX}/bin
|
|
MAKE_FLAGS+= ASTSBINDIR=${PREFIX}/sbin
|
|
MAKE_FLAGS+= ASTVARRUNDIR=${ASTVARRUNDIR}
|
|
MAKE_FLAGS+= ASTMANDIR=${PREFIX}/${PKGMANDIR}
|
|
MAKE_FLAGS+= ASTETCDIR=${ASTETCDIR}
|
|
MAKE_FLAGS+= ASTDBDIR=${ASTDBDIR}
|
|
MAKE_FLAGS+= AGI_DIR=${PREFIX}/libexec/agi-bin
|
|
MAKE_FLAGS+= ASTEXAMPLEDIR=${ASTEXAMPLEDIR}
|
|
MAKE_FLAGS+= WRKSRC=${WRKSRC}
|
|
MAKE_FLAGS+= LDOPTS=${LDFLAGS:M*:Q}
|
|
MAKE_FLAGS+= HTTP_DOCSDIR=${PREFIX}/share/httpd/htdocs
|
|
MAKE_FLAGS+= HTTP_CGIDIR=${PREFIX}/libexec/cgi-bin
|
|
|
|
.include "options.mk"
|
|
|
|
# check sounds/Makefile for current version when upgrading package
|
|
DISTFILES+= asterisk-extra-sounds-en-gsm-1.4.11.tar.gz
|
|
|
|
# Override default paths in config files
|
|
SUBST_CLASSES+= configs
|
|
SUBST_STAGE.configs= pre-configure
|
|
SUBST_FILES.configs= configs/festival.conf.sample
|
|
SUBST_FILES.configs+= configs/http.conf.sample
|
|
SUBST_FILES.configs+= configs/musiconhold.conf.sample
|
|
SUBST_FILES.configs+= configs/osp.conf.sample
|
|
SUBST_FILES.configs+= configs/phoneprov.conf.sample
|
|
SUBST_FILES.configs+= configs/res_config_sqlite.conf.sample
|
|
SUBST_SED.configs+= -e 's|/var/lib/asterisk|${ASTVARLIBDIR}|'
|
|
SUBST_SED.configs+= -e "s|/usr/local/man|${ASTMANDIR}|"
|
|
SUBST_SED.configs+= -e "s|/usr/local|${PREFIX}|"
|
|
SUBST_SED.configs+= -e "s|/var|${VARBASE}|"
|
|
|
|
# XXX gross hack, remove when atomics properly implemented
|
|
.if (${OPSYS} == "NetBSD")
|
|
SUBST_CLASSES+= atomics
|
|
SUBST_STAGE.atomics= post-configure
|
|
SUBST_FILES.atomics= include/asterisk/autoconfig.h
|
|
SUBST_SED.atomics= -e "s|^\#define HAVE_GCC_ATOMICS 1|\#undef HAVE_GCC_ATOMICS|"
|
|
.endif
|
|
|
|
RCD_SCRIPTS= asterisk
|
|
OWN_DIRS_PERMS+= ${ASTDBDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/dictate ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/meetme ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/monitor ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/outgoing ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/system ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/tmp ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234 ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/busy.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
|
|
SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/unavail.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTLOGDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-csv ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-custom ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
|
|
|
|
CONF_FILES_PERMS= # empty
|
|
.for f in asterisk.conf extensions.conf
|
|
CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
|
|
.endfor
|
|
|
|
# if we put all the files in $CONF_FILES, the message is _way_ too long.
|
|
.for f in adsi.conf agents.conf ais.conf alarmreceiver.conf alsa.conf \
|
|
amd.conf app_mysql.conf asterisk.adsi calendar.conf ccss.conf \
|
|
cdr.conf cdr_adaptive_odbc.conf cdr_custom.conf \
|
|
cdr_manager.conf cdr_mysql.conf cdr_odbc.conf cdr_pgsql.conf \
|
|
cdr_sqlite3_custom.conf cdr_tds.conf cel.conf cel_custom.conf \
|
|
cel_odbc.conf cel_pgsql.conf cel_sqlite3_custom.conf \
|
|
cel_tds.conf chan_dahdi.conf chan_mobile.conf chan_ooh323.conf \
|
|
cli.conf cli_aliases.conf cli_permissions.conf codecs.conf \
|
|
console.conf dbsep.conf dnsmgr.conf dsp.conf dundi.conf \
|
|
enum.conf extconfig.conf extensions.ael extensions.conf \
|
|
extensions.lua extensions_minivm.conf features.conf \
|
|
festival.conf followme.conf func_odbc.conf gtalk.conf h323.conf \
|
|
http.conf iax.conf iaxprov.conf indications.conf jabber.conf \
|
|
jingle.conf logger.conf manager.conf meetme.conf mgcp.conf \
|
|
minivm.conf misdn.conf modules.conf musiconhold.conf muted.conf \
|
|
osp.conf oss.conf phone.conf phoneprov.conf queuerules.conf \
|
|
queues.conf res_config_mysql.conf res_config_sqlite.conf \
|
|
res_curl.conf res_fax.conf res_ldap.conf res_odbc.conf \
|
|
res_pgsql.conf res_pktccops.conf res_snmp.conf \
|
|
res_stun_monitor.conf rpt.conf rtp.conf say.conf sip.conf \
|
|
sip_notify.conf skinny.conf sla.conf smdi.conf telcordia-1.adsi \
|
|
udptl.conf unistim.conf usbradio.conf users.conf voicemail.conf \
|
|
vpb.conf
|
|
CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
|
|
.endfor
|
|
|
|
PTHREAD_OPTS+= require native
|
|
|
|
.if (${OPSYS} == "Darwin" && exists(/usr/include/sys/poll.h))
|
|
post-patch:
|
|
${ECHO} "#include <sys/poll.h>" > ${WRKSRC}/include/asterisk/poll-compat.h
|
|
.endif
|
|
|
|
post-install:
|
|
# check sounds directory for current versions when upgrading package
|
|
${TAR} xzf ${WRKSRC}/sounds/asterisk-core-sounds-en-gsm-1.4.21.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
|
|
${TAR} xzf ${WRKSRC}/sounds/asterisk-moh-opsound-wav-2.03.tar.gz -C ${DESTDIR}${ASTDATADIR}/moh
|
|
${TAR} xzf ${DISTDIR}/${DIST_SUBDIR}/asterisk-extra-sounds-en-gsm-1.4.11.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
|
|
${INSTALL_DATA} ${WRKSRC}/BUGS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/CHANGES ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/COPYING ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/CREDITS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/README ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/README-SERIOUSLY.bestpractices.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.2.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.4.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/UPGRADE-1.6.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/UPGRADE.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/Zaptel-to-DAHDI.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/AST.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/AST.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/README.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/api-1.6.2-changes.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
|
|
|
|
.include "../../databases/sqlite3/buildlink3.mk"
|
|
.include "../../devel/zlib/buildlink3.mk"
|
|
.include "../../security/openssl/buildlink3.mk"
|
|
.include "../../textproc/libxml2/buildlink3.mk"
|
|
.include "../../www/curl/buildlink3.mk"
|
|
.include "../../mk/curses.buildlink3.mk"
|
|
.include "../../mk/pthread.buildlink3.mk"
|
|
.include "../../mk/bsd.pkg.mk"
|