Compare commits

..

3 Commits

Author SHA1 Message Date
Kevin P. Fleming
27015248fd Convert all release tags to Opsound music-on-hold.
For more details:
http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/



git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.30@212958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 20:42:51 +00:00
Russell Bryant
f669970df8 Importing files for 1.2.30 release
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.30@132794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-22 22:16:09 +00:00
Russell Bryant
e2f742a375 Creating tag for the release of asterisk-1.2.30
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/1.2.30@132792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-22 22:14:59 +00:00
7 changed files with 28 additions and 99 deletions

View File

@@ -1 +1 @@
1.2.31
1.2.30

View File

@@ -1,59 +1,3 @@
2009-01-06 Leif Madsen <lmadsen@digium.com>
* Asterisk 1.2.31 released
2009-01-06 20:44 +0000 [r167259] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Security fix AST-2009-001.
2008-12-10 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.4 released
2008-12-10 21:06 +0000 [r162868] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Fix for AST-2008-012
2008-12-05 20:50 +0000 [r161421] Sean Bright <sean.bright@gmail.com>
* include/asterisk/astobj2.h, astobj2.c: Fix build errors on
FreeBSD (uint -> unsigned int). (closes issue #14006) Reported
by: alphaque Patches: astobj2.h-patch uploaded by alphaque
(license 259) (Slightly modified by seanbright)
2008-12-01 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.3 released
2008-11-25 21:37 +0000 [r159245] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: Regression fix for last security fix. Set
the iseqno correctly. (closes issue #13918) Reported by:
ffloimair Patches: 20081119__bug13918.diff.txt uploaded by
Corydon76 (license 14) Tested by: ffloimair
2008-08-09 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.2 released
2008-08-09 15:24 +0000 [r136945] Tilghman Lesher <tlesher@digium.com>
* include/asterisk/compat.h, include/asterisk/astobj2.h: Regression
fixes for Solaris
2008-07-25 15:00 +0000 [r133577] Russell Bryant <russell@digium.com>
* LICENSE: Fix the IAX2 URI for calling Digium
2008-07-23 Tilghman Lesher <tlesher@digium.com>
* Asterisk 1.2.30.1 released
2008-07-24 03:46 +0000 [r133360] Tilghman Lesher <tlesher@digium.com>
* channels/chan_iax2.c: This part was not correctly patched for
AST-2008-010.
2008-07-22 Russell Bryant <russell@digium.com>
* Asterisk 1.2.30 released

View File

@@ -58,7 +58,7 @@ contact us:
+1.877.546.8963 (via telephone in the USA)
+1.256.428.6000 (via telephone outside the USA)
+1.256.864.0464 (via FAX inside or outside the USA)
IAX2/pbx.digium.com (via IAX2)
IAX2/misery.digium.com/6000 (via IAX2)
licensing@digium.com (via email)
Digium, Inc.

View File

@@ -294,7 +294,7 @@ static int hash_zero(const void *user_obj, const int flags)
* A container is just an object, after all!
*/
struct ao2_container *
ao2_container_alloc(const unsigned int n_buckets, ao2_hash_fn hash_fn,
ao2_container_alloc(const uint n_buckets, ao2_hash_fn hash_fn,
ao2_callback_fn cmp_fn)
{
/* XXX maybe consistency check on arguments ? */

View File

@@ -164,7 +164,6 @@ static int trunkfreq = 20;
static int authdebug = 1;
static int autokill = 0;
static int iaxcompat = 0;
static int lastauthmethod = 0;
static int iaxdefaultdpcache=10 * 60; /* Cache dialplan entries for 10 minutes by default */
@@ -1319,10 +1318,10 @@ static int find_callno(unsigned short callno, unsigned short dcallno, struct soc
gettimeofday(&now, NULL);
start = 2 + (rand() % (TRUNK_CALL_START - 1));
start = 1 + (rand() % (TRUNK_CALL_START - 1));
for (x = start; 1; x++) {
if (x == TRUNK_CALL_START) {
x = 1;
x = 0;
continue;
}
@@ -2751,7 +2750,7 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in
if (peername) {
var = ast_load_realtime("iaxpeers", "name", peername, "host", "dynamic", NULL);
if (!var && sin)
var = ast_load_realtime("iaxpeers", "name", peername, "host", ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr), (char *) NULL);
var = ast_load_realtime("iaxpeers", "name", peername, "host", ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr));
} else if (sin) {
char porta[25];
ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr);
@@ -2875,7 +2874,7 @@ static struct iax2_user *realtime_user(const char *username, struct sockaddr_in
var = ast_load_realtime("iaxusers", "name", username, "host", "dynamic", NULL);
if (!var && sin)
var = ast_load_realtime("iaxusers", "name", username, "host", ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr), (char *) NULL);
var = ast_load_realtime("iaxusers", "name", username, "host", ast_inet_ntoa(iabuf, sizeof(iabuf), sin->sin_addr));
if (!var && sin) {
char porta[6];
snprintf(porta, sizeof(porta), "%d", ntohs(sin->sin_port));
@@ -3103,7 +3102,7 @@ struct parsed_dial_string {
static int send_apathetic_reply(unsigned short callno, unsigned short dcallno, struct sockaddr_in *sin, int command, int ts, unsigned char seqno)
{
struct ast_iax2_full_hdr f = { .scallno = htons(0x8000 | callno), .dcallno = htons(dcallno),
.ts = htonl(ts), .iseqno = seqno, .oseqno = 0, .type = AST_FRAME_IAX,
.ts = htonl(ts), .iseqno = seqno, .oseqno = seqno, .type = AST_FRAME_IAX,
.csub = compress_subclass(command) };
return sendto(defaultsockfd, &f, sizeof(f), 0, (struct sockaddr *)sin, sizeof(*sin));
@@ -6088,34 +6087,23 @@ static int registry_authrequest(char *name, int callno)
{
struct iax_ie_data ied;
struct iax2_peer *p;
int authmethods;
if (!iaxs[callno]) {
return 0;
}
/* SLD: third call to find_peer in registration */
if ((p = find_peer(name, 1))) {
lastauthmethod = p->authmethods;
}
authmethods = p ? p->authmethods : lastauthmethod ? lastauthmethod : (IAX_AUTH_PLAINTEXT | IAX_AUTH_MD5);
if (p && ast_test_flag(p, IAX_TEMPONLY)) {
destroy_peer(p);
} else if (!delayreject) {
ast_log(LOG_WARNING, "No such peer '%s'\n", name);
return 0;
}
memset(&ied, 0, sizeof(ied));
iax_ie_append_short(&ied, IAX_IE_AUTHMETHODS, p->authmethods);
if (authmethods & (IAX_AUTH_RSA | IAX_AUTH_MD5)) {
/* Build the challenge */
snprintf(iaxs[callno]->challenge, sizeof(iaxs[callno]->challenge), "%d", rand());
iax_ie_append_str(&ied, IAX_IE_CHALLENGE, iaxs[callno]->challenge);
}
iax_ie_append_str(&ied, IAX_IE_USERNAME, name);
return send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_REGAUTH, 0, ied.buf, ied.pos, -1);;
p = find_peer(name, 1);
if (p) {
memset(&ied, 0, sizeof(ied));
iax_ie_append_short(&ied, IAX_IE_AUTHMETHODS, p->authmethods);
if (p->authmethods & (IAX_AUTH_RSA | IAX_AUTH_MD5)) {
/* Build the challenge */
snprintf(iaxs[callno]->challenge, sizeof(iaxs[callno]->challenge), "%d", rand());
iax_ie_append_str(&ied, IAX_IE_CHALLENGE, iaxs[callno]->challenge);
}
iax_ie_append_str(&ied, IAX_IE_USERNAME, name);
if (ast_test_flag(p, IAX_TEMPONLY))
destroy_peer(p);
return send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_REGAUTH, 0, ied.buf, ied.pos, -1);;
}
ast_log(LOG_WARNING, "No such peer '%s'\n", name);
return 0;
}
static int registry_rerequest(struct iax_ies *ies, int callno, struct sockaddr_in *sin)
@@ -6854,7 +6842,7 @@ static int socket_read(int *id, int fd, short events, void *cbdata)
/* Deal with POKE/PONG without allocating a callno */
if (f.frametype == AST_FRAME_IAX && f.subclass == IAX_COMMAND_POKE) {
/* Reply back with a PONG, but don't care about the result. */
send_apathetic_reply(1, ntohs(fh->scallno), &sin, IAX_COMMAND_PONG, ntohs(fh->ts), fh->iseqno + 1);
send_apathetic_reply(1, ntohs(fh->scallno), &sin, IAX_COMMAND_PONG, ntohs(fh->ts), fh->oseqno);
return 1;
} else if (f.frametype == AST_FRAME_IAX && f.subclass == IAX_COMMAND_ACK && dcallno == 1) {
/* Ignore */

View File

@@ -17,8 +17,6 @@
#ifndef _ASTERISK_ASTOBJ2_H
#define _ASTERISK_ASTOBJ2_H
#include "asterisk/compat.h"
/*! \file
*
* \brief Object Model implementing objects and containers.
@@ -332,7 +330,7 @@ struct ao2_container;
*
* destructor is set implicitly.
*/
struct ao2_container *ao2_container_alloc(const unsigned int n_buckets,
struct ao2_container *ao2_container_alloc(const uint n_buckets,
ao2_hash_fn hash_fn, ao2_callback_fn cmp_fn);
/*!
@@ -529,11 +527,11 @@ struct ao2_iterator {
/*! current bucket */
int bucket;
/*! container version */
unsigned int c_version;
uint c_version;
/*! pointer to the current object */
void *obj;
/*! container version when the object was created */
unsigned int version;
uint version;
};
struct ao2_iterator ao2_iterator_init(struct ao2_container *c, int flags);

View File

@@ -54,7 +54,6 @@
typedef unsigned char u_int8_t;
typedef unsigned short u_int16_t;
typedef unsigned int u_int32_t;
typedef unsigned int uint;
#endif
char* strsep(char** str, const char* delims);