From 14fe40fd6c7831a489afdce377a7a1acdd69bd09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Fri, 20 Jan 2012 11:07:53 +0200 Subject: main/asterisk: upgrade to 10.0.1, and update ASTERISK-19106 patch * security fix AST-2012-001 (remote crash under certain special configs) --- main/asterisk/APKBUILD | 8 ++++---- main/asterisk/ASTERISK-19106.patch | 30 ++++++++++++++++++++---------- 2 files changed, 24 insertions(+), 14 deletions(-) (limited to 'main') diff --git a/main/asterisk/APKBUILD b/main/asterisk/APKBUILD index ca69e05c3..8d9f859db 100644 --- a/main/asterisk/APKBUILD +++ b/main/asterisk/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Timo Teras # Maintainer: Timo Teras pkgname=asterisk -pkgver=10.0.0 -pkgrel=5 +pkgver=10.0.1 +pkgrel=0 pkgdesc="Asterisk: A Module Open Source PBX System" url="http://www.asterisk.org/" arch="all" @@ -166,7 +166,7 @@ sound_en() { _move_dir var/lib/asterisk/sounds/en } -md5sums="6b52336b9dc01eeecb9de2eb2818e127 asterisk-10.0.0.tar.gz +md5sums="b8eaff7832fe46fc764030ed46df617c asterisk-10.0.1.tar.gz b00c9d98ce2ad445501248a197c6e436 100-uclibc-daemon.patch 6e1129e30c4fd2c25c86c81685a485a9 101-caps-uclibc.patch 79e9634b5054bceb3b8dc246654bb243 400-bug-227.patch @@ -175,7 +175,7 @@ da5a3c500192dee4275aae5235d25f97 ASTERISK-18976.patch 1ddadef41aa7120e168738b6f3ed8917 ASTERISK-18977.patch 0af5e797f0a99d0f81f95e3710baf5b6 ASTERISK-18994.patch bc6713f5434e07b79d3afdd155461d72 ASTERISK-18995.patch -fee11ba2f6518462ea6dde4039f9d8fa ASTERISK-19106.patch +8fbf49b2ada4e0634fd19b1f8f4f1218 ASTERISK-19106.patch a59d61843a44d5a72da401218dcf6588 ASTERISK-19109.patch 74cd25a5638a94ef51e9f4ede2fd28f2 asterisk.initd ed31d7ba37bcf8b0346dcf8593c395f0 asterisk.confd diff --git a/main/asterisk/ASTERISK-19106.patch b/main/asterisk/ASTERISK-19106.patch index d2f44c1d9..77dcbb8fa 100644 --- a/main/asterisk/ASTERISK-19106.patch +++ b/main/asterisk/ASTERISK-19106.patch @@ -1,8 +1,8 @@ -diff --git a/channels/chan_sip.c b/channels/chan_sip.c -index e7b678b..f1e5578 100644 ---- a/channels/chan_sip.c -+++ b/channels/chan_sip.c -@@ -13062,17 +13062,8 @@ static int sip_reg_timeout(const void *data) +Index: channels/chan_sip.c +=================================================================== +--- a/channels/chan_sip.c (revision 351503) ++++ b/channels/chan_sip.c (working copy) +@@ -13246,17 +13246,8 @@ } if (r->dnsmgr) { @@ -20,21 +20,31 @@ index e7b678b..f1e5578 100644 } /* If the initial tranmission failed, we may not have an existing dialog, -@@ -13187,14 +13178,14 @@ static int transmit_register(struct sip_registry *r, int sipmethod, const char * +@@ -13371,15 +13362,15 @@ } /* Use port number specified if no SRV record was found */ - if (!ast_sockaddr_port(&r->us) && r->portno) { -- ast_sockaddr_set_port(&r->us, r->portno); -+ if (!ast_sockaddr_port(&r->us)) { -+ ast_sockaddr_set_port(&r->us, r->portno ? r->portno : STANDARD_SIP_PORT); ++ if (!ast_sockaddr_isnull(&r->us) && !ast_sockaddr_port(&r->us) && r->portno) { + ast_sockaddr_set_port(&r->us, r->portno); } /* It is possible that DNS is unavailable at the time the peer is created. Here, if * we've updated the address in the registry, we copy it to the peer so that * create_addr() can copy it to the dialog via create_addr_from_peer */ - if ((peer = sip_find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0))) { +- if (ast_sockaddr_isnull(&peer->addr) && !(ast_sockaddr_isnull(&r->us))) { + if ((peer = sip_find_peer(S_OR(r->peername, r->hostname), NULL, TRUE, FINDPEERS, FALSE, 0))) { - if (ast_sockaddr_isnull(&peer->addr) && !(ast_sockaddr_isnull(&r->us))) { ++ if ((ast_sockaddr_isnull(&peer->addr) || !ast_sockaddr_port(&peer->addr)) && !(ast_sockaddr_isnull(&r->us))) { ast_sockaddr_copy(&peer->addr, &r->us); } + peer = sip_unref_peer(peer, "unref after sip_find_peer"); +@@ -14244,7 +14235,7 @@ + /* Don't trust the contact field. Just use what they came to us + with */ + ast_debug(1, "Store REGISTER's src-IP:port for call routing.\n"); +- peer->addr = pvt->recv; ++ ast_sockaddr_copy(&peer->addr, &pvt->recv); + } + + /* Check that they're allowed to register at this IP */ -- cgit v1.2.3