Commit Graph

797 Commits

Author SHA1 Message Date
Arvid Norberg 22b1c968a4 back-ported choking issue at high uplod rates 2013-03-26 04:45:38 +00:00
Arvid Norberg d0c2453f9e merge fix from RC_0_16 2013-03-25 22:35:52 +00:00
Arvid Norberg 8bc8c1abe8 merged implied_port from RC_0_16 2013-03-25 07:26:39 +00:00
Arvid Norberg be6afa74f3 optimized rate limiter by allowing peers to request more bandwidth while waiting on the socket 2013-03-24 18:00:58 +00:00
Arvid Norberg 372dd935f1 make disk cache pool allocator configurable 2013-03-21 01:18:39 +00:00
Arvid Norberg 56e4c48873 merged disk buffer pool change from RC_0_16 2013-03-17 17:13:34 +00:00
Arvid Norberg a2a4b61b5d fix library ABI to not depend on logging being enabled 2013-03-10 09:19:58 +00:00
Arvid Norberg b943a9b057 merged long-name truncation fix from RC_0_16 2013-03-08 09:56:19 +00:00
Arvid Norberg 0682272661 make libtorrent and examples build with deprecated functions disabled (with some slight performance improvements). use hex encoding instead of base32 in create_magnet_uri 2013-03-04 03:24:53 +00:00
Arvid Norberg 431efc6157 merge storage fix from RC_0_16 2013-03-03 04:47:19 +00:00
Arvid Norberg b07e7d8fe9 include name, save_path and torrent_file in torrent_status, for improved performance 2013-03-02 23:17:48 +00:00
Arvid Norberg 96c62bc4b8 merged fix from RC_0_16 2013-02-28 03:29:33 +00:00
Arvid Norberg 775cf5570a improve unit test coverage and fix handling of some invalid .torrent files and invalid utf-8 sequences 2013-02-25 01:54:38 +00:00
Arvid Norberg 7b53dd0491 fixed utf-8 verification bug and filename collision resolver 2013-02-24 10:16:57 +00:00
Arvid Norberg 8d9fa465d2 merge need_save_resume patch from RC_0_16 2013-02-20 08:10:31 +00:00
Arvid Norberg 86a2569728 separate anonymous mode and force-proxy mode, and tighten it up a bit 2013-02-19 06:48:53 +00:00
Arvid Norberg e45c71dd30 merged sparse file fix from RC_0_16 2013-02-16 08:26:55 +00:00
Arvid Norberg 6adbd75db8 merged streaming fix from RC_0_16 2013-02-11 05:39:03 +00:00
Arvid Norberg d63b82bb78 merged rename_file fix from RC_0_16 2013-02-09 21:50:22 +00:00
Arvid Norberg eb0f636ab1 mar 0.16.8 release in changelog 2013-02-09 21:26:55 +00:00
Arvid Norberg d85db40b3c merged python fix from RC_0_16 2013-02-07 02:27:39 +00:00
Arvid Norberg 7607f20e2a add per-tracker scrape information to announce_entry 2013-02-04 07:17:31 +00:00
Arvid Norberg 8a55d7e32b merged fix for alerts.all_categories in python binding from RC_0_16 2013-02-03 00:07:42 +00:00
Arvid Norberg 327626b830 merged name resolver fix from RC_0_16 2013-02-02 23:59:11 +00:00
Arvid Norberg 09946aee26 merged fix from RC_0_16 2013-01-31 03:39:14 +00:00
Arvid Norberg 07f9133ba9 merged piece picker fix from RC_0_16 2013-01-30 06:20:37 +00:00
Arvid Norberg 2aacf1cd66 report errors in read_piece_alert 2013-01-29 02:18:32 +00:00
Arvid Norberg ff81a258af merged read_piece response for cancelled time-critical pieces, from RC_0_16 2013-01-28 07:27:44 +00:00
Arvid Norberg 42ee2869b1 merged file priority fix from RC_0_16 2013-01-28 04:57:35 +00:00
Arvid Norberg 7223bf17e5 DHT memory optimization 2013-01-28 04:00:23 +00:00
Arvid Norberg ecc42c0a78 merged utp fix from RC_0_16 2013-01-28 03:47:36 +00:00
Arvid Norberg bca1d62bbe merged close_redundant_connections fix from RC_0_16 2013-01-27 21:25:06 +00:00
Arvid Norberg a35c32bc51 merged change from RC_0_16 2013-01-25 06:22:42 +00:00
Arvid Norberg 3d66e53ae3 merged GetOverlappedIO fix from RC_0_16 2013-01-25 05:53:17 +00:00
Arvid Norberg 29c17c123e fix traversal algorithm leak in DHT 2013-01-22 02:04:58 +00:00
Arvid Norberg a301d119fa merged fix from RC_0_16 2013-01-21 18:54:45 +00:00
Arvid Norberg 2c3e4703fb merged torrent_handle::status fix from RC_0_16 2013-01-21 16:01:48 +00:00
Arvid Norberg 1bfa04eabc merged fix from RC_0_16 2013-01-21 10:16:34 +00:00
Arvid Norberg b3ef6011aa merged merkle torrent creation fix from RC_0_16 2013-01-21 07:33:48 +00:00
Arvid Norberg a50c6c9121 merged fix from RC_0_16 2013-01-21 05:13:33 +00:00
Arvid Norberg 360af45e63 merged python binding fix from RC_0_16 2013-01-20 20:42:12 +00:00
Arvid Norberg ab7369fee9 implement a sligthtly more aggressive DHT lookup mechanism 2013-01-20 07:54:54 +00:00
Arvid Norberg 8f682d2ff7 merged string encoding of error messages fix from RC_0_16 2013-01-19 06:39:32 +00:00
Arvid Norberg c87d26635b merged error handling fix from RC_0_16 2013-01-13 22:35:19 +00:00
Arvid Norberg d92e4dea1c bump version 2013-01-13 20:13:55 +00:00
Arvid Norberg 2f0800523c merged DHT optimization from RC_0_16 2013-01-12 06:15:45 +00:00
Arvid Norberg 71653be7f0 merged ERROR_CANT_WAIT patch from RC_0_16 2013-01-10 03:22:49 +00:00
Arvid Norberg 66a9f31ebf merged pex fix from RC_0_16 2013-01-09 07:48:06 +00:00
Arvid Norberg 50d80f012b merged ut_metadata crash fix from RC_0_16 2013-01-07 04:20:45 +00:00
Arvid Norberg 3788ed23ca improve support for windows XP and earlier 2013-01-07 01:56:40 +00:00
Arvid Norberg 38d7e58177 merge checking fix from RC_0_16 2013-01-06 04:53:26 +00:00
Arvid Norberg c29b019291 merged python binding fix from RC_0_16 2013-01-04 17:52:35 +00:00
Arvid Norberg 1b268e7cd1 merged typos in configure script from RC_0_16 2012-12-31 06:56:18 +00:00
Arvid Norberg ac5a9e9882 introduce global connection priority for improved swarm performance 2012-12-31 06:54:54 +00:00
Arvid Norberg 5a102e3c75 merged python binding fix from RC_0_16 2012-12-31 03:15:50 +00:00
Arvid Norberg d7bef3dbf9 merged fix from RC_0_16 2012-12-31 03:12:11 +00:00
Arvid Norberg e2d14078ec make files deleted alert non-discardable 2012-12-23 07:01:50 +00:00
Arvid Norberg 7e8875f65f update Changelog 2012-12-17 03:03:45 +00:00
Arvid Norberg 1422f5a1ba merged logging fix from RC_0_16 2012-12-15 02:50:47 +00:00
Arvid Norberg 40805503d6 merged python binding fix from RC_0_16 2012-12-14 04:38:44 +00:00
Arvid Norberg cfcd817545 merged fix from RC_0_16 2012-12-12 17:59:12 +00:00
Arvid Norberg fc0b5da9ad make built-in sha functions not conflict with libcrypto 2012-12-10 08:05:39 +00:00
Arvid Norberg 73a7e9f03b merged python fix from RC_0_16 2012-12-02 17:31:20 +00:00
Arvid Norberg 8ebe11067f merged peerlist fix from RC_0_16 2012-11-21 20:42:40 +00:00
Arvid Norberg f12e1c1a3f merged DHT fix from RC_0_16 2012-11-16 22:25:39 +00:00
Arvid Norberg e4bb337b49 merged utp fix from RC_0_16 2012-11-14 04:53:29 +00:00
Arvid Norberg 0327c73263 merged fix RC_0_16 2012-11-02 04:34:17 +00:00
Arvid Norberg 52ece49121 merged fixes from RC_0_16 2012-11-01 03:51:50 +00:00
Arvid Norberg 281b7d4768 merged udp_socket fix from RC_0_16 2012-10-21 03:56:22 +00:00
Arvid Norberg 134fa7b0fb merged python fix from RC_0_16 2012-10-19 05:18:48 +00:00
Arvid Norberg 8ba970018c make bottled http requests response size limit configurable and bump default to 2 MiB 2012-10-19 01:28:47 +00:00
Arvid Norberg 7974e50bb8 merged python fix from RC_0_16 2012-10-13 16:50:07 +00:00
Arvid Norberg 7909479505 merged python fix from RC_0_16 2012-10-13 02:08:34 +00:00
Arvid Norberg 3555b01b85 merged utp_socket and simultaneous connections fix from RC_0_16 2012-10-10 04:40:18 +00:00
Arvid Norberg 09d7a49ad7 merged lsd patch from RC_0_16 2012-10-09 04:51:04 +00:00
Arvid Norberg 9ed60479ce merged udp socket fix from RC_0_16 2012-10-07 23:34:44 +00:00
Arvid Norberg 3bf462f858 merged resume data fix from RC_0_16 2012-10-07 20:25:15 +00:00
Arvid Norberg 0a6c1e05c2 merged web seed fix from RC_0_16 2012-10-07 02:30:10 +00:00
Arvid Norberg b81d1bfe08 merged web seed fix from RC_0_16 2012-10-06 17:51:59 +00:00
Arvid Norberg e44225cb57 merged uTP fix from RC_0_16 2012-10-05 03:20:40 +00:00
Arvid Norberg acdb647eca merged udp tracker fix from RC_0_16 2012-10-01 00:13:58 +00:00
Arvid Norberg f66bead74a update changelog 2012-09-29 17:53:40 +00:00
Arvid Norberg c56901e864 improve web seed hash failure mode 2012-09-29 17:46:41 +00:00
Arvid Norberg 4ea4d32554 merge active_tracker_limit increase and logging polish from RC_0_16 2012-09-27 23:50:15 +00:00
Arvid Norberg 2f985de420 merge uTP slow start fix from RC_0_16 2012-09-26 01:27:58 +00:00
Arvid Norberg 28e32b57b6 merged UDP socket fix from RC_0_16 2012-09-25 18:57:50 +00:00
Arvid Norberg 055f8a0598 merged DHT optimization from libtorrent_aio 2012-09-22 18:15:29 +00:00
Arvid Norberg 330aac4acb merged boost.system fix from RC_0_16 2012-09-22 05:18:10 +00:00
Arvid Norberg 15ecec3ae5 merged python GIL fix from RC_0_16 2012-09-19 06:13:04 +00:00
Arvid Norberg 33233963eb merged fix from RC_0_16 2012-08-29 01:58:06 +00:00
Arvid Norberg 43e9270363 extend the UDP tracker protocol to include the request string from the tracker URL 2012-08-23 21:02:09 +00:00
Arvid Norberg c60f373ae4 merged mingw fix from RC_0_16 2012-08-21 21:54:07 +00:00
Arvid Norberg df98104a76 merged changelog update 2012-08-20 02:17:41 +00:00
Arvid Norberg 73fb9ba4b2 merged python binding fix from RC_0_16 2012-08-18 19:33:24 +00:00
Arvid Norberg daa957454d merged ut_metadata fix from RC_0_16 2012-08-14 16:06:32 +00:00
Arvid Norberg cee9b6d5cb PMTUD improvements 2012-08-13 16:49:28 +00:00
Arvid Norberg 3d227a2acc optimized the torrent creator optimizer to scale significantly better with more files 2012-08-12 19:46:24 +00:00
Arvid Norberg 1f32bdab5a fix crash when creating torrents and optimizing file order with pad files 2012-08-12 19:16:20 +00:00
Arvid Norberg a84c5e0e85 disable support for large MTUs in uTP until it is more reliable 2012-08-12 15:54:59 +00:00
Arvid Norberg 670437c375 expose post_torrent_updates and state_update_alert to python bindings 2012-08-10 06:33:53 +00:00
Arvid Norberg e7cc28e9df fix SSL error messages 2012-08-01 15:01:13 +00:00
Arvid Norberg 56f80c882c updated changelog 2012-07-23 16:13:02 +00:00
Arvid Norberg 0cb8e6b221 fixed typo 2012-07-21 19:40:40 +00:00
Arvid Norberg 2a08bb5feb fix shutdown hang issue in connection queue 2012-07-14 20:37:31 +00:00
Arvid Norberg 450a9f69ef update changelog 2012-07-14 20:35:18 +00:00
Arvid Norberg a62a2a5b6c merged linux permission issue fix from RC_0_16 2012-07-13 04:04:56 +00:00
Arvid Norberg 3d7dc768da use random peer IDs in anonymous mode 2012-07-08 22:47:25 +00:00
Arvid Norberg bd4f173bc5 fix uTP edge case where udp socket buffer fills up 2012-07-01 18:44:46 +00:00
Arvid Norberg f403b5f3c8 fix move_storage bugs 2012-06-29 23:35:11 +00:00
Arvid Norberg df10b45ecc fix unnecessary dependency on boost.date_time that came from building asio as separate compilation 2012-06-28 16:59:57 +00:00
Arvid Norberg 4a2c799a1a always use SO_REUSEADDR and deprecate the flag to turn it on 2012-06-28 06:51:18 +00:00
Arvid Norberg ad4efb8d59 add python bindings for SSL support 2012-06-26 23:53:59 +00:00
Arvid Norberg e51e953cb9 fix nagle implementation in uTP 2012-06-25 06:27:37 +00:00
Arvid Norberg c691205ff7 update Changelog 2012-06-25 06:09:12 +00:00
Arvid Norberg 84d1498122 update Changelog 2012-06-24 21:10:12 +00:00
Arvid Norberg 1b2805118d make uTP less aggressive resetting cwnd when idle 2012-06-16 02:16:45 +00:00
Arvid Norberg 1db4fae595 merged patch from RC_0_16 2012-06-10 16:20:00 +00:00
Arvid Norberg e94963d085 fixed crash when providing corrupt resume data 2012-06-08 15:44:13 +00:00
Arvid Norberg d09e958166 add set_dht_settings to python bindings and fix include in bitfield.hpp 2012-05-28 17:54:20 +00:00
Arvid Norberg db500b674b merged boost-1.44 fix from RC_0_16 2012-05-26 16:21:15 +00:00
Arvid Norberg 1df53aa819 fixed reversed semantics of queue_up() and queue_down() 2012-05-23 15:18:30 +00:00
Arvid Norberg 68e9b06358 added missing functions to python bindings (file_priority()) 2012-05-19 23:34:31 +00:00
Arvid Norberg 19e7546968 fixed low_prio_disk support on linux 2012-05-15 14:13:35 +00:00
Arvid Norberg e74fc839e9 fixed time critical piece accounting in the request queue 2012-05-12 07:14:07 +00:00
Arvid Norberg 94ae0e433b fixed semantics of rate_limit_utp to also ignore per-torrent limits 2012-05-06 07:09:49 +00:00
Arvid Norberg 7f2f705b49 fixed piece sorting bug of deadline pieces 2012-05-05 19:46:02 +00:00
Arvid Norberg 6ec096d3d2 fixed python binding build on Mac OS and BSD 2012-05-05 19:21:20 +00:00
Arvid Norberg 44995ee41d one more UNC path fix 2012-04-29 04:20:02 +00:00
Arvid Norberg ecb9b2b725 fixed possible crash when enabling multiple connections per IP 2012-04-21 03:49:27 +00:00
Arvid Norberg d2e91594b3 fixed typo breaking the build on vista+, in file pool's IO priority code 2012-04-18 03:52:34 +00:00
Arvid Norberg 17747a0e15 change default of rate_limit_utp to true 2012-04-15 04:32:46 +00:00
Arvid Norberg b03e99ab40 fix DLL export issue on windows 2012-04-15 04:00:58 +00:00
Arvid Norberg ba4c77e7e5 merged FreeBSD fix from RC_0_16 2012-04-15 00:48:44 +00:00
Arvid Norberg dafcf2c5ca fixed web seed performance issue whith pieces > 1 MiB 2012-04-14 23:36:16 +00:00
Arvid Norberg ccb1a880aa fixed unchoke logic when using web seeds 2012-04-12 00:02:35 +00:00
Arvid Norberg a5a9006014 merged fixes from RC_0_16 into trunk 2012-04-07 00:35:25 +00:00
Arvid Norberg d7a3e823b5 back ported fix for race condition when setting session settings 2012-04-06 02:48:04 +00:00
Arvid Norberg 625bb62b2a don't keep going when failing to open a listen socket. This makes the error reporting correct. also, updated the changelog in RC_0_16 and trunk 2012-04-06 02:08:02 +00:00
Arvid Norberg 6fc580e0cb support torrents with more than 262000 pieces 2012-04-01 19:14:30 +00:00
Arvid Norberg 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +00:00
Arvid Norberg d5ef64ddb2 don't restart the swarm after downloading metadata from magnet links 2012-03-27 00:24:09 +00:00
Arvid Norberg b58bab637c add 0.16 release to changelog 2012-03-26 16:11:29 +00:00
Arvid Norberg 4d60adcaa9 retry failed trackers a little bit sooner. make the exponential back-off not quite grow as fast 2012-03-24 15:15:36 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg 9a651847f5 fix 'parameter incorrect' issue when using unbuffered IO on windows 2012-02-22 03:27:26 +00:00
Arvid Norberg cde80acbde fixed UDP socket error handling on windows 2012-02-17 18:23:47 +00:00
Arvid Norberg 639039a94e attempt to fix TOS setting (IP type of service) 2012-01-29 20:59:20 +00:00
Arvid Norberg 7741b732de fixed crash when loading malformed resume file 2012-01-27 05:08:06 +00:00
Arvid Norberg dcd74c10fe update changelog 2012-01-22 03:24:44 +00:00
Arvid Norberg aedd34060a update changelog 2012-01-22 03:22:03 +00:00
Arvid Norberg 7f90a241b6 don't let hung outgoing connection attempts block incoming connections 2012-01-21 09:05:34 +00:00
Arvid Norberg a77342b9a4 back-ported shutdown fix 2012-01-20 08:06:54 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg dd2db79896 fix overflow bug in progress_ppm field 2012-01-09 14:13:24 +00:00
Arvid Norberg 61e8d3dd49 improved peer exchange performance by sharing incoming connections which advertize listen port 2012-01-04 20:49:54 +00:00
Arvid Norberg d7103ab5b0 updated client_test to use post_torrent_updates() 2011-12-23 05:36:13 +00:00
Arvid Norberg ef724014aa deprecated per-peer rate limits (and removed them from libtorrent_aio) 2011-12-18 12:52:09 +00:00
Arvid Norberg 78f16cedd9 deprecate torrent::set_ratio 2011-12-18 07:18:42 +00:00
Arvid Norberg 0370fb7632 don't filter local peers received from a non-local tracker 2011-12-12 07:03:51 +00:00
Arvid Norberg 3515199eb5 fix python deadlock when using python extensions 2011-11-29 11:12:11 +00:00
Arvid Norberg c4dded04ca fixed small memory leak in DHT 2011-11-28 11:11:29 +00:00
Arvid Norberg c279870516 add web seed support for torrents with pad files 2011-11-26 20:48:31 +00:00
Arvid Norberg 4efabcefff added some functions missing from the python binding 2011-11-16 06:12:48 +00:00
Arvid Norberg c4232065d8 introduced a more scalable API for torrent status updates (post_torrent_updates()) 2011-11-15 02:34:00 +00:00
Arvid Norberg b0271e993c updated changelog 2011-11-14 02:53:40 +00:00
Arvid Norberg 57e7f14024 fixed rare piece picker bug 2011-11-07 04:31:48 +00:00
Arvid Norberg 1c8a7b6343 fixed invalid torrent_status::finished_time 2011-10-26 00:58:21 +00:00
Arvid Norberg e58e27e83a change peer_states to be a bitmask (bw_limit, bw_network, bw_disk) 2011-10-25 17:34:42 +00:00
Arvid Norberg e1bfd8541f fixed bugs in dont-have and upload-only extension messages 2011-10-11 07:20:12 +00:00
Arvid Norberg 451c31828f changed semantics of send_buffer_watermark_factor to be specified as a percentage 2011-09-23 21:12:28 +00:00
Arvid Norberg 8c23b0e3ce allow NULL to be passed to create_torrent::set_comment and create_torrent::set_creator 2011-09-22 21:24:50 +00:00
Arvid Norberg 06cad3a245 fix UPnP issue for routers with multiple PPPoE connections 2011-09-18 20:28:06 +00:00
Arvid Norberg 4e1af65fe0 fix issue where event=stopped announces wouldn't be sent when closing session 2011-09-17 21:15:42 +00:00
Arvid Norberg f5b5160169 add incoming_connection_alert for logging all successful incoming connections 2011-09-17 01:44:05 +00:00
Arvid Norberg 8e6c159c83 fix possible hang in file::readv() on windows 2011-09-15 09:43:29 +00:00
Arvid Norberg 460799d600 fix CPU busy loop issue in tracker announce logic 2011-09-12 05:21:16 +00:00
Arvid Norberg 92bcb9ebfd feature to encrypt peer connections with a secret AES-256 key stored in .torrent file 2011-09-05 05:50:41 +00:00
Arvid Norberg 43c9e640ab honor IOV_MAX when using writev and readv 2011-09-05 05:47:50 +00:00
Arvid Norberg 51ed06304e deprecated compact storage allocation 2011-08-22 00:51:14 +00:00
Arvid Norberg 6dd9a7d83a don't post 'operation aborted' UDP errors when changing listen port 2011-08-21 01:55:38 +00:00
Arvid Norberg fb06fd928b fixed issue where the next tier in a set of trackers would not be tried for the configuration of announce_to_all_trackers = true and announce_to_all_tiers = false 2011-08-17 23:01:35 +00:00
Arvid Norberg 601443afd3 close files in separate thread on systems where close() may block (Mac OS X for instance) 2011-08-07 04:41:10 +00:00
Arvid Norberg d4958c9286 support for dont-have extension message 2011-08-07 00:41:13 +00:00
Arvid Norberg 6a4708ef15 fix potential infinite loop in request_time_critical_pieces 2011-08-05 17:35:09 +00:00
Arvid Norberg 109e527568 added reset_piece_deadline function 2011-08-05 06:31:46 +00:00
Arvid Norberg d37e617f06 update docs 2011-08-05 06:15:08 +00:00
Arvid Norberg e81dbfb7f8 don't create all directories up front when adding torrents 2011-08-01 00:22:54 +00:00
Arvid Norberg 68aa222a58 expose set_peer_id to python binding 2011-08-01 00:05:53 +00:00
Arvid Norberg 7817229f5d improve support for merkle tree torrent creation 2011-07-30 17:35:22 +00:00
Arvid Norberg 220793c369 exposed comparison operators on torrent_handle to python 2011-07-04 21:02:15 +00:00
Arvid Norberg abb015e3de exposed alert error_codes to python 2011-06-25 20:11:31 +00:00
Arvid Norberg b94d6ddbfa update changelog 2011-06-25 19:30:04 +00:00
Arvid Norberg fbf2eb6f88 fixed sign issue in set_alert_mask signature 2011-06-17 16:28:21 +00:00
Arvid Norberg 1b5ee819cd fixed unaligned disk access for unbuffered I/O in windows 2011-06-17 15:10:40 +00:00
Arvid Norberg 4a914852cc support torrents whose name is empty 2011-06-03 08:48:33 +00:00
Arvid Norberg 58d723012a support DHT scrape 2011-05-23 00:45:36 +00:00
Arvid Norberg e07e8b2f98 fixed connection limit to take web seeds into account as well 2011-04-30 20:05:23 +00:00
Arvid Norberg 90719bf77d fixed bug when receiving a have message before having the metadata 2011-04-29 02:45:02 +00:00
Arvid Norberg a4651536c9 fixed python bindings build with disabled DHT support 2011-04-28 09:24:42 +00:00
Arvid Norberg e389f5963d added support for fadvise/F_RDADVISE for improved disk read performance 2011-04-26 07:03:05 +00:00