dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

5639 Commits

Author SHA1 Message Date
mmichelson afe8f24ea9 Don't allow for configuration options to overwrite options
set via channel variables on a reload.

(closes issue #13921)
Reported by: davidw
Patches:
      13921.patch uploaded by putnopvut (license 60)
Tested by: davidw



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159437 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-26 14:58:17 +00:00
murf 25c015126d Merged revisions 159316 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r159316 | murf | 2008-11-25 15:41:10 -0700 (Tue, 25 Nov 2008) | 15 lines

(closes issue #12694)
Reported by: yraber
Patches:
      12694.2nd.diff uploaded by murf (license 17)
Tested by: murf, laurav

Thanks to file (Joshua Colp) for his IAX fix.

the change to cdr.c allows no-answer to percolate
up into CDR's, and feels like the right place to
locate this fix; if BUSY is done here, no-answer
should be, too.



........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159360 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 23:03:01 +00:00
tilghman a836c3d93b Add an option, waitfordialtone, for UK analog lines which do not end a call
until the originating line hangs up.
(closes issue #12382)
 Reported by: one47
 Patches: 
       zap-waitfordialtone-trunk.080901.patch uploaded by one47 (license 23)
       zap-waitfordialtone-bra-1.4.21.2.patch uploaded by fleed (license 463)
 Tested by: fleed


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159317 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 22:45:59 +00:00
tilghman 41e940096a Merged revisions 159269 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r159269 | tilghman | 2008-11-25 15:56:48 -0600 (Tue, 25 Nov 2008) | 7 lines
  
  Don't try to send a response on a NULL pvt.
  (closes issue #13919)
   Reported by: barthpbx
   Patches: 
         chan_iax2.c.patch uploaded by eliel (license 64)
   Tested by: barthpbx
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159276 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 21:57:59 +00:00
tilghman 3a6ac00947 Merged revisions 159246 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
  r159246 | tilghman | 2008-11-25 15:40:28 -0600 (Tue, 25 Nov 2008) | 14 lines
  
  Merged revisions 159245 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.2
  
  ........
    r159245 | tilghman | 2008-11-25 15:37:06 -0600 (Tue, 25 Nov 2008) | 7 lines
    
    Regression fix for last security fix.  Set the iseqno correctly.
    (closes issue #13918)
     Reported by: ffloimair
     Patches: 
           20081119__bug13918.diff.txt uploaded by Corydon76 (license 14)
     Tested by: ffloimair
  ........
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159247 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 21:42:42 +00:00
tilghman 5d1e952b32 Merged revisions 159025 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r159025 | tilghman | 2008-11-24 22:50:00 -0600 (Mon, 24 Nov 2008) | 3 lines
  
  System call ioperm is non-portable, so check for its existence in autoconf.
  (Closes issue #13863)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159050 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 05:02:11 +00:00
twilson 279d77a282 Make chan_usbradio compile under dev mode
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 03:49:30 +00:00
seanbright 3ce5f8f4ee This is basically a complete rollback of r155401, as it was determined that
it would be best to maintain API compatibility.  Instead, this commit introduces
ao2_callback_data() which is functionally identical to ao2_callback() except
that it allows you to pass arbitrary data to the callback.

Reviewed by Mark Michelson via ReviewBoard:
	http://reviewboard.digium.com/r/64


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158959 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-25 01:01:49 +00:00
seanbright f671568cb2 If you enabled 'notifycid' one of the limitations is that the calling channel
is only found if it dialed the extension that was subscribed to.  You can now
specify 'ignore-context' for the 'notifycid' option in sip.conf which will, as
it's value implies, ignore the current context of the caller when doing the
lookup.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158756 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-23 03:36:52 +00:00
seanbright 8fd195cf55 No need to use a separate structure for this since we can just pass
our sip_pvt pointer in directly.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158754 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-23 03:30:46 +00:00
mvanbaak e8ed625b27 dont send reorder tone after a device is hungup if a dialout is abandoned or failed.
Without this reorder tone will play after hangup and both wedhorn's and my wife have threatened to use an axe on our asterisk box

(closes issue #13948)
Reported by: wedhorn
Patches:
	switch.diff uploaded by wedhorn (license 30)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158694 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-22 16:57:11 +00:00
mvanbaak 6cba30174e Add Media Source Update to skinny's control2str
(issue #13948)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158690 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-22 16:48:09 +00:00
mvanbaak 8fbea88fa0 fix a very occasional core dump in chan_skinny found by wedhorn.
(issue #13948)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158688 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-22 16:06:38 +00:00
mattf eb5e55e9c9 Fix for #13963. Make physical channel mapping unconfigured default
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158482 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-21 21:06:59 +00:00
dbailey 8e050d8258 Add fix to prevent crash during reload if there is an outstanding MWI registration message pending.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158315 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-21 15:53:49 +00:00
mmichelson f01e9f7c98 Use a more expressive constant for a 64-bit scanned int
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158266 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-21 01:22:18 +00:00
mmichelson 1ad2d0a271 Use some magic constants to get the right size
for this sscanf statement. Thanks Richard!



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158265 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-21 01:14:20 +00:00
mmichelson cbd2002e6b Fix the build for 32-bit systems. %lu is only 32-bits
on 32-bit systems, so we need to use %llu instead. Of course
%llu is 128-bits on 64-bit systems, so we have to cast to
unsigned long long. No harm, but it's sure annoying.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158262 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-21 00:59:23 +00:00
mmichelson c2daf6378b Change the remote user agent session version variable
from an int to a uint64_t. This prevents potential comparison
problems from happening if the version string exceeds
INT_MAX. This was an apparent problem for one user who could
not properly place a call on hold since the version in the
SDP of the re-INVITE to place the call on hold greatly 
exceeded INT_MAX.

This also aligns with RFC 2327 better since it recommends
using an NTP timestamp for the version (which is a 
64-bit number).


(closes issue #13531)
Reported by: sgofferj
Patches:
      13531.patch uploaded by putnopvut (license 60)
Tested by: sgofferj



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158230 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 23:12:50 +00:00
mmichelson 55c8679f51 Merged revisions 158072 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r158072 | twilson | 2008-11-20 11:48:58 -0600 (Thu, 20 Nov 2008) | 2 lines

Begin on a crusade to end trailing whitespace!

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158133 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 18:20:00 +00:00
mmichelson 309fa3bb3a Merged revisions 158071 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r158071 | mmichelson | 2008-11-20 11:48:42 -0600 (Thu, 20 Nov 2008) | 16 lines

We don't handle 4XX responses to BYE well. According to
section 15 of RFC 3261, we should terminate a dialog if we
receive a 481 or 408 in response to our BYE. Since I am aware
of at least one phone manufacturer who may sometimes send a 
404 as well, I am being liberal and saying that any 4XX response
to a BYE should result in a terminated dialog.


(closes issue #12994)
Reported by: pabelanger
Patches:
      12994.patch uploaded by putnopvut (license 60)

Closes AST-129


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158082 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 17:54:31 +00:00
mmichelson 056bae58f4 Merged revisions 158053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r158053 | mmichelson | 2008-11-20 11:33:06 -0600 (Thu, 20 Nov 2008) | 12 lines

Make sure to set the hangup cause on the calling channel in the case
that ast_call() fails. For incoming SIP channels, this was causing
us to send a 603 instead of a 486 when the call-limit was reached on
the destination channel.

(closes issue #13867)
Reported by: still_nsk
Patches:
      13867.diff uploaded by putnopvut (license 60)
Tested by: blitzrage


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@158066 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 17:39:06 +00:00
kpfleming 89ca122df3 Merged revisions 157859 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
  
  the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
  
  with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
  
  while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157974 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-20 00:08:12 +00:00
twilson f93ebdba02 Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon trying to parse an invalid config
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157818 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-19 19:25:14 +00:00
mmichelson 05b1fae086 Merged revisions 157503 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r157503 | mmichelson | 2008-11-18 16:47:57 -0600 (Tue, 18 Nov 2008) | 13 lines

Add some missing invite state changes necessary in the sip_write
function. Not setting the invite state correctly on the call was
resulting in the Record application leaving empty files. I also
have updated the doxygen comment next to the declaration of the
INV_EARLY_MEDIA constant to reflect that we also use this state
when we *send* a 18X response to an INVITE.

(closes issue #13878)
Reported by: nahuelgreco
Patches:
      sip-early-media-recording-1.4.22.patch uploaded by nahuelgreco (license 162)
	  Tested by: putnopvut

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157512 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-18 22:54:08 +00:00
mmichelson 8c3fa3762b Based on Russell's advice on the asterisk-dev list, I have
changed from using a global lock in update_call_counter to
using the locks within the sip_pvt and sip_peer structures
instead.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157496 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-18 21:59:24 +00:00
mmichelson 58b7f09f59 * Add a lock to be used in the update_call_counter function.
* Revert logic to mirror 1.4's in the sense that it will not allow
  the call counter to dip below 0.

These two measures prevent potential races that could cause a SIP peer
to appear to be busy forever.

(closes issue #13668)
Reported by: mjc
Patches:
      hintfix_trunk_rev152649.patch uploaded by wolfelectronic (license 586)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157427 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-18 20:23:58 +00:00
mmichelson 135ce47598 Merged revisions 157305 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r157305 | mmichelson | 2008-11-18 12:25:55 -0600 (Tue, 18 Nov 2008) | 12 lines

Fix a crash in the end_bridge_callback of app_dial and
app_followme which would occur at the end of an attended
transfer. The error occurred because we initially stored
a pointer to an ast_channel which then was hung up due
to a masquerade.

This commit adds a "fixup" callback to the bridge_config
structure to allow for end_bridge_callback_data to be
changed in the case that a new channel pointer is needed
for the end_bridge_callback.


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157306 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-18 18:31:08 +00:00
russell 7927af69d9 Fix a few more places where the case insensitive hash should be used since
the comparison is case insensitive.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157041 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-15 04:25:57 +00:00
russell ccf9135534 Use the new case insensitive hash function for console interfaces. The comparison
function is case insensitive.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157039 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-15 04:08:42 +00:00
mmichelson 1cb5c3372d Revision 155513 of chan_sip.c in trunk inadvertently
removed a very important line to set the "len" field
for incoming SIP requests. The result was that all incoming
SIP messages appeared to be 0-length, meaning Asterisk
could do no meaningful processing of anything SIP-related



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@156962 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-14 21:19:58 +00:00
mattf 7e9cdbaadb Remove some useless locking and make sure we hangup channels on a link when we get a GRS.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@156874 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-14 16:34:33 +00:00
tilghman c35b7f560f Command offsets were not changed correctly when the command syntax for
'pri set debug' was changed from 'pri debug'.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@156647 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-13 19:10:28 +00:00
tilghman 79a53174fa Merged revisions 156229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r156229 | tilghman | 2008-11-12 12:39:21 -0600 (Wed, 12 Nov 2008) | 11 lines
  
  Revert revision 132506, since it occasionally caused IAX2 HANGUP packets not
  to be sent, and instead, schedule a task to destroy the iax2 pvt structure
  10 seconds later.  This allows the IAX2 HANGUP packet to be queued,
  transmitted, and ACKed before the pvt is destroyed.
  (closes issue #13645)
   Reported by: dzajro
   Patches: 
         20081111__bug13645__3.diff.txt uploaded by Corydon76 (license 14)
   Tested by: vazir
   Reviewed: http://reviewboard.digium.com/r/51/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@156243 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-12 18:55:18 +00:00
mvanbaak e005e919bd This commit does two things:
- Add CLI aliases module to asterisk.
- Remove all deprecated CLI commands from the code

Initial work done by file.
Junk-Y and lmadsen did a lot of work and testing to
get the list of deprecated commands into the configuration file.

Deprecated CLI commands are now handled by this new module,
see cli_aliases.conf for more info about that.

ok russellb@ via reviewboard

(closes issue #13735)
Reported by: mvanbaak


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@156120 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-12 06:46:04 +00:00
russell 332020f2af Remove commentary from the issues list for SIP TCP/TLS
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155929 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-11 16:07:36 +00:00
mmichelson c2f0927a03 Merged revisions 155861 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r155861 | mmichelson | 2008-11-10 15:07:39 -0600 (Mon, 10 Nov 2008) | 14 lines

Channel drivers assume that when their indicate callback
is invoked, that the channel on which the callback was called
is locked. This patch corrects an instance in chan_agent where
a channel's indicate callback is called directly without first
locking the channel.

This was leading to some observed locking issues in chan_local,
but considering that all channel drivers operate under the
same expectations, the generic fix in chan_agent is the right
way to go.

AST-126


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155863 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-10 21:14:44 +00:00
seanbright 2034723f38 In order to move away from nested function use, some changes to the recently introduced
ast_channel_search_locked need to be made.  Specifically, the caller needs to be able to
pass arbitrary data which in turn is passed to the callback.  This patch addresses all
of the nested functions currently in asterisk trunk.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155590 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-09 01:59:59 +00:00
russell cd55da2a78 - Check for failure when putting the packet in the ast_str
- fix a spelling error in a header file


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155516 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-08 21:46:43 +00:00
russell 0c16e82b36 Remove some code that is basically a no-op. Code above this already ensures that
the buffer is terminated.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155513 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-08 21:34:36 +00:00
mmichelson ca8422df50 Set the invite state to INV_CANCELLED in a place that
makes more sense. Where it was set before, it was impossible
to actually delay sending a CANCEL if we had not yet received
a provisional response to an INVITE.

(closes issue #13626)
Reported by: atis
Patches:
      13626.patch uploaded by putnopvut (license 60)
Tested by: atis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155467 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 23:41:44 +00:00
seanbright a7a95954c8 Add ability to pass arbitrary data to the ao2_callback_fn (called from
ao2_callback and ao2_find).  Currently, passing OBJ_POINTER to either
of these mandates that the passed 'arg' is a hashable object, making
searching for an ao2 object based on outside criteria difficult.

Reviewed by Russell and Mark M. via ReviewBoard:
    http://reviewboard.digium.com/r/36/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155401 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 22:39:30 +00:00
tilghman f7be936f69 Merged revisions 155398 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r155398 | tilghman | 2008-11-07 16:27:32 -0600 (Fri, 07 Nov 2008) | 7 lines
  
  Clarify error message.
  (closes issue #13809)
   Reported by: denke
   Patches: 
         20081104__bug13809.diff.txt uploaded by Corydon76 (license 14)
   Tested by: denke
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155399 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 22:28:58 +00:00
tilghman 93db929c7f Send call release with unallocated cause instead of normal call clearing, when
invalid extension is called.
(closes issue #13408)
 Reported by: adomjan
 Patches: 
       chan_dahdi.c-ss7-unallocated-2 uploaded by adomjan (license 487)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155324 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 20:13:32 +00:00
kpfleming bbbe35acc7 stringfields conversion for struct sip_peer, as requested :-)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155282 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 15:52:05 +00:00
russell e76dffd938 Remove a bogus ast_free() that Kevin noticed. This was probably just left over
from pre-astobj2ified chan_sip.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155264 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 15:42:04 +00:00
russell 38ff416edd Fix some code in chan_sip that was intended to unlink multiple objects from a
container.  The OBJ_MULTIPLE flag must be provided here.  Otherwise, this would
only remove a single object.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155241 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-07 14:50:30 +00:00
kpfleming 4dae7361f0 put ifdef protection around the rest of the libpri function calls that were added at the same time as progress_with_cause
move parsing of the qsig channel mapping configuration option outside ifdef HAVE_PRI_INBANDDISCONNECT and into a properly ifdef'd block



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@155066 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-06 20:51:26 +00:00
mattf 2e86ed61ac Make compilation of chan_dahdi so that it does not require the new pri_progress_with_cause function to have libpri support work.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@154875 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-05 20:45:03 +00:00
eliel d06634e0de Add AgentLogin(), AgentMonitorOutgoing() applications and
AGENT() function XML documentation.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@154837 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-05 20:17:06 +00:00