Commit Graph

1908 Commits

Author SHA1 Message Date
Russell Bryant
f741decf40 Use snprintf instead of sprintf in one place. There is no vulnerability here
due to various buffer sizes around the code, but I still didn't like seeing a
non length-limited copy of data coming off of the wire into a stack buffer, as
this would be a problem in the future if buffer sizes elsewhere got changed or
size limitations removed ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@84370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-02 14:12:35 +00:00
Russell Bryant
a8ec2e2356 I changed my mind ... I think this should be a LOG_NOTICE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-26 21:35:23 +00:00
Russell Bryant
f77e615e9f Add a log message that was requested by the masses in the developer tutorial
session at Astricon.  chan_sip did not output any message when a call was
rejected because the extension was not found.  This adds a verbose message
(at verbose level 3) to note when this happens.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-26 21:15:15 +00:00
Russell Bryant
d6b8fb4dc0 gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:37:20 +00:00
Joshua Colp
9ffb2fe0cf Fix video under certain circumstances. It would have been possible for the formats on the channel to not contain the video format.
(closes issue #10782)
Reported by: cwhuang


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 13:34:32 +00:00
Joshua Colp
00000995f3 Make sure the minimum T1 timer value is obeyed in all cases.
(closes issue #10768)
Reported by: flefoll
Patches:
      chan_sip.c.trunk.83071.retrans-patch uploaded by flefoll (license 244)
      chan_sip.c.br14.83070.retrans-patch uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 16:25:30 +00:00
Joshua Colp
a39ed78af6 Fix a minor spelling error.
(closes issue #10769)
Reported by: flefoll
Patches:
      chan_sip.c.trunk.83071.inita-patch uploaded by flefoll (license 244)
      chan_sip.c.br14.83070.inita-patch uploaded by flefoll (license 244)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 16:17:24 +00:00
Joshua Colp
4be09d967e (closes issue #10760)
Reported by: dimas
Patches:
      chan_sip.patch uploaded by dimas (license 88)
Read in subscribecontext option in general to be the default.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 13:18:22 +00:00
Russell Bryant
f6212e48cb (closes issue #9724, closes issue #10374)
Reported by: kenw
Patches:
      9724.txt uploaded by russell (license 2)
Tested by: kenw, russell

Resolve a deadlock that occurs when doing a SIP transfer to parking.  

I come across this type of deadlock fairly often it seems.  It is very important
to mind the boundary between the channel driver and the core in respect to the
channel lock and the channel-pvt lock.  Channel drivers lock to lock the
pvt and then the channel once it calls into the core, while the core will do
it in the opposite order.  The way this is avoided is by having channel drivers
either release their pvt lock while calling into the core, or such as in this
case, unlocking the pvt just long enough to acquire the channel lock.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-06 22:28:57 +00:00
Kevin P. Fleming
0e39aced3c there is no point in sending 401 Unauthorized to a UAS that sent us a properly-formatted Authentication header with the expected username and nonce but an incorrect response (which indicates the shared secret does not match)... instead, let's send 403 Forbidden so that the UAS doesn't retry with the same authentication credentials repeatedly
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-04 16:40:39 +00:00
Joshua Colp
fcee92481e (closes issue #10514)
Reported by: casper
Patches:
      chan_sip.c.80129.diff uploaded by casper (license 55)
Remove needless check for AUTH_UNKNOWN_DOMAIN. It was impossible for it to ever be that value.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-30 21:23:50 +00:00
Joshua Colp
8fcc537329 (closes issue #9690)
Reported by: mattv
Make rtp timeouts work even if two RTP streams are directly bridged in the RTP stack.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-29 14:13:55 +00:00
Joshua Colp
7a47ac4960 (closes issue #10561)
Reported by: jesselang
Patches:
      chan_sip-ChannelReload-20080825.patch uploaded by jesselang (license 202)
Remove an extra \r\n to make the ChannelReload event conform with every other event.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-27 15:01:59 +00:00
Russell Bryant
c5cf1e50ac Don't crash when using realtime in chan_sip without an insecure setting in the database.
(closes issue #10348, reported by link55, fixed by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-22 21:00:44 +00:00
Russell Bryant
3c2eae9ab4 Don't record SIP dialog history if it's not turned on. Also, put an upper
limit on how many history entires will be stored for each SIP dialog.  It is
currently set to 50, but can be increased if deemed necessary.
(closes issue #10421, closes issue #10418, patches suggested by jmoldenhauer,
 patches updated by me)
(Security implications documented in AST-2007-020)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-21 18:42:15 +00:00
Jason Parker
f1cb3f70b7 Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938.

I basically took the code that existed before 9938 was fixed, and
 copied it into a new function - ast_unescape_semicolon

There should be very few places this will be needed (pbx_config
 does NOT need this (see issue 9938 for details))

Issue 10430, patch by me, with help/ideas from murf (thanks murf).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79904 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 19:12:19 +00:00
Russell Bryant
9be377d89f Fix some crashes in chan_sip. This patch changes various places that add items
to the scheduler to ensure that they don't overwrite the ID of a previously
scheduled item.  If there is one, it should be removed.
(closes issue #10391, closes issue #10256, probably others, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-17 13:37:08 +00:00
Joshua Colp
e856a6fb34 (closes issue #10456)
Reported by: irroot
Patches:
      sip_timeout.patch uploaded by irroot (license 52)
Change hardcoded timer value to defined value. I'm doing this in 1.4 as well so if it needs to be changed in the future this place would not have been forgotten.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-15 14:18:44 +00:00
Joshua Colp
9a35428295 (closes issue #10437)
Reported by: haklin
Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@79174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13 14:18:04 +00:00
Mark Michelson
6c3d28a231 I broke canreinvite...Now I'm fixing it. I put some new code in the wrong place and so I've reverted the canreinvite section to how it was and put my new code where it should be.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-09 19:52:43 +00:00
Jason Parker
cb0701052c Allow chan_sip to build in devmode
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-07 19:11:50 +00:00
Joshua Colp
03bcbd11c1 It is possible for a transfer to occur before the remote device has our tag in which case they send none in the transfer. In this case we need to not fail the transfer dialog lookup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 16:32:44 +00:00
Mark Michelson
b463a8dcbb Fixed a mistake I made in realtime_peer which caused it to return NULL every time.
Thanks to Jon Fealy for emailing me the correction.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 13:33:07 +00:00
Tilghman Lesher
a7ade6f213 If peer is not found, the error message is misleading (should be peer not found, not ACL failure)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-05 03:29:01 +00:00
Mark Michelson
05ba4d90d4 Changed the behavior of sip's realtime_peer function to match the corresponding way of matching for non-realtime peers.
Now matches are made on both the IP address and port number, or if the insecure setting is set to "port" then just match on the
IP address.

In order to accomplish this, I also added a new API call, ast_category_root, which returns the first variable of an ast_category struct



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 20:25:22 +00:00
Mark Michelson
43b39d02ae This patch makes Asterisk send 100 Trying provisional responses upon receipt of re-invites. This makes it so that if there are two or more Asterisk
servers between endpoints, the Asterisk servers will not keep retransmitting the re-invites.

(closes issue #10274, reported by cstadlmann, patched by me with approval from file)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 15:21:22 +00:00
Joshua Colp
20d0b01607 (closes issue #10323)
Reported by: julianjm
Patches:
      chan_sip_device_state_hold_fix.v1.diff.txt uploaded by julianjm (license 99)
Clear ONHOLD flag when decrementing the onHold peer count. If we did not do this the count may keep decreasing.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 16:27:16 +00:00
Mark Michelson
7a09244181 "re-invite" was misspelled
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 14:30:43 +00:00
Joshua Colp
91eec8f228 Merged revisions 76560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76560 | file | 2007-07-23 11:32:07 -0300 (Mon, 23 Jul 2007) | 6 lines

(closes issue #10236)
Reported by: homesick
Patches:
      rpid_1.4_75840.patch uploaded by homesick (license 91)
Accept Remote Party ID on guest calls.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23 14:34:21 +00:00
Russell Bryant
b75f30bdd8 Merged revisions 76226 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76226 | russell | 2007-07-20 21:01:46 -0500 (Fri, 20 Jul 2007) | 4 lines

Backport a fix for a memory leak that was fixed in trunk in reivision 76221
by rizzo.  The memory used for the localaddr list was not freed during a
configuration reload.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21 02:02:54 +00:00
Joshua Colp
24e7873766 Merged revisions 76080 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r76080 | file | 2007-07-20 14:16:48 -0300 (Fri, 20 Jul 2007) | 6 lines

(closes issue #10247)
Reported by: fkasumovic
Patches:
      chan_sip.patch uploaded by fkasumovic (license #101)
Drop any peer realm authentication entries when reloading so multiple entries do not get added to the peer.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@76087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20 17:20:09 +00:00
Joshua Colp
6d143d401f Backport GCC 4.2 fixes. Without these Asterisk won't build under devmode using GCC 4.2.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 20:00:23 +00:00
Joshua Colp
55a12a986e Few more places that needs to check for onhold state.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 15:44:02 +00:00
Joshua Colp
f08e137283 (closes issue #10165)
Reported by: elandivar

It is possible for hold status to exist without call limits set, so we need to ensure update_call_counter is executed regardless.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@75621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 15:41:06 +00:00
Steve Murphy
2aab6c341f This patch resolves 10143; thanks to irroot for the patch; looked acceptable. Let the community decide if it messes things up
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 20:42:08 +00:00
Joshua Colp
446f14f0dc Only spit out an inringing warning message when it is applicable. Since call limits are already toast in realtime let's not scare the user if they are using it. (issue #10166 reported by bcnit)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 14:07:13 +00:00
Olle Johansson
7bbda30564 While tracking down a bug, I need some more history. Dumphistory is very useful, indeed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-08 09:47:31 +00:00
Russell Bryant
5b544349d9 Merged revisions 73768 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73768 | russell | 2007-07-06 18:01:22 -0500 (Fri, 06 Jul 2007) | 4 lines

If a sip_pvt struct has already registered an extension state callback,
remove the old one before adding a new one.  If this isn't done, Asterisk
will crash.  (issue #10120)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-06 23:02:58 +00:00
Russell Bryant
1e588db75a Merged revisions 73678 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73678 | russell | 2007-07-06 10:55:41 -0500 (Fri, 06 Jul 2007) | 7 lines

(closes issue #10125)
Reported by: makoto
Patches submitted by: makoto

This fixes a crash in chan_sip that happens when the bindaddr setting is not
valid on Asterisk startup, gets fixed, and then a reload gets issued.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-06 15:57:25 +00:00
Russell Bryant
be09062a6a Fix a crash in chan_sip. Don't try to stop the monitor thread if it was never
started.  (closes issue #10124, reported by gzero, fixed by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-05 23:59:22 +00:00
Kevin P. Fleming
3b8be36363 Merged revisions 73547 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73547 | kpfleming | 2007-07-05 17:11:51 -0500 (Thu, 05 Jul 2007) | 2 lines

we shouldn't allow G.723.1 endpoints to use VAD, just like we don't support it for G.729

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-05 22:20:44 +00:00
Joshua Colp
9b753a0649 Merged revisions 73466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r73466 | file | 2007-07-05 16:15:18 -0300 (Thu, 05 Jul 2007) | 2 lines

Copy language information to the dialog structure when calling a peer for situations where a PBX may be started on the dialed channel. (issue #10121 reported by clegall_proformatique)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@73467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-05 19:18:02 +00:00
Joshua Colp
a6895cb26d Merged revisions 71414 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r71414 | file | 2007-06-24 21:02:49 -0400 (Sun, 24 Jun 2007) | 2 lines

Ignore other URIs after the first in a 300 Multiple Choice response. (issue #10041 reported by homesick)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@71430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-25 01:10:06 +00:00
Joshua Colp
f1c32710a8 Merged revisions 70551 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r70551 | file | 2007-06-20 18:20:16 -0400 (Wed, 20 Jun 2007) | 2 lines

Don't overwrite the configured username setting upon a REGISTER. (issue #8565 reported by jsmith)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-20 22:22:20 +00:00
Russell Bryant
a2084d8ab8 Fix a crash that could occur when handing device state changes.
When the state of a device changes, the device state thread tells the extension
state handling code that it changed.  Then, the extension state code calls the
callback in chan_sip so that it can update subscriptions to that extension.
A pointer to a sip_pvt structure is passed to this function as the call which
needs a NOTIFY sent.  However, there was no locking done to ensure that the pvt
struct didn't disappear during this process.
(issue #9946, reported by tdonahue, patch by me, patch updated to trunk to use
 the sip_pvt lock wrappers by eliel)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69944 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-19 15:22:36 +00:00
Tilghman Lesher
759dc00599 Issue 10005 - Segfault with missing arguments, plus fix a missing define for SIP INFO channels
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69796 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 19:48:17 +00:00
Joshua Colp
a50bc6e3a8 Don't count RTP timeout when involved in a T38 fax session. (issue #9222 reported by ivoc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69794 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 19:00:50 +00:00
Joshua Colp
f95038d97e Merged revisions 69765 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r69765 | file | 2007-06-18 14:13:03 -0400 (Mon, 18 Jun 2007) | 2 lines

Set the peer name on the dialog to the one configured in sip.conf and NOT the username to be used for authentication attempts. (issue #9967 reported by achauvin)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 18:18:12 +00:00
Joshua Colp
009f6f9112 Don't defer the BYE till later on a transfer when the transfer itself goes kaboom and has no hope of working.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 16:04:55 +00:00
Joshua Colp
3e29d89200 Few minor transfer tweaks. We can't unlock something we never locked, and better handle a specific scenario with doing an attended transfer between two non-bridged calls.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 15:46:32 +00:00