Commit Graph

21244 Commits

Author SHA1 Message Date
Kinsey Moore
a9a8c0fa05 ConfBridge does not handle hangup properly
When playing back a prompt to a channel, confbridge neglects to check for
hangup events causing lockup condititions for hangups that occur before
actually joining the conference.  This change ensures that the user is removed 
from the conference in the event of a premature hangup.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-21 16:09:14 +00:00
Leif Madsen
ce2e420902 Remove extra 'the'.
Reported by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 18:12:32 +00:00
Leif Madsen
186eeac9f4 Revert previous merge which had extra changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 18:11:09 +00:00
Leif Madsen
0ce6617ee1 Remove extra 'the'.
Reported by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 18:07:44 +00:00
Terry Wilson
6ca0976235 Ignore media offers with a port of 0
Section 5.1 of RFC3264 states:
  A port number of zero in the offer indicates that the stream is offered
  but MUST NOT be used.

(closes issue ASTERISK-17845)
Reported by: jacco
Patches: 
      issue19281_2.patch uploaded by jacco (license 1277)
Tested by: jacco, twilson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-20 17:33:07 +00:00
Leif Madsen
557fe8bc24 Add Username and Secret fields to manager Login action.
Pointed out by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 18:51:16 +00:00
Leif Madsen
211af7820d Fix typo in documentation.
Pointed out by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 18:38:40 +00:00
Richard Mudgett
f2dd8858ee Add header string to libpri debug output.
Add header string to libpri debug output so the libpri output can be
found/extracted easier from huge debug trace files.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 18:23:19 +00:00
Leif Madsen
cfec9cdf0d Fix grammar in documentation for Goto() and GotoIf()
(closes issue ASTERISK-18023)
Reported by: Tim Osman

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 15:14:54 +00:00
Terry Wilson
29f41f057e Shame on me
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 22:41:01 +00:00
Terry Wilson
c84e7b911e Lock the channel before calling the setoption callback
The channel needs to be locked before calling these callback functions. Also,
sip_setoption needs to lock the pvt and a check p->rtp is non-null before using
it.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 22:35:41 +00:00
Richard Mudgett
cf2d1b01be The test_event unit test is occasionally failing.
Wait for the special posted event to process before adding a new
subscription.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 18:12:32 +00:00
Terry Wilson
bec4a072d8 Don't assume ASTDBDIR exists
It most likely doesn't on FreeBSD


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-16 15:58:22 +00:00
Terry Wilson
78705b5922 Remove now-useless cast of ARRAY_LEN
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 20:03:58 +00:00
Terry Wilson
c71181a78f Make ARRAY_LEN() return the same type on x86 and x86_64 systems
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 19:58:18 +00:00
Terry Wilson
ae4997f3f6 Fix more ARRAY_LEN format string issues
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 19:45:20 +00:00
Terry Wilson
c24706ee9e Merged revisions 323733 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r323733 | twilson | 2011-06-15 13:13:00 -0500 (Wed, 15 Jun 2011) | 16 lines
  
  Merged revisions 323732 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r323732 | twilson | 2011-06-15 13:06:24 -0500 (Wed, 15 Jun 2011) | 9 lines
    
    Fix DYNAMIC_FEATURES
    
    DYNAMIC_FEATURES were broken by a recent DTMF change. This patch makes
    sure that dynamic features are also checked when deciding whether or not
    to pass DTMF through or store it for interpreting.
    
    (closes issue ASTERISK-17914)
    Reported by: vrban
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323754 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 18:21:52 +00:00
Jonathan Rose
aede9b6bdc Adds locking to find_table in res_configure_pgsql to prevent a crash.
Bryonclark described the problem as occuring during this function because of multiple
simultaneous database operations causing corruption against a pgsqlConn object.

(closes issue ASTERISK-17811)
Reported by: byronclark
Patches: 
      pgsql_find_table_locking.patch uploaded by byronclark (license 1200)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 17:42:42 +00:00
Terry Wilson
fcf2c4c6a2 Cast ARRAY_LEN to size_t for ast_logging
32-bit and 64-bit machines return different types for ARRAY_LEN(), so cast
it before using in a format string.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 17:09:51 +00:00
Richard Mudgett
372eec7fcb Add a test to the event unit tests to catch ASTERISK-18002.
The new tests check to see if there are ANY subscribers to the event type
when ast_event_check_subscriber() is not passed any specific ie values.

(issue ASTERISK-18002)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 16:43:31 +00:00
Richard Mudgett
9a19763a38 [regression] Voicemail MWI is no longer sent.
When leaving a voicemail, the MWI message is never sent.  The same thing
happens when checking a voicemail and marking it as read.

If you restart Asterisk, everything comes up at that state correctly, but
changes to the messages in voicemail causes the light to not be set
appropriately.  Very easy to reproduce.

* Made ast_event_check_subscriber() return TRUE if there are ANY
subscribers to an event type when there are no restricting ie values
passed.  This allows an event being queued to be queued.

(closes issue ASTERISK-18002)
Reported by: lmadsen
Tested by: lmadsen, irroot
Patches:
     jira_asterisk_18002_v1.8.patch uploaded by rmudgett (License #5621)

(closes issue ASTERISK-18019)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 16:43:18 +00:00
Jonathan Rose
9d849f5446 Adds PQclear calls on result to various parts of res_conf_pgsql
(closes issue ASTERISK-17812)
Reported by: byronclark
Patches: 
      pgsql_pqclear.patch uploaded by byronclark (license 1200)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 16:09:24 +00:00
Sean Bright
0701feaa95 Merged revisions 323579 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r323579 | seanbright | 2011-06-15 11:22:50 -0400 (Wed, 15 Jun 2011) | 32 lines
  
  Merged revisions 323559 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r323559 | seanbright | 2011-06-15 11:15:30 -0400 (Wed, 15 Jun 2011) | 25 lines
    
    Resolve a segfault/bus error when we try to map memory that falls on a page
    boundary.
    
    The fix for ASTERISK-15359 was incorrect in that it added 1 to the length of the
    mmap'd region.  The problem with this is that reading/writing to that extra byte
    outside of the bounds of the underlying fd causes a bus error.
    
    The real issue is that we are working with both a FILE * and the raw fd
    underneath it and not synchronizing between them.  The code that was removed in
    ASTERISK-15359 was correct, but we weren't flushing the FILE * before mapping
    the fd.
    
    Looking at the manager code in 1.4 reveals that the FILE * in 'struct
    mansession' is never used except to create a temporary file that we immediately
    fdopen.  This means we just need to write a 0 byte to the fd and everything will
    just work.  The other branches require a call to fflush() which, while not a
    guaranteed fix, should reduce the likelihood of a crash.
    
    This all makes sense in my head.
    
    (closes issue ASTERISK-16460)
    Reported by: Ravelomanantsoa Hoby (hoby)
    Patches:
    		issue17747_1.4_svn_markII.patch uploaded by Sean Bright (license #5060)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 15:31:53 +00:00
Richard Mudgett
ba678e9c1b Add missing break in ast_event_get_cached().
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323456 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-15 00:50:20 +00:00
Richard Mudgett
0fe02d0183 Made ast_sockaddr_split_hostport() port warning msgs more meaningful.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 17:21:39 +00:00
Richard Mudgett
2b2aa6ba3e Add more strict hostname checking to ast_dnsmgr_lookup().
Change suggested in review.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 17:21:24 +00:00
Jonathan Rose
f9e5239e8a Changes contact use in build_peer to use the FORCE_RPORT flag instead of RPORT_PRESENT
It turned out that this was causing NAT=Yes to always use rport when present which was
against 1.6.2 behavior and the check itself was redundant since the only way this
segment of code could be reached was if RPORT_PRESENT was already evaluated as true
earlier.

(closes issue ASTERISK-17789)
Reported by: byronclark
Patches: 
      use_sip_nat_force_rport.patch uploaded by byronclark (license 1200)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:38:43 +00:00
Terry Wilson
ee2920afba Add rtpkeepalives back to 1.8
The RTP-engine conversion left out support for handling rtpkeepalives.
This patch adds them back.

(closes issue ASTERISK-17304)
Reported by: lmadsen

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-14 16:33:55 +00:00
Leif Madsen
8d1596311c Additional documentation for bindaddr.
Note that bindaddr will only enable UDP instead of both UDP and TCP which is
what I would expect for backwards compatibility with systems being upgraded
which only support UDP transportation.

(closes issue ASTERISK-17976)
Reported by: Sean Darcy

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 20:22:21 +00:00
Leif Madsen
a3c4818a51 Avoid dividing by zero with L() option to Dial()
Reported by: nicolasom
Patches:
    
issue-17995.patch - nicolasom (License #5994)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323213 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 19:51:52 +00:00
Leif Madsen
3f38dc40a9 Tweak documentation for AGI Hangup command.
(closes issue ASTERISK-17999)
Reported by: Ben Klang
Patches:
     hangup-doc.diff - uploaded by Ben Klang (License #5876)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-13 19:00:41 +00:00
Matthew Nicholson
aad782c474 Unlock the sip channel during fax detection like chan_dahdi does to prevent a deadlock with ast_autoservice_stop.
(closes issue ASTERISK-17798)
tested by mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@323040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 19:20:41 +00:00
Terry Wilson
12cab256cc Avoid a DB1 infinite loop bug
Explicity check the last entry in the DB and make sure that we don't iterate
past it. Since there can be no duplicates, this just makes sure that we stop
after matching the last key.

This patch also refactors the code to get away from some code duplication. A
previous patch added many astdb tests and this patch passed them.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322981 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 15:29:00 +00:00
Terry Wilson
7ba8589b33 Add some astdb unit tests
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-10 02:33:23 +00:00
Terry Wilson
b304546811 Correct ast_db_deltree documentation
ast_db_deltree returns -1 on error, otherwise the number of deletions


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 22:29:20 +00:00
Matthew Nicholson
099d17c4cb don't drop any voice frames when checking for T.38 during early media
(closes issue ASTERISK-17705)
Review: https://reviewboard.asterisk.org/r/1186/
patch by oej
reported by oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 17:37:07 +00:00
Richard Mudgett
aec1979e7f Remove potential deadlock in call pickup race.
Deadlock is possible in ast_do_pickup() when holding the target channel
lock and trying to get the chan channel lock.  Also, holding the target
lock when calling ast_channel_masquerade() is not a good idea because that
routine does deadlock avoidance.

* Removed the need to hold the target lock after marking the target with a
datastore and getting the connected line data off of the target channel.

* Moved can_pickup() to ast_can_pickup() in features.c.  Now all the call
pickup methods use the same basic call pickup availability check.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 16:31:53 +00:00
Jonathan Rose
5f46b994f4 Adds ast_escape_encoded utility to properly handle escaping of quoted field before uri.
This commit backports a feature in trunk affecting initreqprep so that display name won't
be encoded improperly. Also includes unit tests for the ast_escape_quoted function.
This patch gives 1.8 a much improved outlook in countries which don't use standard
ASCII characters.

(closes issue ASTERISK-16949)
Reported by: Örn Arnarson
Review: https://reviewboard.asterisk.org/r/1235/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 14:06:42 +00:00
Richard Mudgett
e0b2c103f6 Ring all queue with more than 255 agents will cause crash.
1. Create a ring-all queue with 500 permanent agents.
2. Call it.
3. Asterisk will crash.

The watchers array in app_queue.c has a hard limit of 255.  Bounds
checking is not done on this array.  No sane person should put 255 people
in a ring-all queue, but we should not crash anyway.

* Added bounds checking to the watchers array.

JIRA AST-464
JIRA SWP-2903


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 20:46:55 +00:00
Richard Mudgett
6b2172bea3 SRV lookup attempted for SIP peers listed as an IP address.
Asterisk attempts to SRV lookup a host name even if the host name is an IP
address.  Regression introduced when IPv6 support was added.

* Restored the check in ast_dnsmgr_lookup() to see if the given host name
is an IP address.  The IP address could be in either IPv4 or IPv6 formats.

(closes issue ASTERISK-17815)
Reported by: Byron Clark
Tested by: Byron Clark, Richard Mudgett
Patches:
     issue19248_v1.8.patch - uploaded by Richard Mudgett (License #5621)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 18:46:30 +00:00
Gregory Nietsky
f644955b66 Make handle_request_publish do dialog expiration and destruction.
This patch fixes handle_request_publish so that it does dialog expiration and destruction.

  Without this patch the incoming PUBLISH requests will get stuck in the dialog list.
  Restarting asterisk is the only way to remove them.

  Personal observation on one system the server hung up while looping through the channels
  rendering asterisk unusable and all sip phones unregisterd when they try reregister
  more requests are added.

  (closes issue #18898)
  Reported by: gareth
  Tested by: loloski, Chainsaw, wimpy, se, kuj, irroot

  Jira: https://issues.asterisk.org/jira/browse/ASTERISK-17915
  Review: https://reviewboard.asterisk.org/r/1253


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 06:18:38 +00:00
Paul Belanger
6bf7b59c8f Use correct syntax for 'sip notify snom-reboot'
(closes issue ASTERISK-17915)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322189 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-07 17:59:13 +00:00
Jonathan Rose
c728c8d56b Fixes level toggling for logger set levels since it was reversed
(closes issue ASTERISK-17850)
Reported by: Luke H
Tested by: jrose, Luke H
  
Review: https://reviewboard.asterisk.org/r/1244/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-06 19:07:56 +00:00
Richard Mudgett
6b10de8830 Asterisk crash when unloading cdr_radius/cel_radius.
The rc_openlog() API call is passed a string that is used by openlog() to
format log messages.  The openlog() does not copy the string it just keeps
a pointer to it.  When the module is unloaded, the string is gone from
memory.  Depending upon module load order and if the other module then has
an error, a crash happens.

* Pass rc_openlog() a strdup'd string with the understanding that there
will be a small memory leak if the cdr_radius/cel_radius modules are
unloaded.

* Call rc_destroy() to free the rc handle memory when the module is
unloaded.

JIRA AST-483
JIRA SWP-3062


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 22:09:36 +00:00
Richard Mudgett
549f79b9f3 Be more explicit for CCSS generic device state event subscription.
Make CCSS generic device state event subscription specify the
AST_EVENT_IE_STATE ie exists to be safe.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 21:49:17 +00:00
Richard Mudgett
779a74b358 Event subscription fixes.
Must commit the subscription fixes together with the integration
subscription tests.  The subscription fixes cause an erroneously passing
test to fail.  The new subscription tests detect errors without the
subscription fixes.

* Added missing event_names[] table entry.

* Reworked ast_event_check_subscriber()/match_sub_ie_val_to_event() to
correctly detect if a subscriber exists for the proposed event.

* Made match_ie_val() and match_sub_ie_val_to_event() check the buffer
length for RAW payload types.

* Fixed error handling memory leak in ast_event_sub_activate(),
ast_event_unsubscribe(), and ast_event_queue().

* Made ast_event_new() and ast_event_check_subscriber() better protect
themselves from an invalid payload type.

* Added container lock protection between removing old cache events and
adding the new cached event in
ast_event_queue_and_cache()/event_update_cache().

* Added new event subscription tests.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321871 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 20:58:13 +00:00
Richard Mudgett
a32c86fb71 Constify subscription description parameter string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:56:09 +00:00
Richard Mudgett
ca817c31e8 Correct IAX2 and SIP event subscription description string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 19:55:21 +00:00
Russell Bryant
f3562862e9 Backport an astobj2 unit test so that it runs on 1.8 as well.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 18:32:45 +00:00
Leif Madsen
f1a3972b96 Also document the 'queue-minute' option.
(closes issue #19386)
Reported by: juanmol


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@321685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-03 13:17:50 +00:00