Arvid Norberg
|
633f174947
|
improved natpmp, upnp and lsd
|
2007-05-16 21:36:27 +00:00 |
Arvid Norberg
|
13ca78e92b
|
#47. introduced parole mode for peers that fails the hash check.
|
2007-05-16 04:12:13 +00:00 |
Arvid Norberg
|
e9601080bb
|
introduced swap_slots and swap_slots3 on storage_interface. All reads that needs it, should now be EOF safe (when using sparse files).
|
2007-05-16 01:16:08 +00:00 |
Arvid Norberg
|
b386aa23e9
|
DHT bugfix, more logging and less frequent private key generation. Fixed typo in identify_client
|
2007-05-14 17:49:36 +00:00 |
Arvid Norberg
|
8392276975
|
speed categories are now disabled before 1% of the pieces have been downloaded
|
2007-05-14 10:54:18 +00:00 |
Arvid Norberg
|
c5e150ee69
|
upnp fixes
|
2007-05-14 07:31:01 +00:00 |
Arvid Norberg
|
4a906aa31d
|
added option for session statistics output
|
2007-05-13 22:01:21 +00:00 |
Arvid Norberg
|
573d9f55d6
|
fixed compilation error when not using boost.date_time. Fixed compilation error when not having DHT logging enabled
|
2007-05-12 18:24:14 +00:00 |
Arvid Norberg
|
9f902e7b9f
|
the DHT now refreshes buckets properly.
|
2007-05-12 01:52:25 +00:00 |
Arvid Norberg
|
9ffde51404
|
fixed a bug caused by file_pool being destructed before torrents, and torrents using the file pool in their destructors
|
2007-05-11 23:41:31 +00:00 |
Arvid Norberg
|
6faa11f7ab
|
optimized web_peer_connection to use less memory and replaced std::copy with std::memmove in peer_connection
|
2007-05-11 18:40:22 +00:00 |
Arvid Norberg
|
f39185bb21
|
optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43
|
2007-05-10 01:50:11 +00:00 |
Arvid Norberg
|
a5847956e1
|
most of the metadata is now freed when a torrent becomes a seed. #44
|
2007-05-09 22:54:26 +00:00 |
Arvid Norberg
|
4371dbe02c
|
fixed resume data problem caused by recent piece_picker optimization
|
2007-05-09 03:18:53 +00:00 |
Arvid Norberg
|
6dcca9250b
|
optimized heap allocations in piece_picker. #42
|
2007-05-09 00:49:13 +00:00 |
Arvid Norberg
|
4956639171
|
piece picker optimization
|
2007-05-08 11:13:13 +00:00 |
Arvid Norberg
|
122841fc5e
|
attempt to memory optimization in DHT routing table
|
2007-05-08 08:49:07 +00:00 |
Arvid Norberg
|
508dfd722a
|
cleaned up policy a bit and the country code list
|
2007-05-05 22:55:34 +00:00 |
Arvid Norberg
|
7f27ed9c1f
|
fixed warnings in previous check in
|
2007-05-05 22:15:22 +00:00 |
Arvid Norberg
|
b239eecc04
|
updates to upnp code
|
2007-05-05 22:06:26 +00:00 |
Arvid Norberg
|
49bd69cad4
|
introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds
|
2007-05-05 00:29:33 +00:00 |
Arvid Norberg
|
52f9abb652
|
fixed upnp header define
|
2007-05-04 20:55:39 +00:00 |
Arvid Norberg
|
c7b4f49d5a
|
moved initialization of multicast addresses from global initializers to local constructors to avoid WSAStartup issues on windows
|
2007-05-04 06:47:32 +00:00 |
Arvid Norberg
|
54805ca60b
|
added option to disable country resolving
|
2007-05-02 19:47:38 +00:00 |
Arvid Norberg
|
04e41cf702
|
improved connection queue handling slightly. Will require further improvements
|
2007-05-02 17:38:37 +00:00 |
Arvid Norberg
|
233cd373e8
|
fixed issue with sparse files and compact allocation. added move_slot() to the storage abstraction
|
2007-04-30 01:06:29 +00:00 |
Arvid Norberg
|
ee1681e2cb
|
added peer/piece categories to the piece picker. fixes #18
|
2007-04-27 00:27:37 +00:00 |
Arvid Norberg
|
99dc46bd29
|
overflow fix in timer on windows
|
2007-04-26 21:33:07 +00:00 |
Arvid Norberg
|
fea87b2637
|
added missing header file from [1146]
|
2007-04-25 20:00:11 +00:00 |
Arvid Norberg
|
19bb5553bb
|
added missing files from previous check-in
|
2007-04-25 18:57:13 +00:00 |
Arvid Norberg
|
00948e9fc4
|
first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22
|
2007-04-25 18:26:35 +00:00 |
Arvid Norberg
|
d43a6b80bf
|
added an abstraction layer or tcp sockets, to be able to support socks proxys
|
2007-04-23 21:36:21 +00:00 |
Arvid Norberg
|
8ef7819a95
|
added redirection support to http_connection
|
2007-04-19 20:52:29 +00:00 |
Arvid Norberg
|
172205d7fb
|
improvements and fixes to sparse files support. made the test pass again
|
2007-04-19 03:32:20 +00:00 |
Arvid Norberg
|
92cf13c2c2
|
sparse files fixes. now sets the size of the files in case sparse files are supported
|
2007-04-19 03:06:15 +00:00 |
Arvid Norberg
|
60ddb5c64a
|
piece_picker fix
|
2007-04-18 20:40:41 +00:00 |
Arvid Norberg
|
88d6f7a4c9
|
added character-set build feature (only effective on windows). Made storage build with win32/unicode and newer versions of boost. optimized allocate_slots
|
2007-04-18 19:12:30 +00:00 |
Arvid Norberg
|
af779b6349
|
factored out the test for sparse files support
|
2007-04-18 00:36:09 +00:00 |
Arvid Norberg
|
16e17f066c
|
first stab at sparse files support
|
2007-04-17 21:54:40 +00:00 |
Arvid Norberg
|
3794b49e3a
|
fixed warning in msvc
|
2007-04-17 21:50:48 +00:00 |
Arvid Norberg
|
90bff3d1ca
|
Fixed building issues on windows with msvc-8.0
|
2007-04-17 21:18:35 +00:00 |
Arvid Norberg
|
067219d14a
|
made downloading pieces higher priority. fix in piece picker when blocks in prio 0 pieces were marked as finished
|
2007-04-17 09:21:53 +00:00 |
Arvid Norberg
|
849db39472
|
added peer_blocked_alert which is generated when a peer is blocked by the IP filter. Fixed the ip-filter parsing in client_test and made it report the peer_blocked_alert. Added documentation.
|
2007-04-17 05:56:43 +00:00 |
Arvid Norberg
|
8cb1f9f899
|
added optional use of openssl instead of public domain sha-1 implementation, ticket #13
|
2007-04-15 04:30:52 +00:00 |
Arvid Norberg
|
40804a829b
|
failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17
|
2007-04-15 02:14:02 +00:00 |
Arvid Norberg
|
fceaa8f79e
|
introduced failcount and retry time settings for peers
|
2007-04-14 21:47:07 +00:00 |
Arvid Norberg
|
ecb20f97fd
|
fixed time_now_string() to not include a line feed at the end
|
2007-04-14 20:12:15 +00:00 |
Arvid Norberg
|
a22ad5ad33
|
added failcount to peer_info. fixes #31
|
2007-04-13 20:19:04 +00:00 |
Arvid Norberg
|
3d759e8936
|
fixes in connection policy. fixes #29. inserted more invariant checks in policy
|
2007-04-13 17:47:40 +00:00 |
Arvid Norberg
|
0e5ce5dd9d
|
cleaned up policy a bit, moved the seed check in on_bitfield to be performed before the piece picker is updated
|
2007-04-13 01:53:25 +00:00 |
Arvid Norberg
|
52623405f0
|
improved unchoking, connecting and disconnecting logic in policy. seems to fix #29
|
2007-04-12 10:21:55 +00:00 |
Arvid Norberg
|
a0434eba10
|
fixed timer on linux
|
2007-04-12 07:02:17 +00:00 |
Arvid Norberg
|
79cfdb609f
|
fixed threading problem in file_pool
|
2007-04-12 05:08:23 +00:00 |
Arvid Norberg
|
1fd3216e6c
|
fix to previous check-in
|
2007-04-11 22:50:01 +00:00 |
Arvid Norberg
|
87b1cdc341
|
fix to avoid connecting web seeds when not a seed but finished
|
2007-04-11 22:27:58 +00:00 |
Arvid Norberg
|
e503e334d5
|
fix to previous check-in
|
2007-04-11 17:44:15 +00:00 |
Arvid Norberg
|
109cc3f232
|
made the announce timer (for dht and lsd) use a weak pointer instead of raw pointer, to avoid problems when torrent is being destructed
|
2007-04-11 17:22:19 +00:00 |
Arvid Norberg
|
250adabcfa
|
removed unused web stats
|
2007-04-11 16:50:54 +00:00 |
Arvid Norberg
|
3ed24da320
|
added source to peer_info, which is a bitmask of the sources where the peer has been acquired from
|
2007-04-10 21:23:13 +00:00 |
Arvid Norberg
|
4ceb6a02ea
|
added download_limit and upload_limit functions to torrent_handle
|
2007-04-10 09:25:17 +00:00 |
Arvid Norberg
|
0863bc1aa6
|
removed the dependency on the compiled boost.date_time library
|
2007-04-10 09:11:32 +00:00 |
Arvid Norberg
|
d88ffcc0e4
|
removed some more unecessary boost.date_time dependencies
|
2007-04-10 07:52:58 +00:00 |
Arvid Norberg
|
5be60cc125
|
upnp made destructor not sync.ing
|
2007-04-10 05:14:37 +00:00 |
Arvid Norberg
|
a1e20276a6
|
fixed typo in previous check-in
|
2007-04-09 20:38:51 +00:00 |
Arvid Norberg
|
ceb82bd38b
|
added support for posix timer clock_gettime()
|
2007-04-09 20:18:54 +00:00 |
Arvid Norberg
|
baecc64131
|
fix to previous timer check-in that broke the api
|
2007-04-07 03:05:59 +00:00 |
Arvid Norberg
|
27da18bd0a
|
windows fixes
|
2007-04-05 01:08:21 +00:00 |
Arvid Norberg
|
306d015924
|
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
|
2007-04-04 22:27:36 +00:00 |
Arvid Norberg
|
7fc238407c
|
added missing lsd.cpp and lsd.hpp
|
2007-04-04 19:11:19 +00:00 |
Arvid Norberg
|
a4ccee15df
|
removed unused code
|
2007-04-04 02:10:25 +00:00 |
Arvid Norberg
|
5e32484194
|
first stab at getting local service discovery
|
2007-04-04 02:06:07 +00:00 |
Arvid Norberg
|
ed9e80a3d4
|
added support for rate limiting on http_connection
|
2007-04-03 20:00:47 +00:00 |
Arvid Norberg
|
d0381a4cbd
|
added getters for rate limit on peer connections
|
2007-04-02 21:06:00 +00:00 |
Arvid Norberg
|
ec2962dd62
|
extensions are now instantiated for web seeds as well
|
2007-04-02 20:00:24 +00:00 |
Arvid Norberg
|
10b5f538b1
|
fixed timeout issues on non-bottled long running http connections
|
2007-04-02 18:51:35 +00:00 |
Arvid Norberg
|
2f9611a1a9
|
UPnP seems to work
|
2007-04-01 15:39:08 +00:00 |
Arvid Norberg
|
3d2a4e00b9
|
upnp fixes
|
2007-04-01 01:18:10 +00:00 |
Arvid Norberg
|
9e1123eb9e
|
more UPnP work. updated ChangeLog and features documentation
|
2007-03-31 23:23:30 +00:00 |
Arvid Norberg
|
b8721ad854
|
updates to the upnp code
|
2007-03-30 16:57:55 +00:00 |
Arvid Norberg
|
513d388c2c
|
added extension hook when files have been checked
|
2007-03-28 22:59:35 +00:00 |
Arvid Norberg
|
f2778d52d1
|
introduced failcounter for peers, increased timeout for peer info (such as being banned). Peers that fails 4 times are removed from the peer-list
|
2007-03-28 19:56:53 +00:00 |
Arvid Norberg
|
f1af5dc637
|
changes to ut_pex, added support for seed flag in pex messages
|
2007-03-28 01:06:15 +00:00 |
Arvid Norberg
|
72fd437ff0
|
moved the resume data verification to the storage, since the storage may map the files differently. The creation of resume data should probably also be moved there
|
2007-03-27 23:49:05 +00:00 |
Arvid Norberg
|
29e43d7f62
|
added http_connection and a simple xml parser, used by a upnp implementation that still isn't finished
|
2007-03-27 07:04:31 +00:00 |
Arvid Norberg
|
99c586b152
|
accessor to the extension info from the info dictionary in a torrent file.
|
2007-03-22 23:37:24 +00:00 |
Arvid Norberg
|
20e38bc42b
|
peer interest flag is now updated when priority is changed. fixes in piece_picker
|
2007-03-21 02:09:50 +00:00 |
Arvid Norberg
|
776b399a97
|
added api for piece priorities
|
2007-03-20 01:59:00 +00:00 |
Arvid Norberg
|
7ff5893431
|
reverted bad check-in where files_checked was removed from piece_picker
|
2007-03-17 17:28:59 +00:00 |
Arvid Norberg
|
8957b64c04
|
prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp
|
2007-03-17 17:15:16 +00:00 |
Arvid Norberg
|
4ac08f393a
|
simplified the piece picker by initializing it properly in its constructor. Removed natpmp reporting port map success when removing mappings. fix where incoming connections before the files were completely checked would cause an assert.
|
2007-03-16 23:28:26 +00:00 |
Arvid Norberg
|
a6b1583d3f
|
fixes to natpmp to take listen interface into account. added colors to the log in client_test
|
2007-03-16 21:04:58 +00:00 |
Arvid Norberg
|
118e1cf00d
|
added alerts for reporting nat-pmp status
|
2007-03-16 08:25:08 +00:00 |
Arvid Norberg
|
de69453826
|
merged fixes from RC_0_12 branch
|
2007-03-16 07:59:04 +00:00 |
Arvid Norberg
|
029953c5ae
|
made the storage into a customization point. it is now interchangable for a custom implementation
|
2007-03-16 05:29:23 +00:00 |
Arvid Norberg
|
52d6a201be
|
merged error message fix from RC_0_12 branch
|
2007-03-16 01:24:40 +00:00 |
Arvid Norberg
|
ecaa3068d5
|
added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process.
|
2007-03-15 22:03:56 +00:00 |
Arvid Norberg
|
2dbfa156d3
|
client test now always uses dht. fixed problem with the dht logging and updated dht extension docs.
|
2007-03-08 21:42:37 +00:00 |
Arvid Norberg
|
6f0a0beadb
|
fix to allow hostnames for peers in tracker responses
|
2007-03-07 18:50:38 +00:00 |
Arvid Norberg
|
7e3a415d0b
|
made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics.
|
2007-03-02 18:40:02 +00:00 |
Arvid Norberg
|
83c2039ff7
|
fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes
|
2007-03-02 01:16:59 +00:00 |
Arvid Norberg
|
7888b72e12
|
fix for crashes when stopping or restarting DHT
|
2007-02-25 09:42:43 +00:00 |
Arvid Norberg
|
b0ae8d3a14
|
tracker fixes for trackerless torrents
|
2007-02-21 17:15:47 +00:00 |
Arvid Norberg
|
4f86042b97
|
bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent
|
2007-02-19 23:06:20 +00:00 |
Arvid Norberg
|
9c0e9701d9
|
fix for bug in bandwidth throttler when limiting a torrent to lower than bandwidth block size. Fixed #ifndef related to DHT support
|
2007-02-19 00:01:39 +00:00 |
Arvid Norberg
|
16457e2280
|
fixed missing #ifdef
|
2007-02-18 18:28:07 +00:00 |
Arvid Norberg
|
320de0d8e6
|
fixed warning on msvc-8
|
2007-02-17 01:01:34 +00:00 |
Arvid Norberg
|
f795be7acf
|
made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed
|
2007-02-12 09:20:49 +00:00 |
Arvid Norberg
|
98b92e3f02
|
fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool
|
2007-02-12 05:46:29 +00:00 |
Arvid Norberg
|
d0ebdb2dee
|
added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog
|
2007-02-01 07:33:04 +00:00 |
Arvid Norberg
|
f14c84b01e
|
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
|
2007-01-29 07:39:33 +00:00 |
Arvid Norberg
|
69ef67d71e
|
made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit
|
2007-01-16 05:05:52 +00:00 |
Arvid Norberg
|
72e3f97607
|
added missing header
|
2007-01-10 17:16:55 +00:00 |
Arvid Norberg
|
87f7b186b0
|
replaced the bandwidth throttling code with a leaky bucket for better accuracy
|
2007-01-10 15:02:25 +00:00 |
Arvid Norberg
|
08e15e2f0c
|
updated Makefile for latest asio, fix in peer exchange, updated client_test output
|
2007-01-02 17:44:15 +00:00 |
Daniel Wallin
|
39b977973f
|
Added accessor functions for upload_rate_limit and download_rate_limit
|
2007-01-01 23:51:24 +00:00 |
Arvid Norberg
|
0f3874028b
|
added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session
|
2007-01-01 21:04:30 +00:00 |
Arvid Norberg
|
d58c6d2e31
|
fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused
|
2006-12-30 23:02:21 +00:00 |
Arvid Norberg
|
1b46fb9e1b
|
fixed an assert in teh web seed downloader
|
2006-12-21 02:44:00 +00:00 |
Arvid Norberg
|
3a7eeb3966
|
rewrote most of the web seed downloader to report its progress accurately (to prevent inconsistencies in the core). Not well tested with multi file torrents yet
|
2006-12-18 01:23:30 +00:00 |
Arvid Norberg
|
13facbdb83
|
added a strand for all async operations for thread safety
|
2006-12-15 17:47:21 +00:00 |
Arvid Norberg
|
fcf211378a
|
fixed http_tracker_connection to finally use the http-parser class (which also web_seed_connection uses). also fixed a case sensitivity issue with http header names.
|
2006-12-12 02:28:53 +00:00 |
Arvid Norberg
|
ef235faede
|
added MLDonkey to identify client, fixed a problem introduced with the recent piece_picker optimization, choked peers should now waste less bandwidth in the quota management.
|
2006-12-04 20:42:47 +00:00 |
Arvid Norberg
|
90feac8126
|
deallocates the piece picker when seeding, to free up unused memory
|
2006-12-04 12:20:34 +00:00 |
Arvid Norberg
|
947df91b20
|
improved support for multiple connections per ip
|
2006-11-30 11:56:19 +00:00 |
Arvid Norberg
|
ce9eed5ea1
|
fixed incorrectly named members of session_status, fixed compilation error in ut_pex, documentation updates
|
2006-11-28 18:18:37 +00:00 |
Arvid Norberg
|
b63c155c0d
|
added uTorrent Peer exchange support, implemented by MassaRoddel
|
2006-11-26 17:44:51 +00:00 |
Arvid Norberg
|
93b51d7652
|
more tweaks on quota management
|
2006-11-24 16:59:47 +00:00 |
Arvid Norberg
|
955a947863
|
added missing newline at the end of file
|
2006-11-24 14:27:14 +00:00 |
Arvid Norberg
|
c5cf290f49
|
more quota management fixes and more stats for web seeds
|
2006-11-24 14:22:52 +00:00 |
Arvid Norberg
|
1015864eeb
|
fixed division by zero problem in allocate_resources, removed incorrect asserts
|
2006-11-22 12:15:47 +00:00 |
Arvid Norberg
|
8e289bb233
|
improved logging and fixed glitch in quota management.
|
2006-11-21 15:51:28 +00:00 |
Arvid Norberg
|
68e8ea35ea
|
added logging of upload and download statistics, revised some of the quota management, added support for sessions to allocate_resources (patch by wojci)
|
2006-11-20 21:03:58 +00:00 |
Arvid Norberg
|
c52de08421
|
added more logging and modified the resource allocation algorithm. A new, looser, upload and download bandwidth limiter is now used, in order to be able to use more of the available bandwidth
|
2006-11-19 15:29:58 +00:00 |
Arvid Norberg
|
9c8f5327b5
|
fixed incorrect assert
|
2006-11-19 15:23:41 +00:00 |
Arvid Norberg
|
01f1d01d58
|
improved logging, fixed option to allow multiple connections from the same IP
|
2006-11-15 21:39:58 +00:00 |
Arvid Norberg
|
51e3261dd0
|
the file pool has been moved to the session and its size can be controlled via session_settings. Added untested option to allow multiple connections from the same IP.
|
2006-11-14 15:53:38 +00:00 |
Arvid Norberg
|
247b8ae443
|
removed temporary assert and factored file_pool out of storage to prepare for a per session file pool
|
2006-11-14 13:36:10 +00:00 |
Arvid Norberg
|
e35fc5c4be
|
refactored extensions and added a plugin interface. fixed file.cpp for windows
|
2006-11-14 00:08:16 +00:00 |
Arvid Norberg
|
8e876cab72
|
added asio.hpp to the distribution
|
2006-11-01 12:51:26 +00:00 |
Arvid Norberg
|
ed15b5989e
|
fixed warning on msvc8
|
2006-10-19 22:23:40 +00:00 |
Arvid Norberg
|
4d94c7574c
|
added default constructor to session_proxy
|
2006-10-15 13:46:52 +00:00 |
Arvid Norberg
|
892268aef4
|
updated changelog and added 0.11 release point
|
2006-10-14 08:15:57 +00:00 |
Arvid Norberg
|
c84e96898b
|
added workaround for incorrectly encoded paths in torrent files
|
2006-10-12 23:51:10 +00:00 |
Arvid Norberg
|
37541d4676
|
fixed incorrect include of standard header with .hpp-sufix
|
2006-10-12 20:42:58 +00:00 |
Arvid Norberg
|
40741a1626
|
added missing include of set.hpp
|
2006-10-12 19:24:38 +00:00 |
Arvid Norberg
|
f0519e86e8
|
separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async.
|
2006-10-11 14:02:21 +00:00 |
Arvid Norberg
|
8e0d7a3bc8
|
added msvc workarounds
|
2006-10-04 15:18:51 +00:00 |
Arvid Norberg
|
e50a7c10d2
|
updated Makefiles
|
2006-10-04 10:53:43 +00:00 |
Arvid Norberg
|
6856989cb8
|
added a test for allocate resources
|
2006-10-04 02:27:32 +00:00 |
Arvid Norberg
|
c687c428c4
|
removed incorrect asserts. added ip to the extension header. removed the mandatory libtorrent suffix on the user agent
|
2006-09-28 00:49:40 +00:00 |