Commit Graph

1167 Commits

Author SHA1 Message Date
Tilghman Lesher
ae335a79b2 Oops, should have used CMD_PREFIX, not ECHO_PREFIX, for the commands.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@242723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-25 05:33:37 +00:00
Tilghman Lesher
f4e9f1a724 Make the build of the Asterisk expression parser match that of the AEL parser.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@242683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-25 05:13:28 +00:00
Alec L Davis
8760ab77f9 Add Dialed Number Identifier (DNID) field to cdr.
Branch support, retains ABI, if backend CDR collector is adaptive then database
requires 'dnid' field to be added, otherwise no functional changes.

  Reported by: alecdavis
  Tested by: alecdavis
  Patch
	 cdr_dnid.diff2.txt uploaded by alecdavis (license 585)

Review: https://reviewboard.asterisk.org/r/455/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@242142 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-22 01:48:10 +00:00
Alec L Davis
8f672dd98b Update CDR variables as pbx starts
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call,
by executing ast_cdr_update() early in __ast_pbx_run.

Based on cdr_update.diff3.txt

(issue #16638)
Reported by: alecdavis
Patches: 
      cdr_update.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@241458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-20 09:38:09 +00:00
Sean Bright
1926da52e7 Plug a memory leak when reading configs with their comments.
While reading through configuration files with the intent of returning their
full contents (comments specifically) we allocated some memory and then forgot
to free it.  This doesn't fix 16554 but clears up a leak I had in the lab.

(issue #16554)
Reported by: mav3rick
Patches:
      issue16554_20100118.patch uploaded by seanbright (license 71)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@241015 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-18 19:54:19 +00:00
David Vossel
6c6a857e1c add silence gen to wait apps
asterisk.conf's 'transmit_silence' option existed before
this patch, but was limited to only generating silence
while recording and sending DTMF. Now enabling the
transmit_silence option generates silence during wait
times as well.
  
To achieve this, ast_safe_sleep has been modified to
generate silence anytime no other generators are present
and transmit_silence is enabled. Wait apps not using
ast_safe_sleep now generate silence when transmit_silence
is enabled as well.

(closes issue 0016524)
Reported by: kobaz

(closes issue 0016523)
Reported by: kobaz
Tested by: dvossel
  
Review: https://reviewboard.asterisk.org/r/456/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@239718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-13 17:16:12 +00:00
Tilghman Lesher
2056583d61 -1 is interpreted as an error, intead of the maximum mask.
(closes issue #16241)
 Reported by: vnovy
 Patches: 
       manager.c.patch uploaded by vnovy (license 922)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@238915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-09 00:57:58 +00:00
Matthew Nicholson
c3da049d25 Properly calculate the remaining space in the output string when reducing format strings.
(closes issue #16560)
Reported by: goldwein


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@238629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-08 19:20:44 +00:00
Russell Bryant
e91967f383 Change a NOTICE log message to DEBUG where it belongs.
(closes issue #16479)
Reported by: alexrecarey

(closes SWP-577)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@237697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-05 17:13:28 +00:00
Tilghman Lesher
6dd970ce9b Bounds checking for input string
(closes issue #16407)
 Reported by: qwell
 Patches: 
       20100104__issue16407.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@237573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 21:45:46 +00:00
Tilghman Lesher
5971279916 Regression in issue #15421 - Pattern matching
(closes issue #16482)
 Reported by: wdoekes
 Patches: 
       astsvn-16482-betterfix.diff uploaded by wdoekes (license 717)
       20091223__issue16482.diff.txt uploaded by tilghman (license 14)
 Tested by: wdoekes, tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@237493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 20:57:35 +00:00
Tilghman Lesher
2418c3fe1e Add a flag to disable the Background behavior, for AGI users.
This is in a section of code that relates to two other issues, namely
issue #14011 and issue #14940), one of which was the behavior of
Background when called with a context argument that matched the current
context.  This fix broke FreePBX, however, in a post-Dial situation.
Needless to say, this is an extremely difficult collision of several
different issues.  While the use of an exception flag is ugly, fixing all
of the issues linked is rather difficult (although if someone would like
to propose a better solution, we're happy to entertain that suggestion).
(closes issue #16434)
 Reported by: rickead2000
 Patches: 
       20091217__issue16434.diff.txt uploaded by tilghman (license 14)
       20091222__issue16434__1.6.1.diff.txt uploaded by tilghman (license 14)
 Tested by: rickead2000


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@237405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-01-04 18:19:00 +00:00
Jeff Peeler
8291fb5083 Correct CDR dispositions for BUSY/FAILED
This patch is simple in that it reorders the disposition defines so that the fix
for issue 12946 works properly (the default CDR disposition was changed to
AST_CDR_NOANSWER). Also, the AST_CDR_FLAG_ORIGINATED flag was set in ast_call to
ensure all CDR records are written.

The side effects of CDR changes are scary, so I'm documenting the test cases
performed to attempt to catch any regressions. The following tests were all
performed using 1.4 rev 195881 vs head (235571) + patch:

A calls B
C calls B (busy)
Hangup C
Hangup A

(Both SIP and features)
A calls B
A blind transfers to C
Hangup C

(Both SIP and features)
A calls B
A attended transfers to C
Hangup C

A calls B
A attended transfers to C (SIP)
C blind transfers to A (features)
Hangup A

All of the test scenario CDRs matched.

The following tests were performed just with the patch to ensure proper operation
(with unanswered=yes):

exten =>s,1,Answer
exten =>s,n,ResetCDR(w)
exten =>s,n,ResetCDR(w)

exten =>s,1,ResetCDR(w)
exten =>s,n,ResetCDR(w)

(closes issue #16180)
Reported by: aatef
Patches: 
      bug16180.patch uploaded by jpeeler (license 325)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@235635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-18 22:29:51 +00:00
Tilghman Lesher
b31263e5b9 Use context from which Macro is executed, not macro context, if applicable.
Also, ensure that the extension COULD match, not just that it won't match more.
(closes issue #16113)
 Reported by: OrNix
 Patches: 
       20091216__issue16113.diff.txt uploaded by tilghman (license 14)
 Tested by: OrNix


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@235421 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-17 17:17:51 +00:00
Russell Bryant
b11d227e7e Fix breakage of the "module load <module>" CLI command.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-09 19:58:46 +00:00
Russell Bryant
4dfd9d4800 Set a module load priority for format modules.
A recent change to app_voicemail made it such that the module now assumes that
all format modules are available while processing voicemail configuration.
However, when autoloading modules, it was possible that app_voicemail was
loaded before the format modules. Since format modules don't depend on
anything, set a module load priority on them to ensure that they get loaded
first when autoloading.

This version of the patch is specific to Asterisk 1.4 and 1.6.0.  These versions
did not already support module load priority in the module API.  This adds a
trivial version of this which is just a module flag to include it in a pass before
loading "everything".

Thanks to mmichelson for the review!

(closes issue #16412)
Reported by: jiddings
Tested by: russell

Review: https://reviewboard.asterisk.org/r/445/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-09 15:14:21 +00:00
David Vossel
75b2fba708 hex escape control and non 7-bit clean characters in uri_encode
In ast_uri_encode, non 7-bit clean characters were being hex escaped
correctly, but control characters were not. 

(issue #16299)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-07 23:24:59 +00:00
Russell Bryant
a10f93404d Only do frame payload check for HOLD frames.
This code was added for helping to debug the source of invalid HOLD frames.
However, a side effect of this is that it will incorrectly report errors for
frames that have an integer payload.  Make the check for this block specific
to the HOLD frame case.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-04 17:12:47 +00:00
Matthias Nick
5bcec8ad6c Warning message gets displayed only once
Added additional field 'int display_inband_dtmf_warning', which when set to '1' displays the warning ('Inband DTMF is not supported on codec %s. Use RFC2833'), and when set to '0' doesn't display the warning. Otherwise you would get hundreds of warnings every second.

(closes issue #15769)
Reported by: falves11
Patches:
	patch_15769_14.txt uploaded by mnick (license 874)
Tested by: mnick, falves11



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@233014 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-04 15:17:03 +00:00
Jeff Peeler
7f062697d5 Send ack (response/message) after receiving manager action userevent
(closes issue #16264)
Reported by: dimas
Patches: 
      event-ack.patch uploaded by dimas (license 88)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@232581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-02 21:57:42 +00:00
David Vossel
5c0d5badd6 ast_outaddrfor doesn't do htons() on port, looks odd in strace.
(closes issue #16290)
Reported by: wdoekes



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@232350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-02 16:59:18 +00:00
Terry Wilson
c2c8cea691 Fix compiling without devmode
(closes issue #16367)
 Reported by: falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@232165 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-02 04:05:09 +00:00
Russell Bryant
42d9c2c466 Fix a warning pointed out by buildbot.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@232007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 23:25:36 +00:00
Jeff Peeler
8d6faec4b6 log channel name in dev mode as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 21:52:39 +00:00
Jeff Peeler
9405b9e2b7 Fix crash with invalid frame data
The crash was happening as a result of a frame containing an invalid data
pointer, but was set with data length of zero. The few times the issue was
reproduced it _seemed_ that the frame was queued properly, that is the data
pointer was set to NULL. I never could reproduce the crash so as a last resort
the crash has been fixed, but a check in __ast_read has been added to give as
much information about the source of problematic frames in the future.

(closes issue #16058)
Reported by: atis


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 21:29:31 +00:00
David Vossel
031d3b8d1f WaitExten m option with no parameters generates frame with zero datalen but non-null data ptr
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 21:14:31 +00:00
Matthew Nicholson
64c5037988 Ignore unknown formats in ast_format_str_reduce() and return an error if no know formats are found.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 15:34:57 +00:00
Matthew Nicholson
6a680d9b28 Remove duplicate entries from voicemail format lists. This prevents app_voicemail from entering an infinite loop when the same format is specified twice in the format list.
(closes issue #15625)
Reported by: Shagg63
Tested by: mnicholson

Review: https://reviewboard.asterisk.org/r/429/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 21:11:44 +00:00
David Vossel
4f89878b7f fixes crash caused by RTP comfort noise payload greater than 24 bytes
AST-2009-010

(closes issue #16242)
Reported by: amorsen
Patches:
      issue16242.diff uploaded by oej (license 306)
Tested by: amorsen, oej, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-30 17:14:08 +00:00
Tilghman Lesher
85cce5cb4b After a frame duplication failure, unlock the channel before returning.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@231298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-25 22:31:57 +00:00
Michiel van Baak
9d6f7502ac Update copyright year in visible output. (cli)
Spotted by Stuart Henderson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@230469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-19 16:09:51 +00:00
David Brooks
933ad675be Solaris doesn't like NULL going to ast_log
Solaris will crash if NULL is passed to ast_log. This simple patch simply uses S_OR to
get around this.

(closes issue #15392)
Reported by: yrashk


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@229498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-11 19:46:19 +00:00
Tilghman Lesher
e04cade814 If two pattern classes start with the same digit and have the same number of characters, they will compare equal.
The example given in the issue report is that of [234] and [246], which have
these characteristics, yet they are clearly not equivalent.  The code still
uses these two characteristics, yet when the two scores compare equal, an
additional check will be done to compare all characters within the class to
verify equality.
(closes issue #15421)
 Reported by: jsmith
 Patches: 
       20091109__issue15421__2.diff.txt uploaded by tilghman (license 14)
 Tested by: jsmith, thedavidfactor


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@229360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-10 22:09:16 +00:00
Leif Madsen
446f9a0e47 Update WARNING message.
Update a WARNING message to give a suggested fix when encountered.

(closes issue #16198)
Reported by: atis
Tested by: atis

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-09 15:37:43 +00:00
David Vossel
8939eece6a fixes audiohook write crash occuring in chan_spy whisper mode.
After writing to the audiohook list in ast_write(), frames
were being freed incorrectly.  Under certain conditions this
resulted in a double free crash.

(closes issue #16133)
Reported by: wetwired

(closes issue #16045)
Reported by: bluecrow76
Patches:
      issue16045.diff uploaded by dvossel (license 671)
Tested by: bluecrow76, dvossel, habile


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 22:33:27 +00:00
Joshua Colp
3e10834b22 Fix a bug caused by a partially invalid frame (from the jitterbuffer) passing through the Asterisk core.
(closes issue #15560)
Reported by: jvandal
(closes issue #15709)
Reported by: covici


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228409 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 16:41:20 +00:00
Matthew Nicholson
aa51d30173 Properly handle '=' while decoding base64 messages and null terminate strings returned from BASE64_DECODE.
(closes issue #15271)
Reported by: chappell
Patches:
      base64_fix.patch uploaded by chappell (license 8)
Tested by: kobaz


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 16:26:59 +00:00
David Vossel
15d78bc88b fixes crash in astfd.c
(closes issue #15981)
Reported by: slavon


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@228338 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-06 15:41:41 +00:00
Tilghman Lesher
50c0fedbc0 Manager output is not always NULL-terminated, so force a NULL at the end of the filestream.
(closes issue #15495)
 Reported by: pdf
 Patches: 
       20090916__issue15495.diff.txt uploaded by tilghman (license 14)
 Tested by: pdf


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@226138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 20:16:49 +00:00
Russell Bryant
40dfab583e Revert 225169, as this doesn't account for the possibility of a list of frames.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@225171 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 16:44:49 +00:00
Russell Bryant
758ed8d437 Isolate the frame returned from ast_translate().
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@225169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 16:39:20 +00:00
Tilghman Lesher
6e8a455534 Fix documentation for ast_softhangup() and correct the misuse thereof.
(closes issue #16103)
 Reported by: majorbloodnok


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@225105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 16:02:12 +00:00
Russell Bryant
9d65850202 Isolate frames returned from a DSP instance or codec translator.
The reasoning for these changes are the same as what I wrote in the commit
message for rev 222878.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-21 02:59:54 +00:00
Tilghman Lesher
0db2d51ac1 Pay attention to the return value of the manipulate function.
While this looks like an optimization, it prevents a crash from occurring
when used with certain audiohook callbacks (diagnosed with SVN trunk,
backported to 1.4 to keep the source consistent across versions).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-20 22:07:11 +00:00
Kevin P. Fleming
dd9837bba0 Correct timestamp calculations when RTP sample rates over 8kHz are used.
While testing some endpoints that support 16kHz and 32kHz sample rates, some
log messages were generated due to calc_rxstamp() computing timestamps in a way
that produced odd results, so this patch sanitizes the result of the
computations.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@224670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-19 23:44:07 +00:00
Russell Bryant
2f0e76dc39 Remove some unnecessary code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-11 17:25:06 +00:00
Russell Bryant
f949dd5b17 Don't use data outside of its scope.
The purpose of this code was to have a hangup frame put on the list of deferred
frames.  However, the code that read the hangup frame was outside of the scope
of where the hangup frame was declared.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-11 17:22:52 +00:00
Matthew Nicholson
99a8ffb52c Signal timeouts by returning AST_CONTROL_RINGING when originating calls.
(closes issue #15104)
Reported by: nblasgen
Patches:
      manager-timeout1.diff uploaded by mnicholson (license 96)
Tested by: nblasgen, mnicholson



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@223225 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 18:20:11 +00:00
Russell Bryant
ff6a5575ad Make filestream frame handling safer by isolating frames before returning them.
This patch is related to a number of issues on the bug tracker that show
crashes related to freeing frames that came from a filestream.  A number of
fixes have been made over time while trying to figure out these problems, but
there re still people seeing the crash.  (Note that some of these bug reports
include information about other problems.  I am specifically addressing
the filestream frame crash here.)

I'm still not clear on what the exact problem is.  However, what is _very_
clear is that we have seen quite a few problems over time related to unexpected
behavior when we try to use embedded frames as an optimization.  In some cases,
this optimization doesn't really provide much due to improvements made in other
areas.

In this case, the patch modifies filestream handling such that the embedded frame
will not be returned.  ast_frisolate() is used to ensure that we end up with a
completely mallocd frame.  In reality, though, we will not actually have to malloc
every time.  For filestreams, the frame will almost always be allocated and freed
in the same thread.  That means that the thread local frame cache will be used.
So, going this route doesn't hurt.

With this patch in place, some people have reported success in not seeing the
crash anymore.

(SWP-150)
(AST-208)
(ABE-1834)

(issue #15609)
Reported by: aragon
Patches:
      filestream_frisolate-1.4.diff2.txt uploaded by russell (license 2)
Tested by: aragon, russell

(closes issue #15817)
Reported by: zerohalo
Tested by: zerohalo

(closes issue #15845)
Reported by: marhbere

Review: https://reviewboard.asterisk.org/r/386/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 19:45:47 +00:00
David Vossel
3e5979a040 fixes an ast_netsock_list memory leak.
ABE-1998
Review: https://reviewboard.asterisk.org/r/395/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@222877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-08 19:45:15 +00:00