mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-23 13:53:03 +00:00
Compare commits
14 Commits
1.6.0.7-rc
...
1.6.0.5
Author | SHA1 | Date | |
---|---|---|---|
|
c4d7e73829 | ||
|
33db03afc8 | ||
|
ffb0776f23 | ||
|
abefccaf11 | ||
|
66b809dc76 | ||
|
3d3122c6f0 | ||
|
3f71325491 | ||
|
0c37075208 | ||
|
ec89e27387 | ||
|
5de6d0c8dc | ||
|
d7c25fd040 | ||
|
1424045dd2 | ||
|
78bdc0dbc1 | ||
|
bc2d9661fe |
1
.lastclean
Normal file
1
.lastclean
Normal file
@@ -0,0 +1 @@
|
||||
36
|
2
CREDITS
2
CREDITS
@@ -198,7 +198,7 @@ Brian M. Clapper - poll.c emulation
|
||||
This product includes software developed by Brian M. Clapper <bmc(AT)clapper.org>
|
||||
|
||||
=== HOLD MUSIC ===
|
||||
Music provided by www.freeplaymusic.com
|
||||
Music provided by www.opsound.org
|
||||
|
||||
=== OTHER SOURCE CODE IN ASTERISK ===
|
||||
Asterisk uses libedit, the lightweight readline replacement from NetBSD.
|
||||
|
@@ -74,11 +74,11 @@ Beginning with Asterisk 1.4, the sound files and music on hold files supplied fo
|
||||
use with Asterisk have been replaced with new versions produced from high quality
|
||||
master recordings, and are available in three languages (English, French and
|
||||
Spanish) and in five formats (WAV (uncompressed), mu-Law, a-Law, GSM and G.729).
|
||||
In addition, the music on hold files provided by FreePlay Music are now available
|
||||
In addition, the music on hold files provided by opsound.org Music are now available
|
||||
in the same five formats, but no longer available in MP3 format.
|
||||
|
||||
The Asterisk 1.4 tarball packages will only include English prompts in GSM format,
|
||||
(as were supplied with previous releases) and the FreePlay MOH files in WAV format.
|
||||
(as were supplied with previous releases) and the opsound.org MOH files in WAV format.
|
||||
All of the other variations can be installed by running 'make menuselect' and
|
||||
selecting the packages you wish to install; when you run 'make install', those
|
||||
packages will be downloaded and installed along with the standard files included
|
||||
|
@@ -5,7 +5,7 @@
|
||||
#
|
||||
# It will be executed from the top-level directory of the project.
|
||||
|
||||
make -C sounds MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-GSM MENUSELECT_MOH=MOH-FREEPLAY-WAV WGET=wget DOWNLOAD=wget all
|
||||
make -C sounds MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-GSM MENUSELECT_MOH=MOH-OPSOUND-WAV WGET=wget DOWNLOAD=wget all
|
||||
make AWK=awk GREP=grep menuselect-tree
|
||||
|
||||
make_tex_docs() {
|
||||
|
@@ -161,6 +161,7 @@ static int trunkmaxsize = MAX_TRUNKDATA;
|
||||
static int authdebug = 1;
|
||||
static int autokill = 0;
|
||||
static int iaxcompat = 0;
|
||||
static int last_authmethod = 0;
|
||||
|
||||
static int iaxdefaultdpcache=10 * 60; /* Cache dialplan entries for 10 minutes by default */
|
||||
|
||||
@@ -6253,6 +6254,10 @@ static int register_verify(int callno, struct sockaddr_in *sin, struct iax_ies *
|
||||
p = find_peer(peer, 1);
|
||||
ast_mutex_lock(&iaxsl[callno]);
|
||||
if (!p || !iaxs[callno]) {
|
||||
if (iaxs[callno]) {
|
||||
/* Anything, as long as it's non-blank */
|
||||
ast_string_field_set(iaxs[callno], secret, "badsecret");
|
||||
}
|
||||
if (authdebug && !p)
|
||||
ast_log(LOG_NOTICE, "No registration for peer '%s' (from %s)\n", peer, ast_inet_ntoa(sin->sin_addr));
|
||||
goto return_unref;
|
||||
@@ -6332,21 +6337,24 @@ static int register_verify(int callno, struct sockaddr_in *sin, struct iax_ies *
|
||||
goto return_unref;
|
||||
} else
|
||||
ast_set_flag(&iaxs[callno]->state, IAX_STATE_AUTHENTICATED);
|
||||
} else if (!ast_strlen_zero(md5secret) || !ast_strlen_zero(secret)) {
|
||||
if (authdebug)
|
||||
ast_log(LOG_NOTICE, "Inappropriate authentication received\n");
|
||||
} else if (!ast_strlen_zero(p->secret) || !ast_strlen_zero(p->inkeys)) {
|
||||
if (authdebug &&
|
||||
((!ast_strlen_zero(p->secret) && (p->authmethods & IAX_AUTH_MD5) && !ast_strlen_zero(iaxs[callno]->challenge)) ||
|
||||
(!ast_strlen_zero(p->inkeys) && (p->authmethods & IAX_AUTH_RSA) && !ast_strlen_zero(iaxs[callno]->challenge)))) {
|
||||
ast_log(LOG_NOTICE, "Inappropriate authentication received for '%s'\n", p->name);
|
||||
}
|
||||
goto return_unref;
|
||||
}
|
||||
ast_devstate_changed(AST_DEVICE_UNKNOWN, "IAX2/%s", p->name); /* Activate notification */
|
||||
|
||||
return_unref:
|
||||
ast_string_field_set(iaxs[callno], peer, peer);
|
||||
/* Choose lowest expiry number */
|
||||
if (expire && (expire < iaxs[callno]->expiry))
|
||||
iaxs[callno]->expiry = expire;
|
||||
|
||||
ast_device_state_changed("IAX2/%s", p->name); /* Activate notification */
|
||||
|
||||
res = 0;
|
||||
|
||||
return_unref:
|
||||
if (p)
|
||||
peer_unref(p);
|
||||
|
||||
@@ -7077,24 +7085,30 @@ static int registry_authrequest(int callno)
|
||||
struct iax2_peer *p;
|
||||
char challenge[10];
|
||||
const char *peer_name;
|
||||
int res = -1;
|
||||
int sentauthmethod;
|
||||
|
||||
peer_name = ast_strdupa(iaxs[callno]->peer);
|
||||
|
||||
/* SLD: third call to find_peer in registration */
|
||||
ast_mutex_unlock(&iaxsl[callno]);
|
||||
p = find_peer(peer_name, 1);
|
||||
if ((p = find_peer(peer_name, 1))) {
|
||||
last_authmethod = p->authmethods;
|
||||
}
|
||||
|
||||
ast_mutex_lock(&iaxsl[callno]);
|
||||
if (!iaxs[callno])
|
||||
goto return_unref;
|
||||
if (!p) {
|
||||
ast_log(LOG_WARNING, "No such peer '%s'\n", peer_name);
|
||||
goto return_unref;
|
||||
}
|
||||
|
||||
|
||||
memset(&ied, 0, sizeof(ied));
|
||||
iax_ie_append_short(&ied, IAX_IE_AUTHMETHODS, p->authmethods);
|
||||
if (p->authmethods & (IAX_AUTH_RSA | IAX_AUTH_MD5)) {
|
||||
/* The selection of which delayed reject is sent may leak information,
|
||||
* if it sets a static response. For example, if a host is known to only
|
||||
* use MD5 authentication, then an RSA response would indicate that the
|
||||
* peer does not exist, and vice-versa.
|
||||
* Therefore, we use whatever the last peer used (which may vary over the
|
||||
* course of a server, which should leak minimal information). */
|
||||
sentauthmethod = p ? p->authmethods : last_authmethod ? last_authmethod : (IAX_AUTH_MD5 | IAX_AUTH_PLAINTEXT);
|
||||
iax_ie_append_short(&ied, IAX_IE_AUTHMETHODS, sentauthmethod);
|
||||
if (sentauthmethod & (IAX_AUTH_RSA | IAX_AUTH_MD5)) {
|
||||
/* Build the challenge */
|
||||
snprintf(challenge, sizeof(challenge), "%d", (int)ast_random());
|
||||
ast_string_field_set(iaxs[callno], challenge, challenge);
|
||||
@@ -7102,12 +7116,12 @@ static int registry_authrequest(int callno)
|
||||
}
|
||||
iax_ie_append_str(&ied, IAX_IE_USERNAME, peer_name);
|
||||
|
||||
res = 0;
|
||||
|
||||
return_unref:
|
||||
peer_unref(p);
|
||||
if (p) {
|
||||
peer_unref(p);
|
||||
}
|
||||
|
||||
return res ? res : send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_REGAUTH, 0, ied.buf, ied.pos, -1);;
|
||||
return iaxs[callno] ? send_command(iaxs[callno], AST_FRAME_IAX, IAX_COMMAND_REGAUTH, 0, ied.buf, ied.pos, -1) : -1;
|
||||
}
|
||||
|
||||
static int registry_rerequest(struct iax_ies *ies, int callno, struct sockaddr_in *sin)
|
||||
|
@@ -48,7 +48,7 @@ reference purposes.
|
||||
\input{../../LICENSE}
|
||||
\subsection{Hold Music}
|
||||
Digium has licensed the music included with
|
||||
the Asterisk distribution From FreePlayMusic
|
||||
the Asterisk distribution From opsound.org
|
||||
for use and distribution with Asterisk. It
|
||||
is licensed ONLY for use as hold music within
|
||||
an Asterisk based PBX.
|
||||
|
@@ -43,7 +43,7 @@ MES:=$(subst -G729,-g729,$(MES))
|
||||
MES:=$(subst -G722,-g722,$(MES))
|
||||
EXTRA_SOUNDS:=$(MES:EXTRA-SOUNDS-%=asterisk-extra-sounds-%-$(EXTRA_SOUNDS_VERSION).tar.gz)
|
||||
EXTRA_SOUND_TAGS:=$(MES:EXTRA-SOUNDS-%=$(SOUNDS_DIR)/.asterisk-extra-sounds-%-$(EXTRA_SOUNDS_VERSION))
|
||||
MM:=$(subst -FREEPLAY-,-freeplay-,$(MENUSELECT_MOH))
|
||||
MM:=$(subst -OPSOUND-,-opsound-,$(MENUSELECT_MOH))
|
||||
MM:=$(subst -WAV,-wav,$(MM))
|
||||
MM:=$(subst -ULAW,-ulaw,$(MM))
|
||||
MM:=$(subst -ALAW,-alaw,$(MM))
|
||||
|
@@ -44,18 +44,18 @@
|
||||
</member>
|
||||
</category>
|
||||
<category name="MENUSELECT_MOH" displayname="Music On Hold File Packages" positive_output="yes">
|
||||
<member name="MOH-FREEPLAY-WAV" displayname="FreePlay Music On Hold Files, WAV format" >
|
||||
<member name="MOH-OPSOUND-WAV" displayname="opsound.org Music On Hold Files, WAV format" >
|
||||
<defaultenabled>yes</defaultenabled>
|
||||
</member>
|
||||
<member name="MOH-FREEPLAY-ULAW" displayname="FreePlay Music On Hold Files, mu-Law format" >
|
||||
<member name="MOH-OPSOUND-ULAW" displayname="opsound.org Music On Hold Files, mu-Law format" >
|
||||
</member>
|
||||
<member name="MOH-FREEPLAY-ALAW" displayname="FreePlay Music On Hold Files, a-Law format" >
|
||||
<member name="MOH-OPSOUND-ALAW" displayname="opsound.org Music On Hold Files, a-Law format" >
|
||||
</member>
|
||||
<member name="MOH-FREEPLAY-GSM" displayname="FreePlay Music On Hold Files, GSM format" >
|
||||
<member name="MOH-OPSOUND-GSM" displayname="opsound.org Music On Hold Files, GSM format" >
|
||||
</member>
|
||||
<member name="MOH-FREEPLAY-G729" displayname="FreePlay Music On Hold Files, G.729 format" >
|
||||
<member name="MOH-OPSOUND-G729" displayname="opsound.org Music On Hold Files, G.729 format" >
|
||||
</member>
|
||||
<member name="MOH-FREEPLAY-G722" displayname="FreePlay Music On Hold Files, G.722 format" >
|
||||
<member name="MOH-OPSOUND-G722" displayname="opsound.org Music On Hold Files, G.722 format" >
|
||||
</member>
|
||||
</category>
|
||||
<category name="MENUSELECT_EXTRA_SOUNDS" displayname="Extras Sound Packages" positive_output="yes">
|
||||
|
Reference in New Issue
Block a user