summaryrefslogtreecommitdiff
path: root/net/asterisk10/files/sip_set_auth.diff
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2008-06-10 08:30:35 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2008-06-10 08:30:35 +0000
commit11a4980acbe5fdd43a115aaf1193aa48a7ca7327 (patch)
treec92d06711091e9e641714a65a8f6212090922a0e /net/asterisk10/files/sip_set_auth.diff
parent- update to 0.33 (diff)
o Update to 1.4.20.1;
o add opt-in support for the iLBC codec; o move another extra patch into opt-in section.
Diffstat (limited to 'net/asterisk10/files/sip_set_auth.diff')
-rw-r--r--net/asterisk10/files/sip_set_auth.diff45
1 files changed, 45 insertions, 0 deletions
diff --git a/net/asterisk10/files/sip_set_auth.diff b/net/asterisk10/files/sip_set_auth.diff
new file mode 100644
index 000000000000..1addc4f48add
--- /dev/null
+++ b/net/asterisk10/files/sip_set_auth.diff
@@ -0,0 +1,45 @@
+--- channels/chan_sip.c.orig 2008-04-29 08:21:05.000000000 -0400
++++ channels/chan_sip.c 2008-05-28 18:41:48.000000000 -0400
+@@ -15962,6 +15978,9 @@
+ char *ext, *host;
+ char tmp[256];
+ char *dest = data;
++ char *secret = NULL;
++ char *md5secret = NULL;
++ char *authname = NULL;
+
+ if (!(p = sip_alloc(NULL, NULL, 0, SIP_INVITE))) {
+ ast_log(LOG_ERROR, "Unable to build sip pvt data for '%s' (Out of memory or socket error)\n", (char *)data);
+@@ -15983,6 +16002,17 @@
+ if (host) {
+ *host++ = '\0';
+ ext = tmp;
++ secret = strchr(ext, ':');
++ if (secret) {
++ *secret++ = '\0';
++ md5secret = strchr(secret, ':');
++ if (md5secret) {
++ *md5secret++ = '\0';
++ authname = strchr(md5secret, ':');
++ if (authname)
++ *authname++ = '\0';
++ }
++ }
+ } else {
+ ext = strchr(tmp, '/');
+ if (ext)
+@@ -16015,6 +16045,14 @@
+ ast_string_field_set(p, username, ext);
+ ast_string_field_free(p, fullcontact);
+ }
++ if (secret && !ast_strlen_zero(secret))
++ ast_string_field_set(p, peersecret, secret);
++
++ if (md5secret && !ast_strlen_zero(md5secret))
++ ast_string_field_set(p, peermd5secret, md5secret);
++
++ if (authname && !ast_strlen_zero(authname))
++ ast_string_field_set(p, authname, authname);
+ #if 0
+ printf("Setting up to call extension '%s' at '%s'\n", ext ? ext : "<none>", host);
+ #endif