Summary: | ASTERISK-11622: PARKINGEXTEN misbehaves when it is not a canonical form number and can double park or destroy the 700 entry | ||
Reporter: | David Woolley (davidw) | Labels: | |
Date Opened: | 2008-03-12 06:53:37 | Date Closed: | 2008-06-27 17:36:33 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Resources/res_features |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) 20080507__bug12193.diff.txt ( 1) 20080508__bug12193.diff.txt ( 2) 20080609_bug12193.diff ( 3) Parking_Problems.txt | |
Description: | If you set PARKINGEXTEN to "XXXX" it gets treated as 0. (I think it would also not be identiried as duplicate, if re-used, but I only have the console at the moment.) If you set it to "-1XXXX", it is handled correctly, with the exception that it gets announced as minus one. If you set it to "0700", it overwrites the system generated Park() line, and removes it completely when the parking completes. If you set it to "0701", it is treated as 701, however, I believe that it would fail to detect the duplication and double park the call (I'd need two phones, on the system I'm learning on, to demonstrate this other than by code reading). At some time, before the formal test run, I managed to get one with an empty name created, which wouldn't go away, but I couldn't work out how to reproduce that. I will attach console traces, interleaved with the relevant extension.conf lines. Note that these traces also demonstrate a problem with returning calls on timeout, which I intend to report separately. ****** ADDITIONAL INFORMATION ****** Firstly, this is not a GIGO case. The code is clearly attempting to handle non-numeric extensions. I would say the key problem is in this line (using the current head (107646), rather than the tested version - there are no relevant changes: 335 x = atoi(parkingexten); This is making two false assumptions: 1) x will not be modified if parkingexten is not a valid number. That is just not how assignment works! In any case, atoi tries to find a number at the start of the input (after any whitespace) and will give 0 if there are no leading digits. 2) if a number is present, it will be in canonical form (no excess leading zeroes, no leading spaces and no plus sign. This means that the initialisation of x is a dead assignment, as it is either overwritten or the routine exits before it ever gets tested (directly, or as pu->parkingnum) for -1. (The only time that it doesn't get set is when parking_range is empty, which will result in a no parking spaces exit, at the latest.) 315 int i, x = -1, parking_range; The other problems it reveals are that: This trace should be done after pu->parkingexten gets set from the number and should use that, rather than the number: 397 if (option_verbose > 1) 398 ast_verbose(VERBOSE_PREFIX_2 "Parked %s on %d@%s. Will timeout back to extension [%s] %s, %d in %d seconds\n", pu->chan->name, pu->parkingnum, parking_con, pu->context, pu->exten, pu->priority, (pu->parkingtime/1000)); and that this test, to suppress the announcement, has the expression wrongly grouped (the || should be grouped, not the &&): 426 if (peer && ((pu->parkingnum != -1 && ast_strlen_zero(orig_chan_name)) || !strcasecmp(peer->name, orig_chan_name))) { /* Only say number if it's a number and the channel hasn't been masqueraded away */ For the general problem, I think that, if PARKINGEXTEN is used, either strict syntax checks should be made, or the output of atoi should be converted back to characters and checked for an exact match, before the result is treated as a number. A visual check of trunk version 106757 indicates that all these issues also apply to the trunk version. | ||
Comments: | By: David Woolley (davidw) 2008-03-12 07:22:25 If channel variables survive a masquerade, based on code reading only, ParkAndAnnounce will announce "minus one", even if this is fixed in features. By: Tilghman Lesher (tilghman) 2008-05-07 10:10:32 Candidate patch uploaded, that does pretty much what you suggested in the report: enforces a positive, numeric PARKINGEXTEN and then uses the scanned value for its extension checks. By: David Woolley (davidw) 2008-05-08 06:30:38 That still leaves this line (20-rc1 line numbers) with an inappropriate test and inappropriate comment. I also still believe that the last two terms need to be bracketted to get the correct parse tree. 426 if (peer && ((pu->parkingnum != -1 && ast_strlen_zero(orig_chan_ 426 name)) || !strcasecmp(peer->name, orig_chan_name))) { /* Only say number 426 if it's a number and the channel hasn't been masqueraded away */ (Originally, we thought suppressing the announcement would be a nice by-product of using a non-numeric parking lot, but this ceased to be an issue for us.) By: Tilghman Lesher (tilghman) 2008-05-08 11:09:15 Actually, since I've made it impossible above for the park call number to be negative, the first part can simply go away, and the second part of the logic doesn't matter anymore. By: Tilghman Lesher (tilghman) 2008-05-29 15:26:21 davidw: any testing results on this yet? By: David Woolley (davidw) 2008-05-30 06:18:34 Apologies. This is on a home system and I'm technically on leave at the moemnt. Park looks good enough. Parkandannounce is broken, but I'm not sure how well I tested it before (I had other problems with it that were since fixed). I'm still not convinced about the final if statement, but that is a secondary issue, and I need to work out a test scenario to break it. For Park: 0700 is rejected as exists =- OK -1XXXX is rejected as not valid OK 0701 is treated as being 701 OK (I'm assuming that, as 0700 is detected as duplicate, 0701 would be considered to duplicate an existing 701.) 0XXX is treated as zero. Harmless. 700XXX is rejected as exists. OK, although one could argue for the last two both being invalid. For Parkandannounce: The lot seems to be coming out as zero, for rejected/duplicate cases. The incoming line is being left in Ringing state and, although it is the console, console hangup is ignored. It looks as though the channel is being left without an owner. 0701 is handled as 701, which is OK. (Note in the interim version of this note, I said that the announcement failed; that was was a configuration error on my part - I'd been experimenting with suppressing announcements.) I think the Parkandannounce problems are not new for rejected parking. This is for 0700 - I've used the voicemail number as a local channel due to the lack of phones on this system!: bicycle*CLI> console dial 1239 == Console is full duplex -- Executing [1239@default:1] Set("Console/dsp", "PARKINGEXTEN="0700"") in new stack -- Executing [1239@default:2] ParkAndAnnounce("Console/dsp", "PARKED||Local/1235|default|600|1") in new stack -- Dial Tech,String: (Local,1235) -- Return Context: (default,600,1) ID: [May 30 12:42:10] WARNING[12782]: res_features.c:345 park_call_full: Requested parking extension already exists: 0700@parkedcalls -- Call Parking Called, lot: 0, timeout: 0, context: default -- Executing [1235@default:1] VoiceMail("Local/1235@default-8312,2", "1234|u") in new stack > Channel Local/1235@default-8312,1 was answered. > Announce Template:PARKED > Announce:PARKED -- <Local/1235@default-8312,2> Playing '/var/spool/asterisk/voicemail/default/1234/unavail' (language 'en') -- <Local/1235@default-8312,1> Playing 'digits/0' (language 'en') == Spawn extension (default, 1235, 1) exited non-zero on 'Local/1235@default-8312,2' == Spawn extension (default, 600, 1) exited non-zero on 'Parked/Console/dsp<ZOMBIE>' bicycle*CLI> core show channels Channel Location State Application(Data) Console/dsp 600@default:1 Ringing (None) 1 active channel 0 active calls bicycle*CLI> core show channel Console/dsp -- General -- Name: Console/dsp Type: Console UniqueID: 1212147730.1 Caller ID: (N/A) DNID Digits: 1239 State: Ringing (5) Rings: 0 NativeFormats: 0x40 (slin) WriteFormat: 0x40 (slin) ReadFormat: 0x40 (slin) WriteTranscode: No ReadTranscode: No 1st File Descriptor: 27 Frames in: 0 Frames out: 0 Time to Hangup: 0 Elapsed Time: 0h1m1s Direct Bridge: <none> Indirect Bridge: <none> -- PBX -- Context: default Extension: 600 Priority: 1 Call Group: 0 Pickup Group: 0 Application: (N/A) Data: (None) Blocking in: (Not Blocking) Variables: PARKINGEXTEN=0700 CDR Variables: level 1: dst=1239 level 1: dcontext=default level 1: channel=Console/dsp level 1: lastapp=ParkAndAnnounce level 1: lastdata=PARKED||Local/1235|default|600|1 level 1: start=2008-05-30 12:42:10 level 1: answer=2008-05-30 12:42:10 level 1: end=2008-05-30 12:42:10 level 1: duration=0 level 1: billsec=0 level 1: disposition=NO ANSWER level 1: amaflags=DOCUMENTATION level 1: uniqueid=1212147730.0 bicycle*CLI> console hangup bicycle*CLI> By: Digium Subversion (svnbot) 2008-06-12 10:39:54 Repository: asterisk Revision: 122208 U branches/1.4/apps/app_parkandannounce.c U branches/1.4/res/res_features.c ------------------------------------------------------------------------ r122208 | jpeeler | 2008-06-12 10:39:43 -0500 (Thu, 12 Jun 2008) | 5 lines (closes issue ASTERISK-11622) Reported by: davidw Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=122208 By: Digium Subversion (svnbot) 2008-06-12 18:02:47 Repository: asterisk Revision: 122434 _U trunk/ ------------------------------------------------------------------------ r122434 | jpeeler | 2008-06-12 18:02:47 -0500 (Thu, 12 Jun 2008) | 12 lines Blocked revisions 122208 via svnmerge ........ r122208 | jpeeler | 2008-06-12 10:46:08 -0500 (Thu, 12 Jun 2008) | 5 lines (closes issue ASTERISK-11622) Reported by: davidw Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=122434 By: Digium Subversion (svnbot) 2008-06-13 11:39:12 Repository: asterisk Revision: 122590 _U team/murf/CDRfix4/ U team/murf/CDRfix4/CHANGES U team/murf/CDRfix4/acinclude.m4 U team/murf/CDRfix4/apps/app_chanspy.c A team/murf/CDRfix4/apps/app_dahdibarge.c A team/murf/CDRfix4/apps/app_dahdiras.c A team/murf/CDRfix4/apps/app_dahdiscan.c U team/murf/CDRfix4/apps/app_dial.c U team/murf/CDRfix4/apps/app_disa.c U team/murf/CDRfix4/apps/app_flash.c U team/murf/CDRfix4/apps/app_forkcdr.c U team/murf/CDRfix4/apps/app_getcpeid.c U team/murf/CDRfix4/apps/app_meetme.c U team/murf/CDRfix4/apps/app_page.c U team/murf/CDRfix4/apps/app_parkandannounce.c U team/murf/CDRfix4/apps/app_read.c U team/murf/CDRfix4/apps/app_rpt.c D team/murf/CDRfix4/apps/app_zapbarge.c D team/murf/CDRfix4/apps/app_zapras.c D team/murf/CDRfix4/apps/app_zapscan.c U team/murf/CDRfix4/build_tools/menuselect-deps.in A team/murf/CDRfix4/channels/chan_dahdi.c U team/murf/CDRfix4/channels/chan_iax2.c U team/murf/CDRfix4/channels/chan_mgcp.c U team/murf/CDRfix4/channels/chan_misdn.c D team/murf/CDRfix4/channels/chan_zap.c A team/murf/CDRfix4/codecs/codec_dahdi.c D team/murf/CDRfix4/codecs/codec_zap.c U team/murf/CDRfix4/configure U team/murf/CDRfix4/configure.ac U team/murf/CDRfix4/contrib/utils/zones2indications.c U team/murf/CDRfix4/funcs/func_cdr.c U team/murf/CDRfix4/funcs/func_channel.c U team/murf/CDRfix4/include/asterisk/autoconfig.h.in U team/murf/CDRfix4/include/asterisk/cdr.h U team/murf/CDRfix4/include/asterisk/channel.h A team/murf/CDRfix4/include/asterisk/dahdi_compat.h U team/murf/CDRfix4/include/asterisk/indications.h U team/murf/CDRfix4/include/asterisk/options.h U team/murf/CDRfix4/main/app.c U team/murf/CDRfix4/main/asterisk.c U team/murf/CDRfix4/main/cdr.c U team/murf/CDRfix4/main/channel.c U team/murf/CDRfix4/main/file.c U team/murf/CDRfix4/main/indications.c U team/murf/CDRfix4/main/loader.c U team/murf/CDRfix4/makeopts.in U team/murf/CDRfix4/pbx/pbx_config.c U team/murf/CDRfix4/res/res_features.c U team/murf/CDRfix4/res/res_indications.c U team/murf/CDRfix4/res/res_musiconhold.c U team/murf/CDRfix4/res/snmp/agent.c ------------------------------------------------------------------------ r122590 | murf | 2008-06-13 11:39:02 -0500 (Fri, 13 Jun 2008) | 108 lines Merged revisions 122046,122127,122130,122137,122208,122259,122311,122314,122589 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r122046 | murf | 2008-06-12 07:47:34 -0600 (Thu, 12 Jun 2008) | 37 lines (closes issue ASTERISK-10252) Reported by: arkadia Tested by: murf, arkadia Options added to forkCDR() app and the CDR() func to remove some roadblocks for CDR applications. The "show application ForkCDR" output was upgraded to more fully explain the inner workings of forkCDR. The A option was added to forkCDR to force the CDR system to NOT change the disposition on the original CDR, after the fork. This involves ast_cdr_answer, _busy, _failed, and so on. The T option was added to forkCDR to force obedience of the cdr LOCKED flag in the ast_cdr_end, all the disposition changing funcs (ast_cdr_answer, etc), and in the ast_cdr_setvar func. The CHANGES file was updated to explain ALL the new options added to satisfy this bug report (and some requests made verbally and via email, irc, etc, over the past months/year) The 's' option was added to the CDR() func, to force it to skip LOCKED cdr's in the chain. Again, the new options should be totally transparent to existing apps! Current behavior of CDR, forkCDR, and the rest of the CDR system should not change one little bit. Until you add the new options, at least! ........ r122127 | murf | 2008-06-12 08:51:44 -0600 (Thu, 12 Jun 2008) | 1 line Arkadia tried to warn me, but the code added to ast_cdr_busy, _failed, and _noanswer was redundant. Didn't spot it until I was resolving conflicts in trunk. Ugh. Redundant code removed. It wasn't harmful. Just dumb. ........ r122130 | tilghman | 2008-06-12 09:11:30 -0600 (Thu, 12 Jun 2008) | 4 lines Occasionally, the alertpipe loses its nonblocking status, so detect and correct that situation before it causes a deadlock. (Reported and tested by ctooley via #asterisk-dev) ........ r122137 | tilghman | 2008-06-12 09:18:39 -0600 (Thu, 12 Jun 2008) | 8 lines Flipflop the sections for two options, since the section for 'X' (exit context) may otherwise absorb keypresses meant for 's' (admin/user menu). (closes issue ASTERISK-12175) Reported by: blitzrage Patches: 20080611__bug12836.diff.txt uploaded by Corydon76 (license 14) Tested by: blitzrage ........ r122208 | jpeeler | 2008-06-12 09:46:08 -0600 (Thu, 12 Jun 2008) | 5 lines (closes issue ASTERISK-11622) Reported by: davidw Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app ........ r122259 | russell | 2008-06-12 12:22:44 -0600 (Thu, 12 Jun 2008) | 3 lines Fix some race conditions that cause ast_assert() to report that chan_iax2 tried to remove an entry that wasn't in the scheduler ........ r122311 | mmichelson | 2008-06-12 12:50:58 -0600 (Thu, 12 Jun 2008) | 9 lines Properly play a holdtime message if the announce-holdtime option is set to "once." (closes issue ASTERISK-12180) Reported by: ramonpeek Patches: patch001.diff uploaded by ramonpeek (license 266) ........ r122314 | jpeeler | 2008-06-12 13:08:20 -0600 (Thu, 12 Jun 2008) | 2 lines Adds DAHDI support alongside Zaptel. DAHDI usage favored, but all Zap stuff should continue working. Release announcement to follow. ........ r122589 | twilson | 2008-06-13 10:29:07 -0600 (Fri, 13 Jun 2008) | 7 lines This should fix the behavior of the 'T' dial feature being passed incorrectly to the transferee when builtin_atxfers are used. Also, doing a builtin_atxfer to parking was broken and is fixed here as well. (closes issue ASTERISK-11352) Reported by: sergee Tested by: otherwiseguy ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=122590 By: Digium Subversion (svnbot) 2008-06-27 17:36:33 Repository: asterisk Revision: 126112 _U branches/1.6.0/ ------------------------------------------------------------------------ r126112 | tilghman | 2008-06-27 17:36:14 -0500 (Fri, 27 Jun 2008) | 286 lines Blocked revisions 114174,114298,115258,115518,117524,117812,118059,119077,120063,120372,120672,120732,121993,122315,122434,122616,122664,124744,124909,125894 via svnmerge ................ r114174 | qwell | 2008-04-16 12:31:02 -0500 (Wed, 16 Apr 2008) | 14 lines Blocked revisions 114173 via svnmerge ........ r114173 | qwell | 2008-04-16 12:30:09 -0500 (Wed, 16 Apr 2008) | 7 lines Fix "fallthrough" behavior here, so config options in a previously configured user don't override settings in general. (closes issue ASTERISK-11863) Reported by: tzafrir Patches: chanzap_users_sections.diff uploaded by tzafrir (license 46) ........ ................ r114298 | tilghman | 2008-04-19 08:53:38 -0500 (Sat, 19 Apr 2008) | 11 lines Blocked revisions 114297 via svnmerge ........ r114297 | tilghman | 2008-04-19 08:49:50 -0500 (Sat, 19 Apr 2008) | 4 lines MOH usage information needs a terminating newline, or else "asterisk -rx 'help moh reload'" will hang. Reported via -dev list, fixed by me. ........ ................ r115258 | bbryant | 2008-05-02 15:26:00 -0500 (Fri, 02 May 2008) | 9 lines Blocked revisions 115257 via svnmerge ........ r115257 | bbryant | 2008-05-02 15:25:42 -0500 (Fri, 02 May 2008) | 2 lines Add new "pri show version" command to show the libpri version for support reasons. ........ ................ r115518 | russell | 2008-05-07 13:17:43 -0500 (Wed, 07 May 2008) | 12 lines Blocked revisions 115517 via svnmerge ........ r115517 | russell | 2008-05-07 13:17:19 -0500 (Wed, 07 May 2008) | 5 lines Track peer references when stored in the sip_pvt struct as the peer related to a qualify ping or a subscription. This fixes some realtime related crashes. (closes issue ASTERISK-11976) (closes issue ASTERISK-11945) ........ ................ r117524 | tilghman | 2008-05-21 13:45:26 -0500 (Wed, 21 May 2008) | 9 lines Blocked revisions 117523 via svnmerge ........ r117523 | tilghman | 2008-05-21 13:44:53 -0500 (Wed, 21 May 2008) | 2 lines Revert accidental commit of the last change ........ ................ r117812 | tilghman | 2008-05-22 11:50:32 -0500 (Thu, 22 May 2008) | 13 lines Blocked revisions 117809 via svnmerge ........ r117809 | tilghman | 2008-05-22 11:47:03 -0500 (Thu, 22 May 2008) | 6 lines Take into account the length of delimiters when calculating result string length. (closes issue ASTERISK-12059) Reported by: adomjan Patches: func_realtime.c-longdelimiter.patch uploaded by adomjan (license 487) ........ ................ r118059 | tilghman | 2008-05-23 08:20:13 -0500 (Fri, 23 May 2008) | 9 lines Blocked revisions 118055 via svnmerge ........ r118055 | tilghman | 2008-05-23 08:18:44 -0500 (Fri, 23 May 2008) | 2 lines Add format type checking for recently de-inlined function ........ ................ r119077 | russell | 2008-05-29 15:49:48 -0500 (Thu, 29 May 2008) | 10 lines Blocked revisions 119076 via svnmerge ........ r119076 | russell | 2008-05-29 15:48:33 -0500 (Thu, 29 May 2008) | 3 lines Oddly enough, all of the contents of audiohook.h were in there twice. I have removed the second copy. ........ ................ r120063 | tilghman | 2008-06-03 13:24:14 -0500 (Tue, 03 Jun 2008) | 15 lines Blocked revisions 120061 via svnmerge ........ r120061 | tilghman | 2008-06-03 13:23:32 -0500 (Tue, 03 Jun 2008) | 8 lines When listing the manager users, managers in users.conf are not shown, even though they are allowed to connect. (closes issue ASTERISK-11982) Reported by: bkruse Patches: 12594-managerusers-2.diff uploaded by qwell (license 4) Tested by: bkruse ........ ................ r120372 | russell | 2008-06-04 11:28:37 -0500 (Wed, 04 Jun 2008) | 11 lines Blocked revisions 120371 via svnmerge ........ r120371 | russell | 2008-06-04 11:26:43 -0500 (Wed, 04 Jun 2008) | 4 lines Make the "dialplan remove include" CLI command actually work. Also, tweak some formatting, and make the success message a little bit more clear. (closes AST-52) ........ ................ r120672 | russell | 2008-06-05 11:39:25 -0500 (Thu, 05 Jun 2008) | 12 lines Blocked revisions 120671 via svnmerge ........ r120671 | russell | 2008-06-05 11:38:52 -0500 (Thu, 05 Jun 2008) | 5 lines It turns out that searching on the forwarding station isn't very useful for most people, so pull in the changes that allow searching for SMDI messages based on other components of the SMDI message. Also, update the SMDI documentation. ........ ................ r120732 | russell | 2008-06-05 13:01:45 -0500 (Thu, 05 Jun 2008) | 9 lines Blocked revisions 120731 via svnmerge ........ r120731 | russell | 2008-06-05 13:01:25 -0500 (Thu, 05 Jun 2008) | 2 lines Add the UPGRADE.txt file from Asterisk 1.2, for handy reference. ........ ................ r121993 | twilson | 2008-06-11 18:48:38 -0500 (Wed, 11 Jun 2008) | 9 lines Blocked revisions 121992 via svnmerge ........ r121992 | twilson | 2008-06-11 18:47:23 -0500 (Wed, 11 Jun 2008) | 2 lines Backport fix for 11520--for some reason I didn't do this back in February when I patched for trunk. ........ ................ r122315 | jpeeler | 2008-06-12 14:11:23 -0500 (Thu, 12 Jun 2008) | 9 lines Blocked revisions 122314 via svnmerge ........ r122314 | jpeeler | 2008-06-12 14:08:20 -0500 (Thu, 12 Jun 2008) | 2 lines Adds DAHDI support alongside Zaptel. DAHDI usage favored, but all Zap stuff should continue working. Release announcement to follow. ........ ................ r122434 | jpeeler | 2008-06-12 18:09:16 -0500 (Thu, 12 Jun 2008) | 12 lines Blocked revisions 122208 via svnmerge ........ r122208 | jpeeler | 2008-06-12 10:46:08 -0500 (Thu, 12 Jun 2008) | 5 lines (closes issue ASTERISK-11622) Reported by: davidw Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app ........ ................ r122616 | jpeeler | 2008-06-13 12:38:28 -0500 (Fri, 13 Jun 2008) | 13 lines Blocked revisions 122613 via svnmerge ........ r122613 | jpeeler | 2008-06-13 12:36:56 -0500 (Fri, 13 Jun 2008) | 6 lines (closes issue ASTERISK-12184) Reported by: Netview Tested by: jpeeler Use correct location to search for tonezone. ........ ................ r122664 | jpeeler | 2008-06-13 13:58:29 -0500 (Fri, 13 Jun 2008) | 8 lines Blocked revisions 122663 via svnmerge ........ r122663 | jpeeler | 2008-06-13 13:57:24 -0500 (Fri, 13 Jun 2008) | 1 line fixed dahdi compatability header from assuming either dahdi or zaptel is installed (may not have either) ........ ................ r124744 | kpfleming | 2008-06-23 16:24:34 -0500 (Mon, 23 Jun 2008) | 10 lines Blocked revisions 124743 via svnmerge ........ r124743 | kpfleming | 2008-06-23 16:22:08 -0500 (Mon, 23 Jun 2008) | 3 lines emit a warning if the old IAX2 call searching code finds a call when the new code did not... so that we can get rid of the old code in 2-3 months ........ ................ r124909 | tilghman | 2008-06-24 15:55:06 -0500 (Tue, 24 Jun 2008) | 13 lines Blocked revisions 124908 via svnmerge ........ r124908 | tilghman | 2008-06-24 15:52:43 -0500 (Tue, 24 Jun 2008) | 6 lines Don't access the pvt structure if unable to acquire the lock. (closes issue ASTERISK-11592) Reported by: norman Patches: 12162-lockfail.diff uploaded by qwell (license 4) ........ ................ r125894 | tilghman | 2008-06-27 11:48:05 -0500 (Fri, 27 Jun 2008) | 14 lines Blocked revisions 125893 via svnmerge ........ r125893 | tilghman | 2008-06-27 11:46:05 -0500 (Fri, 27 Jun 2008) | 7 lines Since HAVE_DAHDI is defined to HAVE_ZAPTEL in dahdi_compat.h, we must first check for HAVE_ZAPTEL. (closes issue ASTERISK-12259) Reported by: opticron Patches: tonezone_compat.diff uploaded by opticron (license 267) ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=126112 |