1
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7
Added hidden select-least-used-host option.
8
* src/CreateRequestCommand.cc
9
* src/OptionHandlerFactory.cc
10
* src/TrackerWatcherCommand.cc
14
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
16
Updated doc for --split option.
19
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
21
Updated doc for --min-split-size option.
25
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
27
Added max-connection-per-server, min-split-size and
28
conditional-get option to -i list option and aria2rpc.
31
* src/download_helper.cc
33
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
36
* src/Sqlite3CookieParserImpl.cc
38
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
40
Fixed compile error with OSX g++ 4.0.1
42
* test/FileEntryTest.cc
44
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
46
Reverted default value of -j from 2 to 5.
48
* src/OptionHandlerFactory.cc
50
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
52
Metadata download may take very long time. If URIs are
53
available, give up metadata download in at most 30 seconds.
54
* src/Metalink2RequestGroup.cc
56
2010-07-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
58
Call RequestGroup::setForceHaltRequested(true) from
59
BtStopDownloadCommand to avoid long delay of tracker request.
60
* src/BtStopDownloadCommand.cc
62
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
64
Pass maxSplitSize as an argument, instead of member variable of
65
DefaultPieceStorage. SegmentMan::getSegment(cuid_t,size_t index)
66
was renamed to SegmentMan::getSegmentWithIndex(...)
67
* src/AbstractCommand.cc
68
* src/AbstractCommand.h
69
* src/DefaultPieceStorage.cc
70
* src/DefaultPieceStorage.h
71
* src/DownloadCommand.cc
72
* src/FtpNegotiationCommand.cc
73
* src/HttpResponseCommand.cc
78
* src/UnknownLengthPieceStorage.cc
79
* src/UnknownLengthPieceStorage.h
80
* test/MockPieceStorage.h
81
* test/SegmentManTest.cc
83
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
85
Removed prepareForRetry from CreateRequestCommand
86
* src/CreateRequestCommand.cc
87
* src/CreateRequestCommand.h
89
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
91
Set PREF_REUSE_URI=V_FALSE for tracker request.
92
* src/TrackerWatcherCommand.cc
94
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
96
Bump up version number to 1.10.0
100
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
102
Count the number of command used in HTTP(S)/FTP and the number of
103
connections in HTTP(S)/FTP independently. The former is used to
104
determin whether additional command is needed. The latter is used
105
to report user to how many connections are used in a download.
106
* src/AbstractCommand.cc
107
* src/AbstractCommand.h
108
* src/CreateRequestCommand.cc
109
* src/RequestGroup.cc
112
2010-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
114
Check status values: 200 and 206.
115
* src/HttpResponse.cc
117
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
119
Reverted previous change and fixed it in a right way.
120
* src/HttpDownloadCommand.cc
122
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
124
Make sure that all decoders are finished to pool socket
125
* src/HttpDownloadCommand.cc
127
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
129
Fixed indent of --conditional-get option.
132
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
134
Added --on-bt-download-complete=COMMAND option. For BitTorrent, a
135
command specified in --on-download-complete is called when
136
download completes and seeding is over. On the other hand, this
137
option set the command to be executed when download completes but
140
* src/DefaultPieceStorage.cc
141
* src/OptionHandlerFactory.cc
148
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
150
Updated doc of --split option.
153
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
155
Moved executeHook and executeHookByOptName to util.
156
* src/RequestGroupMan.cc
160
2010-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
162
Added --conditional-get option. Download file only when the local
163
file is older than remote file. This function only works with
164
HTTP(S) downloads only. It does not work if file size is specified
165
in Metalink. It also ignores Content-Disposition header. If a
166
control file exists, this option will be ignored. This function
167
uses If-Modified-Since header to get only newer file
168
conditionally. When getting modification time of local file, it
169
uses user supplied filename(see --out option) or filename part in
170
URI if --out is not specified.
176
* src/HttpRequestCommand.cc
177
* src/HttpResponse.cc
178
* src/HttpResponseCommand.cc
179
* src/OptionHandlerFactory.cc
185
* test/HttpResponseTest.cc
188
2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
190
FeedbackURISelector now tries to select URI whose host is least
191
used in aria2 globally. Reverted the previous change.
192
* src/AdaptiveURISelector.cc
193
* src/AdaptiveURISelector.h
194
* src/CreateRequestCommand.cc
195
* src/FeedbackURISelector.cc
196
* src/FeedbackURISelector.h
199
* src/InOrderURISelector.cc
200
* src/InOrderURISelector.h
201
* src/RequestGroupMan.cc
202
* src/RequestGroupMan.h
205
* test/FeedbackURISelectorTest.cc
206
* test/InOrderURISelectorTest.cc
208
2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
210
Prefer untested server in FeedbackURISelector
211
* src/FeedbackURISelector.cc
213
2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
215
Documented --min-split-size option in man page.
218
2010-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
220
Added --min-split-size=SIZE option. aria2 does not split less
221
than 2*SIZE byte range. For example, let's consider downloading
222
20MiB file. If SIZE is 10M, aria2 can split file into 2 range
223
[0-10MiB) and [10MiB-20MiB) and download it using 2 sources(if
224
--split >= 2, of course). If SIZE is 15M, since 2*15M > 20MiB,
225
aria2 does not split file and download it using 1 source.
228
* src/DefaultPieceStorage.cc
229
* src/DefaultPieceStorage.h
230
* src/OptionHandlerFactory.cc
231
* src/RequestGroup.cc
235
* test/BitfieldManTest.cc
236
* test/SegmentManTest.cc
238
2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
240
FeedbackURISelector now tries to chooses URI which is not used in
241
aria2 globally. If it is possible, it may return used URI.
242
* src/AdaptiveURISelector.cc
243
* src/AdaptiveURISelector.h
244
* src/CreateRequestCommand.cc
245
* src/FeedbackURISelector.cc
246
* src/FeedbackURISelector.h
249
* src/InOrderURISelector.cc
250
* src/InOrderURISelector.h
251
* src/RequestGroupMan.cc
252
* src/RequestGroupMan.h
254
* test/FeedbackURISelectorTest.cc
255
* test/InOrderURISelectorTest.cc
257
2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
259
Updated doc for options.
262
2010-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
264
Added --max-connection-per-server=NUM option. The default value of
265
NUM is 1. This option limits the number of connections allowed to
266
one server for each download. This means when NUM is 2 and 1 URI
267
is provided, even if you specified -s 5, aria2 establishes 2
268
connections. Default value of -j option is changed from 5 to 2.
269
* src/BtDependency.cc
270
* src/CreateRequestCommand.cc
273
* src/FtpNegotiationCommand.cc
274
* src/HttpResponseCommand.cc
275
* src/Metalink2RequestGroup.cc
276
* src/OptionHandlerFactory.cc
277
* src/TrackerWatcherCommand.cc
278
* src/download_helper.cc
282
* test/DownloadHelperTest.cc
283
* test/FileEntryTest.cc
285
2010-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
287
Set end byte in Range header if start byte > 0 to get more chance
289
* src/DefaultPieceStorage.cc
290
* src/DefaultPieceStorage.h
291
* src/DownloadCommand.cc
292
* src/HttpDownloadCommand.cc
295
* src/HttpRequestCommand.cc
297
* src/UnknownLengthPieceStorage.h
298
* test/DefaultPieceStorageTest.cc
299
* test/HttpRequestTest.cc
300
* test/MockPieceStorage.h
302
2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
304
Moved segment empty check before socket check.
305
* src/AbstractCommand.cc
307
2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
309
Fixed the bug that segments are not filled to
310
Request::getMaxPipelinedRequest().
311
Make sure that trailing data of transfer encoding is read propery,
312
after file data is received.
313
* src/AbstractCommand.cc
314
* src/DownloadCommand.cc
315
* src/DownloadCommand.h
316
* src/FtpDownloadCommand.cc
317
* src/FtpDownloadCommand.h
318
* src/HttpDownloadCommand.cc
319
* src/HttpDownloadCommand.h
321
2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
323
After change request to faster one, wait at least 10 seconds.
327
2010-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
329
Fixed ChunkedDecoder. It does not read trailer and final CRLF.
330
* src/ChunkedDecoder.cc
331
* src/ChunkedDecoder.h
332
* test/ChunkedDecoderTest.cc
334
2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
336
Removed unusable typedefs
337
* src/FileAllocationIterator.h
338
* src/MultiDiskAdaptor.cc
339
* src/MultiFileAllocationIterator.h
340
* src/SingleFileAllocationIterator.h
342
2010-07-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
344
Fixed the bug that DownloadContext::resetDownloadStartTime() never
345
be called in downloads whose total length is unknown. This causes
346
avg speed in Download Results is always 0 for these downloads.
347
* src/RequestGroup.cc
348
* src/BtFileAllocationEntry.cc
349
* src/StreamFileAllocationEntry.cc
351
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
353
Fixed the bug that AdaptiveFileAllocationIterator::finished()
354
returns false even if offset_ >= totalLength_. This causes
355
ftruncate error for seeding torrents.
356
* src/AdaptiveFileAllocationIterator.cc
358
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
360
Send each CWD component of FTP URI in separate CWD command as
361
described in RFC1738.
362
* src/FtpConnection.cc
363
* src/FtpConnection.h
364
* src/FtpInitiateConnectionCommand.cc
365
* src/FtpNegotiationCommand.cc
366
* src/FtpNegotiationCommand.h
367
* test/FtpConnectionTest.cc
369
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
371
Documented that aria2 supports Chromium/Google Chrom cookies file.
375
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
377
Fixed the bug that aria2 cannot handle %2F in FTP URI properly.
378
If directory component starts with %2F which percent-encode of
379
'/', client should issue CWD to absolute path, but aria2 does not
380
do that. It just issues relative path and download fails.
381
* src/FtpConnection.cc
382
* test/FtpConnectionTest.cc
384
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
386
Increased DOMAIN_EVICTION_TRIGGER to 2000
387
* src/CookieStorage.cc
388
* test/CookieStorageTest.cc
390
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
392
Added Chromium/Google Chrome Cookies file support. Thanks to
393
gotrunks for original patch.
394
* src/CookieStorage.cc
396
* src/Sqlite3CookieParser.cc
397
* src/Sqlite3CookieParser.h
398
* src/Sqlite3CookieParserImpl.cc
399
* src/Sqlite3CookieParserImpl.h
400
* src/Sqlite3MozCookieParser.cc: Removed
401
* src/Sqlite3MozCookieParser.h: Removed
403
* test/Sqlite3CookieParserTest.cc
404
* test/Sqlite3MozCookieParserTest.cc: Removed
405
* test/chromium_cookies.sqlite
407
2010-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
409
When allocating disk space, for Linux system with fallocate()
410
system call, first check file system supports fallocate. This
411
just run fallocate with small chunk and see it succeeds or fails.
412
If it succeeds, use fallocate() to allocate entire file otherwise
413
fall back to traditional slower method: writing zeros. This
414
behavior is enabled in --file-allocation=prealloc, so this is
415
enabled by default for most modern Linux.
417
* src/AbstractDiskWriter.cc
418
* src/AbstractDiskWriter.h
419
* src/AbstractSingleDiskAdaptor.cc
420
* src/AdaptiveFileAllocationIterator.cc
421
* src/AdaptiveFileAllocationIterator.h
422
* src/DefaultPieceStorage.cc
425
* src/FallocFileAllocationIterator.cc
427
* src/MultiFileAllocationIterator.cc
428
* src/OptionHandlerFactory.cc
429
* test/FallocFileAllocationIteratorTest.cc
432
2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
436
2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
438
Fixed compile error without ssl library.
439
* test/Metalink2RequestGroupTest.cc
441
2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
443
Fixed compiler warning without ssl library.
444
* src/DownloadEngineFactory.cc
446
2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
448
Bump up version number to 1.9.5
452
2010-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
454
Updated doc for aria2.addUri
457
2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
459
Don't set previousUri_ to "" on redirect.
460
* src/Request.cc: redirectUri()
462
2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
464
Return given hostname if hostname is numeric host.
465
* src/AbstractCommand.cc: resolveHostname()
467
2010-06-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
469
Fixed Peer::updateSeeder() to reflect current bitfield.
472
2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
477
2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
479
Removed unused getOverflow(). Added assertion in
480
PiecedSegment::updateWrittenLength() to check updated written
481
length does not exceed piece length.
483
* src/PiecedSegment.cc
484
* src/PiecedSegment.h
486
* test/SegmentTest.cc
488
2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
490
Return null if written length > 0 even if SegmentEntry->cuid
494
2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
496
Fixed compiler warning without bittorrent support
497
* src/RequestGroup.cc
499
2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
501
Run whole checksum check when download file name and size are
502
determined and download is already completed. Related to r2221.
503
Guarded ENABLE_MESSAGE_DIGEST where necessary.
504
* src/AbstractCommand.cc
505
* src/RequestGroup.cc
508
2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
510
Made log and log-level option modifiable using
511
aria2.changeGlobalOption. This means you can dynamically start or
512
stop logging and change log file and log level.
521
* src/SimpleLogFormatter.cc
522
* src/SimpleLogFormatter.h
523
* src/SimpleLogger.cc: Removed
524
* src/SimpleLogger.h: Removed
525
* src/XmlRpcMethod.cc
526
* src/XmlRpcMethodImpl.cc
529
2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
531
Request ut_metadata in end-game mode(in other words, more
533
* src/HandshakeExtensionMessage.cc
536
* src/PeerSessionResource.cc
537
* src/PeerSessionResource.h
538
* src/UTMetadataRequestFactory.cc
539
* test/UTMetadataRequestFactoryTest.cc
541
2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
543
Added missing parameter to log message.
544
* src/UTMetadataRequestFactory.cc
546
2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
548
Made test code not use /tmp
549
* test/CookieStorageTest.cc
550
* test/DirectDiskAdaptorTest.cc
551
* test/FallocFileAllocationIteratorTest.cc
552
* test/FileEntryTest.cc
554
* test/GZipDecoderTest.cc
555
* test/MultiDiskAdaptorTest.cc
556
* test/MultiFileAllocationIteratorTest.cc
557
* test/RequestGroupManTest.cc
558
* test/SignatureTest.cc
559
* test/SingleFileAllocationIteratorTest.cc
562
2010-06-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
564
Fixed that bug that when aria2 is stopped before whole hash
565
check(not piece hash check) is done, aria2 reports its file is
566
downloaded successfully. It should report the download is
567
in-progress and next invocation of aria2 should check hash.
568
* src/ChecksumCheckIntegrityEntry.cc
569
* src/DownloadCommand.cc
570
* src/DownloadContext.cc
571
* src/DownloadContext.h
572
* src/RequestGroup.cc
573
* src/RequestGroupMan.cc
575
2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
578
* src/PiecedSegment.cc
580
2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
582
Fixed the bug that corrups file if segment returned from
583
SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
584
* src/DownloadCommand.cc
587
* test/SegmentManTest.cc
589
2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
591
Changed naming standards for class member variable: now it looks
592
like var_ instead of _var.
594
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
596
When wrong type DHT reply message is received for a transaction
597
ID, assume the message timed out.
598
* src/DHTNodeLookupTaskCallback.cc
599
* src/DHTNodeLookupTaskCallback.h
600
* src/DHTPeerLookupTaskCallback.cc
601
* src/DHTPeerLookupTaskCallback.h
602
* src/DHTPingReplyMessageCallback.h
604
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
606
Removed PeerListProcessor. Its functionality is now moved to
608
* src/DefaultBtAnnounce.cc
610
* src/PeerListProcessor.h: Removed
611
* src/UTPexExtensionMessage.cc
612
* src/bittorrent_helper.cc
613
* src/bittorrent_helper.h
614
* test/BittorrentHelperTest.cc
616
* test/PeerListProcessorTest.cc: Removed
618
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
621
* src/LpdReceiveMessageCommand.cc
623
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
625
Moved non-trivial functions to *.cc file
629
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
631
Added separete *.cc files for exception classes.
636
* src/DownloadFailureException.cc
637
* src/DownloadFailureException.h
638
* src/FatalException.cc
639
* src/FatalException.h
641
* src/RecoverableException.cc
642
* src/RecoverableException.h
644
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
646
Moved non-trivial functions to *.cc file
647
* src/DownloadContext.cc
648
* src/DownloadContext.h
652
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
654
Removed unused contants
655
* src/bittorrent_helper.cc
656
* src/bittorrent_helper.h
658
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
660
Use auto_delete_container to delete created Command when exception
661
is thrown rather than deleting them in catch block.
662
* src/AbstractCommand.cc
663
* src/CheckIntegrityCommand.cc
665
* src/FileAllocationCommand.cc
666
* src/TrackerWatcherCommand.cc
669
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
671
Removed BDE and bencode
673
2010-06-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
675
Introduced ValueBase class, which is a replacement of BDE. In
676
this change ValueBase is used instead of BDE except DHT messages,
677
UTMetadata messages and XML-RPC. They'll be replaced in the later
678
commits. DownloadContext::_attrs is now ContextAttribute rather
680
* src/ActivePeerConnectionCommand.cc
681
* src/AnnounceList.cc
683
* src/BtDependency.cc
686
* src/ConsoleStatCalc.cc
687
* src/ContextAttribute.h
688
* src/DefaultBtAnnounce.cc
689
* src/DefaultBtInteractive.cc
690
* src/DownloadContext.cc
691
* src/DownloadContext.h
692
* src/HandshakeExtensionMessage.cc
693
* src/InitiateConnectionCommand.cc
694
* src/LpdReceiveMessageCommand.cc
695
* src/MSEHandshake.cc
698
* src/PeerInteractionCommand.cc
699
* src/PeerListProcessor.h
700
* src/ProtocolDetector.cc
701
* src/RequestGroup.cc
702
* src/RequestGroupMan.cc
703
* src/TorrentAttribute.h
704
* src/TrackerWatcherCommand.cc
705
* src/UTMetadataDataExtensionMessage.cc
706
* src/UTMetadataPostDownloadHandler.cc
707
* src/UTMetadataRequestExtensionMessage.cc
710
* src/XmlRpcMethodImpl.cc
711
* src/XmlRpcMethodImpl.h
714
* src/bittorrent_helper.cc
715
* src/bittorrent_helper.h
716
* src/download_helper.cc
719
* test/AnnounceListTest.cc
720
* test/Bencode2Test.cc
721
* test/BencodeTest.cc
722
* test/BittorrentHelperTest.cc
723
* test/BtDependencyTest.cc
724
* test/BtRegistryTest.cc
725
* test/DefaultBtAnnounceTest.cc
726
* test/DefaultBtProgressInfoFileTest.cc
727
* test/HandshakeExtensionMessageTest.cc
728
* test/MSEHandshakeTest.cc
732
* test/RequestGroupManTest.cc
733
* test/UTMetadataDataExtensionMessageTest.cc
734
* test/UTMetadataPostDownloadHandlerTest.cc
735
* test/UTMetadataRequestExtensionMessageTest.cc
736
* test/ValueBaseTest.cc
737
* test/XmlRpcMethodTest.cc
739
2010-06-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
741
Fixed assertion error if updateTransferStatFor is called with peer
742
X before calculateStat() after peer X is added.
743
* src/DefaultPeerStorage.cc
745
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
747
Rewritten DHTMessageCallback using Visitor pattern. Eliminated
748
dynamic_pointer_cast.
749
* src/DHTMessageCallbackImpl.cc: Removed
750
* src/DHTMessageReceiver.cc
751
* src/DHTAbstractNodeLookupTask.h
752
* src/DHTAnnouncePeerReplyMessage.h
753
* src/DHTReplaceNodeTask.h
754
* src/DHTFindNodeReplyMessage.cc
755
* src/DHTGetPeersReplyMessage.h
756
* src/DHTPeerLookupTask.h
757
* src/DHTMessageCallbackImpl.h: Removed
758
* src/DHTMessageFactory.h
759
* src/DHTNodeLookupTaskCallback.h
760
* src/DHTMessageTracker.h
761
* src/DHTMessageCallbackListener.h: Removed
762
* src/DHTGetPeersReplyMessage.cc
763
* src/DHTMessageCallback.h
764
* src/DHTAnnouncePeerReplyMessage.cc
765
* src/DHTNodeLookupTask.h
766
* src/DHTReplaceNodeTask.cc
767
* src/DHTPeerLookupTaskCallback.cc
768
* src/DHTMessageTracker.cc
769
* src/DHTPingReplyMessage.cc
771
* src/DHTMessageFactoryImpl.h
773
* src/DHTNodeLookupTask.cc
774
* src/DHTPeerLookupTaskCallback.h
775
* src/DHTPeerLookupTask.cc
776
* src/DHTMessageReceiver.h
777
* src/DHTMessageFactoryImpl.cc
778
* src/DHTResponseMessage.h
779
* src/DHTFindNodeReplyMessage.h
780
* src/DHTPingReplyMessageCallback.h
782
* src/DHTBucketRefreshTask.cc
783
* src/DHTNodeLookupTaskCallback.cc
785
* src/DHTPingReplyMessage.h
786
* src/DHTAbstractNodeLookupTask.cc: Removed
787
* test/DHTMessageTrackerTest.cc
788
* test/DHTPingMessageTest.cc
789
* test/DHTGetPeersMessageTest.cc
790
* test/MockDHTMessage.h
791
* test/MockDHTMessageFactory.h
792
* test/DHTFindNodeMessageTest.cc
793
* test/MockDHTMessageCallback.h
794
* test/DHTAnnouncePeerMessageTest.cc
796
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
798
Replaced dynamic_pointer_cast with static_pointer_cast
800
* src/DefaultBtMessageReceiver.cc
803
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
805
Reverted changes which deleted peerConnection from
806
DefaultBtInteractive.
807
* src/DefaultBtInteractive.cc
808
* src/DefaultBtInteractive.h
809
* src/PeerInteractionCommand.cc
811
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
813
Rewritten DHTRegistry
818
* src/PeerInteractionCommand.cc
819
* src/RequestGroup.cc
821
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
823
Renamed member variables of XmlRpcResponse
824
* src/XmlRpcMethodImpl.cc
825
* src/XmlRpcResponse.cc
826
* src/XmlRpcResponse.h
827
* test/XmlRpcMethodTest.cc
829
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
831
Renamed member variables
832
* src/HttpServerBodyCommand.cc
833
* src/XmlRpcMethodImpl.cc
834
* src/XmlRpcMethodImpl.h
835
* src/XmlRpcRequest.h
836
* test/XmlRpcMethodTest.cc
837
* test/XmlRpcRequestProcessorTest.cc
839
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
841
Made DownloadResult struct
842
* src/DownloadResult.h
844
* src/RequestGroupMan.h
845
* src/XmlRpcMethodImpl.h
847
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
849
Made DHTMessageEntry struct
850
* src/DHTMessageDispatcherImpl.cc
851
* src/DHTMessageDispatcherImpl.h
852
* src/DHTMessageEntry.cc
853
* src/DHTMessageEntry.h
855
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
857
Made DHTNodeLookupEntry struct
858
* src/DHTAbstractNodeLookupTask.cc
860
* src/DHTNodeLookupEntry.cc
861
* src/DHTNodeLookupEntry.h
862
* src/DHTPeerLookupTask.cc
863
* test/DHTIDCloserTest.cc
865
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
867
Renamed member variables
868
* src/ActivePeerConnectionCommand.cc
869
* src/BtLeecherStateChoke.cc
870
* src/BtPieceMessage.cc
871
* src/BtPortMessage.cc
872
* src/BtSeederStateChoke.cc
873
* src/DHTGetPeersReplyMessage.cc
874
* src/DefaultBtInteractive.cc
875
* src/DefaultPeerStorage.cc
876
* src/HandshakeExtensionMessage.cc
877
* src/LpdReceiveMessageCommand.cc
880
* src/PeerAbstractCommand.cc
881
* src/PeerInitiateConnectionCommand.cc
882
* src/PeerListenCommand.cc
883
* src/SimpleBtMessage.cc
884
* src/UTPexExtensionMessage.cc
885
* src/XmlRpcMethodImpl.cc
886
* test/DHTAnnouncePeerMessageTest.cc
887
* test/DHTGetPeersMessageTest.cc
888
* test/DHTGetPeersReplyMessageTest.cc
889
* test/DHTMessageFactoryImplTest.cc
890
* test/DHTPeerAnnounceEntryTest.cc
891
* test/DHTPeerAnnounceStorageTest.cc
892
* test/DefaultPeerStorageTest.cc
893
* test/HandshakeExtensionMessageTest.cc
894
* test/LpdMessageReceiverTest.cc
895
* test/PeerListProcessorTest.cc
897
* test/UTPexExtensionMessageTest.cc
899
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
901
Made DHTNode::getIPAddress() return const reference.
904
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
906
Renamed member variables
910
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
912
Made public member variable in Metalinker private
913
* src/MetalinkParserController.cc
916
* test/MetalinkParserControllerTest.cc
917
* test/MetalinkProcessorTest.cc
918
* test/MetalinkerTest.cc
920
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
922
Renamed member variables
925
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
927
Renamed member variables
928
* src/messageDigest.cc
929
* src/messageDigest.h
931
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
933
Made protected member variable private.
935
* src/XmlRpcMethodImpl.cc
937
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
939
Made protected member variable private.
940
* src/UTMetadataDataExtensionMessage.cc
941
* src/UTMetadataExtensionMessage.h
942
* src/UTMetadataRejectExtensionMessage.cc
943
* src/UTMetadataRequestExtensionMessage.cc
945
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
947
Renamed member variables
948
* src/TimeSeedCriteria.h
950
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
952
Renamed member variables
956
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
958
Renamed member variables
962
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
964
Renamed member variables in SegmentMan
965
* src/RequestGroup.cc
966
* src/RequestGroupMan.cc
969
* src/XmlRpcMethodImpl.cc
970
* test/BtDependencyTest.cc
972
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
974
Renamed member variables.
978
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
980
Renamed member variables.
984
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
986
Renamed member variables.
990
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
992
Renamed member variables.
995
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
997
Renamed member variables.
998
* src/PeerConnection.cc
999
* src/PeerConnection.h
1001
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1003
Renamed member variables.
1007
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1009
Renamed member variables.
1013
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1015
Renamed member variables.
1019
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1021
Renamed member variables.
1022
* src/HttpResponse.cc
1023
* src/HttpResponse.h
1025
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1027
Renamed member variables.
1028
* src/HttpRequest.cc
1031
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1033
Renamed member variables.
1037
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1039
Renamed member variables. Removed unused member variable.
1040
* src/AbstractProxyRequestCommand.cc
1041
* src/FtpInitiateConnectionCommand.cc
1042
* src/FtpNegotiationCommand.cc
1043
* src/HttpConnection.cc
1044
* src/HttpConnection.h
1045
* src/HttpInitiateConnectionCommand.cc
1047
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1049
Removed HandleRegistry
1050
* src/HandleRegistry.h
1053
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1055
Renamed member variables.
1056
* src/FtpConnection.cc
1057
* src/FtpConnection.h
1059
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1061
Renamed member variables.
1065
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1067
Renamed member variables.
1071
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1073
Made protected member variable private. Added accessor funcs.
1074
* src/BtPostDownloadHandler.cc
1075
* src/DownloadHandler.h
1076
* src/MetalinkPostDownloadHandler.cc
1078
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1080
Renamed member variables.
1081
* src/DownloadEngine.cc
1082
* src/DownloadEngine.h
1084
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1086
Renamed member variables.
1087
* src/DefaultPieceStorage.cc
1088
* src/DefaultPieceStorage.h
1090
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1092
Renamed member variables. Removed unused member variable.
1093
* src/DefaultPeerStorage.cc
1094
* src/DefaultPeerStorage.h
1095
* src/RequestGroup.cc
1096
* test/DefaultPeerStorageTest.cc
1098
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1100
Renamed member variables. Removed unused member variable.
1101
* src/DefaultBtRequestFactory.cc
1102
* src/DefaultBtRequestFactory.h
1103
* src/PeerInteractionCommand.cc
1105
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1107
Renamed member variables. Removed unused member variables.
1108
* src/DefaultBtMessageReceiver.cc
1109
* src/DefaultBtMessageReceiver.h
1110
* src/PeerInteractionCommand.cc
1112
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1114
Renamed member variables
1115
* src/DefaultBtMessageFactory.cc
1116
* src/DefaultBtMessageFactory.h
1118
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1120
Renamed member variables
1121
* src/DefaultBtMessageDispatcher.cc
1122
* src/DefaultBtMessageDispatcher.h
1124
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1126
Renamed member variables. Removed member variable peerConnection.
1127
* src/DefaultBtInteractive.cc
1128
* src/DefaultBtInteractive.h
1129
* src/PeerInteractionCommand.cc
1131
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1133
Renamed member variables
1134
* src/DefaultBtAnnounce.cc
1135
* src/DefaultBtAnnounce.h
1137
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1139
Made protected member variable private. Added accessor funcs.
1140
* src/DHTAbstractNodeLookupTask.cc
1141
* src/DHTAbstractNodeLookupTask.h
1142
* src/DHTAbstractTask.h
1143
* src/DHTBucketRefreshTask.cc
1144
* src/DHTNodeLookupTask.cc
1145
* src/DHTNodeLookupTask.h
1146
* src/DHTPeerLookupTask.cc
1147
* src/DHTPeerLookupTask.h
1148
* src/DHTPingTask.cc
1150
* src/DHTReplaceNodeTask.cc
1151
* src/DHTReplaceNodeTask.h
1153
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1155
Made protected member variable private. Added accessor funcs.
1156
* src/DHTAbstractMessage.cc
1157
* src/DHTAbstractMessage.h
1158
* src/DHTAnnouncePeerMessage.cc
1159
* src/DHTAnnouncePeerMessage.h
1160
* src/DHTAnnouncePeerReplyMessage.cc
1161
* src/DHTAnnouncePeerReplyMessage.h
1162
* src/DHTFindNodeMessage.cc
1163
* src/DHTFindNodeMessage.h
1164
* src/DHTFindNodeReplyMessage.cc
1165
* src/DHTFindNodeReplyMessage.h
1166
* src/DHTGetPeersMessage.cc
1167
* src/DHTGetPeersMessage.h
1168
* src/DHTGetPeersReplyMessage.cc
1169
* src/DHTGetPeersReplyMessage.h
1171
* src/DHTPingMessage.cc
1172
* src/DHTPingMessage.h
1173
* src/DHTPingReplyMessage.cc
1174
* src/DHTPingReplyMessage.h
1175
* src/DHTQueryMessage.cc
1176
* src/DHTQueryMessage.h
1177
* src/DHTResponseMessage.cc
1178
* src/DHTResponseMessage.h
1179
* src/DHTUnknownMessage.cc
1180
* src/DHTUnknownMessage.h
1181
* test/MockDHTMessage.h
1183
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1185
Removed unused member variable uuid and uuidGen
1189
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1191
Renamed member variables
1192
* src/ByteArrayDiskWriter.cc
1193
* src/ByteArrayDiskWriter.h
1195
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1197
Renamed member variables
1200
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1202
Renamed member variables
1203
* src/BtHandshakeMessage.cc
1204
* src/BtHandshakeMessage.h
1206
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1208
Renamed member variables
1209
* src/BtBitfieldMessageValidator.h
1210
* src/BtHandshakeMessageValidator.h
1211
* src/BtPieceMessageValidator.h
1213
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1215
Renamed member variables
1216
* src/BtAbortOutstandingRequestEvent.h
1217
* src/BtCancelSendingPieceEvent.h
1219
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1221
Renamed member variable
1222
* src/BitfieldMan.cc
1225
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1227
Renamed member variable
1228
* src/AsyncNameResolver.cc
1229
* src/AsyncNameResolver.h
1231
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1233
Renamed member variable
1234
* src/AnnounceList.cc
1235
* src/AnnounceList.h
1237
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1239
Made protected member variable private. Added accessor funcs.
1240
* src/AbstractSingleDiskAdaptor.cc
1241
* src/AbstractSingleDiskAdaptor.h
1242
* src/DirectDiskAdaptor.cc
1243
* src/DirectDiskAdaptor.h
1244
* src/DiskAdaptor.cc
1246
* src/MultiDiskAdaptor.cc
1247
* src/MultiDiskAdaptor.h
1248
* src/MultiFileAllocationIterator.cc
1249
* src/MultiFileAllocationIterator.h
1250
* test/BtBitfieldMessageTest.cc
1251
* test/BtHaveAllMessageTest.cc
1252
* test/BtHaveMessageTest.cc
1254
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1256
Made protected member variable private. Added accessor funcs.
1257
* src/AbstractDiskWriter.cc
1258
* src/AbstractDiskWriter.h
1260
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1262
Made protected member variable private. Added accessor funcs.
1263
* src/AbstractAuthResolver.h
1264
* src/DefaultAuthResolver.cc
1265
* src/DefaultAuthResolver.h
1266
* src/NetrcAuthResolver.cc
1267
* src/NetrcAuthResolver.h
1269
2010-06-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1271
Made protected member variable private. Added accessor funcs.
1272
* src/AbstractBtMessage.cc
1273
* src/AbstractBtMessage.h
1274
* src/BtAllowedFastMessage.cc
1275
* src/BtAllowedFastMessage.h
1276
* src/BtBitfieldMessage.cc
1277
* src/BtBitfieldMessage.h
1278
* src/BtCancelMessage.cc
1279
* src/BtCancelMessage.h
1280
* src/BtChokeMessage.cc
1281
* src/BtChokeMessage.h
1282
* src/BtExtendedMessage.cc
1283
* src/BtHaveAllMessage.cc
1284
* src/BtHaveAllMessage.h
1285
* src/BtHaveMessage.cc
1286
* src/BtHaveMessage.h
1287
* src/BtHaveNoneMessage.cc
1288
* src/BtHaveNoneMessage.h
1289
* src/BtInterestedMessage.cc
1290
* src/BtInterestedMessage.h
1291
* src/BtNotInterestedMessage.cc
1292
* src/BtNotInterestedMessage.h
1293
* src/BtPieceMessage.cc
1294
* src/BtPieceMessage.h
1295
* src/BtPortMessage.cc
1296
* src/BtPortMessage.h
1297
* src/BtRejectMessage.cc
1298
* src/BtRejectMessage.h
1299
* src/BtRequestMessage.cc
1300
* src/BtRequestMessage.h
1301
* src/BtUnchokeMessage.cc
1302
* src/BtUnchokeMessage.h
1303
* src/SimpleBtMessage.cc
1304
* src/SimpleBtMessage.h
1306
2010-06-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1308
Made protected member variable private. Added accessor funcs.
1309
* src/BtCheckIntegrityEntry.cc
1310
* src/BtFileAllocationEntry.cc
1311
* src/CheckIntegrityEntry.cc
1312
* src/CheckIntegrityEntry.h
1313
* src/ChecksumCheckIntegrityEntry.cc
1314
* src/FileAllocationEntry.cc
1315
* src/PieceHashCheckIntegrityEntry.cc
1316
* src/RequestGroupEntry.h
1317
* src/StreamCheckIntegrityEntry.cc
1318
* src/StreamFileAllocationEntry.cc
1320
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1322
Made protected member variable private. Added accessor funcs.
1323
* src/ActivePeerConnectionCommand.cc
1324
* src/ActivePeerConnectionCommand.h
1325
* src/CheckIntegrityDispatcherCommand.cc
1326
* src/DHTEntryPointNameResolveCommand.h
1327
* src/DHTInteractionCommand.h
1328
* src/FileAllocationDispatcherCommand.cc
1329
* src/LpdReceiveMessageCommand.h
1330
* src/PeerChokeCommand.cc
1331
* src/PeerChokeCommand.h
1332
* src/PeerListenCommand.cc
1333
* src/PeerListenCommand.h
1334
* src/SeedCheckCommand.cc
1335
* src/SeedCheckCommand.h
1336
* src/SequentialDispatcherCommand.h
1337
* src/SleepCommand.cc
1338
* src/SleepCommand.h
1339
* src/TrackerWatcherCommand.cc
1340
* src/TrackerWatcherCommand.h
1342
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1344
Made protected member variable private. Added accessor funcs.
1345
* src/CheckIntegrityCommand.cc
1346
* src/FileAllocationCommand.cc
1347
* src/RealtimeCommand.h
1349
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1351
Made protected member variable private. Added accessor funcs.
1352
* src/AutoSaveCommand.cc
1353
* src/BtStopDownloadCommand.cc
1354
* src/DHTAutoSaveCommand.cc
1355
* src/DHTBucketRefreshCommand.cc
1356
* src/DHTPeerAnnounceCommand.cc
1357
* src/DHTTokenUpdateCommand.cc
1358
* src/HaveEraseCommand.cc
1359
* src/TimeBasedCommand.h
1360
* src/TimedHaltCommand.cc
1362
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1364
Made protected member variable private. Added accessor funcs.
1365
* src/InitiatorMSEHandshakeCommand.cc
1366
* src/PeerAbstractCommand.cc
1367
* src/PeerAbstractCommand.h
1368
* src/PeerInitiateConnectionCommand.cc
1369
* src/PeerInteractionCommand.cc
1370
* src/PeerInteractionCommand.h
1371
* src/PeerReceiveHandshakeCommand.cc
1372
* src/ReceiverMSEHandshakeCommand.cc
1374
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1377
* src/AbstractCommand.cc
1379
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1381
Made protected member variable private. Added accessor funcs.
1382
* src/AbstractCommand.cc
1383
* src/AbstractCommand.h
1384
* src/AbstractProxyRequestCommand.cc
1385
* src/AbstractProxyRequestCommand.h
1386
* src/AbstractProxyResponseCommand.cc
1387
* src/AbstractProxyResponseCommand.h
1388
* src/CreateRequestCommand.cc
1389
* src/DownloadCommand.cc
1390
* src/DownloadCommand.h
1391
* src/FtpDownloadCommand.cc
1392
* src/FtpDownloadCommand.h
1393
* src/FtpFinishDownloadCommand.cc
1394
* src/FtpInitiateConnectionCommand.cc
1395
* src/FtpNegotiationCommand.cc
1396
* src/FtpNegotiationCommand.h
1397
* src/FtpTunnelRequestCommand.cc
1398
* src/FtpTunnelResponseCommand.cc
1399
* src/HttpDownloadCommand.cc
1400
* src/HttpInitiateConnectionCommand.cc
1401
* src/HttpProxyRequestCommand.cc
1402
* src/HttpProxyResponseCommand.cc
1403
* src/HttpRequestCommand.cc
1404
* src/HttpResponseCommand.cc
1405
* src/HttpResponseCommand.h
1406
* src/HttpSkipResponseCommand.cc
1407
* src/InitiateConnectionCommand.cc
1409
2010-06-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1411
Made protected member variables of Command private. Added accessor
1414
2010-06-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1416
Made public member variables of DownloadEngine private. Added
1419
2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1423
2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1425
Updated Italian translation. Added Korean translation.
1426
Thanks to all translators.
1431
2010-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1433
Updated po templates.
1436
2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1438
Fixed the bug that reading Metalink from pipe fails on older
1439
libxml2. It only accepts "-" as a special keyword to read stdin.
1440
* src/XML2SAXMetalinkProcessor.cc
1442
2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1444
Added log message when cookies are loaded. Added filename to log
1445
message when serializing session.
1446
* src/MultiUrlRequestInfo.cc
1448
2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1450
Treat SIGHUP and SIGTERM signal as emergency shutdown because they
1451
are usually issued by system or other process.
1452
* src/MultiUrlRequestInfo.cc
1454
2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1456
Use downloadresultcode::IN_PROGRESS for
1457
RequestGroup::SHUTDOWN_SIGNAL.
1458
* src/RequestGroup.cc
1460
2010-06-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1462
Call requestForceHalt() instead of _requestGroupMan->forceHalt().
1463
* src/DownloadEngine.cc
1465
2010-06-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1467
Mentioned RFC 5854 in README and man page.
1471
2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1473
Bump up version number to 1.9.4
1477
2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1479
Don't throw exception when Metalink document is empty(no file
1480
element). It is a valid Metalink document anyway.
1481
* src/MetalinkHelper.cc
1482
* src/download_helper.cc
1484
2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1486
Fixed double memory free when Exception raised from
1487
AbstractCommand::prepareForNextAction() called by
1488
HttpResponseCommand::handleDefaultEncoding().
1489
* src/AbstractCommand.cc
1490
* src/HttpResponseCommand.cc
1492
2010-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1494
Added _logger->info() guard
1495
* src/IteratableChunkChecksumValidator.cc
1497
2010-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1499
Fixed the bug that feeding Metalink XML via pipe (-M- option) does
1500
not work when aria2 is built with expat. Fixed the bug that when
1501
Metalink XML is fed via pipe and --save-session is used, entry
1502
"/dev/stdin" is saved in session file.
1503
* src/ExpatMetalinkProcessor.cc
1504
* src/ExpatMetalinkProcessor.h
1505
* src/Metalink2RequestGroup.cc
1507
2010-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1512
2010-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1514
Added totalLength, completedLength, uploadLength, bitfield,
1515
downloadSpeed, uploadSpeed, infoHash, numSeeders, pieceLength,
1516
numPieces, connections and dir to the response of
1517
aria2.tellStopped XML-RPC method. aria2.tellWaiting now always
1518
returns numSeeders for BitTorrent download.
1519
* src/DownloadResult.h
1520
* src/RequestGroup.cc
1521
* src/RequestGroup.h
1522
* src/XmlRpcMethodImpl.cc
1523
* test/XmlRpcMethodTest.cc
1525
2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1527
Fixed the bug that connection pooling does not take into account
1528
proxy. This means that when connection A via proxy X is pooled,
1529
it will be wrongly reused in the download using proxy Y.
1530
* src/DownloadEngine.cc
1531
* src/DownloadEngine.h
1532
* src/FtpFinishDownloadCommand.cc
1533
* src/FtpInitiateConnectionCommand.cc
1534
* src/FtpNegotiationCommand.cc
1535
* src/HttpDownloadCommand.cc
1536
* src/HttpInitiateConnectionCommand.cc
1537
* src/HttpResponseCommand.cc
1538
* src/HttpSkipResponseCommand.cc
1540
2010-05-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1542
Fixed the bug that FTP download may fail when control connection
1543
is reused. This happens because FTP server can offer different
1544
root directory for different account. If pooled connections has
1545
different root directory, then download will fail.
1546
* src/DownloadEngine.cc
1547
* src/DownloadEngine.h
1548
* src/FtpConnection.cc
1549
* src/FtpConnection.h
1550
* src/FtpFinishDownloadCommand.cc
1551
* src/FtpInitiateConnectionCommand.cc
1552
* src/FtpNegotiationCommand.cc
1554
2010-05-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1556
Removed DownloadResult's ctor because it has many args.
1557
* src/DownloadResult.h
1558
* src/RequestGroup.cc
1559
* test/XmlRpcMethodTest.cc
1561
2010-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1564
* src/RequestGroupMan.cc
1565
* src/UTMetadataPostDownloadHandler.cc
1566
* src/XmlRpcMethodImpl.cc
1568
2010-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1570
Store both whole checksum and piece hash in metalink file.
1571
Dispatch whole checksum verification only when piece hash is not
1573
* src/DownloadCommand.cc
1574
* src/Metalink2RequestGroup.cc
1575
* test/Metalink2RequestGroupTest.cc
1577
2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1579
Left only IANA hash function textual name in messageDigest.cc.
1580
Assign only IANA hash function textual name to Checksum and
1581
ChunkChecksum. Fixed the value of MessageDigestContext::MD5.
1583
* src/MetalinkParserController.cc
1584
* src/messageDigest.cc
1585
* src/messageDigest.h
1586
* test/IteratableChecksumValidatorTest.cc
1587
* test/IteratableChunkChecksumValidatorTest.cc
1588
* test/MessageDigestHelperTest.cc
1589
* test/Metalink2RequestGroupTest.cc
1590
* test/MetalinkProcessorTest.cc
1592
2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1594
Fixed typo in log message
1595
* src/AbstractCommand.cc
1597
2010-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1601
2010-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1603
Return const reference.
1604
* src/DefaultPieceStorage.h
1605
* src/DownloadContext.h
1606
* src/FeatureConfig.cc
1607
* src/FeatureConfig.h
1608
* src/OptionParser.cc
1609
* src/OptionParser.h
1610
* src/SimpleRandomizer.cc
1611
* src/SimpleRandomizer.h
1613
2010-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1615
Bump up version number to 1.9.3.
1618
2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1620
Return const reference.
1621
* src/LpdMessageReceiver.h
1622
* src/LpdReceiveMessageCommand.h
1624
2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1626
Removed useless pathJoin
1627
* src/MetalinkParserController.cc
1629
2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1631
Fixed the bug that name attribute of file element in Metalink file
1632
is not properly sanitized.
1633
* src/Metalink2RequestGroup.cc
1634
* src/MetalinkParserController.cc
1636
* test/Metalink2RequestGroupTest.cc
1637
* test/metalink4-dosdirtraversal.xml
1639
2010-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1641
Fixed the bug that if filename in Content-Disposition header
1642
includes ';', aria2 cuts filename after ';'.
1646
2010-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1650
2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1652
Fixed compiler warning on opensolaris.
1653
* src/StringFormat.h
1656
2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1659
* test/array_funTest.cc
1661
2010-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1663
Fixed segmentation fault when running unit tests on opensolaris.
1665
* src/bittorrent_helper.cc
1667
2010-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1669
Updated Russian translation. Thanks to all translators.
1672
2010-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1674
Updated po templates.
1677
2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1679
Print warning when trying to add file descriptor >= FD_SET or < 0
1680
to fd_set for other than MinGW32 build. For MinGW32 build, print
1681
warning when trying to add file descriptor to fd_set when it
1682
already contains FD_SET file descriptors.
1683
* src/SelectEventPoll.cc
1686
2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1688
Updated doc for --event-poll option.
1691
2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1693
Bump up version number to 1.9.2
1697
2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1699
Defined FD_SETSIZE 1024 for MinGW32.
1702
2010-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1704
Fixed compile error on the system which lacks poll()
1705
* src/DownloadEngineFactory.cc
1707
2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1709
In SocketCore::isReadable()/isWritable(), use poll() if it is
1710
available otherwise use select(). Removed epoll/port from there
1711
because poll() does the good enough job for single socket event
1717
2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1719
Added kqueue support. We use poll() for
1720
SocketCore::isReadable()/isWritable() when kqueue is used.
1722
* src/DownloadEngineFactory.cc
1723
* src/KqueueEventPoll.cc
1724
* src/KqueueEventPoll.h
1727
* src/OptionHandlerFactory.cc
1732
2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1734
Added missing timespec.h to SRCS
1737
2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1739
Fixed the bug that aria2.unpause fails with -s1.
1741
* src/XmlRpcMethodImpl.cc
1743
2010-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1745
Added missing #ifdef HAVE_PORT_ASSOCIATE
1746
* src/DownloadEngineFactory.cc
1748
2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1750
Added opensolaris port_associate() support.
1751
* src/DownloadEngineFactory.cc
1753
* src/OptionHandlerFactory.cc
1754
* src/PortEventPoll.cc
1755
* src/PortEventPoll.h
1763
2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1765
Fixed the bug that _e is passed where e should be passed.
1766
* src/HttpListenCommand.cc
1768
2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1770
Increased _epEvents size if necessary.
1771
* src/EpollEventPoll.cc
1772
* src/EpollEventPoll.h
1774
2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1776
Removed EventRType template parameter
1777
* src/EpollEventPoll.cc
1778
* src/EpollEventPoll.h
1780
* src/PollEventPoll.cc
1781
* src/PollEventPoll.h
1783
2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1785
Use Event in EpollEventPoll
1786
* src/EpollEventPoll.cc
1787
* src/EpollEventPoll.h
1789
2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1791
Externalized Event, CommandEvent, ADNSEvent, SocketEntry and
1792
AsyncNameResolverEntry class.
1795
* src/PollEventPoll.cc
1796
* src/PollEventPoll.h
1798
2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1800
Supported poll() for socket event notification. --event-poll can
1801
take value "poll". Fixed the bug that timeout for
1802
SocketCore::isReadable()/isWritable() is ignored when epoll is
1804
* src/OptionHandlerFactory.cc
1810
* src/PollEventPoll.h
1812
* src/DownloadEngineFactory.cc
1813
* src/PollEventPoll.cc
1817
2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1819
Reverted previous change to DownloadCommand.cc with additional
1821
* src/DownloadCommand.cc
1823
2010-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1825
Fixed compile error with openssl 1.1.0 and mingw32.
1826
* src/AsyncNameResolver.cc
1834
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1838
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1840
Bump up version number to 1.9.0
1843
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1845
Updated Ukrainian, Russian, Simplified Chinese, German and Greek
1846
translation. Thanks to all translators.
1853
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1855
Added AC_SEARCH_LIBS for inet_aton on opensolaris. opensolaris
1856
needs -lnsl for inet_aton.
1859
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1861
Updated po templates.
1864
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1866
Added aria2.pause, aria2.forcePause, aria2.pauseAll,
1867
aria2.forcePauseAll, aria2.unpause, aria2.unpauseAll XML-RPC
1869
* doc/xmlrpc/aria2rpc
1871
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1873
Use elapsed time between two mach_absolute_time() calls.
1874
Fixed compile error in Mac OS X.
1875
* src/clock_gettime_osx.cc
1878
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1880
Implemented clock_gettime() using mach_absolute_time in Mac OS X.
1884
* src/clock_gettime_osx.cc
1885
* src/clock_gettime_osx.h
1887
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1889
Implemented clock_gettime() using timeGetTime in mingw.
1893
* src/clock_gettime_mingw.cc
1894
* src/clock_gettime_mingw.h
1898
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1900
Ensure that std::ofstream is destroyed before renaming.
1901
* src/SessionSerializer.cc
1904
2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1906
Fixed the bug that user specified path is escaped using
1907
util::escapePath() where it should not.
1908
* src/DownloadContext.cc
1909
* src/DownloadContext.h
1911
2010-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1913
Hold reference to PieceStorage when paused in order to provide
1914
progress information via XML-RPC.
1915
* src/RequestGroup.cc
1916
* src/RequestGroup.h
1917
* src/RequestGroupMan.cc
1919
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1921
Defined struct timespec if it is not available.
1924
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1926
Added missing serialize_session.meta4 to EXTRA_DIST
1929
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1931
Fixed compile error without BitTorrent support.
1932
* src/Metalink2RequestGroup.cc
1934
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1936
Fixed compile error on Mac OS X
1939
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1941
Added warning for the system which lacks clock_gettime with
1943
* src/MultiUrlRequestInfo.cc
1947
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1949
Removed redundant method call for DownloadEngine.
1950
* src/DownloadCommand.cc
1952
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1954
Fixed the bug that hash check hangs when aria2.pause is issued
1955
while aria2 is checking piece hashes. Fixed the bug that the
1956
download is paused after file allocation completion even if
1957
aria2.pause is issued during file allocation.
1958
* src/CheckIntegrityCommand.cc
1959
* src/FileAllocationCommand.cc
1961
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1963
Added nsl to search-libs for getaddrinfo on opensolaris
1966
2010-04-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1968
Fixed compile error on opensolaris
1973
2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1975
Added aria2.pauseAll, aria2.forcePauseAll and aria2.unpauseAll
1978
* src/XmlRpcMethodFactory.cc
1979
* src/XmlRpcMethodImpl.cc
1980
* src/XmlRpcMethodImpl.h
1981
* test/XmlRpcMethodTest.cc
1983
2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1985
Added aria2.forcePause XML-RPC command.
1986
* src/XmlRpcMethodFactory.cc
1987
* src/XmlRpcMethodImpl.cc
1988
* src/XmlRpcMethodImpl.h
1990
2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
1992
Use global::wallclock
1994
* src/DHTMessageTrackerEntry.cc
1995
* src/DHTMessageTrackerEntry.h
1996
* src/DefaultBtInteractive.cc
1998
* src/PeerAbstractCommand.cc
2001
* src/TimeBasedCommand.cc
2003
2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2005
Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
2006
usable to prevent from aria2 from being affected by system time
2009
2010-04-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2011
Added aria2.pause and aria2.unpause XML-RPC method. aria2.pause
2012
pauses the download denoted by gid. gid is of type string. The
2013
status of paused download becomes "paused" and the download is
2014
placed on the first position of waiting queue. As long as the
2015
status is "paused", the download is not started. To change status
2016
to "waiting", use aria2.unpause method. This method returns GID of
2017
paused download. aria2.unpause changes the status of the download
2018
denoted by gid from "paused" to "waiting". This makes the download
2019
eligible to restart. gid is of type string. This method returns
2020
GID of unpaused download.
2022
* src/DownloadContext.cc
2024
* src/OptionHandlerFactory.cc
2025
* src/RequestGroup.cc
2026
* src/RequestGroup.h
2027
* src/RequestGroupMan.cc
2028
* src/XmlRpcMethodFactory.cc
2029
* src/XmlRpcMethodImpl.cc
2030
* src/XmlRpcMethodImpl.h
2035
2010-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2037
Added --save-session=FILE option. This option saves
2038
error/unfinished downloads to FILE on exit. You can pass this
2039
output file to aria2c with -i option on restart. Please note that
2040
downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC
2041
method are not saved.
2042
* src/BtPostDownloadHandler.cc
2043
* src/DownloadResult.h
2045
* src/MetadataInfo.cc
2046
* src/MetadataInfo.h
2047
* src/Metalink2RequestGroup.cc
2048
* src/MetalinkPostDownloadHandler.cc
2049
* src/MultiUrlRequestInfo.cc
2050
* src/OptionHandlerFactory.cc
2051
* src/RequestGroup.cc
2052
* src/RequestGroup.h
2053
* src/SessionSerializer.cc
2054
* src/SessionSerializer.h
2055
* src/UTMetadataPostDownloadHandler.cc
2056
* src/download_helper.cc
2057
* src/download_helper.h
2062
* test/SessionSerializerTest.cc
2063
* test/XmlRpcMethodTest.cc
2064
* test/serialize_session.meta4
2066
2010-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2068
Fixed the bug that FTP data connection is not established via
2069
proxy when --ftp-proxy is defined and --ftp-pasv=true and
2070
--proxy-method=tunnel.
2071
* src/AbstractCommand.cc
2072
* src/AbstractCommand.h
2073
* src/FtpNegotiationCommand.cc
2074
* src/FtpNegotiationCommand.h
2075
* src/InitiateConnectionCommand.cc
2077
2010-04-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2079
Updated po templates.
2082
2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2084
Bump up version number to 1.9.1
2087
2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2089
Added shutdown and forceShutdown to aria2rpc
2090
* doc/xmlrpc/aria2rpc
2092
2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2094
Changed error message.
2095
* src/XmlRpcMethod.cc
2097
2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2099
Added bt-tracker-timeout, bt-tracker-connect-timeout,
2100
always-resume, max-resume-failure-tries and http-accept-gzip to -i
2103
* doc/xmlrpc/aria2rpc
2104
* src/download_helper.cc
2106
2010-04-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2108
Fixed the bug that web-seed URI is not percent-encoded.
2109
* src/a2functional.h
2110
* src/bittorrent_helper.cc
2111
* test/BittorrentHelperTest.cc
2112
* test/url-list-multiFile.torrent
2113
* test/url-list-singleFileEndsWithSlash.torrent
2115
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2117
Added aria2.shutdown and aria2.forceShutdown XML-RPC method.
2118
These methods, as their name implies, shutdown aria2. These
2119
methods are useful for Windows because it lacks signal mechanism.
2121
* src/TimedHaltCommand.cc
2122
* src/XmlRpcMethodFactory.cc
2123
* src/XmlRpcMethodImpl.cc
2124
* src/XmlRpcMethodImpl.h
2126
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2128
Added forceHalt argument to TimedHaltCommand.
2129
Added requestForceHalt() to DownloadEngine.
2130
* src/DownloadEngine.cc
2131
* src/DownloadEngine.h
2132
* src/TimedHaltCommand.cc
2133
* src/TimedHaltCommand.h
2135
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2137
Possible fix for chunked encoding with Content-Length.
2138
* src/HttpResponseCommand.cc
2140
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2142
Don't send "Accept: default, gzip" by default. This is because
2143
some server responds with "Content-Encoding: gzip" for files which
2144
itself is gzipped file and aria2 inflates them. This is a problem
2145
if user don't want to inflate the file. Apparently this is server
2146
configuration error, but I cannot do anything about this. So turn
2147
this off. Added --http-accept-gzip option. If true is given to
2148
this option, aria2 sends 'Accept: deflate, gzip' request header
2149
and inflates response if remote server responds with
2150
'Content-Encoding: gzip' or 'Content-Encoding: deflate'. This
2151
indicates we removed extension tgz hack in order not to inflate
2152
files with tgz extensions.
2154
* src/HttpRequest.cc
2156
* src/HttpRequestCommand.cc
2157
* src/HttpResponseCommand.cc
2158
* src/OptionHandlerFactory.cc
2162
* test/HttpRequestTest.cc
2164
2010-04-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2167
"application/metalink4+xml,application/metalink+xml" in Accept
2168
header for web-seeding URIs and tracker request.
2169
* src/Metalink2RequestGroup.cc
2170
* src/TrackerWatcherCommand.cc
2171
* src/download_helper.cc
2175
2010-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2177
Added download_helper.{cc,h} to SRCS
2181
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2183
Added --dht-message-timeout option.
2185
* src/DHTConstants.h
2186
* src/DHTMessageDispatcherImpl.cc
2187
* src/DHTMessageDispatcherImpl.h
2188
* src/DHTMessageTracker.cc
2189
* src/DHTMessageTracker.h
2190
* src/DHTReplaceNodeTask.h
2192
* src/DHTTaskFactoryImpl.cc
2193
* src/DHTTaskFactoryImpl.h
2194
* src/OptionHandlerFactory.cc
2198
* test/DHTMessageTrackerTest.cc
2200
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2202
Added --bt-tracker-connect-timeout and --bt-tracker-timeout
2205
* src/OptionHandlerFactory.cc
2206
* src/TrackerWatcherCommand.cc
2211
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2213
Documented that specifying --seed-time=0 disables seeding after
2217
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2222
2010-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2224
Drop connection if same Peer ID has been already seen.
2225
* src/DefaultBtInteractive.cc
2227
2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2229
Fixed the bug that waiting download unintentionally starts when
2230
URIs are added to it using aria2.changeUri XML-RPC method. This
2231
also fixes the bug that causes segmentation fault when adding URIs
2232
to waiting download, which is a regression introduced by the
2233
previous change made to src/XmlRpcMethodImpl.cc
2234
* src/XmlRpcMethodImpl.cc
2236
2010-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2238
Fixed compile error with g++-4.4 on FreeBSD.
2241
2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2243
Fixed the bug that added URI using aria2.changeUri XML-RPC method
2244
is not used immediately if there is no URIs remaining before
2245
calling aria2.changeUri and the number of connection is less than
2246
the value in -s(or -C for Metalink downloads).
2247
* src/XmlRpcMethodImpl.cc
2249
2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2251
Documented --always-resume and --max-resume-failure-tries option
2252
and exit status 8 in man page. Fixed typo.
2254
* src/OptionHandlerFactory.cc
2256
2010-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2258
Added --always-resume and --max-resume-failure-tries option. If
2259
--always-resume=false is given, when all given URIs does not
2260
support resume or aria2 encounters N URIs which does not support
2262
(N is the value specified using --max-resume-failure-tries
2263
option), aria2 download file from scratch. The default behavior
2264
is --always-resume=true, which means if all URIs do not support
2265
resume, download fails. I think this is OK because user normally
2266
don't like to see that partially downloaded file is
2267
overwritten(this is particularly true if file size is big). This
2268
option is useful when aria2 is used as download backend and
2269
graceful falling back to overwritten behavior is preferable.
2270
Added exit status value 8, which means download failed because
2271
server did not support resume.
2272
* src/AbstractCommand.cc
2273
* src/DefaultPieceStorage.cc
2274
* src/DownloadCommand.cc
2275
* src/DownloadResultCode.h
2277
* src/FtpNegotiationCommand.cc
2278
* src/HttpResponse.cc
2279
* src/HttpResponseCommand.cc
2280
* src/OptionHandlerFactory.cc
2281
* src/RequestGroup.cc
2282
* src/RequestGroup.h
2288
* test/DefaultPieceStorageTest.cc
2289
* test/SegmentManTest.cc
2291
2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2293
Added --remove-control-file option to -i list options.
2295
* doc/xmlrpc/aria2rpc
2296
* src/download_helper.cc
2298
2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2300
Added --remove-control-file option. This option removes control
2301
file(*.aria2 file) before download. Using with
2302
--allow-overwrite=true, download always starts from scratch. This
2303
will be useful for users behind proxy server which disables
2304
resume. For such proxy user, -C1 is also recommended for Metalink
2305
downloads to avoid establishing unnecessary connections.
2307
* src/OptionHandlerFactory.cc
2308
* src/RequestGroup.cc
2313
2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2315
Removed arrayLength. Defined A2_ARRAY_LEN as macro to calculate
2316
size of array at compile time.
2318
* test/BitfieldManTest.cc
2319
* test/BtPortMessageTest.cc
2320
* test/DHTRoutingTableDeserializerTest.cc
2321
* test/DHTRoutingTableSerializerTest.cc
2322
* test/DownloadHelperTest.cc
2323
* test/LongestSequencePieceSelectorTest.cc
2324
* test/MultiDiskAdaptorTest.cc
2325
* test/OptionParserTest.cc
2326
* test/PriorityPieceSelectorTest.cc
2327
* test/array_funTest.cc
2329
2010-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2331
Added vbegin() and vend() for fixed sized array.
2332
* src/DownloadHandlerConstants.cc
2333
* src/FeatureConfig.cc
2334
* src/OptionHandlerFactory.cc
2337
* src/XmlRpcMethod.cc
2339
* src/download_helper.cc
2340
* src/messageDigest.cc
2342
* test/BittorrentHelperTest.cc
2343
* test/DHTRoutingTableDeserializerTest.cc
2344
* test/DHTRoutingTableSerializerTest.cc
2345
* test/DefaultBtAnnounceTest.cc
2346
* test/DefaultBtProgressInfoFileTest.cc
2347
* test/DownloadContextTest.cc
2348
* test/DownloadHelperTest.cc
2349
* test/FeatureConfigTest.cc
2350
* test/FeedbackURISelectorTest.cc
2351
* test/HttpRequestTest.cc
2352
* test/InOrderURISelectorTest.cc
2353
* test/MSEHandshakeTest.cc
2354
* test/MultiDiskAdaptorTest.cc
2355
* test/MultiFileAllocationIteratorTest.cc
2356
* test/PriorityPieceSelectorTest.cc
2357
* test/RequestGroupManTest.cc
2359
* test/XmlRpcMethodTest.cc
2360
* test/a2algoTest.cc
2361
* test/array_funTest.cc
2363
2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2365
Simplified code using lastByteMask
2366
* src/BitfieldMan.cc
2367
* src/PieceStatMan.cc
2369
2010-03-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2371
Rewritten lastByteMask
2374
2010-03-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2376
Redefined the maximum length of buffer used for HTTP header.
2377
* src/HttpHeaderProcessor.cc
2379
2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2382
* src/SleepCommand.cc
2384
2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2386
Do exact match if IP address is specified in --no-proxy.
2387
* src/AbstractCommand.cc
2389
2010-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2391
Fixed the bug that socket is added to EventPoll object twice. This
2392
is because derived class FtpFinishDownloadCommand adds socket to
2393
EventPoll object while base class AbstractCommand does that
2395
* src/FtpFinishDownloadCommand.cc
2396
* src/FtpFinishDownloadCommand.h
2398
2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2400
Defined gid_t as int64_t.
2401
* src/BtDependency.cc
2402
* src/BtStopDownloadCommand.cc
2403
* src/FtpNegotiationCommand.cc
2404
* src/HttpResponseCommand.cc
2405
* src/RequestGroup.cc
2406
* src/RequestGroup.h
2407
* src/RequestGroupMan.cc
2408
* src/TrackerWatcherCommand.cc
2409
* src/XmlRpcMethodImpl.cc
2411
* test/XmlRpcMethodTest.cc
2413
2010-03-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2415
Defined cuid_t as int64_t. Removed texts containing "CUID#%D" from
2416
translatable texts because it is used in log and debugging
2418
* src/AbstractCommand.cc
2419
* src/ActivePeerConnectionCommand.cc
2420
* src/BtPieceMessage.cc
2422
* src/CheckIntegrityCommand.cc
2423
* src/CheckIntegrityDispatcherCommand.cc
2425
* src/CreateRequestCommand.cc
2426
* src/DHTEntryPointNameResolveCommand.cc
2427
* src/DefaultBtInteractive.cc
2428
* src/DefaultBtMessageDispatcher.cc
2429
* src/DownloadCommand.cc
2430
* src/FileAllocationCommand.cc
2431
* src/FileAllocationDispatcherCommand.cc
2432
* src/FtpConnection.cc
2433
* src/FtpInitiateConnectionCommand.cc
2434
* src/FtpNegotiationCommand.cc
2435
* src/HttpConnection.cc
2436
* src/HttpInitiateConnectionCommand.cc
2437
* src/HttpListenCommand.cc
2438
* src/HttpResponse.cc
2439
* src/HttpServerBodyCommand.cc
2440
* src/HttpServerCommand.cc
2441
* src/HttpServerResponseCommand.cc
2442
* src/InitiateConnectionCommand.cc
2443
* src/InitiatorMSEHandshakeCommand.cc
2444
* src/MSEHandshake.cc
2445
* src/PeerAbstractCommand.cc
2446
* src/PeerConnection.cc
2447
* src/PeerInitiateConnectionCommand.cc
2448
* src/PeerInteractionCommand.cc
2449
* src/PeerListenCommand.cc
2450
* src/PeerReceiveHandshakeCommand.cc
2452
* src/SimpleBtMessage.cc
2453
* src/TrackerWatcherCommand.cc
2456
2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2458
Use gid_t type for gid.
2461
* src/DownloadResult.h
2462
* src/RequestGroup.cc
2463
* src/RequestGroup.h
2464
* src/RequestGroupMan.cc
2465
* src/RequestGroupMan.h
2466
* src/XmlRpcMethodImpl.cc
2468
2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2470
Use cuid_t type for cuid.
2472
2010-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2474
Added v key in DHT message. aria2's DHT version is independent of
2475
the package version and we defined it as 1 at the moment. It is
2476
defined as DHT_VERSION in src/DHTConstants.h. aria2's DHT version
2477
scheme is "A2"+2bytes DHT version number in network byte order.
2478
* src/DHTAbstractMessage.cc
2479
* src/DHTConstants.h
2482
* src/DHTMessageFactoryImpl.cc
2483
* src/DHTQueryMessage.cc
2484
* src/DHTResponseMessage.cc
2486
* test/DHTAnnouncePeerMessageTest.cc
2487
* test/DHTAnnouncePeerReplyMessageTest.cc
2488
* test/DHTFindNodeMessageTest.cc
2489
* test/DHTFindNodeReplyMessageTest.cc
2490
* test/DHTGetPeersMessageTest.cc
2491
* test/DHTGetPeersReplyMessageTest.cc
2492
* test/DHTPingMessageTest.cc
2493
* test/DHTPingReplyMessageTest.cc
2495
2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2497
Fixed the bug that value of numSeeders in aria2.tellStatus XML-RPC
2498
method response is integer, while manual says it is string. When
2499
peer's port is not listening port, set '0' to port in
2500
aria2.getPeers response.
2501
* src/XmlRpcMethodImpl.cc
2503
2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2505
Lines starting "#" in -i list are treated as comments.
2508
http://example.org/file
2509
http://example.org/file2
2514
* src/UriListParser.cc
2515
* test/filelist1.txt
2517
2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2519
Accept IPv4 network address with CIDR block in --no-proxy option
2520
and no_proxy environment variable. Current implementation does
2521
not resolve hostname in URI to compare network address. So it is
2522
only effecive if URI has numeric IP addresses.
2524
* src/AbstractCommand.cc
2525
* src/OptionHandlerFactory.cc
2531
* test/bitfieldTest.cc
2533
2010-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2535
Reduced interval for metadatagetmode to quickly gather metadata.
2538
2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2542
2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2544
Updated po templates.
2547
2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2552
2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2554
Documented about Metalink4 and LPD in README
2557
2010-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2559
Few adjustment for timeouts in DHT. DHT message timeout is changed
2560
from 15 to 10. The interval of PeerLookup is first 5 seconds and
2561
it adds another 5 seconds in each retry.
2562
* src/DHTConstants.h
2563
* src/DHTGetPeersCommand.cc
2564
* src/DHTGetPeersCommand.h
2566
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2568
Changed log level from error to info for DHT message send error.
2569
* src/DHTMessageDispatcherImpl.cc
2571
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2573
Inspect all xt in magnet to find urn:btih.
2574
* src/bittorrent_helper.cc
2575
* test/BittorrentHelperTest.cc
2577
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2579
Use global option for DHTSetup.
2582
* src/RequestGroup.cc
2584
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2586
Added bt-enable-lpt, reuse-uri
2587
and {http,https,ftp,all}-proxy-{user,passwd} options to -i list
2590
* doc/xmlrpc/aria2rpc
2591
* src/download_helper.cc
2593
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2595
Use global option for PREF_LISTEN_PORT and PREF_BT_LPD_INTERFACE.
2598
2010-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2600
Resurrected --http-proxy-user and --http-proxy-passwd option.
2601
Added --https-proxy-user, --https-proxy-passwd, --ftp-proxy-user,
2602
--ftp-proxy-passwd, --all-proxy-user, --all-proxy-passwd option.
2604
* src/OptionHandlerFactory.cc
2605
* src/OptionHandlerImpl.h
2609
* test/OptionHandlerTest.cc
2611
2010-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2613
Updated Russian and Simplified Chinese translation. Thanks to all
2618
2010-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2620
Updated po templates.
2623
2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2625
For LPD sockets, bind IN_ADDRANY because binding multicast address
2626
fails under Windows.
2627
* src/LpdMessageReceiver.cc
2628
* test/LpdMessageDispatcherTest.cc
2630
2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2632
Fixed the bug that error message is not propagated to Exception.
2635
2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2637
Documented --bt-lpd-interface option in man page.
2640
2010-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2642
Bump up version number to 1.9.0
2645
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2647
Fixed the bug that FillRequestGroupCommand is not invoked when
2648
RequestGroupMan::createInitialCommand() creates no Command object.
2649
* src/FillRequestGroupCommand.cc
2650
* src/RequestGroupMan.cc
2652
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2658
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2660
Fixed unit test error with mingw32 build.
2661
* test/LpdMessageReceiverTest.cc
2663
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2665
Updated automake-1.11.1
2667
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2669
Fixed compile error and unit test error without openssl and
2671
* src/MetalinkParserController.cc
2672
* test/MetalinkProcessorTest.cc
2674
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2676
Fixed unitest fails if openssl doesn't support sha-256.
2677
* src/MetalinkParserStateV4Impl.cc
2678
* test/MetalinkProcessorTest.cc
2680
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2682
Wait until message arrives(again)
2683
* test/LpdMessageReceiverTest.cc
2685
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2687
Added missing wallclock.h to SRCS.
2690
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2692
Fixed compile error with --disable-bittorrent
2693
* test/Metalink2RequestGroupTest.cc
2694
* test/MetalinkParserControllerTest.cc
2696
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2698
Added --reuse-uri option. This option has existed quite long, but
2701
* src/OptionHandlerFactory.cc
2704
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2706
Ignore filename parameter if it contains directory traversal
2711
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2713
urldecode -> percentDecode
2714
* src/FtpConnection.cc
2715
* src/FtpNegotiationCommand.cc
2716
* src/HttpResponse.cc
2723
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2725
urlencode -> percentEncode,
2726
torrentUrlencode -> torrentPercentEncode
2727
* src/BtHandshakeMessage.cc
2728
* src/BtHandshakeMessageValidator.h
2729
* src/DHTMessageFactoryImpl.cc
2730
* src/DefaultBtAnnounce.cc
2731
* src/HandshakeExtensionMessage.cc
2732
* src/HttpRequest.cc
2733
* src/XmlRpcMethodImpl.cc
2734
* src/bittorrent_helper.cc
2737
* test/DHTAnnouncePeerMessageTest.cc
2738
* test/DHTGetPeersMessageTest.cc
2739
* test/DHTGetPeersReplyMessageTest.cc
2740
* test/UTPexExtensionMessageTest.cc
2743
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2745
Fixed the bug that filename is percent encoded where it must be
2746
percent decoded in sendMdtm().
2747
* src/FtpConnection.cc
2748
* test/FtpConnectionTest.cc
2750
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2752
url -> uri in Request class.
2753
* src/AbstractCommand.cc
2754
* src/AdaptiveURISelector.cc
2755
* src/DefaultBtAnnounce.cc
2756
* src/FeedbackURISelector.cc
2760
* src/HttpResponse.cc
2761
* src/InitiateConnectionCommandFactory.cc
2762
* src/Metalink2RequestGroup.cc
2763
* src/OptionHandlerImpl.h
2764
* src/ProtocolDetector.cc
2767
* src/XmlRpcMethodImpl.cc
2768
* test/AuthConfigFactoryTest.cc
2769
* test/FtpConnectionTest.cc
2770
* test/HttpRequestTest.cc
2771
* test/HttpResponseTest.cc
2772
* test/RequestTest.cc
2774
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2776
Added getServers XML-RPC method.
2779
* src/XmlRpcMethodFactory.cc
2780
* src/XmlRpcMethodImpl.cc
2781
* src/XmlRpcMethodImpl.h
2783
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2785
Pool request when download finished.
2786
* src/DownloadCommand.cc
2788
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2790
Made 'fileIndex' parameter in aria2.changeUri XML-RPC method
2793
* src/XmlRpcMethodImpl.cc
2794
* test/XmlRpcMethodTest.cc
2796
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2798
Call RequestGroupMan::requestQueueCheck() when
2799
max-concurrent-downloads option is changed or new downloads are
2800
added/inserted into reserved list.
2801
* src/RequestGroupMan.cc
2802
* src/XmlRpcMethodImpl.cc
2804
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2806
Added aria2.forceRemove XML-RPC method.
2808
* src/XmlRpcMethodFactory.cc
2809
* src/XmlRpcMethodImpl.cc
2810
* src/XmlRpcMethodImpl.h
2812
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2815
* src/AbstractCommand.cc
2817
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2819
Create CreateRequestCommand to the number of -s/-C when URIs are
2821
* src/RequestGroup.cc
2822
* src/RequestGroup.h
2823
* src/XmlRpcMethodImpl.cc
2825
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2827
Added 'status' key to the response of getUri XML-RPC method.
2829
* src/XmlRpcMethodImpl.cc
2831
2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2833
Replaced Time::reset() call with assigning of global::wallclock.
2834
* src/BtLeecherStateChoke.cc
2835
* src/BtSeederStateChoke.cc
2836
* src/PeerSessionResource.cc
2837
* src/RequestSlot.cc
2841
2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2843
Added changeUri XML-RPC method. This method removes/adds URIs
2846
* src/AbstractCommand.cc
2847
* src/DownloadContext.cc
2848
* src/DownloadContext.h
2853
* src/RequestGroup.cc
2854
* src/RequestGroupMan.cc
2855
* src/XmlRpcMethodFactory.cc
2856
* src/XmlRpcMethodImpl.cc
2857
* src/XmlRpcMethodImpl.h
2858
* test/FileEntryTest.cc
2859
* test/XmlRpcMethodTest.cc
2861
2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2863
Rewritten copy ctor of RequestSlot to use initialization list.
2866
2010-03-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2868
Added Time global::wallclock to cache "current time" to reduce the
2869
call gettimeofday(). Global variables are now in namespace global.
2870
* src/AbstractCommand.cc
2871
* src/ActivePeerConnectionCommand.cc
2872
* src/AdaptiveURISelector.cc
2873
* src/BtLeecherStateChoke.cc
2874
* src/BtLeecherStateChoke.h
2875
* src/BtSeederStateChoke.cc
2876
* src/BtSeederStateChoke.h
2877
* src/BtStopDownloadCommand.cc
2878
* src/ConsoleStatCalc.cc
2880
* src/DHTGetPeersCommand.cc
2881
* src/DHTMessageTrackerEntry.cc
2883
* src/DHTPeerAnnounceEntry.cc
2884
* src/DHTPeerAnnounceStorage.cc
2886
* src/DefaultBtAnnounce.cc
2887
* src/DefaultBtInteractive.cc
2888
* src/DefaultBtMessageDispatcher.cc
2889
* src/DefaultPeerStorage.cc
2890
* src/DefaultPieceStorage.cc
2891
* src/DownloadCommand.cc
2892
* src/DownloadEngine.cc
2894
* src/HttpServerBodyCommand.cc
2895
* src/HttpServerCommand.cc
2896
* src/HttpServerResponseCommand.cc
2897
* src/LpdMessageDispatcher.cc
2898
* src/MultiUrlRequestInfo.cc
2901
* src/PeerAbstractCommand.cc
2903
* src/RequestSlot.cc
2906
* src/ServerStatMan.cc
2907
* src/SleepCommand.cc
2912
* src/TimeBasedCommand.cc
2913
* src/TimeSeedCriteria.h
2914
* src/UTMetadataRequestTracker.h
2915
* src/UTPexExtensionMessage.cc
2918
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2920
Fixed the bug that util::itos(INT64_MIN) fails.
2925
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2927
Fixed memory leak in SocketBuffer when _bufq is not empty when
2928
SocketBuffer is deleted. Added BufEntry constructor and deleted
2929
static factory functions.
2930
* src/SocketBuffer.cc
2931
* src/SocketBuffer.h
2933
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2935
Only execute RequestGroupMan::fillRequestGroupFromReserver() when
2936
queue maintenance is requested by RequestGroup to avoid to call
2937
the function unnecessarily.
2938
* src/FillRequestGroupCommand.cc
2939
* src/RequestGroup.cc
2940
* src/RequestGroup.h
2941
* src/RequestGroupMan.cc
2942
* src/RequestGroupMan.h
2944
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2946
Don't use hash for Peer::id. Simple concatenation of ip address
2951
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2953
Enclosed log of DHTMessage::toString() with Logger::info().
2954
* src/DHTMessageDispatcherImpl.cc
2955
* src/DHTMessageReceiver.cc
2957
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2959
Rewritten util::toHex().
2962
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2964
Removed SocketBuffer::feedAndSend(). Renamed
2965
SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr().
2966
* src/FtpConnection.cc
2967
* src/HttpConnection.cc
2969
* src/MSEHandshake.cc
2970
* src/PeerConnection.cc
2971
* src/SocketBuffer.cc
2972
* src/SocketBuffer.h
2974
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2976
Removed unused PeerConnection::sendMessage(). Updated doc.
2977
* src/PeerConnection.cc
2978
* src/PeerConnection.h
2980
2010-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
2982
Reduced copying/std::string instantiation in sending/receiving
2983
BitTorrent messages.
2984
* src/BtBitfieldMessage.cc
2985
* src/BtBitfieldMessage.h
2986
* src/BtExtendedMessage.cc
2987
* src/BtExtendedMessage.h
2988
* src/BtHandshakeMessage.cc
2989
* src/BtHandshakeMessage.h
2990
* src/BtKeepAliveMessage.cc
2991
* src/BtKeepAliveMessage.h
2992
* src/BtPieceMessage.cc
2993
* src/BtPieceMessage.h
2994
* src/BtPortMessage.cc
2995
* src/BtPortMessage.h
2996
* src/BtUnchokeMessage.h
2997
* src/DefaultBtMessageReceiver.cc
2998
* src/IndexBtMessage.cc
2999
* src/IndexBtMessage.h
3000
* src/PeerConnection.cc
3001
* src/PeerConnection.h
3002
* src/RangeBtMessage.cc
3003
* src/RangeBtMessage.h
3004
* src/SimpleBtMessage.cc
3005
* src/SimpleBtMessage.h
3006
* src/SocketBuffer.cc
3007
* src/SocketBuffer.h
3008
* src/ZeroBtMessage.cc
3009
* src/ZeroBtMessage.h
3010
* test/BtAllowedFastMessageTest.cc
3011
* test/BtBitfieldMessageTest.cc
3012
* test/BtCancelMessageTest.cc
3013
* test/BtChokeMessageTest.cc
3014
* test/BtExtendedMessageTest.cc
3015
* test/BtHandshakeMessageTest.cc
3016
* test/BtHaveAllMessageTest.cc
3017
* test/BtHaveMessageTest.cc
3018
* test/BtHaveNoneMessageTest.cc
3019
* test/BtInterestedMessageTest.cc
3020
* test/BtKeepAliveMessageTest.cc
3021
* test/BtNotInterestedMessageTest.cc
3022
* test/BtPieceMessageTest.cc
3023
* test/BtPortMessageTest.cc
3024
* test/BtRejectMessageTest.cc
3025
* test/BtRequestMessageTest.cc
3026
* test/BtSuggestPieceMessageTest.cc
3027
* test/BtUnchokeMessageTest.cc
3029
2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3031
Rewritten SocketBuffer. Old implementation uses single std::string
3032
to store data and erase sent data, which is costly. New
3033
implementation uses deque to hold each data to avoid to mutate
3035
* src/SocketBuffer.cc
3036
* src/SocketBuffer.h
3038
2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3040
Removed unused FileEntry::extracted
3044
2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3046
Wait until data arrives.
3047
* test/LpdMessageReceiverTest.cc
3049
2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3051
In Metalink4, if size element contains invalid size, discard whole
3052
document. Added strict hash value check for metalink3/4.
3053
* src/MetalinkParserController.cc
3054
* src/MetalinkParserStateMachine.cc
3055
* src/MetalinkParserStateMachine.h
3056
* src/MetalinkParserStateV3Impl.cc
3057
* src/MetalinkParserStateV4Impl.cc
3060
* test/MetalinkParserControllerTest.cc
3061
* test/MetalinkProcessorTest.cc
3062
* test/metalink4.xml
3064
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3066
Added strict attribute validation for metalink4. When
3067
specification violation is found, discard the whole document.
3068
* src/ExpatMetalinkProcessor.cc
3069
* src/MetalinkParserStateMachine.cc
3070
* src/MetalinkParserStateMachine.h
3071
* src/MetalinkParserStateV4Impl.cc
3072
* src/XML2SAXMetalinkProcessor.cc
3074
* test/MetalinkProcessorTest.cc
3075
* test/metalink4-attrs.xml: Removed
3076
* test/metalink4-dirtraversal.xml: Removed
3078
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3080
Added test for Metaurl transaction.
3081
* src/MetalinkParserController.cc
3082
* test/MetalinkParserControllerTest.cc
3084
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3086
Avoid costly BtMessage::toString() if info level log is not
3088
* src/DefaultBtInteractive.cc
3090
* src/SimpleBtMessage.cc
3092
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3094
Reserved vector elements based on profiler results.
3095
* src/DefaultBtInteractive.cc
3096
* src/DefaultBtProgressInfoFile.cc
3098
2010-03-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3100
Avoid to calculate end() iterator in each loop. std::deque is
3101
particularly slow. Make sure that recalculate end iterator if
3102
element is erased during loop.
3104
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3106
Use vector instead of deque for containers which is used for
3107
mostly read-only purpose.
3109
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3114
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3116
Added metalink4-groupbymetaurl.xml to EXTRA_DIST
3119
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3121
Small optimization: In updateTransferStatFor(), don't search peer
3123
* src/DefaultPeerStorage.cc
3125
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3127
Use vector instead of deque for MetalinkEntry and MetalinkResource
3129
* src/Metalink2RequestGroup.cc
3130
* src/Metalink2RequestGroup.h
3131
* src/MetalinkEntry.cc
3132
* src/MetalinkEntry.h
3133
* src/MetalinkHelper.cc
3134
* src/MetalinkHelper.h
3138
* test/MetalinkEntryTest.cc
3139
* test/MetalinkHelperTest.cc
3140
* test/MetalinkProcessorTest.cc
3141
* test/MetalinkerTest.cc
3143
2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3145
Fixed the bug that grouped FileEntry objects are not used but
3146
instead all FileEntry objects are used for each metaurl group.
3147
* src/Metalink2RequestGroup.cc
3148
* test/Metalink2RequestGroupTest.cc
3149
* test/metalink4-groupbymetaurl.xml
3151
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3153
Use vector instead of deque for ChunkChecksum.
3154
* src/ChunkChecksum.h
3155
* src/MetalinkParserController.cc
3156
* src/MetalinkParserController.h
3158
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3160
Added MessageDigest::isStronger(). Now aria2 selects stronger hash
3161
algorithm in Metalink properly
3162
* src/MetalinkParserController.cc
3163
* src/MetalinkParserController.h
3164
* src/messageDigest.cc
3165
* src/messageDigest.h
3166
* test/MetalinkProcessorTest.cc
3167
* test/metalink4.xml
3169
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3171
Replaced null or control characters in file path with '_'. For
3172
MinGW32 build, additional characters which is not allowed in
3173
Windows kernel are also replaced. util::detectDirTraversal() now
3174
returns true if given string contains null or control characters.
3175
* src/DownloadContext.cc
3176
* src/DownloadContext.h
3177
* src/Metalink2RequestGroup.cc
3178
* src/MetalinkParserController.cc
3179
* src/bittorrent_helper.cc
3184
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3186
Discard metalink:file if its name attribute is empty string.
3187
Removed FileEntry instantiation in
3188
MetalinkParserController::setFileLengthOfEntry()
3189
* src/MetalinkParserController.cc
3190
* src/MetalinkParserStateV3Impl.cc
3191
* src/MetalinkParserStateV4Impl.cc
3193
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3195
Discard torrent file if path data in it contains directory
3196
traversal directives. Discard metalink:file element in Metalink3
3197
format if its name attribute contains directory traversal
3198
directives. Ignore name attribute of metalink:signature element
3199
in Metalink3 format if it contains directory traversal directives.
3200
* src/MetalinkParserStateV3Impl.cc
3201
* src/bittorrent_helper.cc
3203
* test/BittorrentHelperTest.cc
3205
* test/MetalinkProcessorTest.cc
3206
* test/metalink3-dirtraversal.xml
3209
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3211
Removed useless comment
3212
* src/MetalinkParserStateV4Impl.cc
3214
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3216
Supported name attribute of metalink::metaurl element and
3217
multi-file torrent with Metalink4. Files with same metaurl are
3218
grouped and downloaded in one RequestGroup.
3219
* src/BtDependency.cc
3221
* src/Metalink2RequestGroup.cc
3222
* src/Metalink2RequestGroup.h
3223
* src/MetalinkEntry.cc
3224
* src/MetalinkEntry.h
3225
* src/MetalinkHelper.cc
3226
* src/MetalinkHelper.h
3227
* src/MetalinkMetaurl.cc
3228
* src/MetalinkMetaurl.h
3229
* src/MetalinkParserController.cc
3230
* src/RequestGroup.cc
3231
* src/RequestGroup.h
3232
* src/bittorrent_helper.cc
3233
* test/BittorrentHelperTest.cc
3234
* test/BtDependencyTest.cc
3235
* test/MetalinkHelperTest.cc
3237
2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3239
Store name attribute of metalink:metaurl element in MetalinkMetaurl.
3240
* src/MetalinkMetaurl.h
3241
* src/MetalinkParserController.cc
3242
* src/MetalinkParserController.h
3243
* src/MetalinkParserStateMachine.cc
3244
* src/MetalinkParserStateMachine.h
3245
* src/MetalinkParserStateV4Impl.cc
3246
* test/MetalinkProcessorTest.cc
3247
* test/metalink4-dirtraversal.xml
3249
2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3251
Added MetalinkMetaurl class. It corresponds to metalink:metaurl
3254
* src/Metalink2RequestGroup.cc
3255
* src/MetalinkEntry.cc
3256
* src/MetalinkEntry.h
3257
* src/MetalinkMetaurl.cc
3258
* src/MetalinkMetaurl.h
3259
* src/MetalinkParserController.cc
3260
* src/MetalinkParserController.h
3261
* src/MetalinkParserStateMachine.cc
3262
* src/MetalinkParserStateMachine.h
3263
* src/MetalinkParserStateV4Impl.cc
3264
* src/MetalinkParserStateV4Impl.h
3265
* test/MetalinkProcessorTest.cc
3267
2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3269
Added Metalink4 support. Currently, name attribute of
3270
metalink::metaurl is ignored and multi-file torrent cannot be used
3273
* src/DownloadHandlerConstants.cc
3274
* src/ExpatMetalinkProcessor.cc
3276
* src/Metalink2RequestGroup.cc
3277
* src/MetalinkEntry.cc
3278
* src/MetalinkEntry.h
3279
* src/MetalinkParserController.cc
3280
* src/MetalinkParserController.h
3281
* src/MetalinkParserState.h
3282
* src/MetalinkParserStateImpl.cc
3283
* src/MetalinkParserStateImpl.h
3284
* src/MetalinkParserStateMachine.cc
3285
* src/MetalinkParserStateMachine.h
3286
* src/MetalinkParserStateV3Impl.cc
3287
* src/MetalinkParserStateV3Impl.h
3288
* src/MetalinkParserStateV4Impl.cc
3289
* src/MetalinkParserStateV4Impl.h
3290
* src/MetalinkResource.cc
3291
* src/MetalinkResource.h
3293
* src/RequestGroup.cc
3294
* src/RequestGroup.h
3295
* src/XML2SAXMetalinkProcessor.cc
3296
* src/messageDigest.cc
3300
* test/MetalinkEntryTest.cc
3301
* test/MetalinkParserControllerTest.cc
3302
* test/MetalinkProcessorTest.cc
3303
* test/MetalinkerTest.cc
3305
* test/metalink4-attrs.xml
3306
* test/metalink4-dirtraversal.xml
3307
* test/metalink4.xml
3309
2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3311
Added aiFlags argument to getInterfaceAddress(). Use
3312
AI_NUMERICHOST to find interface specified using
3313
--bt-lpd-interface option to avoid time-consuming address lookup.
3318
2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3320
Return SharedHandle<LpdMessage>(new LpdMessage()) if received data
3321
is bad in LpdMessageReceiver.
3323
* src/LpdMessageReceiver.cc
3324
* src/LpdMessageReceiver.h
3325
* src/LpdReceiveMessageCommand.cc
3326
* test/LpdMessageReceiverTest.cc
3328
2010-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3330
Added --bt-lpd-interface option to specify the interface to use
3331
for Local Peer Discovery. LpdMessageDispatcher object now has its
3332
own socket. LpdMessageReceiver's socket is binded to multicast
3333
address to only receive multicast packets.
3335
* src/LpdMessageDispatcher.cc
3336
* src/LpdMessageDispatcher.h
3337
* src/LpdMessageReceiver.cc
3338
* src/LpdMessageReceiver.h
3339
* src/LpdReceiveMessageCommand.cc
3340
* src/LpdReceiveMessageCommand.h
3341
* src/OptionHandlerFactory.cc
3347
* test/LpdMessageDispatcherTest.cc
3348
* test/LpdMessageReceiverTest.cc
3350
2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3352
Put the portion of code to get interface addresses in
3353
SocketCore::bindAddress() into newly added getInterfaceAddress().
3357
2010-02-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3359
Rewritten util::parseInt() and parseUInt()
3362
2010-02-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3364
Fixed compile error with mingw32 cross compiler. Defined
3365
a2_sockopt_t as void* for the target systems other than mingw32.
3369
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3371
Removed 'always true' condition
3374
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3376
Documented --bt-enable-lpd option in man page.
3379
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3381
Added Local Peer Discovery. It is disabled by default. Use
3382
--bt-enable-lpd to enable the function.
3385
* src/LpdDispatchMessageCommand.cc
3386
* src/LpdDispatchMessageCommand.h
3388
* src/LpdMessageDispatcher.cc
3389
* src/LpdMessageDispatcher.h
3390
* src/LpdMessageReceiver.cc
3391
* src/LpdMessageReceiver.h
3392
* src/LpdReceiveMessageCommand.cc
3393
* src/LpdReceiveMessageCommand.h
3395
* src/OptionHandlerFactory.cc
3398
* src/PeerInteractionCommand.cc
3406
* test/LpdMessageDispatcherTest.cc
3407
* test/LpdMessageReceiverTest.cc
3410
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3412
User-defined custom request headers specified by --header option
3413
now override builtin headers if they have same name.
3414
* src/HttpRequest.cc
3416
* test/HttpRequestTest.cc
3418
2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3420
Rewirtten util::isNumber()
3423
2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3425
Reverted changes in r1893. setlocale(LC_CTYPE, "") is needed
3426
because without it localized error messages are not printed
3430
2010-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3432
Added unit tests for util::getContentDispositionFilename() from
3433
http://greenbytes.de/tech/tc2231/ Fixed the function so that added
3438
2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3440
Removed setlocale() for LC_CTYPE. It may affect isxdigit in
3444
2010-02-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3446
Support RFC2231 "Parameter Value Character Set and Language
3447
Information" in Content-Disposition header.
3448
* src/HttpResponse.cc
3453
2010-02-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3458
2010-02-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3460
Small optimization for A2_WOULDBLOCK(e)
3463
2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3466
* test/CookieStorageTest.cc
3468
2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3470
Check both EAGAIN and EWOULDBLOCK
3473
2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3475
Removed ret == 0 checking for SSL_read(), SSL_write() and
3476
SSL_peek() because the checks are done in the caller. In
3477
SocketBuffer::send(), throw exception if nothing could be written
3478
and socket error was not EWOULDBLOCK
3479
* src/SocketBuffer.cc
3482
2010-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3484
Fixed error code handling so that it can handle Winsock2 error
3489
2010-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3491
Bump up version number to 1.9.0a
3495
2010-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3497
Fixed the bug that aria2 doesn't handle return value if error
3498
occurred before download begins.
3499
* src/MultiUrlRequestInfo.cc
3502
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3504
Removed SegmentManFactory class.
3505
* src/AbstractSegmentManFactory.h
3506
* src/DefaultSegmentManFactory.cc
3507
* src/DefaultSegmentManFactory.h
3509
* src/RequestGroup.cc
3510
* src/RequestGroup.h
3511
* src/SegmentManFactory.h
3513
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3515
Destroyed digest context after getting calculated hash.
3519
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3521
Removed BitfieldManFactory class.
3522
* src/BitfieldManFactory.cc
3523
* src/BitfieldManFactory.h
3524
* src/DefaultPieceStorage.cc
3526
* src/PeerSessionResource.cc
3529
* test/DefaultPieceStorageTest.cc
3531
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3533
Removed unused methods from BitfieldMan class. Moved
3534
getFirstMissingIndex to bitfield.h. Updated doc for BitfieldMan
3536
* src/BitfieldMan.cc
3538
* src/BitfieldManFactory.cc
3539
* src/BitfieldManFactory.h
3542
* test/BitfieldManTest.cc
3543
* test/DefaultPieceStorageTest.cc
3545
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3547
Moved getFirstNMissingIndex to bitfield.h and made it return the
3548
number of appended indexes.
3549
* src/BitfieldMan.cc
3554
* test/BitfieldManTest.cc
3556
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3559
* test/BitfieldManTest.cc
3561
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3563
Added BitfieldMan::getFirstNMissingUnusedIndex() to get multiple
3564
unused block indexes at once instead of calling
3565
getFirstMissingUnusedIndex() multiple times. Made use of it in
3566
Piece class and DefaultBtRequestFactory class via Piece class.
3567
* src/BitfieldMan.cc
3569
* src/DefaultBtRequestFactory.cc
3572
* test/BitfieldManTest.cc
3574
2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3576
Use std::make_pair(...)
3577
* src/DHTMessageTracker.cc
3579
2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3581
Use std::make_pair(...)
3582
* src/bittorrent_helper.cc
3584
2010-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3586
urlencode(removeFragment(...)) in parseUrl(...)
3589
2010-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3591
Wrapped logger->debug(...) with if(logger->debug()) { ... }
3592
* src/AbstractCommand.cc
3593
* src/AdaptiveURISelector.cc
3594
* src/BtPieceMessage.cc
3595
* src/BtPortMessage.cc
3596
* src/CreateRequestCommand.cc
3597
* src/DHTAbstractNodeLookupTask.cc
3599
* src/DHTGetPeersCommand.cc
3600
* src/DHTMessageDispatcherImpl.cc
3601
* src/DHTMessageFactoryImpl.cc
3602
* src/DHTMessageTracker.cc
3603
* src/DHTPeerAnnounceStorage.cc
3604
* src/DHTRoutingTable.cc
3606
* src/DefaultBtAnnounce.cc
3607
* src/DefaultBtInteractive.cc
3608
* src/DefaultBtMessageDispatcher.cc
3609
* src/DefaultBtMessageReceiver.cc
3610
* src/DefaultBtProgressInfoFile.cc
3611
* src/DefaultBtRequestFactory.cc
3612
* src/DefaultPeerStorage.cc
3613
* src/DefaultPieceStorage.cc
3614
* src/DownloadCommand.cc
3615
* src/DownloadEngine.cc
3616
* src/EpollEventPoll.cc
3617
* src/FileAllocationCommand.cc
3619
* src/FtpNegotiationCommand.cc
3620
* src/HandshakeExtensionMessage.cc
3621
* src/HttpListenCommand.cc
3623
* src/HttpSkipResponseCommand.cc
3624
* src/IteratableChunkChecksumValidator.cc
3626
* src/MSEHandshake.cc
3627
* src/MetalinkPostDownloadHandler.cc
3628
* src/MultiDiskAdaptor.cc
3629
* src/PeerAbstractCommand.cc
3630
* src/PeerConnection.cc
3631
* src/PeerListenCommand.cc
3632
* src/PeerReceiveHandshakeCommand.cc
3633
* src/RequestGroup.cc
3634
* src/RequestGroupMan.cc
3636
* src/SelectEventPoll.cc
3638
* src/SimpleBtMessage.cc
3640
* src/TrackerWatcherCommand.cc
3641
* src/UTMetadataDataExtensionMessage.cc
3642
* src/UTMetadataRequestFactory.cc
3643
* src/UTMetadataRequestTracker.cc
3644
* src/XmlRpcMethod.cc
3646
2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3648
Changed log level from debug to info
3649
* src/BtDependency.cc
3650
* src/BtPostDownloadHandler.cc
3652
2010-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3654
Removed unused PeerSessionResource::_latency.
3656
* src/BtPieceMessage.cc
3659
* src/PeerSessionResource.cc
3660
* src/PeerSessionResource.h
3661
* test/PeerSessionResourceTest.cc
3663
2010-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3665
Fixed the bug that --file-allocation=falloc doesn't work with
3666
single file download.
3667
* src/AbstractSingleDiskAdaptor.cc
3669
2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3673
2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3675
Added Portuguese translation. Updated Ukrainian and Spanish
3676
translation. Thanks to all translators.
3682
2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3684
Remove fragment from redirected URI.
3686
* test/RequestTest.cc
3688
2010-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3690
Updated po templates.
3693
2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3695
Drop legacy ifdef for ares support and code cleanup.
3696
* src/AsyncNameResolver.cc
3697
* src/AsyncNameResolver.h
3699
2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3701
Call ares_library_init and ares_library_cleanup if they are
3702
available. Some code cleanups.
3705
2010-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3707
Call ares_process_fd() each time after epoll to handle timeout.
3708
* src/EpollEventPoll.cc
3709
* src/EpollEventPoll.h
3711
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3713
Suppressed type-cast compiler warning
3714
* src/CookieStorage.cc
3716
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3718
Fixed compile error on Mac OS X.
3719
* src/CookieStorage.h
3721
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3723
Removed cookietest.txt from Makefile.am
3726
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3728
Updated version number in man page.
3731
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3733
Rewritten help message for --allow-overwrite option.
3737
2010-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3739
Added bittorrent key to the response of tellStatus XML-RPC method.
3740
The associated value of the key is a struct and contains data
3741
retrieved from .torrent file, such as name, announce-list,
3744
* src/XmlRpcMethodImpl.cc
3745
* src/XmlRpcMethodImpl.h
3746
* test/XmlRpcMethodTest.cc
3748
2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3750
Removed parse(std::istream&) and parse(const std::string&) from
3752
* src/CookieParser.cc
3753
* src/CookieParser.h
3754
* test/CookieParserTest.cc
3755
* test/cookietest.txt: Removed
3757
2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3759
Fixed the bug that cookie for domain a.b.c is not sent to the host
3760
a.b.c if no other cookies are stored. Fixed the bug that
3761
Cookie::markOriginServerOnly() is not called when cookies are
3762
loaded from file/sqlite3 database.
3764
* src/CookieStorage.cc
3765
* src/NsCookieParser.cc
3766
* src/Sqlite3MozCookieParser.cc
3767
* test/CookieStorageTest.cc
3768
* test/NsCookieParserTest.cc
3769
* test/Sqlite3MozCookieParserTest.cc
3770
* test/cookies.sqlite
3771
* test/nscookietest.txt
3773
2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3775
Removed RequestGroup::initSegmentMan(). Guaranteed that either
3776
both _pieceStorage and _segmentMan are initialized or they are
3778
* src/RequestGroup.cc
3779
* src/RequestGroup.h
3780
* test/BtDependencyTest.cc
3782
2010-01-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3784
Bump up version number to 1.8.2
3787
2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3789
Replaced "." with A2STR::DOT_C
3790
* src/AbstractCommand.cc
3792
* src/DownloadContext.cc
3793
* src/FtpConnection.cc
3794
* src/RequestGroup.cc
3797
2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3799
Replaced isNumberAndDotsNotation() with isNumericHost().
3800
isNumericHost() can handle IPv6 address.
3802
* src/CookieStorage.cc
3805
* test/CookieTest.cc
3808
2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3811
* src/CookieStorage.cc
3813
2010-01-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3815
Rewritten Cookie storage.
3818
* src/CookieParser.cc
3819
* src/CookieStorage.cc
3820
* src/CookieStorage.h
3821
* src/a2functional.h
3822
* test/CookieParserTest.cc
3823
* test/CookieStorageTest.cc
3824
* test/CookieTest.cc
3825
* test/HttpResponseTest.cc
3827
* test/a2functionalTest.cc
3829
2010-01-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3831
Handle redirected URI which is not properly percent encoded.
3833
* test/RequestTest.cc
3835
2010-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3837
Fixed the bug that causes segmentaiton fault when aria2 sees '404
3838
not found' in the N times(N is where --max-file-not-found=N, N>0)
3839
in a row without single '200 OK' response.
3840
* src/RequestGroup.cc.
3842
2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3844
Fixed compile error with i586-mingw32msvc-g++. Always Cut console
3845
readout by 80 characters in mingw32 build. Catch exception in
3846
DHTMessageReceiver::receiveMessage().
3847
* src/AbstractDiskWriter.cc
3848
* src/ConsoleStatCalc.cc
3849
* src/DHTMessageReceiver.cc
3851
* src/RequestGroupMan.cc
3855
2010-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3857
Fixed compile error with intel compiler
3858
* src/XmlRpcMethodImpl.cc
3859
* src/XmlRpcMethodImpl.h
3861
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3865
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3867
Updated Swedish, Russian and Italian translations. Thanks to all
3873
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3875
Fixed broken OptionParser::findByName().
3876
* src/OptionParser.cc
3877
* test/OptionParserTest.cc
3879
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3881
Fixed test error without BitTorrent support.
3882
* test/XmlRpcMethodTest.cc
3884
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3886
Fixed compile error without GNUTLS/OpenSSL.
3889
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3891
Changed compression level to Z_DEFAULT_COMPRESSION.
3892
* src/GZipEncoder.cc
3894
2010-01-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3896
Added missing command line options: --http-no-cache,
3897
--bt-save-metadata and --bt-metadata-only.
3898
* doc/xmlrpc/aria2rpc
3900
2010-01-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3902
aria2 now returns gzip compressed XML-RPC response if XML-RPC
3903
client accepts gzip content encoding.
3906
* src/GZipEncoder.cc
3912
* src/HttpServerBodyCommand.cc
3913
* src/HttpServerCommand.cc
3915
* src/XmlRpcResponse.cc
3916
* src/XmlRpcResponse.h
3917
* test/GZipEncoderTest.cc
3920
2010-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3922
Added XML-RPC client sample code in Python.
3925
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3927
Updated po templates.
3930
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3932
Bump up version number to 1.8.1
3935
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3937
Added version number to man page. Updated copyright year in man
3941
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3943
Rewritten toTagString
3944
* src/NameMatchOptionHandler.cc
3945
* test/OptionHandlerTest.cc
3947
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3949
Added dir and files key to the response struct of aria2.tellStatus
3950
XML-RPC method. The value associated with files key is the list
3951
of files. Its element is the same struct used in aria2.getFiles
3952
XML-RPC method. Added uris key to the response struct of
3953
aria2.getFiles XML-RPC method. The value associated with uris key
3954
is the list of URIs. Its element is the same struct used in
3955
aria2.getUris XML-RPC method.
3957
* src/XmlRpcMethodImpl.cc
3958
* test/XmlRpcMethodTest.cc
3960
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3962
Added aria2.getSessionInfo XML-RPC method. This method returns a
3963
struct containing Session ID, which is generated each time when
3966
* doc/xmlrpc/aria2rpc
3967
* src/DownloadEngine.cc
3968
* src/DownloadEngine.h
3969
* src/XmlRpcMethodFactory.cc
3970
* src/XmlRpcMethodImpl.cc
3971
* src/XmlRpcMethodImpl.h
3972
* test/XmlRpcMethodTest.cc
3974
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3976
Moved generateRandomKey() from bittorrent_helper to util.
3979
* src/bittorrent_helper.cc
3980
* src/bittorrent_helper.h
3984
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3986
Updated doc about GID.
3989
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
3991
Now offset argument in aria2.tellWaiting and aria2.tellStopped
3992
accepts a negative integer. 'offset' == -1 points last download
3993
in the waiting queue and 'offset' == -2 points the download before
3994
the last download, and so on. The downloads in the response are in
3997
* src/XmlRpcMethodImpl.cc
3998
* src/XmlRpcMethodImpl.h
3999
* test/XmlRpcMethodTest.cc
4001
2010-01-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4003
Added --human-readable option. This option, when true is given,
4004
prints sizes and speed in human readable format(e.g., 1.2Ki,
4005
3.4Mi) in the console readout. The default value is true and it
4006
looks exactly the same as aria2-1.8.0. So the 'new feature'
4007
appears when false is given. In this case, sizes and speed are
4008
printed without in bytes. No Ki, Mi units conversion is used.
4009
This may be useful for a program to parse the output of aria2.
4011
* src/ConsoleStatCalc.cc
4012
* src/ConsoleStatCalc.h
4013
* src/OptionHandlerFactory.cc
4019
2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4021
Now --all-proxy, --http-proxy, --https-proxy and --ftp-proxy
4022
option accepts empty string "". When "" is given, it erases
4023
previously defined proxy.
4025
* src/OptionHandlerImpl.h
4027
* test/OptionHandlerTest.cc
4029
2010-01-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4031
Code cleanup for proxy URI handling.
4032
* src/AbstractCommand.cc
4034
2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4036
Added --bt-metadata-only option. If true is given to this option,
4037
aria2 downloads metadata only. The file(s) described in metadata
4038
will not be downloaded. This option has effect only when
4039
BitTorrent Magnet URI is used. See also --bt-save-metadata option.
4041
* src/OptionHandlerFactory.cc
4042
* src/UTMetadataPostDownloadHandler.cc
4043
* src/download_helper.cc
4048
2010-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4050
Fixed memory leak. Commands stored in std::deque<Command*> are not
4051
deleted when exception is thrown. Make sure that when passing
4052
std::deque<Command*> to function to store Commands, handle
4053
exception and delete these Commands.
4054
* src/AbstractCommand.cc
4055
* src/CheckIntegrityCommand.cc
4056
* src/FileAllocationCommand.cc
4057
* src/RequestGroup.cc
4058
* src/TrackerWatcherCommand.cc
4060
2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4062
Replaced '/' and '_' with '_' in HTTP/FTP filename.
4065
* src/FtpNegotiationCommand.cc
4066
* src/HttpResponseCommand.cc
4071
2010-01-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4073
Treat --dir="" as --dir="."
4074
* src/FtpNegotiationCommand.cc
4075
* src/HttpResponseCommand.cc
4076
* src/Metalink2RequestGroup.cc
4077
* src/UTMetadataPostDownloadHandler.cc
4078
* src/bittorrent_helper.cc
4079
* src/download_helper.cc
4084
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4089
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4091
Reset GID to 1 when they reach maximum value. Rewritten
4092
CUIDCounter::newID()
4094
* src/RequestGroup.cc
4095
* src/RequestGroup.h
4097
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4099
Documented --http-no-cache option in man page.
4102
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4104
Added --http-no-cache option. When true is given, aria2 sends
4105
Cache-Control: no-cache and Pragma: no-cache header to avoid
4106
cached content. If false is given , these headers are not sent
4107
and you can add Cache-Control header with a directive you like
4108
using --header option.
4109
* src/HttpRequest.cc
4111
* src/HttpRequestCommand.cc
4112
* src/OptionHandlerFactory.cc
4113
* src/download_helper.cc
4118
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4120
Removed Logger from OptionParser. When OptionParser is used to
4121
parse options at bootstrap, LogFactory is not configured yet
4122
properly. When LogFactory is used in OptionParser, it initializes
4123
itself to return a logger which has no ability to write log to the
4125
* src/OptionParser.cc
4126
* src/OptionParser.h
4128
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4130
Added following sentance to the help message of --out option:
4131
--out option is ignored when -Z is used.
4135
2010-01-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4137
Added --bt-save-metadata option to -i list options.
4139
* src/download_helper.cc
4141
2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4143
Fixed compile error with i586-mingw32msvc-gcc 4.4.2, without any
4144
additional libraries.
4145
* src/MultiUrlRequestInfo.cc
4146
* src/NameResolver.cc
4147
* src/SelectEventPoll.cc
4148
* src/SelectEventPoll.h
4155
2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4158
* src/DHTMessageReceiver.cc
4160
2010-01-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4162
Fixed the bug that causes segmentation fault if unknown option is
4163
put in aria2.conf file. BUG#2928303
4164
* src/OptionParser.cc
4165
* src/OptionParser.h
4166
* src/option_processing.cc
4167
* test/OptionParserTest.cc
4169
2010-01-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4171
Ignore port message with port=0.
4172
* src/BtPortMessage.cc
4174
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4179
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4181
Updated autoconf/automake auxiliary files.
4191
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4193
Removed unused function.
4194
* src/SharedHandle.h
4196
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4198
Find pooled socket using all cached addresses.
4200
* src/DownloadEngine.cc
4201
* src/DownloadEngine.h
4202
* src/InitiateConnectionCommand.cc
4204
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4206
Updated copyright year.
4207
* src/version_usage.cc
4209
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4211
Pool connection if _contentEncodingDecoder is used and server
4212
supports persistent connection.
4213
* src/HttpDownloadCommand.cc
4215
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4218
* src/DownloadCommand.cc
4220
2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4222
Untabify. Fixed one line in copyright which is longer than 80
4227
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4231
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4233
Updated po templates.
4236
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4238
Documented --bt-save-metadata option in man page.
4241
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4243
Fixed usage of --bt-save-metadata option.
4246
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4248
Updated po templates.
4251
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4253
Get rid of AI_ADDRCONFIG when --disable-ipv6 opiton is given. It
4254
causes name resolution error when none of network interface has
4258
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4260
Bump up version number to 1.8.0.
4263
2009-12-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4265
Use info hash as a filename when saving BitTorrent metadata.
4266
* src/UTMetadataPostDownloadHandler.cc
4267
* test/UTMetadataPostDownloadHandlerTest.cc
4269
2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4271
Documented system.multicall XML-RPC method in man page.
4274
2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4276
Added signal handler for SIGHUP to save .aria2 file when terminal
4277
is closed. The handler is the same one for SIGINT and SIGTERM.
4278
* src/MultiUrlRequestInfo.cc
4280
2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4282
Defined method name in XmlRpcMethod subclasses.
4283
* src/XmlRpcMethodFactory.cc
4284
* src/XmlRpcMethodImpl.cc
4285
* src/XmlRpcMethodImpl.h
4286
* test/XmlRpcMethodTest.cc
4288
2009-12-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4290
Added system.multicall XML-RPC method.
4291
* src/XmlRpcMethod.cc
4292
* src/XmlRpcMethod.h
4293
* src/XmlRpcMethodFactory.cc
4294
* src/XmlRpcMethodImpl.cc
4295
* src/XmlRpcMethodImpl.h
4296
* test/XmlRpcMethodTest.cc
4298
2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4300
Check structure depth when decoding.
4303
* test/BencodeTest.cc
4305
2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4307
Documented tellStopped XML-RPC method in man page.
4310
2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4312
Added tellStopped XML-RPC method to aria2rpc.
4313
* doc/xmlrpc/aria2rpc
4315
2009-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4317
Added tellStopped XML-RPC method. This method returns stopped
4318
download in the specified range. It takes same parameters with
4319
tellWaiting XML-RPC method. offset = 0 means the oldest download.
4320
* src/XmlRpcMethodFactory.cc
4321
* src/XmlRpcMethodImpl.cc
4322
* src/XmlRpcMethodImpl.h
4324
2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4326
Use AI_ADDRCONFIG flag if it is available. Refactored so that
4327
getaddrinfo calls are not scattered around. Unset AI_ADDRCONFIG
4328
when conducting unit tests because they fail if networking
4329
interface is not configured with IPv4 address.
4330
* src/NameResolver.cc
4336
2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4338
Fixed unit test error
4339
* test/UTMetadataPostDownloadHandlerTest.cc
4341
2009-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4343
Defined static string constants for efficiency.
4344
* src/XmlRpcMethodImpl.cc
4346
2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4348
Added --bt-save-metadata option. When true is given, it saves
4349
metadata as .torrent file. This option has effect only when
4350
BitTorrent Magnet URI is used. The filename is name in metadata
4351
with suffix .torrent. The directory to be saved is the same
4352
directory where download file is saved. If the same file already
4353
exists, metdata is not saved.
4354
* src/OptionHandlerFactory.cc
4355
* src/UTMetadataPostDownloadHandler.cc
4356
* src/UTMetadataPostDownloadHandler.h
4361
* test/UTMetadataDataExtensionMessageTest.cc
4363
2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4365
Added util::saveAs() function. Use it in Signature::save().
4370
2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4372
Upcase info hash in Magnet URI.
4375
2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4377
Refactored RequestGroupMan::changeReservedGroupPosition()
4378
* src/RequestGroupMan.cc
4380
2009-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4382
Updated the description for aria2.addTorrent XML-RPC method.
4385
2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4387
Added changePosition to aria2rpc.
4388
* doc/xmlrpc/aria2rpc
4390
2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4392
Documented changePosition XML-RPC method in man page.
4395
2009-12-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4397
Added changePosition XML-RPC method. It takes 3 parameters: gid,
4398
pos and how. This method changes the position of download denoted
4399
by gid. If how is POS_SET, it moves the download to a position
4400
relative to the beginning of the queue. If how is POS_CUR, it
4401
moves the download to a position relative to the current
4402
position. If how is POS_END, it moves the download to a position
4403
relative to the end of the queue. If the destination position is
4404
less than 0 or beyond the end of the queue, it moves the download
4405
to the beginning or the end of the queue respectively. Returns
4406
the destination position.
4407
* src/RequestGroupMan.cc
4408
* src/RequestGroupMan.h
4409
* src/XmlRpcMethodFactory.cc
4410
* src/XmlRpcMethodImpl.cc
4411
* src/XmlRpcMethodImpl.h
4412
* test/RequestGroupManTest.cc
4413
* test/XmlRpcMethodTest.cc
4415
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4417
Added getOption and getGlobalOption to aria2rpc.
4418
* doc/xmlrpc/aria2rpc
4420
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4422
Documented getOption and getGlobalOption XML-RPC method in man
4426
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4428
Added getOption and getGlobalOption XML-RPC method. getOption
4429
takes GID as a parameter and returns its options as struct.
4430
getGlobalOption takes no parameter and returns global
4431
options. Because global option is used as a template for the
4432
option of newly added downloads, it includes options returned by
4435
* src/XmlRpcMethodFactory.cc
4436
* src/XmlRpcMethodImpl.cc
4437
* src/XmlRpcMethodImpl.h
4439
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4441
Sort _optionHandlers in OptionParser by name in ascending order.
4442
Use vector instead of deque for efficiency.
4443
* src/OptionHandler.h
4444
* src/OptionHandlerFactory.h
4445
* src/OptionParser.cc
4446
* src/OptionParser.h
4447
* src/version_usage.cc
4448
* test/OptionParserTest.cc
4450
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4453
* src/XmlRpcMethod.cc
4455
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4457
Documented about followedBy and belongsTo in man page.
4460
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4462
Added following 2 keys, followedBy and belongsTo, to the response
4465
followedBy: List of GIDs which are generated by the consequence of
4466
this download. For example, when aria2 downloaded Metalink file,
4467
it generates downloads described in it(see *--follow-metalink*
4468
option). This value is useful to track these auto generated
4469
downloads. If there is no such downloads, this key will not be
4470
included in the response.
4472
belongsTo: GID of a parent download. Some downloads are a part of
4473
another download. For example, if a file in Metalink has
4474
BitTorrent resource, the download of .torrent is a part of that
4475
file. If this download has no parent, this key will not be
4476
included in the response.
4477
* src/BtPostDownloadHandler.cc
4478
* src/DownloadResult.h
4479
* src/Metalink2RequestGroup.cc
4480
* src/MetalinkPostDownloadHandler.cc
4481
* src/RequestGroup.cc
4482
* src/RequestGroup.h
4483
* src/UTMetadataPostDownloadHandler.cc
4484
* src/XmlRpcMethodImpl.cc
4485
* src/XmlRpcMethodImpl.h
4487
2009-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4489
Assigned BObject in BDE() to avoid segmentation fault when calling
4490
methods of BDE::none().
4493
2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4495
Show info hash in Magnet URI in upper case letters in -S output.
4496
* src/bittorrent_helper.cc
4497
* test/BittorrentHelperTest.cc
4499
2009-12-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4501
Removed old useless comment
4502
* src/MultiUrlRequestInfo.cc
4504
2009-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4506
Fixed the bug that if --without-sqlite3 is given, pkg-config is
4507
not properly used in configure script and failed to detect gnutls.
4508
This is because explicit call of PKG_PROG_PKG_CONFIG is missing
4509
and the initialization of pkg-config is done in first occurrence
4510
of PKG_CHECK_MODULES which is not executed because it is inside of
4511
sqlite3.m4. Added explicit PKG_PROG_PKG_CONFIG call.
4514
2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4518
2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4520
Fixed the bug that RequestGroupMan::downloadFinished() returns
4521
true even if all downloads haven't finished, especially when
4522
PostDownloadHandler is involved. Changed the condition so that it
4523
only returns true if both _requestGroups and _reservedGroups are
4525
* src/RequestGroupMan.cc
4527
2009-12-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4529
Log listening port for BitTorrent/DHT in notice level.
4530
* src/DHTConnectionImpl.cc
4531
* src/PeerListenCommand.cc
4533
2009-12-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4535
Updated po templates.
4538
2009-12-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4540
Bump up version number to 1.7.2
4543
2009-12-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4545
Changed default value of --enable-dht from 'false' to 'true'.
4548
2009-12-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4550
Enabled DHT by default because of Magnet URI support. To disable
4551
DHT, use --enable-dht=false
4552
* src/OptionHandlerFactory.cc
4554
2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4556
Print Magnet URI in -S output.
4557
* src/AnnounceList.cc
4558
* src/bittorrent_helper.cc
4559
* src/bittorrent_helper.h
4560
* test/BittorrentHelperTest.cc
4562
2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4564
Added --bt-prioritize-piece option to aria2rpc.
4565
* doc/xmlrpc/aria2rpc
4567
2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4569
Refer Magnet URI in --help. Made some cosmetic changes.
4570
* src/version_usage.cc
4572
2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4574
Updated -T and -M option.
4577
2009-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4582
2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4584
Fixed the bug that line separator is missing in horizontal bar.
4585
* doc/xmlrpc/aria2mon
4587
2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4589
Updated usage text for --metalink-file option.
4592
2009-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4594
If '-' is given as an argument to --metalink-file option, aria2
4595
reads Metalink file from stdin.
4596
* src/OptionHandlerFactory.cc
4597
* src/OptionHandlerImpl.h
4600
2009-12-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4602
Fixed the bug that aria2 listens wrong port if --interface option
4606
2009-12-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4608
Fixed the bug that query parameter in magnet URI is not decoded.
4610
* test/MagnetTest.cc
4612
2009-12-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4614
Specified defaultSize as an argument for easy testing.
4619
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4623
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4625
Bump up version number to 1.7.1
4628
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4630
Fixed the bug --bt-prioritize-piece=tail is not working.
4633
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4637
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4639
Updated po templates.
4642
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4644
Updated help message for --bt-prioritize-piece. Some cosmetic
4648
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4650
Set default value for SIZE in --bt-prioritize-piece to 1MiB.
4655
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4657
Updated Russian, Ukrainian, German and French translations.
4658
Thanks to all translators involved.
4664
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4666
Mentioned about pkg-config
4669
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4671
Fixed typo. Referred --index-out option in BitTorrent notes.
4674
2009-12-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4676
Store all addresses found by getifaddrs() and getaddrinfo(). In
4677
bind, try all addresses until success
4681
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4683
Updated po templates.
4686
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4688
Bump up version number to 1.7.0
4691
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4693
Fixed compile error if ENABLE_BITTORRENT is undefined.
4694
* src/DefaultPieceStorage.cc
4695
* src/DefaultPieceStorage.h
4696
* src/PieceStorage.h
4697
* src/UnknownLengthPieceStorage.cc
4698
* src/UnknownLengthPieceStorage.h
4699
* test/MockPieceStorage.h
4700
* test/ProtocolDetectorTest.cc
4701
* test/XmlRpcMethodTest.cc
4703
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4705
Documented in man page that if getifaddrs() is missing,
4706
--interface option doesn't accept interface name.
4709
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4711
Use last 8 bytes of peer ID as 'key' parameter for tracker request.
4712
* src/DefaultBtAnnounce.cc
4713
* src/DefaultBtAnnounce.h
4714
* test/DefaultBtAnnounceTest.cc
4716
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4718
Fixed the bug that connection is always dropped if handshake
4719
message in extension protocol don't have metadata_size.
4720
src/HandshakeExtensionMessage.cc
4721
* src/HandshakeExtensionMessage.cc
4723
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4725
Updated "URI, MAGNET, TORRENT_FILE, METALINK_FILE" section. Added
4726
text saying DHT is recommended when Magnet URI is provided.
4729
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4731
Fixed the bug that DHT is always enabled when BitTorrent Magnet
4732
URI is supplied. Notify user that they should consider enabling
4733
DHT if they use Magnet URI.
4734
* src/RequestGroup.cc
4736
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4738
Added --disable-ipv6 option to disable IPv6.
4740
* src/InitiateConnectionCommand.cc
4741
* src/NameResolver.cc
4742
* src/NameResolver.h
4743
* src/OptionHandlerFactory.cc
4749
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4751
Updated usage text for --bt-prioritize-piece option.
4755
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4757
In configure script, if --with-PACKAGE and --enable-FEATURE are
4758
given and PACKAGE is missing in the system or FEATURE cannot be
4759
enabled, print error message and stop the script.
4763
2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4765
Halt metadata download immediately when metadata download is done.
4766
Don't wait unresponsive tracker.
4767
* src/ByteArrayDiskWriter.h
4768
* src/DefaultBtInteractive.cc
4769
* src/DefaultExtensionMessageFactory.cc
4770
* src/DefaultExtensionMessageFactory.h
4771
* src/PeerInteractionCommand.cc
4772
* src/UTMetadataDataExtensionMessage.cc
4773
* src/UTMetadataDataExtensionMessage.h
4774
* src/UTMetadataRequestExtensionMessage.cc
4775
* test/UTMetadataDataExtensionMessageTest.cc
4776
* test/UTMetadataRequestExtensionMessageTest.cc
4778
2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4780
Documented --interface option in man page.
4783
2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4785
Try resolved address in the order received from the resolver.
4788
2009-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4793
2009-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4795
Fixed type of tail to uint64_t
4798
2009-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4800
Added --interface option. This feature binds sockets to given
4801
interface. You can specify interface name, IP address and
4804
* src/OptionHandlerFactory.cc
4813
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4815
Updated man page for bt-prioritize-piece option in -i list.
4818
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4820
Added bt-prioritize-piece option to -i list.
4821
* src/download_helper.cc
4823
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4825
Removed --http-auth-scheme option from man page.
4828
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4830
Removed --http-auth-scheme option since it doesn't do nothing.
4831
* src/OptionHandlerFactory.cc
4836
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4838
Adjusted the number of peer info which get_peers reply message can
4840
* src/DHTGetPeersReplyMessage.cc
4842
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4844
Added extension_message_test_helper.h to aria2c_SOURCES.
4847
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4849
Documented --bt-prioritize-piece option in man page.
4852
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4854
Added option --bt-prioritize-piece. This option instruct aria2 to
4855
try to download first and last pieces of each file first. The
4856
argument can contain 2 keywords:head and tail. To include both
4857
keywords, they must be separated by comma. These keywords can take
4858
one parameter, SIZE. For example , if head=SIZE is specified,
4859
pieces in the range of first SIZE bytes of each file get higher
4860
priority. tail=SIZE means the range of last SIZE bytes of each
4861
file. SIZE can include K or M(1K = 1024, 1M = 1024K).
4862
* src/DefaultPieceStorage.h
4864
* src/OptionHandlerFactory.cc
4865
* src/OptionHandlerImpl.h
4866
* src/PriorityPieceSelector.cc
4867
* src/PriorityPieceSelector.h
4868
* src/RequestGroup.cc
4875
* test/MockPieceSelector.h
4876
* test/PriorityPieceSelectorTest.cc
4879
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4884
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4886
In Magnet URI with tr parameter, put each announce URI in separate
4888
* src/bittorrent_helper.cc
4889
* test/BittorrentHelperTest.cc
4891
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4893
Renamed ExtensionMessage::getBencodedData() as
4894
ExtensionMessage::getPayload()
4895
* src/BtExtendedMessage.cc
4896
* src/ExtensionMessage.h
4897
* src/HandshakeExtensionMessage.cc
4898
* src/HandshakeExtensionMessage.h
4899
* src/UTMetadataDataExtensionMessage.cc
4900
* src/UTMetadataDataExtensionMessage.h
4901
* src/UTMetadataRejectExtensionMessage.cc
4902
* src/UTMetadataRejectExtensionMessage.h
4903
* src/UTMetadataRequestExtensionMessage.cc
4904
* src/UTMetadataRequestExtensionMessage.h
4905
* src/UTPexExtensionMessage.cc
4906
* src/UTPexExtensionMessage.h
4907
* test/HandshakeExtensionMessageTest.cc
4908
* test/MockExtensionMessage.h
4909
* test/UTMetadataDataExtensionMessageTest.cc
4910
* test/UTMetadataRejectExtensionMessageTest.cc
4911
* test/UTMetadataRequestExtensionMessageTest.cc
4912
* test/UTPexExtensionMessageTest.cc
4914
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4916
Updated man page for BitTorrent Magnet URI.
4919
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4921
Call DownloadContext::setOwnerRequestGroup() in
4922
RequestGroup::setDownloadContext().
4923
* src/BtDependency.cc
4924
* src/RequestGroup.cc
4925
* src/RequestGroup.h
4926
* src/download_helper.cc
4927
* test/DefaultBtMessageDispatcherTest.cc
4928
* test/DefaultExtensionMessageFactoryTest.cc
4929
* test/HandshakeExtensionMessageTest.cc
4931
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4933
Accept BitTorrent Magnet URI in Metalink resource type bittorrent.
4934
Rewritten UTMetadataPostDownloadHandler. To create torrent data
4935
from metadata, use new metadata2Torrent() function.
4936
* src/BtDependency.cc
4937
* src/UTMetadataPostDownloadHandler.cc
4938
* src/bittorrent_helper.cc
4939
* src/bittorrent_helper.h
4940
* test/BittorrentHelperTest.cc
4941
* test/BtDependencyTest.cc
4943
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4945
Use createRequestGroupForUri to create the download for torrent
4947
* src/Metalink2RequestGroup.cc
4948
* test/Metalink2RequestGroupTest.cc
4950
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4953
* src/DownloadContext.h
4955
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4957
Use createRequestGroupForBitTorrent()
4958
* src/BtPostDownloadHandler.cc
4960
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4966
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4968
Removed options which is only valid for URIs specified in
4969
command-line. If they are left, because op is used as a template
4970
for new RequestGroup(such as created in XML-RPC command,
4971
BtPostDownloadHandler etc), they causes unintentional effect.
4974
2009-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4976
Refer to option value of PREF_OUT only in download_helper.
4977
* src/FtpNegotiationCommand.cc
4978
* src/HttpResponseCommand.cc
4980
2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4982
Now addUri XML-RPC method accepts BitTorrent Magnet URI.
4983
* src/download_helper.cc
4984
* src/download_helper.h
4985
* src/XmlRpcMethodImpl.cc
4987
2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4989
Updated man page for changeOption XML-RPC method.
4992
2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
4994
Added --bt-max-peers option to changeOption XML-RPC method.
4995
* src/XmlRpcMethod.cc
4996
* src/XmlRpcMethodImpl.cc
4997
* test/XmlRpcMethodTest.cc
4999
2009-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5001
Added test case for PREF_BT_REQUEST_PEER_SPEED_LIMIT
5002
* test/XmlRpcMethodTest.cc
5004
2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5006
Removed redundant DownloadContext::hasAttribute(...) calls.
5007
* src/ConsoleStatCalc.cc
5008
* src/RequestGroup.cc
5009
* src/XmlRpcMethodImpl.cc
5011
2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5013
Changed the number of tracker request attempt from 5 to 2.
5014
* src/TrackerWatcherCommand.cc
5016
2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5018
Use host and protocol in original URI, because URI selector
5019
selects URI based on original URI, not redirected one.
5022
2009-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5024
Fixed the bug which causes segmentation fault with tellWaiting
5025
XML-RPC method when BitTorrent download is waiting. The key of
5026
BtRegistry is changed from info hash to GID, because it is
5027
registered per RequestGroup, not info hash.
5031
* src/ConsoleStatCalc.cc
5032
* src/InitiatorMSEHandshakeCommand.cc
5033
* src/PeerInitiateConnectionCommand.cc
5034
* src/PeerInteractionCommand.cc
5035
* src/PeerInteractionCommand.h
5036
* src/PeerReceiveHandshakeCommand.cc
5037
* src/RequestGroup.cc
5038
* src/XmlRpcMethodImpl.cc
5039
* test/BtRegistryTest.cc
5040
* test/XmlRpcMethodTest.cc
5042
2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5044
Updated man page for changeOption XML-RPC method.
5047
2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5049
Added --bt-request-peer-speed-limit option to changeOption XML-RPC
5051
* src/XmlRpcMethod.cc
5053
2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5055
Documented about BitTorrent Magnet URI in man page.
5058
2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5060
Fixed the bug that trackers in BitTorrent Magnet URI are not
5061
inherited to generated RequestGroup.
5062
* src/UTMetadataPostDownloadHandler.cc
5063
* test/UTMetadataPostDownloadHandlerTest.cc
5065
2009-11-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5067
Prepended "[METADATA]" before dn.
5068
* src/bittorrent_helper.cc
5069
* test/BittorrentHelperTest.cc
5071
2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5073
Rewritten Magnet URI parser.
5075
* src/ProtocolDetector.cc
5076
* src/bittorrent_helper.cc
5077
* src/bittorrent_helper.h
5078
* src/download_helper.cc
5081
* test/BittorrentHelperTest.cc
5082
* test/MagnetTest.cc
5084
* test/ProtocolDetectorTest.cc
5086
2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5091
2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5093
Added Base32 encoded BitTorrent Magnet Link support.
5097
* src/bittorrent_helper.cc
5098
* test/Base32Test.cc
5099
* test/BittorrentHelperTest.cc
5102
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5104
Added BitTorrent Magnet Link support. Base32 encoded link is not
5105
supported yet. Fixed typo in method name in RequestGroup. In
5106
metadataGetMode, don't show "Your share ratio was ..." message.
5107
* src/DefaultBtInteractive.cc
5108
* src/DefaultBtInteractive.h
5109
* src/DownloadHandlerFactory.cc
5110
* src/DownloadHandlerFactory.h
5111
* src/HandshakeExtensionMessage.cc
5113
* src/Metalink2RequestGroup.cc
5114
* src/PeerInteractionCommand.cc
5115
* src/RequestGroup.cc
5116
* src/RequestGroup.h
5117
* src/UTMetadataPostDownloadHandler.cc
5118
* src/UTMetadataPostDownloadHandler.h
5119
* src/download_helper.cc
5120
* test/HandshakeExtensionMessageTest.cc
5122
* test/UTMetadataPostDownloadHandlerTest.cc
5123
* test/UTMetadataRejectExtensionMessageTest.cc
5125
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5127
In metadataGetMode, don't show SEEDING.
5128
* src/ConsoleStatCalc.cc
5130
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5132
Fixed ut_metadata data handling. Implemented
5133
UTMetadataDataExtensionMessage::doReceivedAction(). Initialize
5134
PeerStorage in HandshakeExtensionMessage::doReceivedAction() when
5135
metadata_size is received.
5136
* src/DefaultExtensionMessageFactory.cc
5137
* src/DefaultExtensionMessageFactory.h
5138
* src/HandshakeExtensionMessage.cc
5139
* src/HandshakeExtensionMessage.h
5140
* src/UTMetadataDataExtensionMessage.cc
5141
* src/UTMetadataDataExtensionMessage.h
5142
* src/UTMetadataRequestExtensionMessage.cc
5143
* src/UTMetadataRequestFactory.cc
5144
* src/UTMetadataRequestFactory.h
5145
* src/UTMetadataRequestTracker.cc
5146
* src/UTMetadataRequestTracker.h
5147
* test/DefaultExtensionMessageFactoryTest.cc
5148
* test/HandshakeExtensionMessageTest.cc
5149
* test/MockBtMessage.h
5150
* test/UTMetadataDataExtensionMessageTest.cc
5151
* test/UTMetadataRequestExtensionMessageTest.cc
5152
* test/UTMetadataRequestFactoryTest.cc
5153
* test/UTMetadataRequestTrackerTest.cc
5154
* test/extension_message_test_helper.h
5156
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5158
Drop connection if ut_metadata reject message is received.
5159
* src/UTMetadataRejectExtensionMessage.cc
5161
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5163
Set thresholdSpeed to 0 in metadataGetMode because speed doesn't
5164
get high enough in that mode.
5165
* src/ActivePeerConnectionCommand.cc
5167
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5169
Added BitTorrent magnet link support to ProtocolDetector.
5170
* src/ProtocolDetector.cc
5171
* src/ProtocolDetector.h
5172
* test/ProtocolDetectorTest.cc
5174
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5176
Don't inject validator into BtMessage in metadataGetMode because
5177
most of the checks depends on the total length of download but it
5178
is unknown. Delegate metadataGetMode to BtMessage.
5179
* src/DefaultBtMessageFactory.cc
5180
* src/DefaultBtMessageFactory.h
5182
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5184
Added setEndGamePieceNum() pure virtual function to PieceStorage.
5185
* src/DefaultPieceStorage.h
5186
* src/PieceStorage.h
5187
* src/UnknownLengthPieceStorage.h
5188
* test/MockPieceStorage.h
5190
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5192
Added markTotalLengthIsKnown().
5193
* src/DownloadContext.h
5195
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5197
Don't add PeerChokeCommand and SeedCheckCommand if metadata is
5198
missing. If metadata is missing, always use DHT when it is ready.
5201
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5203
Added parseMagnetLink(). Hex encoded info hash is supported.
5204
Base32 encoded info hash is not supported yet.
5205
* src/bittorrent_helper.cc
5206
* src/bittorrent_helper.h
5207
* test/BittorrentHelperTest.cc
5209
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5216
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5218
Added _metadataGetMode member variable. It toggles the action when
5219
messages are received: usually they almost do nothing if
5220
_metadataGetMode is true.
5221
* src/AbstractBtMessage.cc
5222
* src/AbstractBtMessage.h
5223
* src/BtAllowedFastMessage.cc
5224
* src/BtBitfieldMessage.cc
5225
* src/BtCancelMessage.cc
5226
* src/BtChokeMessage.cc
5227
* src/BtHaveAllMessage.cc
5228
* src/BtHaveMessage.cc
5229
* src/BtInterestedMessage.cc
5230
* src/BtNotInterestedMessage.cc
5231
* src/BtPieceMessage.cc
5232
* src/BtRejectMessage.cc
5233
* src/BtRequestMessage.cc
5234
* src/BtUnchokeMessage.cc
5236
2009-11-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5238
Added bencode::decode overload functions. They have extra argument
5239
'end', passed by reference. 'end' points to the beyond the last
5240
position of data used in decoding process.
5243
* test/BencodeTest.cc
5245
2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5247
Initial support of Extension for Peers to Send Metadata
5248
Files(BEP9). Currently aria2 only serves metadata and cannot get
5249
metadata from swarm.
5251
* src/DefaultBtInteractive.cc
5252
* src/DefaultExtensionMessageFactory.cc
5253
* src/DefaultExtensionMessageFactory.h
5254
* src/ExtensionMessage.h
5255
* src/ExtensionMessageRegistry.h
5256
* src/HandshakeExtensionMessage.cc
5257
* src/HandshakeExtensionMessage.h
5259
* src/PeerConnection.h
5260
* src/PeerInteractionCommand.cc
5261
* src/UTMetadataDataExtensionMessage.cc
5262
* src/UTMetadataDataExtensionMessage.h
5263
* src/UTMetadataExtensionMessage.cc
5264
* src/UTMetadataExtensionMessage.h
5265
* src/UTMetadataRejectExtensionMessage.cc
5266
* src/UTMetadataRejectExtensionMessage.h
5267
* src/UTMetadataRequestExtensionMessage.cc
5268
* src/UTMetadataRequestExtensionMessage.h
5269
* src/bittorrent_helper.cc
5270
* src/bittorrent_helper.h
5271
* test/BittorrentHelperTest.cc
5272
* test/DefaultExtensionMessageFactoryTest.cc
5273
* test/HandshakeExtensionMessageTest.cc
5275
* test/UTMetadataDataExtensionMessageTest.cc
5276
* test/UTMetadataRejectExtensionMessageTest.cc
5277
* test/UTMetadataRequestExtensionMessageTest.cc
5279
2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5281
Cancel segment in prepareForRetry() because there is a chance that
5282
the command has segments.
5283
* src/CreateRequestCommand.cc
5285
2009-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5287
Fixed the bug that slow server is not knocked down in favor of
5289
* src/AbstractCommand.cc
5290
* src/DefaultPieceStorage.cc
5291
* src/DefaultPieceStorage.h
5292
* src/PieceStorage.h
5293
* src/UnknownLengthPieceStorage.cc
5294
* src/UnknownLengthPieceStorage.h
5295
* test/MockPieceStorage.h
5297
2009-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5299
Fixed the bug that Request object is not added to
5300
_inFlightRequests in findFasterRequest().
5303
2009-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5305
Changed the strategry of how to increase the number of outstanding
5306
requests. Now the number is doubled if there are no outstanding
5307
requests after receiving messages.
5309
* src/DefaultBtInteractive.cc
5310
* src/DefaultBtInteractive.h
5312
2009-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5314
Check socket for reading if there are outstanding requests.
5315
* src/PeerInteractionCommand.cc
5317
2009-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5319
Moved frequently called methods to header file so they get
5321
* src/RequestSlot.cc
5324
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5326
Copied in_addr instead of just casting from char* which might
5327
violate strict aliasing rules.
5328
* src/AsyncNameResolver.cc
5330
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5332
Use dynamic_pointer_cast
5333
* test/BtPieceMessageTest.cc
5334
* test/BtRequestMessageTest.cc
5335
* test/DefaultBtRequestFactoryTest.cc
5337
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5339
Added testSetUrl20()
5340
* test/RequestTest.cc
5342
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5345
* src/bittorrent_helper.cc
5347
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5350
* src/AsyncNameResolver.cc
5352
* src/BtBitfieldMessage.cc
5353
* src/BtHandshakeMessage.cc
5354
* src/DefaultBtMessageFactory.cc
5355
* src/DefaultBtProgressInfoFile.cc
5356
* src/EpollEventPoll.cc
5357
* src/ExpatMetalinkProcessor.cc
5358
* src/IteratableChecksumValidator.cc
5359
* src/IteratableChunkChecksumValidator.cc
5360
* src/MessageDigestHelper.cc
5362
* src/RequestGroupMan.cc
5363
* src/SingleFileAllocationIterator.cc
5364
* src/Sqlite3MozCookieParser.cc
5365
* src/XML2SAXMetalinkProcessor.cc
5366
* src/Xml2XmlRpcRequestProcessor.cc
5370
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5372
Fixed integer potential alignment problem.
5375
2009-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5377
Applied a patch from tizianomueller to fix sigbus errors on Linux
5378
sparc. I modified the patch to eliminate a cast to uint32_t* and
5379
include file ordering.
5380
* src/PeerListProcessor.h
5381
* src/bittorrent_helper.cc
5383
2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5385
Added util::parseUIntNoThrow(). Use it in Request::parseUrl().
5389
* test/RequestTest.cc
5391
2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5393
Rewritten util::uitos()
5396
2009-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5402
2009-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5404
Rewritten Request::parseUrl()
5406
* test/RequestTest.cc
5408
2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5410
Removed unused macro SAFE_CHARS
5413
2009-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5416
* src/DHTRoutingTableDeserializer.cc
5418
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5422
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5424
Removed unused function.
5425
* test/DHTPeerAnnounceStorageTest.cc
5427
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5429
Only decrement cols if cols > 0
5430
* src/ConsoleStatCalc.cc
5432
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5434
Updated Polish, Catalan, French, Italian, Russian and Japanese
5435
translations. Thanks to all translators.
5443
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5445
Updated translation template
5448
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5450
Fixed compile error without ssl library.
5453
2009-11-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5455
Logged received nodes in get_peers reply message.
5456
* src/DHTAbstractNodeLookupTask.cc
5457
* src/DHTAbstractNodeLookupTask.h
5459
2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5461
Fixed the bug that DHTAbstractNodeLookupTask never finishes if
5462
error occurred in DHTMessageDispatcherImpl::sendMessage().
5463
* src/DHTMessageDispatcherImpl.cc
5465
2009-11-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5467
Don't reuse URI if Request pool is not empty.
5468
* src/CreateRequestCommand.cc
5470
2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5472
Removed peerStorage from DHTPeerAnnounceEntry. It is unlikely to
5473
receive get_peers request for torrent which the client is now
5476
* src/DHTPeerAnnounceEntry.cc
5477
* src/DHTPeerAnnounceEntry.h
5478
* src/DHTPeerAnnounceStorage.cc
5479
* src/DHTPeerAnnounceStorage.h
5480
* src/RequestGroup.cc
5481
* test/DHTPeerAnnounceEntryTest.cc
5482
* test/DHTPeerAnnounceStorageTest.cc
5484
2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5486
Fixed the bug that in Windows environment new blank line is
5487
inserted when console readout is updated.
5488
* src/ConsoleStatCalc.cc
5490
2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5492
Throw exception if binding listening port is failed. Removed
5493
RequestGroupMan::getInitialCommand(). Use
5494
fillRequestGroupFromReserver() instead. Delete commands for
5495
RequestGroup which has errors when it is being added.
5497
* src/DownloadEngine.cc
5498
* src/DownloadEngine.h
5499
* src/DownloadEngineFactory.cc
5500
* src/MultiUrlRequestInfo.cc
5501
* src/RequestGroupMan.cc
5502
* src/RequestGroupMan.h
5503
* test/RequestGroupManTest.cc
5505
2009-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5507
Fixed the bug that when downloading more than one torrent,
5508
listening port is not reported properly to tracker for 2nd or
5511
* src/PeerListenCommand.cc
5512
* src/PeerListenCommand.h
5513
* src/RequestGroup.cc
5515
2009-10-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5517
Bump up version number to 1.6.3
5520
2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5522
Removed Util.cc from POTFILES.in
5525
2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5527
Updated man page for previous change.
5530
2009-10-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5532
If user name is embedded but password is missing in URI, first
5533
resolve password using .netrc. If password is found in .netrc,
5534
then use it as password. If not, use the password specified in
5536
* src/AuthConfigFactory.cc
5539
* test/AuthConfigFactoryTest.cc
5541
2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5546
2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5551
2009-10-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5553
Added missing bitfield.cc
5556
2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5558
Renamed Util.{cc,h} as util.{cc,h}
5564
2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5566
Moved static functions in Util class to namespace util.
5570
2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5572
Moved generateRandomData to Util.cc Moved flipBit to bitfield.cc.
5573
Moved generateRandomKey to bittorrent_helper.cc.
5575
* src/DHTGetPeersMessage.cc
5576
* src/DHTGetPeersReplyMessage.cc
5579
* src/DHTTokenTracker.cc
5580
* src/DHTUtil.cc: Removed.
5581
* src/DHTUtil.h: Removed.
5586
* src/bittorrent_helper.cc
5587
* src/bittorrent_helper.h
5590
* test/DHTAnnouncePeerMessageTest.cc
5591
* test/DHTAnnouncePeerReplyMessageTest.cc
5592
* test/DHTFindNodeMessageTest.cc
5593
* test/DHTFindNodeReplyMessageTest.cc
5594
* test/DHTGetPeersMessageTest.cc
5595
* test/DHTGetPeersReplyMessageTest.cc
5596
* test/DHTPingMessageTest.cc
5597
* test/DHTPingReplyMessageTest.cc
5598
* test/DHTTokenTrackerTest.cc
5599
* test/DHTUtilTest.cc: Removed.
5603
2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5605
Removed the call to trim() because trim() is called for each
5607
* src/CookieParser.cc
5609
2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5611
Replaced Util::slice() with split()
5612
* src/AbstractCommand.cc
5613
* src/CookieParser.cc
5615
* src/HttpHeaderProcessor.cc
5616
* src/HttpRequest.cc
5617
* src/Metalink2RequestGroup.cc
5618
* src/MetalinkParserController.cc
5620
* src/NsCookieParser.cc
5621
* src/ParameterizedStringParser.cc
5622
* src/ServerStatMan.cc
5623
* src/UriListParser.cc
5626
* src/bittorrent_helper.cc
5629
2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5631
Use request->getDir() instead of "/" for embedded user/pass in
5633
* src/AuthConfigFactory.cc
5635
2009-10-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5637
Fixed wrong insertion point for BasicCred.
5638
* src/AuthConfigFactory.cc
5640
2009-10-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5642
Allowed non-regular file in LocalFilePathOptionHandler
5643
* src/OptionHandlerImpl.h
5646
2009-10-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5648
Fixed the bug that Netrc::parse() cannot recognize comment line.
5654
2009-10-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5657
* src/BtDependency.cc
5658
* src/BtRejectMessage.cc
5659
* src/FtpConnection.cc
5660
* src/HttpHeaderProcessor.h
5662
2009-10-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5664
Fixed lintian report in man page
5667
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5671
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5673
Updated Ukrainian translation. Thanks to all translators.
5676
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5678
Updated translation template
5681
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5683
Bump up version number to 1.6.2
5686
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5688
Updated licence message in -v output.
5689
* src/version_usage.cc
5691
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5693
Replaced aria2 with aria2c in help message.
5694
* src/version_usage.cc
5696
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5698
Use PACKAGE_BUGREPORT and PACKAGE_URL.
5699
* src/version_usage.cc
5701
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5706
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5708
Added AC_FUNC_STRTOD and AC_TYPE_PID_T. Check function for pow,
5709
utime. Check header for utime.h.
5712
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5714
Use AC_FUNC_FORK. Replaced HAVE_FORK with HAVE_WORKING_FORK.
5718
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5720
Don't set localedir manually. Leave it to autoconf.
5724
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5726
Added --install to ACLOCAL_AMFLAGS.
5727
Removed m4 from SUBDIRS.
5728
Updated automake 1.11 and autoconf 2.64.
5729
Replaced some obsolute macros with new one.
5734
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5736
Removed Makefile.am in m4 directory.
5742
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5744
Removed unused m4 macros.
5748
* m4/libgnutls-extra.m4
5751
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5753
Fixed the bug that causes segmentation fault if
5754
req->getCurrentUrl() contains printf formatting characters such as
5755
%d. The statement that causes this bug is useless and removed.
5756
* src/AbstractCommand.cc
5758
2009-10-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5762
2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5764
Updated Simplified Chinese translation. Thanks to translators.
5767
2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5769
Updated translation template
5772
2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5774
Bump up version number to 1.6.1
5777
2009-10-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5779
Changed interval from 120 to 60 for dropping inactive peer.
5780
* src/DefaultBtInteractive.cc
5782
2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5784
Updated man page for --user-agent and --peer-id-prefix option.
5787
2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5790
* src/BtPostDownloadHandler.cc
5791
* src/ContentTypeRequestGroupCriteria.cc
5792
* src/ContentTypeRequestGroupCriteria.h
5793
* src/DownloadHandlerConstants.cc
5794
* src/DownloadHandlerConstants.h
5795
* src/DownloadHandlerFactory.cc
5796
* src/MetalinkPostDownloadHandler.cc
5798
2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5800
Don't save control file when aria2 exists while checking piece
5801
hash(behavior of -V option). If control file doesn't exist when
5802
aria2 launched, the completed length in saved control file will be
5803
0 byte and this confuses user. disableSaveControlFile() is called
5804
in RequestGroup::processCheckIntegrityEntry().
5805
enableSaveControlFile() will be called after hash checking is
5806
done. See CheckIntegrityCommand.
5807
* src/CheckIntegrityCommand.cc
5808
* src/RequestGroup.cc
5809
* src/RequestGroup.h
5810
* src/RequestGroupMan.cc
5812
2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5814
Included version number in Peer ID and client version. Peer ID
5815
now starts with "aria2/VERSION-", where VERSION is
5816
MAJOR.MINOR.MICRO. Client version is aria2/VERSION.
5817
* src/DefaultBtInteractive.cc
5818
* src/OptionHandlerFactory.cc
5819
* src/bittorrent_helper.cc
5820
* src/bittorrent_helper.h
5823
* test/BittorrentHelperTest.cc
5825
2009-10-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5828
* src/DownloadCommand.cc
5830
2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5832
Removed server, port, user and passwd key from options before
5833
XMLRPC::Client.call since they are not options of aria2.
5834
* doc/xmlrpc/aria2mon
5835
* doc/xmlrpc/aria2rpc
5837
2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5839
Included version number in user-agent string.
5840
* src/OptionHandlerFactory.cc
5842
2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5844
Fixed the bug that the option values changed by XML-RPC
5845
method(changeOption and changeGlobalOption) are overwritten to the
5846
previous value by the next these request which doesn't contain
5847
that option value. Supporse max-download-limit is initially 0. You
5848
changed this value to 100K by changeOption. Then you issue
5849
changeOption request to change max-upload-limit to 50K. This
5850
second request doesn't contain xml-download-limit, so it is back
5851
to initial value, 0. Another improvement is that exception is
5852
thrown when changeOption and changeGlobalOption request contains
5853
option name which doesn't allowed in each request.
5854
* src/DownloadEngine.h
5855
* src/XmlRpcMethod.cc
5856
* src/XmlRpcMethod.h
5857
* src/XmlRpcMethodImpl.cc
5858
* src/download_helper.cc
5859
* src/download_helper.h
5860
* test/XmlRpcMethodTest.cc
5862
2009-10-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5864
Added missing MetalinkParserStateImpl.{cc,h}
5865
* src/MetalinkParserStateImpl.cc
5866
* src/MetalinkParserStateImpl.h
5868
2009-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5870
Put all MetalinkParserState subclasses into
5871
MetalinkParserStateImpl.cc. Use stack to track element structure.
5872
* src/FileMetalinkParserState.cc: Removed
5873
* src/FileMetalinkParserState.h: Removed
5874
* src/FilesMetalinkParserState.cc: Removed
5875
* src/FilesMetalinkParserState.h: Removed
5876
* src/FinMetalinkParserState.cc: Removed
5877
* src/FinMetalinkParserState.h: Removed
5878
* src/HashMetalinkParserState.cc: Removed
5879
* src/HashMetalinkParserState.h: Removed
5880
* src/InitialMetalinkParserState.cc: Removed
5881
* src/InitialMetalinkParserState.h: Removed
5882
* src/LanguageMetalinkParserState.cc: Removed
5883
* src/LanguageMetalinkParserState.h: Removed
5885
* src/MetalinkMetalinkParserState.cc: Removed
5886
* src/MetalinkMetalinkParserState.h: Removed
5887
* src/MetalinkParserState.h
5888
* src/MetalinkParserStateMachine.cc
5889
* src/MetalinkParserStateMachine.h
5890
* src/OSMetalinkParserState.cc: Removed
5891
* src/OSMetalinkParserState.h: Removed
5892
* src/PieceHashMetalinkParserState.cc: Removed
5893
* src/PieceHashMetalinkParserState.h: Removed
5894
* src/PiecesMetalinkParserState.cc: Removed
5895
* src/PiecesMetalinkParserState.h: Removed
5896
* src/ResourcesMetalinkParserState.cc: Removed
5897
* src/ResourcesMetalinkParserState.h: Removed
5898
* src/SignatureMetalinkParserState.cc: Removed
5899
* src/SignatureMetalinkParserState.h: Removed
5900
* src/SizeMetalinkParserState.cc: Removed
5901
* src/SizeMetalinkParserState.h: Removed
5902
* src/SkipTagMetalinkParserState.cc: Removed
5903
* src/SkipTagMetalinkParserState.h: Removed
5904
* src/URLMetalinkParserState.cc: Removed
5905
* src/URLMetalinkParserState.h: Removed
5906
* src/VerificationMetalinkParserState.cc: Removed
5907
* src/VerificationMetalinkParserState.h: Removed
5908
* src/VersionMetalinkParserState.cc: Removed
5909
* src/VersionMetalinkParserState.h: Removed
5911
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5913
Move all functions in PeerMessageUtil to bittorrent_helper.
5914
* src/BtBitfieldMessage.cc
5915
* src/BtBitfieldMessageValidator.h
5916
* src/BtExtendedMessage.cc
5917
* src/BtHandshakeMessage.cc
5918
* src/BtHandshakeMessageValidator.h
5919
* src/BtPieceMessage.cc
5920
* src/BtPieceMessageValidator.h
5921
* src/BtPortMessage.cc
5922
* src/DHTFindNodeReplyMessage.cc
5923
* src/DHTGetPeersReplyMessage.cc
5924
* src/DHTMessageFactoryImpl.cc
5925
* src/DHTRoutingTableDeserializer.cc
5926
* src/DHTRoutingTableSerializer.cc
5927
* src/DHTTokenTracker.cc
5928
* src/DefaultBtMessageFactory.cc
5929
* src/IndexBtMessage.cc
5930
* src/IndexBtMessage.h
5931
* src/IndexBtMessageValidator.h
5933
* src/PeerMessageUtil.cc: Removed.
5934
* src/PeerMessageUtil.h: Removed.
5935
* src/RangeBtMessage.cc
5936
* src/RangeBtMessage.h
5937
* src/RangeBtMessageValidator.h
5938
* src/UTPexExtensionMessage.cc
5939
* src/ZeroBtMessage.cc
5940
* src/ZeroBtMessage.h
5941
* src/bittorrent_helper.cc
5942
* src/bittorrent_helper.h
5943
* test/BittorrentHelperTest.cc
5944
* test/BtAllowedFastMessageTest.cc
5945
* test/BtBitfieldMessageTest.cc
5946
* test/BtCancelMessageTest.cc
5947
* test/BtChokeMessageTest.cc
5948
* test/BtExtendedMessageTest.cc
5949
* test/BtHandshakeMessageTest.cc
5950
* test/BtHaveAllMessageTest.cc
5951
* test/BtHaveMessageTest.cc
5952
* test/BtHaveNoneMessageTest.cc
5953
* test/BtInterestedMessageTest.cc
5954
* test/BtNotInterestedMessageTest.cc
5955
* test/BtPieceMessageTest.cc
5956
* test/BtPortMessageTest.cc
5957
* test/BtRejectMessageTest.cc
5958
* test/BtRequestMessageTest.cc
5959
* test/BtSuggestPieceMessageTest.cc
5960
* test/BtUnchokeMessageTest.cc
5961
* test/DHTFindNodeReplyMessageTest.cc
5962
* test/DHTGetPeersReplyMessageTest.cc
5963
* test/DHTMessageFactoryImplTest.cc
5964
* test/DHTRoutingTableDeserializerTest.cc
5965
* test/DHTRoutingTableSerializerTest.cc
5966
* test/DefaultBtMessageFactoryTest.cc
5967
* test/DefaultExtensionMessageFactoryTest.cc
5969
* test/PeerListProcessorTest.cc
5970
* test/PeerMessageUtilTest.cc: Removed.
5971
* test/UTPexExtensionMessageTest.cc
5973
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5975
Limit the size of values list when sending get_peers reply.
5976
* src/DHTGetPeersReplyMessage.cc
5978
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5981
* doc/xmlrpc/aria2rpc
5983
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5985
Added missing help message for remove command.
5986
* doc/xmlrpc/aria2rpc
5988
2009-09-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
5990
Generated configure and config.h.in
5992
2009-09-23 Ross Smith II <aria2spam at smithii dot com>
5994
Add check for fork(), which is missing on MinGW
5998
2009-09-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6000
Removed unused methods Util::fileCopy(), Util::rangedFileCopy(),
6001
Util::expandBuffer(), Util::unfoldRange(), Util::indexRange() and
6007
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6011
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6013
Fixed a path to xmlrpc/README.txt
6016
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6018
Added XML-RPC in -v Configuration output.
6019
* src/FeatureConfig.cc
6020
* src/FeatureConfig.h
6021
* test/FeatureConfigTest.cc
6023
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6025
Updated Bulgarian, Russian, Slovak and Japanese
6026
translations. Thanks to all translators.
6032
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6034
Removed --retry-wait option from aria2rpc
6035
* doc/xmlrpc/aria2rpc
6037
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6039
Removed --retry-wait option from man page.
6042
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6044
Removed --retry-wait option since the current architecture doesn't
6045
allow sleep for particular URI.
6046
* src/AbstractCommand.cc
6047
* src/OptionHandlerFactory.cc
6048
* src/download_helper.cc
6052
2009-09-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6054
Removed Retry-After header support. Since the current architecture
6055
doesn't allow sleep for particular URI.
6056
* src/HttpSkipResponseCommand.cc
6058
2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6060
Updated the help message for --daemon option.
6064
2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6066
Added our own daemon() function for systems which desn't have
6072
* src/option_processing.cc
6074
2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6076
Simplified File::getCurrentDir()
6079
2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6081
Use exit() instead of _exit
6082
* src/RequestGroupMan.cc
6084
2009-09-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6086
Replaced "CATEGORY" with "TAGS".
6090
2009-09-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6092
Updated the help message for --help option.
6096
2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6098
Updated man page for added help tags.
6101
2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6103
Added help category #file. Added #file tag to the options related
6105
* src/OptionHandlerFactory.cc
6108
2009-09-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6110
Added help categories: #cookie and #hook. Added #https tag to
6111
--https-proxy and --https-proxy, --all-proxy and --no-proxy.
6112
* src/OptionHandlerFactory.cc
6115
2009-09-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6117
Made MSG_NOT_FILE translatable.
6120
2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6122
Updated man page for --help option.
6125
2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6128
* src/XmlRpcMethod.h
6130
2009-09-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6132
Help category now starts with "#" to distinguish a category from
6133
keyword search. For example, "http" categroy is now "#http". You
6134
can type "--help=#http" to get explanation of options related to
6135
http. If '#' is omitted, then the argument is treated as a keyword
6136
and aria2 searches options whose name includes the keyword and
6137
print matched ones. For example, "--help=http" will show options
6138
whose name includes "http".
6139
* src/OptionHandlerFactory.cc
6142
* src/version_usage.cc
6144
2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6146
Documented missing experimental tag and newly added xml-rpc tag in
6150
2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6152
Added xml-rpc help tag. Tagged xml-rpc related options with
6154
* src/OptionHandlerFactory.cc
6157
2009-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6159
Updated message when a path is not a file. Updated common message
6161
* src/OptionHandlerException.cc
6164
2009-09-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6166
Use File::isFile() instead of File::exists(). Updated message when
6167
a path is not a file.
6168
* src/OptionHandlerImpl.cc
6171
2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6173
Fixed the bug that server performence profile is not updated when
6174
aria2c was terminated by emergency shutdown.
6175
* src/TrackerWatcherCommand.cc
6177
2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6179
Use LocalFilePathOptionHandler for -T and -M option.
6180
Updated message of MSG_FILE_NOT_EXIST.
6181
* src/OptionHandlerFactory.cc
6184
2009-09-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6186
Added LocalFilePathOptionHandler which check whether the specified
6187
file path does exist or not.
6188
* src/OptionHandlerImpl.cc
6191
2009-09-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6193
Updated wiki page URI.
6197
2009-09-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6199
Added README.txt for xmlrpc directory.
6201
* doc/xmlrpc/README.txt
6203
2009-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6205
Bump up version number to 1.6.0.
6208
2009-09-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6210
Added XML-RPC client scripts written in ruby.
6212
* doc/xmlrpc/aria2mon
6213
* doc/xmlrpc/aria2rpc
6215
2009-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6217
Added support for IPv6 literal address in URI. Now aria2 can
6218
handle URI such as http://[::1]/
6219
* src/HttpRequest.cc
6223
* test/HttpRequestTest.cc
6224
* test/OptionHandlerTest.cc
6225
* test/RequestTest.cc
6227
2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6229
Fixed the bug that HTTP request header for XML-RPC request is not
6232
* src/HttpHeaderProcessor.cc
6234
2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6236
Fixed the bug that XML-RPC authorization might be done before HTTP
6237
request header is fully received.
6238
* src/HttpServerCommand.cc
6240
2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6242
Documented --xml-rpc-listen-all option in man page.
6245
2009-08-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6247
Added --xml-rpc-listen-all option. If true is given to this
6248
option, aria2 listens incoming XML-RPC requests on all network
6249
interfaces. If false is given, listens only on local loopback
6250
interface. The default value is false.
6251
* src/HttpListenCommand.cc
6252
* src/OptionHandlerFactory.cc
6259
2009-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6263
2009-08-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6265
Updated Ukrainian and Russian translations. Thanks to all
6270
2009-08-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6272
Bump up version number to 1.5.2
6275
2009-08-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6277
Get comment, comment.utf-8, created by and creation date from
6278
.torrent file and print them in -S output.
6279
* src/bittorrent_helper.cc
6280
* src/bittorrent_helper.h
6281
* test/BittorrentHelperTest.cc
6285
2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6287
Show exact file size along in -S option output.
6289
* src/bittorrent_helper.cc
6292
2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6294
Avoided unnecessary memory allocation in
6295
BitfieldMan::getCompletedLength().
6296
* src/BitfieldMan.cc
6298
2009-08-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6300
Fixed the bug that download fails if
6301
SocketCore::establishConnection() throws exception and aria2
6302
doesn't try another address.
6303
* src/AbstractCommand.cc
6304
* src/InitiateConnectionCommand.cc
6307
2009-08-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6309
Fixed sqlite3.m4 macro so that sqlite3_open_v2 function is
6313
2009-08-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6315
Renamed xmlrpc::elements::PARAMS to xmlrpc::elements::A2_PARAMS
6316
because it causes compile error if PARAMS macro is defined.
6317
* src/XmlRpcElements.cc
6318
* src/XmlRpcElements.h
6319
* src/XmlRpcRequestParserStateImpl.cc
6321
2009-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6325
2009-07-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6327
Bump up version number to 1.5.1
6330
2009-07-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6332
Fixed compile error without BitTorrent support
6333
* src/DefaultBtProgressInfoFile.cc
6334
* src/DownloadEngine.cc
6335
* src/DownloadEngine.h
6337
2009-07-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6339
Added missing '=' in Download Results
6340
* src/RequestGroupMan.cc
6342
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6344
Fixed compiler warning
6345
* src/DefaultBtProgressInfoFile.cc
6347
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6349
Fixed compiler warning on 32bit systems.
6350
* src/DownloadCommand.cc
6352
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6354
Call flush from ServerStatMan::save()
6355
* src/ServerStatMan.cc
6357
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6359
Check stream status after file is opened.
6360
* src/CookieStorage.cc
6362
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6364
Rewritten Signature::save()
6367
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6369
Rewritten RequestGroupMan::saveServerStat()
6370
* src/RequestGroupMan.cc
6372
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6374
Rewritten stream error handling
6375
* src/DHTAutoSaveCommand.cc
6376
* src/DHTRoutingTableDeserializer.cc
6377
* src/DHTRoutingTableSerializer.cc
6380
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6382
Check stream status after file is opened.
6383
* src/DefaultBtProgressInfoFile.cc
6385
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6387
Rewritten stream error handling
6388
* src/DefaultBtProgressInfoFile.cc
6390
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6392
Make sure that stream is closed before renaming file. Unit test
6393
fails on mingw32 in the previous implementation.
6394
* src/CookieStorage.cc
6396
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6398
Fixed the unit test error without sqlite3
6399
* test/CookieStorageTest.cc
6401
2009-07-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6403
Fixed the undefined reference error
6404
* test/HttpResponseTest.cc
6406
2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6410
2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6412
Updated Russian, Italian, Danish, Bulgarian, Japanese and
6413
Ukrainian translations. Thanks to all translators.
6421
2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6423
Added missing src/Logger.cc
6426
2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6428
Rewritten Logger to avoiding constly virtual call.
6434
* src/NullLogger.h: Removed.
6435
* src/SimpleLogger.cc
6436
* src/SimpleLogger.h
6438
2009-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6443
2009-07-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6445
Updated debug log message
6446
* src/AbstractCommand.cc
6449
2009-07-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6451
Avoid to create zombie process when commands specified in
6452
--on-download-* options are executed. Tested on Linux 2.6, Mac OS
6456
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6462
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6464
Documented 'errorCode' of tellStatus in man page.
6467
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6469
Added 'errorCode' to the reponse of tellStatus xml-rpc method.
6470
This key is only available for stopped/completed downloads and its
6471
value is the error code defined in EXIT STATUS in man page.
6472
* src/XmlRpcMethodImpl.cc
6474
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6476
Fixed the bug that session download length is not updated when
6477
PeerStat is not fastest one.
6480
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6485
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6488
* src/AbstractCommand.cc
6490
2009-07-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6492
Handle the case when DownloadContext has no FileEntry.
6493
* src/XmlRpcMethodImpl.cc
6495
2009-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6497
Handle the situation where struct option.name is char *.
6499
* src/OptionParser.cc
6501
2009-07-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6504
* src/AbstractCommand.cc
6505
* src/DownloadCommand.cc
6507
2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6509
Use option of each download to create AuthConfig instead of global
6511
* src/AuthConfigFactory.cc
6512
* src/AuthConfigFactory.h
6513
* src/FtpNegotiationCommand.cc
6514
* src/HttpRequest.cc
6516
* src/HttpRequestCommand.cc
6517
* src/HttpSkipResponseCommand.cc
6518
* src/MultiUrlRequestInfo.cc
6519
* test/AuthConfigFactoryTest.cc
6520
* test/FtpConnectionTest.cc
6521
* test/HttpRequestTest.cc
6523
2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6525
Don't call prepareForRetry(1) if all segments are ignored in
6527
* src/AbstractCommand.cc
6528
* src/BitfieldMan.cc
6533
2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6535
Removed FileEntry::getAssociatedUris()
6538
2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6540
Updated doc: TODO1.5 -> TODO
6542
* src/HttpResponseCommand.cc
6544
2009-07-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6546
Added assertion fileEntries.size() == 1 if BitTorrent is not
6548
* src/RequestGroup.cc
6550
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6552
Eliminated duplicated filterBitfield initialization code.
6553
* src/BitfieldMan.cc
6556
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6558
Added assert(!req.isNull()) when DlRetryEx is caught(this is
6559
relatively naive approach, though). For DownloadFailureException,
6560
we handle the case when req is null properly.
6561
* src/AbstractCommand.cc
6563
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6565
Added function returning suffix of control file to
6566
DefaultBtProgressInfoFile.
6567
* src/DefaultBtProgressInfoFile.cc
6568
* src/DefaultBtProgressInfoFile.h
6569
* src/RequestGroup.cc
6571
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6573
Documented getVersion in man page.
6576
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6578
Documented type of offset and num for tellWaiting xml-rpc method.
6581
2009-07-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6583
Implemented getVersion xml-rpc method. This method returns struct
6584
which has 2 key-value pairs: "version" key is associated to the
6585
version of aria2, such as "1.5.0". "enabledFeatures" key is
6586
associated to the list of enabled features, such as "Async DNS",
6588
* src/FeatureConfig.h
6589
* src/XmlRpcMethodFactory.cc
6590
* src/XmlRpcMethodImpl.cc
6591
* src/XmlRpcMethodImpl.h
6592
* test/XmlRpcMethodTest.cc
6594
2009-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6596
Removed TLS1.1 protocol support when aria2 is built with gnutls
6597
for compatibility issue.
6600
2009-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6602
Fixed compile error with openSSL
6603
* src/bittorrent_helper.cc
6604
* src/messageDigest.h
6606
2009-07-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6608
Removed bad code: setting certificate type priority to key
6612
2009-07-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6614
Disconnect seeder if client is also in seed state.
6615
* src/BtBitfieldMessage.cc
6616
* src/BtHaveAllMessage.cc
6617
* src/BtHaveMessage.cc
6619
* test/BtBitfieldMessageTest.cc
6620
* test/BtHaveAllMessageTest.cc
6621
* test/BtHaveMessageTest.cc
6622
* test/MockPieceStorage.h
6624
2009-07-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6626
Keep CreateRequestCommand in queue when no segment is available so
6627
that they can pick up pieces which slow BitTorrent peers are
6629
* src/AbstractCommand.cc
6630
* src/CreateRequestCommand.cc
6631
* src/CreateRequestCommand.h
6633
2009-07-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6635
--bt-stop-timeout now only checks download speed.
6636
* src/BtStopDownloadCommand.cc
6637
* src/BtStopDownloadCommand.h
6642
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6644
Fixed compile error regarding BUFSIZE.
6645
* src/DownloadCommand.cc
6646
* src/DownloadCommand.h
6648
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6650
Documented tellWaiting xml-rpc method in man page.
6653
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6655
Bump up version number to 1.5.0
6658
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6660
Removed resolved TODO1.5
6661
* src/AbstractCommand.cc
6662
* src/DownloadCommand.cc
6663
* src/RequestGroup.cc
6665
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6667
Release pooled and in-flight Request objectsand URIResult objects
6668
in FileEntry after download completed.
6669
* src/DownloadContext.cc
6670
* src/DownloadContext.h
6673
* src/RequestGroup.cc
6675
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6677
Set manual and source attribute in aria2c.1.txt
6680
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6682
Documented that the default value of --use-head is 'false' in man
6686
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6688
Added bt-stop-timeout option to -i list.
6690
* src/download_helper.cc
6692
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6698
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6700
Removed peer-id-prefix option from -i list.
6702
* src/download_helper.cc
6704
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6710
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6712
Documented --bt-stop-timeout option in man page.
6715
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6717
Updated README regarding multi-file torrent web-seeding.
6720
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6722
Updated man page regarding multi-file torrent web-seeding.
6725
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6728
* src/version_usage.cc
6730
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6732
Winsock select() doesn't work if no socket is in FD_SET. To
6733
overcome this problem, a dummy socket is added to FD_SET and it is
6735
* src/SelectEventPoll.cc
6736
* src/SelectEventPoll.h
6738
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6740
Disabled --use-head option by default because --use-head=true
6741
causes problems on some web sites.
6742
* src/OptionHandlerFactory.cc
6744
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6746
Print URL List in -S option for torrent.
6747
* src/bittorrent_helper.cc
6748
* src/bittorrent_helper.h
6750
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6752
Allocate buffer in ctor of DownloadCommand.
6753
* src/DownloadCommand.cc
6754
* src/DownloadCommand.h
6756
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6758
Removed DiskAdaptor::onDownloadComplete()
6759
* src/DirectDiskAdaptor.cc
6760
* src/DirectDiskAdaptor.h
6762
* src/MultiDiskAdaptor.cc
6763
* src/MultiDiskAdaptor.h
6765
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6767
Committed missing BtStopDownloadCommand.{cc,h}
6768
* src/BtStopDownloadCommand.cc
6769
* src/BtStopDownloadCommand.h
6771
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6773
Added --bt-stop-timeout=SEC option. This function stops BitTorrent
6774
download if the download speed is 0 and the number of seeder is 0
6775
in consecutive SEC seconds. By default, this function is disabled.
6778
* src/OptionHandlerFactory.cc
6783
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6785
Removed the call to DiskAdaptor::onDownloadComplete() from
6786
BtCheckIntegrityEntry and DefaultPieceStorage.
6787
* src/BtCheckIntegrityEntry.cc
6788
* src/DefaultPieceStorage.cc
6790
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6792
Commented out throw statements when number of piece is 0 to
6793
download 0 length torrent.
6794
* src/bittorrent_helper.cc
6796
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6798
Call RequestGroup::createNextCommandWithAdj() from
6799
BtFileAllocationEntry if at least one FileEntry has URI. The
6800
static function hasAssociatedUri in RequestGroup.cc is renamed as
6801
isUriSuppliedForRequsetFileEntry() and placed in FileEntry.h.
6802
* src/BtFileAllocationEntry.cc
6804
* src/RequestGroup.cc
6806
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6808
Generate peer ID after SimpleRandomizer is initialized.
6810
* src/option_processing.cc
6812
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6814
Removed unused method argument.
6815
* src/CreateRequestCommand.cc
6816
* src/RequestGroup.cc
6817
* src/RequestGroup.h
6818
* src/RequestGroupMan.cc
6819
* src/TrackerWatcherCommand.cc
6821
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6823
Made URI reusing function work.
6824
* src/CreateRequestCommand.cc
6827
* test/FileEntryTest.cc
6829
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6831
Add formerly fastest PeerStat's sessionDownloadLength to new
6832
fastest PeerStat and use _fastestPeerStats to calcuate downloaded
6837
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6839
If pipelining is enabled, we can always pool socket.
6840
* src/HttpDownloadCommand.cc
6842
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6844
In a single file download, file size becomes known just after
6845
downloading, set total length to FileEntry object when download
6847
* src/DownloadCommand.cc
6849
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6851
Use std::vector::reserve() for fileEntries and pieceHashes in
6853
* src/bittorrent_helper.cc
6855
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6857
Removed calls to Request::resetUrl() in AbstractCommand.cc.
6858
Removed hidden option PREF_RESET_URI.
6859
* src/AbstractCommand.cc
6860
* src/OptionHandlerFactory.cc
6864
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6866
Removed unused variable/function.
6869
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6871
Show first URL in Download Results if file path is not available.
6874
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6876
Throw exception if file path doesn't exist in FTP URL.
6877
* src/InitiateConnectionCommandFactory.cc
6879
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6881
Refactored BitfieldMan::getSparseMissingUnusedIndex()
6882
* src/BitfieldMan.cc
6884
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6886
Rewritten PeerStats handling in SegmentMan.cc. Now we have 2 list
6887
of PeerStat in SegmentMan. peerStats is used for calculating
6888
download speed. Therefore all active PeerStats should be in
6889
there. Another one is _fastestPeerStats and it only contains
6890
fastest PeerStat for each hostname/protocol pair. They are used
6891
for updating ServerStat.
6892
* src/DownloadCommand.cc
6894
* src/RequestGroupMan.cc
6897
* test/SegmentManTest.cc
6899
2009-07-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6901
Try all available addresses returned by DNS until it gets
6902
connected in HTTP(S)/FTP download
6903
* src/AbstractCommand.cc
6904
* src/AbstractCommand.h
6905
* src/AbstractProxyRequestCommand.cc
6906
* src/AbstractProxyRequestCommand.h
6908
* src/DownloadEngine.cc
6909
* src/DownloadEngine.h
6910
* src/FtpInitiateConnectionCommand.cc
6911
* src/FtpInitiateConnectionCommand.h
6912
* src/FtpNegotiationCommand.cc
6913
* src/FtpNegotiationCommand.h
6914
* src/HttpInitiateConnectionCommand.cc
6915
* src/HttpInitiateConnectionCommand.h
6916
* src/HttpRequestCommand.cc
6917
* src/HttpRequestCommand.h
6918
* src/InitiateConnectionCommand.cc
6919
* src/InitiateConnectionCommand.h
6920
* test/DNSCacheTest.cc
6922
* test/SimpleDNSCacheTest.cc
6924
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6927
* src/download_helper.cc
6929
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6931
Refactored fieldMan ctor.
6932
* src/BitfieldMan.cc
6935
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6937
Don't print "No files to download." message if -S is given.
6940
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6942
Set referer and method to newly created Request object.
6943
* src/CreateRequestCommand.cc
6947
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6949
Removed ctor of AbstractCommand which doesn't take FileEntry.
6950
* src/AbstractCommand.cc
6951
* src/AbstractCommand.h
6952
* src/CreateRequestCommand.cc
6954
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6956
Get proxy download working
6957
* src/AbstractProxyRequestCommand.cc
6958
* src/AbstractProxyRequestCommand.h
6959
* src/AbstractProxyResponseCommand.cc
6960
* src/AbstractProxyResponseCommand.h
6961
* src/FtpInitiateConnectionCommand.cc
6962
* src/FtpTunnelRequestCommand.cc
6963
* src/FtpTunnelRequestCommand.h
6964
* src/FtpTunnelResponseCommand.cc
6965
* src/FtpTunnelResponseCommand.h
6966
* src/HttpInitiateConnectionCommand.cc
6967
* src/HttpProxyRequestCommand.cc
6968
* src/HttpProxyRequestCommand.h
6969
* src/HttpProxyResponseCommand.cc
6970
* src/HttpProxyResponseCommand.h
6972
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6974
Use SegmentMan::getSegment(cuid) for single file download.
6975
* src/AbstractCommand.cc
6977
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6979
Fixed bufSize calculation
6980
* src/DownloadCommand.cc
6982
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6984
Don't append "/" if base URI ends with "/".
6985
* src/bittorrent_helper.cc
6986
* test/url-list-multiFile.torrent
6988
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
6990
HTTP pipelining is now working. Fixed Segmention fault in
6991
BitfieldMan's copy ctor.
6992
* src/AbstractCommand.cc
6993
* src/BitfieldMan.cc
6995
* src/DownloadCommand.cc
6996
* src/HttpDownloadCommand.cc
6997
* src/HttpRequest.cc
7000
* test/BitfieldManTest.cc
7001
* test/SegmentManTest.cc
7003
2009-06-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7005
Removed ServerHost. Same functionality is implemented using
7006
FileEntry's in-flight Request objects.
7007
* src/AbstractCommand.cc
7008
* src/BtDependency.cc
7009
* src/CreateRequestCommand.cc
7012
* src/FtpNegotiationCommand.cc
7013
* src/HttpResponseCommand.cc
7015
* src/Metalink2RequestGroup.cc
7016
* src/RequestGroup.cc
7017
* src/RequestGroup.h
7018
* src/ServerHost.cc: Removed
7019
* src/ServerHost.h: Removed
7020
* test/BtDependencyTest.cc
7021
* test/FileEntryTest.cc
7022
* test/RequestGroupTest.cc
7024
2009-06-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7026
Rewritten PeerStat handling. In the previous implementation,
7027
faster command tries to find slower command. In this new
7028
implementation, slower command tries to find faster command.
7029
PeerStat is now created in each HTTP/FTP request to get download
7030
rate correctly. If the download range is small, the download rate
7031
tends to small and this will occur at the later stage of download.
7032
* src/AbstractCommand.cc
7033
* src/DownloadCommand.cc
7038
* src/RequestGroup.h
7039
* src/RequestGroupMan.cc
7042
* test/SegmentManTest.cc
7044
2009-06-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7046
Removed _uris from RequestGroup. All functions that refer to _uris
7047
were moved to FileEntry. Exit status code are now defined in
7048
DownloadResultCode.h.
7049
* src/AbstractCommand.cc
7050
* src/AdaptiveURISelector.cc
7051
* src/AdaptiveURISelector.h
7052
* src/AutoSaveCommand.cc
7053
* src/BtPostDownloadHandler.cc
7054
* src/CheckIntegrityDispatcherCommand.cc
7055
* src/CookieStorage.cc
7056
* src/DHTAutoSaveCommand.cc
7057
* src/DHTBucketRefreshCommand.cc
7058
* src/DHTEntryPointNameResolveCommand.cc
7059
* src/DHTInteractionCommand.cc
7060
* src/DHTPeerAnnounceCommand.cc
7061
* src/DHTTokenUpdateCommand.cc
7064
* src/DownloadCommand.cc
7065
* src/DownloadContext.h
7066
* src/DownloadFailureException.h
7067
* src/DownloadResult.h
7068
* src/DownloadResultCode.h
7069
* src/FeedbackURISelector.cc
7070
* src/FeedbackURISelector.h
7073
* src/FtpNegotiationCommand.cc
7074
* src/HttpListenCommand.cc
7075
* src/HttpResponseCommand.cc
7076
* src/HttpServerResponseCommand.cc
7077
* src/HttpSkipResponseCommand.cc
7078
* src/InOrderURISelector.cc
7079
* src/InOrderURISelector.h
7082
* src/Metalink2RequestGroup.cc
7083
* src/MultiUrlRequestInfo.cc
7084
* src/MultiUrlRequestInfo.h
7085
* src/OptionHandlerFactory.cc
7086
* src/PeerListenCommand.cc
7087
* src/RecoverableException.h
7088
* src/RequestGroup.cc
7089
* src/RequestGroup.h
7090
* src/RequestGroupMan.cc
7091
* src/RequestGroupMan.h
7092
* src/TimedHaltCommand.cc
7093
* src/TrackerWatcherCommand.cc
7097
* src/XmlRpcMethodImpl.cc
7098
* src/bittorrent_helper.cc
7099
* src/bittorrent_helper.h
7100
* src/download_helper.cc
7102
* src/option_processing.cc
7103
* test/BtDependencyTest.cc
7104
* test/BtPostDownloadHandlerTest.cc
7105
* test/CookieStorageTest.cc
7106
* test/DefaultBtMessageDispatcherTest.cc
7107
* test/DownloadHandlerFactoryTest.cc
7108
* test/DownloadHelperTest.cc
7109
* test/FeedbackURISelectorTest.cc
7110
* test/FileEntryTest.cc
7111
* test/InOrderURISelectorTest.cc
7112
* test/Metalink2RequestGroupTest.cc
7113
* test/MetalinkPostDownloadHandlerTest.cc
7114
* test/RequestGroupManTest.cc
7115
* test/RequestGroupTest.cc
7116
* test/XmlRpcMethodTest.cc
7118
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7119
Removed MockBtContext.h
7122
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7124
Removed _currentRequest from StreamCheckIntegrityEntry and
7125
StreamFileAllocationEntry.
7126
* src/AbstractCommand.cc
7127
* src/HttpResponseCommand.cc
7128
* src/RequestGroup.cc
7129
* src/StreamCheckIntegrityEntry.cc
7130
* src/StreamCheckIntegrityEntry.h
7131
* src/StreamFileAllocationEntry.cc
7132
* src/StreamFileAllocationEntry.h
7134
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7136
Rewritten DownloadContext and removed SingleFileDownloadContext
7137
and BtContext and its derived classes. BitTorrent specific
7138
attributes are now set by DownloadContext::setAttribute() with key
7139
bittorrent::BITTORRENT.
7140
* src/AbstractBtMessage.cc
7141
* src/AbstractBtMessage.h
7142
* src/AbstractCommand.cc
7143
* src/AbstractCommand.h
7144
* src/AbstractProxyRequestCommand.cc
7145
* src/AbstractProxyResponseCommand.cc
7146
* src/ActivePeerConnectionCommand.cc
7147
* src/ActivePeerConnectionCommand.h
7148
* src/AnnounceList.cc
7149
* src/BtCheckIntegrityEntry.cc
7151
* src/BtContext.h: Removed
7152
* src/BtDependency.cc
7153
* src/BtExtendedMessage.cc
7154
* src/BtPieceMessage.cc
7155
* src/BtPieceMessage.h
7156
* src/BtPostDownloadHandler.cc
7160
* src/CheckIntegrityCommand.cc
7161
* src/CheckIntegrityEntry.cc
7162
* src/ChecksumCheckIntegrityEntry.cc
7163
* src/ConsoleStatCalc.cc
7164
* src/ContentTypeRequestGroupCriteria.cc
7165
* src/DHTGetPeersCommand.cc
7166
* src/DHTGetPeersCommand.h
7167
* src/DHTPeerLookupTask.cc
7168
* src/DHTPeerLookupTask.h
7169
* src/DHTTaskFactory.h
7170
* src/DHTTaskFactoryImpl.cc
7171
* src/DHTTaskFactoryImpl.h
7172
* src/DefaultBtAnnounce.cc
7173
* src/DefaultBtAnnounce.h
7174
* src/DefaultBtContext.cc: Removed
7175
* src/DefaultBtContext.h: Removed
7176
* src/DefaultBtInteractive.cc
7177
* src/DefaultBtInteractive.h
7178
* src/DefaultBtMessageDispatcher.cc
7179
* src/DefaultBtMessageDispatcher.h
7180
* src/DefaultBtMessageFactory.cc
7181
* src/DefaultBtMessageFactory.h
7182
* src/DefaultBtMessageReceiver.cc
7183
* src/DefaultBtMessageReceiver.h
7184
* src/DefaultBtProgressInfoFile.cc
7185
* src/DefaultBtRequestFactory.cc
7186
* src/DefaultBtRequestFactory.h
7187
* src/DefaultExtensionMessageFactory.cc
7188
* src/DefaultExtensionMessageFactory.h
7189
* src/DefaultPeerStorage.cc
7190
* src/DefaultPeerStorage.h
7191
* src/DefaultPieceStorage.cc
7192
* src/DefaultSegmentManFactory.cc
7193
* src/DiskAdaptor.cc
7195
* src/DownloadContext.cc
7196
* src/DownloadContext.h
7197
* src/DownloadEngine.cc
7198
* src/DownloadEngineFactory.cc
7199
* src/DownloadHandler.cc
7200
* src/DownloadResult.h
7201
* src/FileAllocationCommand.cc
7202
* src/FileAllocationDispatcherCommand.cc
7203
* src/FileAllocationEntry.cc
7205
* src/FillRequestGroupCommand.cc
7206
* src/FtpDownloadCommand.cc
7207
* src/FtpFinishDownloadCommand.cc
7208
* src/FtpInitiateConnectionCommand.cc
7209
* src/FtpNegotiationCommand.cc
7210
* src/FtpTunnelRequestCommand.cc
7211
* src/FtpTunnelResponseCommand.cc
7212
* src/HandshakeExtensionMessage.cc
7213
* src/HandshakeExtensionMessage.h
7214
* src/HaveEraseCommand.cc
7215
* src/HttpDownloadCommand.cc
7216
* src/HttpInitiateConnectionCommand.cc
7217
* src/HttpProxyRequestCommand.cc
7218
* src/HttpProxyResponseCommand.cc
7219
* src/HttpRequest.cc
7221
* src/HttpRequestCommand.cc
7222
* src/HttpResponseCommand.cc
7223
* src/HttpServerBodyCommand.cc
7224
* src/HttpServerCommand.cc
7225
* src/HttpSkipResponseCommand.cc
7226
* src/InitiateConnectionCommandFactory.cc
7227
* src/InitiatorMSEHandshakeCommand.cc
7228
* src/InitiatorMSEHandshakeCommand.h
7229
* src/IteratableChecksumValidator.cc
7230
* src/IteratableChecksumValidator.h
7231
* src/IteratableChunkChecksumValidator.cc
7232
* src/MSEHandshake.cc
7233
* src/MSEHandshake.h
7236
* src/Metalink2RequestGroup.cc
7237
* src/MetalinkPostDownloadHandler.cc
7238
* src/MultiDiskAdaptor.cc
7239
* src/MultiDiskAdaptor.h
7240
* src/MultiFileAllocationIterator.cc
7241
* src/MultiUrlRequestInfo.cc
7242
* src/PeerChokeCommand.cc
7243
* src/PeerChokeCommand.h
7244
* src/PeerInitiateConnectionCommand.cc
7245
* src/PeerInitiateConnectionCommand.h
7246
* src/PeerInteractionCommand.cc
7247
* src/PeerInteractionCommand.h
7248
* src/PeerReceiveHandshakeCommand.cc
7249
* src/PieceHashCheckIntegrityEntry.cc
7250
* src/RealtimeCommand.cc
7251
* src/ReceiverMSEHandshakeCommand.cc
7252
* src/RequestGroup.cc
7253
* src/RequestGroup.h
7254
* src/RequestGroupEntry.cc
7255
* src/RequestGroupMan.cc
7256
* src/SeedCheckCommand.cc
7257
* src/SeedCheckCommand.h
7259
* src/ShareRatioSeedCriteria.h
7260
* src/SingleFileDownloadContext.cc: Removed
7261
* src/SingleFileDownloadContext.h: Removed
7262
* src/SleepCommand.cc
7263
* src/StreamCheckIntegrityEntry.cc
7264
* src/TrackerWatcherCommand.cc
7265
* src/TrackerWatcherCommand.h
7266
* src/UnknownLengthPieceStorage.cc
7269
* src/XmlRpcMethodImpl.cc
7270
* src/bittorrent_helper.cc
7271
* src/bittorrent_helper.h
7272
* src/download_helper.cc
7274
* src/option_processing.cc
7275
* test/BitfieldManTest.cc
7276
* test/BittorrentHelperTest.cc
7277
* test/BtCancelMessageTest.cc
7278
* test/BtChokeMessageTest.cc
7279
* test/BtDependencyTest.cc
7280
* test/BtPieceMessageTest.cc
7281
* test/BtPostDownloadHandlerTest.cc
7282
* test/BtRegistryTest.cc
7283
* test/BtRejectMessageTest.cc
7284
* test/BtRequestMessageTest.cc
7285
* test/DHTPeerAnnounceStorageTest.cc
7286
* test/DefaultBtAnnounceTest.cc
7287
* test/DefaultBtContextTest.cc: Removed
7288
* test/DefaultBtMessageDispatcherTest.cc
7289
* test/DefaultBtMessageFactoryTest.cc
7290
* test/DefaultBtProgressInfoFileTest.cc
7291
* test/DefaultBtRequestFactoryTest.cc
7292
* test/DefaultExtensionMessageFactoryTest.cc
7293
* test/DefaultPeerStorageTest.cc
7294
* test/DefaultPieceStorageTest.cc
7295
* test/DirectDiskAdaptorTest.cc
7296
* test/DownloadContextTest.cc
7297
* test/DownloadHandlerFactoryTest.cc
7298
* test/DownloadHelperTest.cc
7299
* test/HandshakeExtensionMessageTest.cc
7300
* test/HttpRequestTest.cc
7301
* test/HttpResponseTest.cc
7302
* test/IteratableChecksumValidatorTest.cc
7303
* test/IteratableChunkChecksumValidatorTest.cc
7304
* test/MSEHandshakeTest.cc
7307
* test/Metalink2RequestGroupTest.cc
7308
* test/MetalinkPostDownloadHandlerTest.cc
7309
* test/MockBtContext.h: Removed
7310
* test/MockDHTTaskFactory.h
7311
* test/MockDownloadContext.h: Removed
7312
* test/MockPieceStorage.h
7313
* test/MultiDiskAdaptorTest.cc
7314
* test/MultiFileAllocationIteratorTest.cc
7315
* test/RequestGroupManTest.cc
7316
* test/RequestGroupTest.cc
7317
* test/SegmentManTest.cc
7318
* test/ShareRatioSeedCriteriaTest.cc
7319
* test/SingleFileDownloadContextTest.cc: Removed
7321
* test/XmlRpcMethodTest.cc
7323
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7325
Added experimental support of WEB-Seeding for multi-file torrent.
7326
Due to fundamental changes in file handling in HTTP/FTP code, many
7327
functions are not working: PeerStat, ServerHost, proxy..etc
7328
* src/AbstractCommand.cc
7329
* src/AbstractCommand.h
7330
* src/BitfieldMan.cc
7332
* src/CreateRequestCommand.cc
7333
* src/CreateRequestCommand.h
7334
* src/DefaultPieceStorage.cc
7335
* src/DefaultPieceStorage.h
7336
* src/DownloadCommand.cc
7337
* src/DownloadCommand.h
7338
* src/DownloadContext.cc
7339
* src/DownloadContext.h
7342
* src/FtpDownloadCommand.cc
7343
* src/FtpDownloadCommand.h
7344
* src/FtpFinishDownloadCommand.cc
7345
* src/FtpFinishDownloadCommand.h
7346
* src/FtpInitiateConnectionCommand.cc
7347
* src/FtpInitiateConnectionCommand.h
7348
* src/FtpNegotiationCommand.cc
7349
* src/FtpNegotiationCommand.h
7350
* src/FtpTunnelResponseCommand.cc
7351
* src/HttpDownloadCommand.cc
7352
* src/HttpDownloadCommand.h
7353
* src/HttpInitiateConnectionCommand.cc
7354
* src/HttpInitiateConnectionCommand.h
7355
* src/HttpProxyResponseCommand.cc
7356
* src/HttpRequest.cc
7358
* src/HttpRequestCommand.cc
7359
* src/HttpRequestCommand.h
7360
* src/HttpResponseCommand.cc
7361
* src/HttpResponseCommand.h
7362
* src/HttpSkipResponseCommand.cc
7363
* src/HttpSkipResponseCommand.h
7364
* src/InitiateConnectionCommand.cc
7365
* src/InitiateConnectionCommand.h
7366
* src/InitiateConnectionCommandFactory.cc
7367
* src/InitiateConnectionCommandFactory.h
7369
* src/PieceStorage.h
7370
* src/RequestGroup.cc
7371
* src/RequestGroup.h
7372
* src/RequestGroupMan.cc
7375
* src/SingleFileDownloadContext.h
7376
* src/StreamFileAllocationEntry.cc
7377
* src/TrackerWatcherCommand.cc
7378
* src/UnknownLengthPieceStorage.cc
7379
* src/UnknownLengthPieceStorage.h
7382
* src/download_helper.cc
7383
* test/DownloadContextTest.cc
7385
* test/MockDownloadContext.h
7387
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7389
Added tellWaiting XML-RPC method.
7390
* src/SingleFileDownloadContext.cc
7391
* src/XmlRpcMethodFactory.cc
7392
* src/XmlRpcMethodImpl.cc
7393
* src/XmlRpcMethodImpl.h
7394
* test/XmlRpcMethodTest.cc
7396
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7398
Updated CookieStorageTest
7399
* test/CookieStorageTest.cc
7401
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7403
In TLSContext::addClientKeyFile() and addTrustedCACertFile(),
7404
handle excepion inside these functions.
7405
* src/LibgnutlsTLSContext.cc
7406
* src/LibgnutlsTLSContext.h
7407
* src/LibsslTLSContext.cc
7408
* src/LibsslTLSContext.h
7409
* src/MultiUrlRequestInfo.cc
7411
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7414
* src/RequestGroup.cc
7416
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7418
In CookieStorage::load() and saveNsFormat(), handle exception
7419
inside the functions. When saving Cookies, first write temporary
7420
file and after successful writes, then renames it to final
7422
* src/CookieStorage.cc
7423
* src/CookieStorage.h
7424
* src/MultiUrlRequestInfo.cc
7426
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7428
The default value of --dir option is the absolute path to the
7429
current directory. If getcwd() is failed, then it is ".", which is
7430
the same value with old implementation. This change is necessary
7431
because after daemon() call, the current working directory is
7435
* src/OptionHandlerFactory.cc
7436
* src/option_processing.cc
7438
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7440
Call daemon() with arguments(0,0), which means daemon() changes
7441
current working directory to / and redirects stdin, stdout and
7442
stderr to /dev/null.
7443
* src/option_processing.cc
7445
2009-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7447
Small performance optimizations.
7448
* src/RequestGroupMan.cc
7450
2009-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7452
Added _xmlRpc member variable to RequestGroupMan to reduce the
7453
number of call Option::getAsBool(PREF_ENABLE_XML_RPC)
7454
* src/RequestGroupMan.cc
7455
* src/RequestGroupMan.h
7457
2009-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7459
Call setStatus(STATUS_ONESHOT_REALTIME) from constructor. Call
7460
setNoWiat(true) if newly created command calls
7461
setStatus(STATUS_ONESHOT_REALTIME) from its constructor.
7462
* src/HttpListenCommand.cc
7463
* src/HttpServerBodyCommand.cc
7464
* src/HttpServerCommand.cc
7465
* src/HttpServerResponseCommand.cc
7466
* src/InitiateConnectionCommand.cc
7467
* src/RequestGroup.cc
7468
* src/StreamFileAllocationEntry.cc
7470
2009-06-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7472
Removed include vector
7475
2009-06-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7477
Rewritten BtRegistry
7481
* src/ConsoleStatCalc.cc
7482
* src/PeerInteractionCommand.cc
7483
* src/PeerReceiveHandshakeCommand.cc
7484
* src/ReceiverMSEHandshakeCommand.cc
7485
* src/RequestGroup.cc
7486
* src/XmlRpcMethodImpl.cc
7487
* test/BtRegistryTest.cc
7489
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7491
Used array_ptr for savedInfoHash, savedBitfield and pieceBitfield.
7492
* src/DefaultBtProgressInfoFile.cc
7494
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7496
Throw an exception if position is less than 0.
7497
* src/XmlRpcMethodImpl.cc
7498
* test/XmlRpcMethodTest.cc
7500
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7502
Use writeFilePath() in ConsoleStatCalc.cc
7503
* src/ConsoleStatCalc.cc
7505
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7507
Receive the return value as const reference from
7508
DownloadContext::getFileEntries().
7509
* src/DefaultPieceStorage.cc
7510
* src/RequestGroupMan.cc
7511
* src/XmlRpcMethodImpl.cc
7513
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7515
DownloadContext now has _fileEntries so that
7516
DownloadContext::getFileEntries() can returns its const reference.
7517
* src/DefaultBtContext.cc
7518
* src/DefaultBtContext.h
7519
* src/DownloadContext.cc
7520
* src/DownloadContext.h
7521
* src/SingleFileDownloadContext.cc
7522
* src/SingleFileDownloadContext.h
7524
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7526
Moved getFirstRequestedFileEntry(), countRequestedFileEntry() and
7527
writeFilePath() function template from RequestGroupMan.cc to
7530
* src/RequestGroupMan.cc
7532
2009-06-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7534
Documented 'position' parameter is starting from 0 in man page.
7537
2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7540
* src/MSEHandshake.cc
7542
2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7544
Removed _acceptFeatures and its accessor functions from
7545
RequestGroup since they are not used practically.
7546
* src/HttpRequestCommand.cc
7547
* src/RequestGroup.cc
7548
* src/RequestGroup.h
7550
2009-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7552
Removed member _maxTries from RequestGroup class to avoid
7553
duplicate option value. Those classes who refer this variable
7554
should use option value of PREF_MAX_TRIES directly.
7555
* src/AbstractCommand.cc
7556
* src/RequestGroup.cc
7557
* src/RequestGroup.h
7558
* src/TrackerWatcherCommand.cc
7560
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7564
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7566
Fixed compiler warnings on netbsd
7567
* src/DHTConnectionImpl.cc
7568
* src/PeerListenCommand.cc
7569
* src/PeerSessionResource.cc
7572
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7574
Updated Ukrainian translation. Thanks to all translators.
7577
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7579
Bump up version number to 1.4.1.
7582
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7584
Added unit tests for strjoin, strconcat and strappend.
7585
* test/a2functionalTest.cc
7587
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7589
Rewritten strconcat and strappend using operator+ instead of
7591
* src/a2functional.h
7593
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7595
Compile bencode.cc and BencodeTest.cc only if BitTorrent support
7600
2009-06-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7602
Added countSeeder() function which counts seeder in the given
7603
iterator range. Use it in ConsoleStatCalc and XmlRpcMethodImpl.
7604
* src/ConsoleStatCalc.cc
7606
* src/XmlRpcMethodImpl.cc
7609
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7611
Documented missing seeder in getPeers xml-rpc method.
7612
Documented uploadLength and numSeeders.
7615
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7617
Added uploadLength and numSeeders to the response of tellStatus
7618
xml-rpc method. Assert that PeerStorage instance is not null
7619
instead of checking if statement. It should be non-null in this
7621
* src/XmlRpcMethodImpl.cc
7623
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7625
Use htmlEscape instead of xmlEscape. Removed static function xmlEscape.
7626
* src/XmlRpcResponse.cc
7628
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7630
Avoid intermediate object during string concatenation.
7631
* src/HttpRequest.cc
7633
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7635
Added strjoin function template. Use it in pathJoin()
7637
* src/a2functional.h
7639
2009-06-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7641
Avoid intermediate object during string concatenation. Replaced
7642
post-increment unary operator with pre-increment one in for loop.
7643
* src/AdaptiveURISelector.cc
7644
* src/AnnounceList.cc
7646
* src/BtBitfieldMessage.cc
7647
* src/BtExtendedMessage.cc
7648
* src/BtHandshakeMessage.cc
7649
* src/BtPieceMessage.cc
7650
* src/BtPortMessage.cc
7652
* src/DHTAnnouncePeerMessage.cc
7653
* src/DHTAutoSaveCommand.cc
7654
* src/DHTGetPeersReplyMessage.cc
7656
* src/DHTQueryMessage.cc
7657
* src/DHTResponseMessage.cc
7658
* src/DHTUnknownMessage.cc
7659
* src/DefaultBtAnnounce.cc
7660
* src/DefaultBtContext.cc
7661
* src/DefaultBtInteractive.cc
7662
* src/DefaultBtProgressInfoFile.cc
7663
* src/DefaultPeerStorage.cc
7664
* src/DownloadEngine.cc
7665
* src/FeatureConfig.cc
7667
* src/FtpConnection.cc
7668
* src/FtpNegotiationCommand.cc
7669
* src/HandshakeExtensionMessage.cc
7670
* src/HttpConnection.cc
7671
* src/HttpRequest.cc
7672
* src/HttpResponseCommand.cc
7674
* src/IndexBtMessage.cc
7675
* src/Metalink2RequestGroup.cc
7676
* src/OptionHandlerImpl.h
7677
* src/PStringBuildVisitor.cc
7679
* src/PeerListenCommand.cc
7681
* src/RangeBtMessage.cc
7684
* src/RequestGroup.cc
7685
* src/RequestGroupMan.cc
7687
* src/ServerStatMan.cc
7688
* src/UTPexExtensionMessage.cc
7690
* src/a2functional.h
7691
* src/download_helper.cc
7692
* src/messageDigest.cc
7694
2009-06-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7696
Unchoke a peer randomly at first and second choke round in seed
7698
* src/BtSeederStateChoke.cc
7700
2009-06-02 Ross Smith II <aria2spam at smithii dot com>
7702
Added (sock_t) to quiet compiler warnings in MinGW
7706
2009-06-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7708
Added missing #ifdef ENABLE_ASYNC_DNS guard.
7709
* src/EpollEventPoll.h
7711
2009-06-01 Ross Smith II <aria2spam at smithii dot com>
7713
Added fork() emulation using CreateProcess() in MinGW
7714
* src/RequestGroupMan.cc
7716
2009-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7720
2009-06-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7722
Added utf8.torrent to EXTRA_DIST
7725
2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7727
Fixed docs of aria2.addMetalink xml-rpc method.
7730
2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7732
Added Slovak translation. Updated Ukrainian and Brazilian
7733
Portuguese translation. Thanks to all translators.
7739
2009-05-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7741
Added test case for XmlRpcProcessor to fail to parse malformed
7743
* test/XmlRpcRequestProcessorTest.cc
7745
2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7747
Removed *.gmo files in po because they are generated on 'make
7751
2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7753
Documented max-concurrent-downloads of changeGlobalOption method
7757
2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7759
Added max-concurrent-downloads option to changeGlobalOption
7760
xml-rpc method. Rewritten loop conditional in
7761
RequestGroupMan::fillRequestGroupFromReserver().
7762
* src/RequestGroupMan.cc
7763
* src/RequestGroupMan.h
7764
* src/XmlRpcMethod.cc
7765
* src/XmlRpcMethodImpl.cc
7767
2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7769
Documented position parameter in man page.
7772
2009-05-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7774
Added 'position' parameter to addUri, addTorrent and addMetalink
7776
* src/RequestGroupMan.cc
7777
* src/RequestGroupMan.h
7778
* src/XmlRpcMethodImpl.cc
7779
* test/XmlRpcMethodTest.cc
7781
2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7783
Removed Peer.cc from compile source list when --disable-bittorrent
7784
is specified. Added #ifdef ENABLE_BITTORRENT guard to methods that
7786
* src/DefaultPieceStorage.cc
7787
* src/DefaultPieceStorage.h
7789
* src/PieceStorage.h
7790
* src/UnknownLengthPieceStorage.cc
7791
* src/UnknownLengthPieceStorage.h
7792
* test/MockPieceStorage.h
7794
2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7796
Implemented getter methods in header files to give them more
7797
chance of optimization.
7798
Return const reference for SharadHandle if possible.
7799
* src/AbstractAuthResolver.cc
7800
* src/AbstractAuthResolver.h
7801
* src/AbstractBtMessage.cc
7802
* src/AbstractBtMessage.h
7803
* src/AbstractSingleDiskAdaptor.cc
7804
* src/AbstractSingleDiskAdaptor.h
7805
* src/AsyncNameResolver.cc
7806
* src/AsyncNameResolver.h
7809
* src/BitfieldMan.cc
7811
* src/BtAbortOutstandingRequestEvent.h
7812
* src/BtExtendedMessage.cc
7813
* src/BtExtendedMessage.h
7814
* src/BtSeederStateChoke.cc
7815
* src/BtSeederStateChoke.h
7820
* src/DHTConnectionImpl.cc
7821
* src/DHTConnectionImpl.h
7822
* src/DHTFindNodeReplyMessage.cc
7823
* src/DHTFindNodeReplyMessage.h
7824
* src/DHTGetPeersReplyMessage.cc
7825
* src/DHTGetPeersReplyMessage.h
7826
* src/DHTInteractionCommand.cc
7829
* src/DHTMessageDispatcherImpl.cc
7830
* src/DHTMessageEntry.cc
7831
* src/DHTMessageReceiver.cc
7832
* src/DHTMessageReceiver.h
7833
* src/DHTMessageTrackerEntry.cc
7834
* src/DHTMessageTrackerEntry.h
7835
* src/DHTPeerAnnounceEntry.cc
7836
* src/DHTPeerAnnounceEntry.h
7837
* src/DHTPeerLookupTask.cc
7838
* src/DHTPeerLookupTask.h
7839
* src/DHTRoutingTableDeserializer.cc
7840
* src/DHTRoutingTableDeserializer.h
7841
* src/DefaultBtAnnounce.cc
7842
* src/DefaultBtAnnounce.h
7843
* src/DefaultBtMessageDispatcher.cc
7844
* src/DefaultBtMessageDispatcher.h
7845
* src/DefaultBtRequestFactory.cc
7846
* src/DefaultBtRequestFactory.h
7847
* src/DiskAdaptor.cc
7849
* src/DownloadContext.cc
7850
* src/DownloadContext.h
7851
* src/DownloadEngine.cc
7852
* src/DownloadEngine.h
7853
* src/EpollEventPoll.cc
7854
* src/EpollEventPoll.h
7855
* src/FtpConnection.cc
7856
* src/FtpConnection.h
7857
* src/HttpConnection.cc
7858
* src/HttpConnection.h
7861
* src/HttpRequest.cc
7863
* src/HttpResponse.cc
7864
* src/HttpResponse.h
7865
* src/LibsslTLSContext.cc
7866
* src/LibsslTLSContext.h
7867
* src/MSEHandshake.cc
7868
* src/MSEHandshake.h
7869
* src/MetalinkEntry.cc
7870
* src/MetalinkEntry.h
7871
* src/MetalinkParserController.cc
7872
* src/MetalinkParserController.h
7873
* src/MetalinkParserStateMachine.cc
7874
* src/MetalinkParserStateMachine.h
7875
* src/MultiDiskAdaptor.cc
7876
* src/MultiDiskAdaptor.h
7877
* src/NetrcAuthResolver.cc
7878
* src/NetrcAuthResolver.h
7881
* src/PeerSessionResource.cc
7882
* src/PeerSessionResource.h
7885
* src/PieceStatMan.cc
7886
* src/PieceStatMan.h
7889
* src/RequestGroup.cc
7890
* src/RequestGroup.h
7891
* src/RequestGroupMan.cc
7892
* src/RequestGroupMan.h
7893
* src/RequestSlot.cc
7897
* src/SelectEventPoll.cc
7898
* src/SelectEventPoll.h
7905
* src/UTPexExtensionMessage.cc
7906
* src/UTPexExtensionMessage.h
7908
2009-05-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7910
Fixed compile error without BitTorrent and Metalink support.
7911
* src/XmlRpcMethod.cc
7912
* src/XmlRpcMethodFactory.cc
7913
* src/XmlRpcMethodImpl.cc
7914
* src/XmlRpcMethodImpl.h
7915
* test/XmlRpcMethodTest.cc
7917
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7919
Rewritten the help message for --allow-overwrite option.
7923
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7929
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7931
Updated README for 1.4.0 release. Use new table syntax of
7935
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7937
Documented --xml-rpc-max-request-size option in man page.
7940
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7942
Moved C_* constants from BtContext to DefaultBtContext.
7943
* src/BtContext.cc: Removed.
7945
* src/DefaultBtContext.cc
7946
* src/DefaultBtContext.h
7949
2009-05-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7951
Use name.utf-8 and path.utf-8 key in higher priority than name and
7952
path key respectively when persing .torrent file.
7955
* src/DefaultBtContext.cc
7956
* test/DefaultBtContextTest.cc
7959
2009-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7961
Added --xml-rpc-max-request-size option to limit the size of
7964
2009-05-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7966
Documented XML-RPC API in man page.
7969
2009-05-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7971
Fixed g++-4.4 compiler warning: dereferencing type-punned pointer
7972
will break strict-aliasing rules
7973
* src/PeerConnection.cc
7974
* test/DHTRoutingTableSerializerTest.cc
7976
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7978
Removed PKG_CONFIG variable in sqlite3.m4, which conflicts the
7979
variable in pkg.m4. Use PKG_CHECK_MODULES instead of hand-crafted
7980
scripts. Renamed SQLITE3_CPPFLAGS as SQLITE3_CFLAGS since
7981
PKG_CHECK_MODULES macro uses latter name.
7986
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7991
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
7993
Since upcoming libgnutls 2.8 doesn't have libgnutls-config, Check
7994
presence of libgnutls using pkg-config first. If it fails, fall
7995
back to old macro libgnutls.m4.
7998
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8000
Use s itself instead of !s.bad()
8001
* src/CookieStorage.cc
8003
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8005
Documented --on-download-* option and --save-cookies option in man
8009
2009-05-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8011
Set possible values for --load-cookie option to "/path/to/file".
8012
* src/OptionHandlerFactory.cc
8014
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8016
Added --save-cookies option.
8019
* src/CookieStorage.cc
8020
* src/CookieStorage.h
8021
* src/MultiUrlRequestInfo.cc
8022
* src/OptionHandlerFactory.cc
8026
* test/CookieStorageTest.cc
8027
* test/CookieTest.cc
8029
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8031
Removed tellAll XML-RPC command because its reponse tends to be
8032
big if stopped/waiting downloads pile up.
8033
* src/XmlRpcMethodFactory.cc
8034
* src/XmlRpcMethodImpl.cc
8035
* src/XmlRpcMethodImpl.h
8037
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8039
Added the ability to execute command when download starts and
8040
stops. You can also specify command for particular cases such as
8041
complete/error download. Added --on-download-start,
8042
--on-download-stop, --on-download-complete and --on-download-error
8044
* src/OptionHandlerFactory.cc
8045
* src/RequestGroupMan.cc
8050
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8053
* test/BencodeTest.cc
8055
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8058
* test/XmlRpcMethodTest.cc
8060
2009-05-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8062
Made exception message more verbose.
8065
2009-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8067
Abbreviated KiB/s to KiBs and its precision decreased to 1 to save
8068
space in console readout. Also they are now shown in MiB/s if
8070
* src/ConsoleStatCalc.cc
8072
2009-05-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8074
Added SEED to console output, which represents the number of
8075
seeders currently the client is connecting to.
8076
* src/ConsoleStatCalc.cc
8077
* src/ConsoleStatCalc.h
8078
* src/DownloadEngine.cc
8079
* src/NullStatCalc.h
8082
2009-05-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8084
Added source filename(__FILE__) and line number(__LINE__) to
8086
* src/AbstractCommand.cc
8087
* src/AbstractDiskWriter.cc
8088
* src/AbstractProxyResponseCommand.cc
8090
* src/BtAllowedFastMessage.cc
8091
* src/BtHandshakeMessageValidator.h
8092
* src/BtHaveAllMessage.cc
8093
* src/BtHaveNoneMessage.cc
8094
* src/BtPieceMessage.cc
8095
* src/BtRejectMessage.cc
8096
* src/ChunkedDecoder.cc
8097
* src/CookieStorage.cc
8098
* src/DHTAnnouncePeerMessage.cc
8099
* src/DHTEntryPointNameResolveCommand.cc
8100
* src/DHTMessageFactoryImpl.cc
8101
* src/DHTMessageTracker.cc
8102
* src/DHTRoutingTableDeserializer.cc
8103
* src/DHTRoutingTableSerializer.cc
8105
* src/DHTTokenTracker.cc
8106
* src/DefaultBtAnnounce.cc
8107
* src/DefaultBtContext.cc
8108
* src/DefaultBtInteractive.cc
8109
* src/DefaultBtMessageFactory.cc
8110
* src/DefaultBtProgressInfoFile.cc
8111
* src/DefaultExtensionMessageFactory.cc
8114
* src/DownloadCommand.cc
8115
* src/DownloadEngineFactory.cc
8116
* src/DownloadFailureException.h
8119
* src/ExpatMetalinkProcessor.cc
8120
* src/ExpatXmlRpcRequestProcessor.cc
8121
* src/FallocFileAllocationIterator.cc
8122
* src/FatalException.h
8123
* src/FtpConnection.cc
8124
* src/FtpFinishDownloadCommand.cc
8125
* src/FtpInitiateConnectionCommand.cc
8126
* src/FtpNegotiationCommand.cc
8127
* src/GZipDecoder.cc
8128
* src/HandshakeExtensionMessage.cc
8129
* src/HttpConnection.cc
8130
* src/HttpHeaderProcessor.cc
8131
* src/HttpInitiateConnectionCommand.cc
8132
* src/HttpResponse.cc
8133
* src/HttpResponseCommand.cc
8135
* src/HttpSkipResponseCommand.cc
8136
* src/InitiateConnectionCommandFactory.cc
8137
* src/IteratableChunkChecksumValidator.cc
8138
* src/LibgcryptARC4Context.h
8139
* src/LibgcryptARC4Decryptor.h
8140
* src/LibgcryptARC4Encryptor.h
8141
* src/LibgcryptDHKeyExchange.h
8142
* src/LibgnutlsTLSContext.cc
8143
* src/LibsslARC4Context.h
8144
* src/LibsslARC4Decryptor.h
8145
* src/LibsslARC4Encryptor.h
8146
* src/LibsslDHKeyExchange.h
8147
* src/LibsslTLSContext.cc
8148
* src/MSEHandshake.cc
8149
* src/MessageDigestHelper.cc
8150
* src/MetalinkHelper.cc
8151
* src/MultiDiskAdaptor.cc
8152
* src/NameMatchOptionHandler.h
8153
* src/NameResolver.cc
8155
* src/NsCookieParser.cc
8156
* src/OptionHandlerException.cc
8157
* src/OptionHandlerException.h
8158
* src/OptionHandlerImpl.h
8159
* src/OptionParser.cc
8160
* src/ParameterizedStringParser.cc
8161
* src/PeerAbstractCommand.cc
8162
* src/PeerConnection.cc
8163
* src/PeerMessageUtil.cc
8164
* src/PeerReceiveHandshakeCommand.cc
8166
* src/ReceiverMSEHandshakeCommand.cc
8167
* src/RecoverableException.h
8168
* src/RequestGroup.cc
8169
* src/SimpleLogger.cc
8171
* src/Sqlite3MozCookieParser.cc
8172
* src/UTPexExtensionMessage.cc
8174
* src/XML2SAXMetalinkProcessor.cc
8175
* src/Xml2XmlRpcRequestProcessor.cc
8176
* src/XmlRpcMethodImpl.cc
8178
* src/download_helper.cc
8179
* src/messageDigest.h
8180
* test/ExceptionTest.cc
8183
2009-05-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8185
Bump up version number to 1.4.0
8188
2009-05-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8190
Added 2files.metalink to EXTRA_DIST
8193
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8195
Added missing 2files.metalink
8196
* test/2files.metalink
8198
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8200
Show "[MEMORY]" prefix before filename in download summary if it
8201
is downloaded into memory.
8202
* src/DownloadResult.h
8203
* src/RequestGroup.cc
8204
* src/RequestGroupMan.cc
8206
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8208
Defined MSG_CANNOT_PARSE_XML_RPC_REQUEST
8209
* src/ExpatXmlRpcRequestProcessor.cc
8210
* src/Xml2XmlRpcRequestProcessor.cc
8213
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8215
Defined const BDEs to avoid duplicate instantiation.
8216
Defined MSG_GID_NOT_PROVIDED.
8217
* src/XmlRpcMethodImpl.cc
8220
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8223
* src/Xml2XmlRpcRequestProcessor.cc
8224
* src/Xml2XmlRpcRequestProcessor.h
8226
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8228
Defined ENABLE_XML_RPC
8233
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8235
Added ExpatXmlRpcRequestProcessor
8236
* src/ExpatXmlRpcRequestProcessor.cc
8237
* src/ExpatXmlRpcRequestProcessor.h
8240
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8242
Added tests for addTorrent and addMetalink command.
8245
* test/XmlRpcMethodTest.cc
8247
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8249
Corrected the description of --file-allocation option.
8252
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8254
Added tellAll command.
8255
* src/XmlRpcMethodFactory.cc
8256
* src/XmlRpcMethodImpl.cc
8257
* src/XmlRpcMethodImpl.h
8259
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8261
Use gatherProgress() in TellActiveXmlRpcMethod::process().
8262
* src/XmlRpcMethodImpl.cc
8264
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8266
Added changeGlobalOption command. Currently,
8267
max-overall-download-limit and max-overall-upload-limit option are
8269
* src/RequestGroupMan.h
8270
* src/XmlRpcMethod.cc
8271
* src/XmlRpcMethod.h
8272
* src/XmlRpcMethodFactory.cc
8273
* src/XmlRpcMethodImpl.cc
8274
* src/XmlRpcMethodImpl.h
8275
* test/XmlRpcMethodTest.cc
8277
2009-05-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8279
Added changeOption command. Currently, max-download-limit,
8280
max-upload-limit option are available in this command.
8281
* src/RequestGroup.h
8282
* src/XmlRpcMethod.cc
8283
* src/XmlRpcMethod.h
8284
* src/XmlRpcMethodFactory.cc
8285
* src/XmlRpcMethodImpl.cc
8286
* src/XmlRpcMethodImpl.h
8287
* test/XmlRpcMethodTest.cc
8289
2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8291
Added purgeDownloadResult command.
8292
* src/RequestGroupMan.cc
8293
* src/RequestGroupMan.h
8294
* src/XmlRpcMethodFactory.cc
8295
* src/XmlRpcMethodImpl.cc
8296
* src/XmlRpcMethodImpl.h
8298
2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8301
* src/XmlRpcMethod.cc
8303
2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8305
Added XmlRpcResponse class. XmlRpcMethod::execute() now returns
8307
* src/HttpServerBodyCommand.cc
8309
* src/XmlRpcMethod.cc
8310
* src/XmlRpcMethod.h
8311
* src/XmlRpcMethodImpl.cc
8312
* src/XmlRpcResponse.cc
8313
* src/XmlRpcResponse.h
8314
* test/XmlRpcMethodTest.cc
8316
2009-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8318
In XML-RPC option struct, header and index-out option can take
8320
* src/XmlRpcMethod.cc
8322
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8324
Removed unused option member from PeerConnection.
8325
* src/InitiatorMSEHandshakeCommand.cc
8326
* src/PeerConnection.cc
8327
* src/PeerConnection.h
8328
* src/PeerInteractionCommand.cc
8329
* src/PeerReceiveHandshakeCommand.cc
8330
* src/ReceiverMSEHandshakeCommand.cc
8332
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8334
Added "seeder" key to getPeers response.
8335
* src/XmlRpcMethodImpl.cc
8337
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8339
Added addMetalink XML-RPC command.
8340
* src/XmlRpcMethodFactory.cc
8341
* src/XmlRpcMethodImpl.cc
8342
* src/XmlRpcMethodImpl.h
8343
* src/download_helper.cc
8344
* src/download_helper.h
8346
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8348
Fixed the bug that POU peers are never choked in seeding.
8349
* src/BtSeederStateChoke.cc
8350
* src/BtSeederStateChoke.h
8352
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8354
Added web-seeding URI handling in addTorrent command.
8355
* src/XmlRpcMethodImpl.cc
8357
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8359
Added "length" key to getFiles response.
8360
* src/XmlRpcMethodImpl.cc
8362
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8364
Moved --no-netrc option from ftp option section to http/ftp option
8367
* src/OptionHandlerFactory.cc
8369
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8371
Removed garbage "\" character before '
8374
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8376
Removed garbage "\" character before http.
8379
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8381
Documented additional options that can be specified in -i list.
8382
Documented --enable-xml-rpc, --xml-rpc-listen-port, --xml-rpc-user
8383
and --xml-rpc-passwd. Removed --enable-http-server and
8384
--http-server-listen-port.
8387
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8389
Added "downloadSpeed" and uploadSpeed" key in getPeers response.
8390
* src/DefaultPeerStorage.cc
8391
* src/DefaultPeerStorage.h
8393
* src/XmlRpcMethodImpl.cc
8394
* test/MockPeerStorage.h
8396
2009-05-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8398
Put a call to Socket::isReadable() in try block.
8399
* src/HttpServerBodyCommand.cc
8400
* src/HttpServerCommand.cc
8402
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8404
Fixed segmentation fault error. SocketBuffer::sendResponse() may throw
8405
exception , so it is now in try block.
8406
* src/HttpServerResponseCommand.cc
8408
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8410
Added "amChoking" and "peerChoking" key in getPeers response.
8411
* src/XmlRpcMethodImpl.cc
8413
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8415
Added test case for zero-length filter.
8416
* test/BitfieldManTest.cc
8418
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8420
getFiles command now returns file data for finished/stopped
8422
* src/XmlRpcMethodImpl.cc
8424
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8426
DownloadResult now has the list of FileEntry. The download
8427
summary displays the path of first selected file and the number of
8428
remaining files for multi-file torrent.
8429
* src/DownloadResult.h
8430
* src/RequestGroup.cc
8431
* src/RequestGroupMan.cc
8432
* test/RequestGroupTest.cc
8434
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8436
Fixed segmentation fault error when no file is selected in
8438
* src/BitfieldMan.cc
8440
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8442
Escaped <,>,& character in XML-RPC response.
8443
* src/XmlRpcMethod.cc
8445
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8447
Throw DlAbortEx instead of FatalException during parsing options
8448
because we don't want for aria2 to quit when bad option is passed
8450
* src/OptionHandlerException.cc
8451
* src/OptionHandlerException.h
8452
* src/OptionHandlerImpl.h
8453
* src/OptionParser.cc
8454
* src/OptionParser.h
8455
* src/PStringSegment.cc
8456
* src/ParameterizedStringParser.cc
8457
* src/download_helper.cc
8458
* test/ParameterizedStringParserTest.cc
8460
2009-05-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8462
Selecting files are now done in
8463
DefaultBtContext::setFileFileter().
8464
PieceStorage::setFileFilter(), DiskAdaptor::addDownloadEntry()
8465
functions are removed because they are no longer used. Creating
8466
filter in BitfieldMan is done in new funtion
8467
PieceStorage::setupFileFilter()
8470
* src/DefaultBtContext.cc
8471
* src/DefaultBtContext.h
8472
* src/DefaultPieceStorage.cc
8473
* src/DefaultPieceStorage.h
8474
* src/DiskAdaptor.cc
8476
* src/PieceStorage.h
8477
* src/RequestGroup.cc
8478
* src/UnknownLengthPieceStorage.h
8479
* src/XmlRpcMethodImpl.cc
8480
* test/DefaultBtContextTest.cc
8481
* test/MockBtContext.h
8482
* test/MockPieceStorage.h
8484
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8486
Fixed compile error on Mac OS X
8488
* src/XmlRpcMethod.h
8489
* src/XmlRpcMethodImpl.cc
8491
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8493
Use std::binary_search instead of std::find
8494
* src/DefaultPieceStorage.cc
8496
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8498
Removed unnecessary BDE() call; leave them to implicit conversion.
8499
* src/XmlRpcMethodImpl.cc
8501
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8503
Return connections and gid in string
8504
* src/XmlRpcMethodImpl.cc
8506
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8508
Renamed addURI as addUri
8509
* src/XmlRpcMethodFactory.cc
8510
* src/XmlRpcMethodImpl.cc
8511
* src/XmlRpcMethodImpl.h
8512
* test/XmlRpcMethodTest.cc
8514
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8516
Renamed addTorrentFile as addTorrent
8517
* src/XmlRpcMethodFactory.cc
8518
* src/XmlRpcMethodImpl.cc
8519
* src/XmlRpcMethodImpl.h
8521
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8523
The information for files, URIs, peers are removed from the
8524
reponse of TellaActive, TellStatus command because they tend to be
8525
large. Instead they can be retrieved by the dedicated commands:
8526
getFiles, getUris and getPeers respectively.
8527
* src/XmlRpcMethodFactory.cc
8528
* src/XmlRpcMethodImpl.cc
8529
* src/XmlRpcMethodImpl.h
8531
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8533
Removed --max-overall-upload-limit and
8534
--max-overall-download-limit option from listRequestOptions.
8535
* src/download_helper.cc
8537
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8539
Log incoming host in HttpListenCommand.
8540
* src/HttpListenCommand.cc
8542
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8544
Added BASIC authentication for XML-RPC. Added --xml-rpc-user and
8545
--xml-rpc-passwd option.
8548
* src/HttpServerCommand.cc
8549
* src/OptionHandlerFactory.cc
8554
2009-05-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8556
Fixed the bug that SocketCore::isReadable() prevents aria2 from
8557
processing 0 length request.
8558
* src/HttpServerBodyCommand.cc
8560
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8562
Removed --enable-http-server and --http-server-listen-port
8563
options. Added --enable-xml-rpc and --xml-rpc-listen-port
8564
instead. The original feature for --enable-http-server that
8565
reports download progress in HTML was officially removed. Persist
8566
XML-RPC connection if client supports keep-alive.
8567
* src/DownloadEngineFactory.cc
8568
* src/HttpServerCommand.cc
8569
* src/HttpServerResponseCommand.cc
8572
* src/OptionHandlerFactory.cc
8573
* src/RequestGroupMan.cc
8575
* src/option_processing.cc
8580
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8582
Added "uris" key to the response of tellStatus command. Added
8583
"connections" key to the response of tellStatus and tellActive
8585
* src/XmlRpcMethodImpl.cc
8587
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8589
Renamed TellActiveStatusXmlRpcMethod as TellActiveXmlRpcMethod.
8590
Added TellStatusXmlRpcMethod. Remove command can now remove
8591
waiting RequestGroup.
8592
* src/RequestGroupMan.cc
8593
* src/RequestGroupMan.h
8594
* src/XmlRpcMethodFactory.cc
8595
* src/XmlRpcMethodImpl.cc
8596
* src/XmlRpcMethodImpl.h
8598
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8603
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8605
Return fault structure for error. FailXmlRpcMethod is renamed as
8606
NoSuchMethodXmlRpcMethod. pieceLength and numPieces are returned
8607
in non-torrent download. Return single param value.
8608
* src/XmlRpcMethod.cc
8609
* src/XmlRpcMethodFactory.cc
8610
* src/XmlRpcMethodImpl.cc
8611
* src/XmlRpcMethodImpl.h
8612
* test/XmlRpcMethodTest.cc
8614
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8616
Set DownloadResult::IN_PROGRESS for downloads removed by xml-rpc
8618
* src/RequestGroup.cc
8619
* src/RequestGroup.h
8620
* src/RequestGroupMan.cc
8621
* src/XmlRpcMethodImpl.cc
8622
* test/RequestGroupTest.cc
8624
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8626
Added more options that can be specified in -i list and xml-rpc
8628
* src/download_helper.h
8630
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8632
The available options in -i list should be listed in
8633
listRequestOptions().
8634
* src/download_helper.cc
8636
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8638
Added infoHash, pieceLength, numPieces value for tellActiveStatus
8640
* src/XmlRpcMethodImpl.cc
8642
2009-05-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8644
Now RequestGroup has its own copy of Option object. This will help
8645
to give custom option for each RequestGroup.
8646
addTorrentFile command now takes options.
8647
* src/AbstractCommand.cc
8648
* src/AbstractCommand.h
8649
* src/AbstractProxyRequestCommand.cc
8650
* src/ActivePeerConnectionCommand.cc
8651
* src/ActivePeerConnectionCommand.h
8652
* src/AdaptiveURISelector.cc
8653
* src/BtCheckIntegrityEntry.cc
8654
* src/BtDependency.cc
8655
* src/BtDependency.h
8656
* src/BtFileAllocationEntry.cc
8657
* src/BtPostDownloadHandler.cc
8658
* src/CheckIntegrityEntry.cc
8659
* src/DownloadCommand.cc
8660
* src/FtpDownloadCommand.cc
8661
* src/FtpFinishDownloadCommand.cc
8662
* src/FtpInitiateConnectionCommand.cc
8663
* src/FtpNegotiationCommand.cc
8664
* src/HttpInitiateConnectionCommand.cc
8665
* src/HttpRequestCommand.cc
8666
* src/HttpResponseCommand.cc
8667
* src/HttpSkipResponseCommand.cc
8668
* src/InitiateConnectionCommand.cc
8669
* src/InitiateConnectionCommandFactory.cc
8670
* src/InitiatorMSEHandshakeCommand.cc
8671
* src/InitiatorMSEHandshakeCommand.h
8672
* src/Metalink2RequestGroup.cc
8673
* src/Metalink2RequestGroup.h
8674
* src/MetalinkPostDownloadHandler.cc
8675
* src/MultiUrlRequestInfo.cc
8676
* src/MultiUrlRequestInfo.h
8677
* src/PeerAbstractCommand.cc
8678
* src/PeerInteractionCommand.cc
8679
* src/PeerInteractionCommand.h
8680
* src/PeerReceiveHandshakeCommand.cc
8681
* src/PeerReceiveHandshakeCommand.h
8682
* src/RequestGroup.cc
8683
* src/RequestGroup.h
8684
* src/TrackerWatcherCommand.cc
8685
* src/TrackerWatcherCommand.h
8686
* src/XmlRpcMethod.cc
8687
* src/XmlRpcMethod.h
8688
* src/XmlRpcMethodImpl.cc
8689
* src/download_helper.cc
8690
* src/download_helper.h
8692
* test/BtDependencyTest.cc
8693
* test/BtPostDownloadHandlerTest.cc
8694
* test/DefaultBtMessageDispatcherTest.cc
8695
* test/DownloadHandlerFactoryTest.cc
8696
* test/DownloadHelperTest.cc
8697
* test/Metalink2RequestGroupTest.cc
8698
* test/MetalinkPostDownloadHandlerTest.cc
8699
* test/RequestGroupManTest.cc
8700
* test/RequestGroupTest.cc
8702
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8704
Added tellActiveStatus xml-rpc command which reports download
8705
status of active downloads.
8706
* src/XmlRpcMethodFactory.cc
8707
* src/XmlRpcMethodImpl.cc
8708
* src/XmlRpcMethodImpl.h
8710
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8712
Added addTorrentFile xml-rpc command which receives uploaded
8713
torrent file and add download for it.
8714
* src/RequestGroupMan.cc
8715
* src/XmlRpcMethodFactory.cc
8716
* src/XmlRpcMethodImpl.cc
8717
* src/XmlRpcMethodImpl.h
8718
* src/download_helper.cc
8719
* src/download_helper.h
8721
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8723
Added remove xml-rpc command which removes specified download.
8724
There is a known issue: the removed unfinished downloads are
8725
reported ERR when aria2 exits. They should be reported as INPR.
8726
* src/RequestGroupMan.cc
8727
* src/RequestGroupMan.h
8728
* src/XmlRpcMethodFactory.cc
8729
* src/XmlRpcMethodImpl.cc
8730
* src/XmlRpcMethodImpl.h
8732
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8734
If --enable-http-server is enabled, don't stop aria2 when all
8735
download finished and don't quit when no files to download at
8737
* src/RequestGroupMan.cc
8739
* src/option_processing.cc
8741
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8743
Added missing AM_CONDITIONAL
8746
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8748
Added xml-rpc functionality. Currently only addURI commad is
8749
supported. To enable xml-rpc, run aria2 with
8750
--enable-http-server. This option name is temporal and will be
8751
changed. The feature that reports download progress in html format
8752
is temporarily disabled.
8755
* src/HttpServerBodyCommand.cc
8756
* src/HttpServerBodyCommand.h
8757
* src/HttpServerCommand.cc
8758
* src/HttpServerResponseCommand.cc
8760
* src/OptionParser.cc
8761
* src/OptionParser.h
8762
* src/RequestGroupMan.cc
8763
* src/RequestGroupMan.h
8764
* src/XmlRpcMethod.cc
8765
* src/XmlRpcMethod.h
8766
* src/XmlRpcMethodFactory.cc
8767
* src/XmlRpcMethodFactory.h
8768
* src/XmlRpcMethodImpl.cc
8769
* src/XmlRpcMethodImpl.h
8770
* src/download_helper.cc
8771
* src/download_helper.h
8773
* test/XmlRpcMethodTest.cc
8775
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8777
Added xml-rpc request parser. The supported value types are:
8778
i4/int, string, double, struct, array, base64. Currently only
8779
libxml2 version is provided.
8780
* src/Xml2XmlRpcRequestProcessor.cc
8781
* src/Xml2XmlRpcRequestProcessor.h
8782
* src/XmlRpcElements.cc
8783
* src/XmlRpcElements.h
8784
* src/XmlRpcRequest.h
8785
* src/XmlRpcRequestParserController.cc
8786
* src/XmlRpcRequestParserController.h
8787
* src/XmlRpcRequestParserState.h
8788
* src/XmlRpcRequestParserStateImpl.cc
8789
* src/XmlRpcRequestParserStateImpl.h
8790
* src/XmlRpcRequestParserStateMachine.cc
8791
* src/XmlRpcRequestParserStateMachine.h
8792
* src/XmlRpcRequestProcessor.h
8793
* test/XmlRpcRequestParserControllerTest.cc
8794
* test/XmlRpcRequestProcessorTest.cc
8796
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8800
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8802
Fixed compile error since r1202.
8803
* src/ExpatMetalinkProcessor.cc
8805
2009-05-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8807
Updated Ukrainian, Russian and Simplified Chinese
8808
translations. Thanks to all translators.
8813
2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8815
Pass reference of Option object instead of pointer.
8816
* src/download_helper.cc
8817
* src/download_helper.h
8819
* test/DownloadHelperTest.cc
8821
2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8823
Don't retrieve PREF_MAX_DOWNLOAD_LIMIT and PREF_MAX_UPLOAD_LIMIT
8824
from option directly. Instead, get them from RequestGroup.
8825
* src/ActivePeerConnectionCommand.cc
8826
* src/ActivePeerConnectionCommand.h
8827
* src/PeerReceiveHandshakeCommand.cc
8828
* src/RequestGroup.h
8830
2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8832
Removed unused uploadLimitCheck and uploadLimit from
8833
PeerAbstractCommand. Removed unused maxDownloadLimit from
8834
PeerInteractionCommand.
8835
* src/PeerAbstractCommand.cc
8836
* src/PeerAbstractCommand.h
8837
* src/PeerInteractionCommand.cc
8838
* src/PeerInteractionCommand.h
8840
2009-05-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8842
Fixed broken file renaming feature since r1202.
8843
* src/FtpNegotiationCommand.cc
8844
* src/FtpNegotiationCommand.h
8845
* src/HttpResponseCommand.cc
8846
* src/RequestGroup.cc
8847
* src/RequestGroup.h
8849
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8851
Removed unused debug log
8854
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8856
Generated configure and Makefile.in using autoconf 2.63 and
8857
automake 1.10.2. Removed AC_GNU_SOURCE from configure.ac because
8858
it is subset of AC_USE_SYSTEM_EXTENSIONS and we use latter.
8861
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8863
Moved piece statistics stuff to new PieceStatMan class.
8864
Refactored PieceSelector interface.
8865
* src/DefaultPieceStorage.cc
8866
* src/DefaultPieceStorage.h
8867
* src/LongestSequencePieceSelector.cc
8868
* src/LongestSequencePieceSelector.h
8870
* src/PieceSelector.h
8871
* src/PieceStatMan.cc
8872
* src/PieceStatMan.h
8873
* src/RarestPieceSelector.cc
8874
* src/RarestPieceSelector.h
8875
* src/RequestGroup.cc
8876
* test/DefaultPieceStorageTest.cc
8877
* test/InOrderPieceSelector.h
8879
* test/PieceStatManTest.cc
8880
* test/RarestPieceSelectorTest.cc
8882
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8884
Added static member _protocolFamily to SocketCore. By default,
8885
SocketCore uses AF_UNSPEC for getaddrinfo hints to resolve
8886
address. Sometime SocketCore::bind() and
8887
SocketCore::establishConnection() use difference protocl family
8888
and latter cannot connect to former. To avoid this situation, we
8889
limit protocol family to AF_INET for unit tests.
8894
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8896
Avoid std::bad_alloc for negative bencode string length.
8899
2009-05-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8901
Supported segmented downloading with chunked transfer encoding and
8903
* src/DownloadCommand.cc
8904
* src/HttpResponseCommand.cc
8906
2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8908
Bump up version number to 1.3.3
8911
2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8913
Applied Pascal Bleser's patch: increases MAX_RECV_BUFFER for ftp
8914
from 4096 to 65536 (for insanely large ftp login banners)
8915
* src/FtpConnection.h
8916
* test/FtpConnectionTest.cc
8918
2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8920
In DefaultBtContext::getActualBasePath(), return first
8921
FileEntry::getPath() for single file torrent.
8922
* src/DefaultBtContext.cc
8923
* test/DefaultBtContextTest.cc
8925
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8927
Removed directIOAllowed() from BinaryStream, DiskWriter,
8928
DiskAdaptor. setDirectIOAllowed() was renamed as allowDirectIO().
8929
Removed _directIOAllowed member from DiskWriter.
8930
* src/AbstractDiskWriter.cc
8931
* src/AbstractDiskWriter.h
8932
* src/AbstractSingleDiskAdaptor.cc
8933
* src/AbstractSingleDiskAdaptor.h
8934
* src/BinaryStream.h
8935
* src/ByteArrayDiskWriter.h
8936
* src/DefaultPieceStorage.cc
8938
* src/MultiDiskAdaptor.cc
8939
* src/MultiDiskAdaptor.h
8941
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8943
Now the constructor of AbstractDiskWriter takes filename as an
8944
argument and filename argument is removed from openFile(),
8945
initAndOpenFile(), openExistingFile() interface. storeDir member
8946
and its accessor functions are removed from DiskAdaptor because it
8947
is not used anymore. size() member function of DefaultDiskWriter,
8948
DirectDiskAdaptor and MultiDiskAdaptor now can be called without
8950
* src/AbstractDiskWriter.cc
8951
* src/AbstractDiskWriter.h
8952
* src/AbstractSingleDiskAdaptor.cc
8953
* src/AbstractSingleDiskAdaptor.h
8954
* src/ByteArrayDiskWriter.cc
8955
* src/ByteArrayDiskWriter.h
8956
* src/ByteArrayDiskWriterFactory.cc
8957
* src/ByteArrayDiskWriterFactory.h
8958
* src/DefaultDiskWriter.cc
8959
* src/DefaultDiskWriter.h
8960
* src/DefaultDiskWriterFactory.cc
8961
* src/DefaultDiskWriterFactory.h
8962
* src/DefaultPieceStorage.cc
8963
* src/DirectDiskAdaptor.cc
8964
* src/DirectDiskAdaptor.h
8967
* src/DiskWriterFactory.h
8968
* src/MessageDigestHelper.cc
8969
* src/MultiDiskAdaptor.cc
8970
* src/RequestGroup.cc
8971
* src/UnknownLengthPieceStorage.cc
8973
* test/DefaultDiskWriterTest.cc
8974
* test/DirectDiskAdaptorTest.cc
8975
* test/FallocFileAllocationIteratorTest.cc
8976
* test/MessageDigestHelperTest.cc
8977
* test/MetalinkProcessorTest.cc
8978
* test/MultiDiskAdaptorTest.cc
8979
* test/MultiFileAllocationIteratorTest.cc
8980
* test/SingleFileAllocationIteratorTest.cc
8983
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8985
Fixed the bug that aria2 aborts when --select-file is used. This
8986
bug was introduced in r1199.
8987
* src/MultiDiskAdaptor.cc
8989
2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8992
* test/MockPieceStorage.cc
8994
2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
8996
Fixed the bug that read-only file with wrong file size will cause
8997
error because it cannot be truncated to the correct size. Now if
8998
file size is different than the expected one, re-open file in
9000
* src/AbstractSingleDiskAdaptor.cc
9001
* src/AbstractSingleDiskAdaptor.h
9002
* src/BtCheckIntegrityEntry.cc
9004
* src/MultiDiskAdaptor.h
9005
* src/RequestGroup.cc
9007
2009-05-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9009
Fixed the bug that with --check-integrity option aria2 reports
9010
downloaded file size is 0 even if some parts of file is correctly
9011
downloaded. This bug is reproducible for the download that a file
9012
includes last piece is missing. This bug doesn't reveal for
9013
single-torrent with file allocation on.
9014
* src/IteratableChecksumValidator.cc
9015
* test/IteratableChecksumValidatorTest.cc
9017
2009-05-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9019
Avoid circular reference between RequestGroup and AdaptiveURISelector
9020
* src/RequestGroupMan.cc
9021
* src/AdaptiveURISelector.cc
9022
* src/AdaptiveURISelector.h
9024
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9028
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9033
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9035
Updated Ukrainian translations. Thanks to Alexander10.
9038
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9041
* src/MetalinkParserStateMachine.cc
9042
* src/MetalinkParserStateMachine.h
9044
2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9046
Removed MetalinkProcessorFactory. Since we don't use both libxml2
9047
and expat simultaneously, MetalinkProcessor is now not base class
9048
and it is directly implemented in XML2SAXMetalinkProcessor and
9049
ExpatMetalinkProcessor.
9050
* src/ExpatMetalinkProcessor.cc
9051
* src/ExpatMetalinkProcessor.h
9053
* src/MetalinkHelper.cc
9054
* src/MetalinkProcessor.h
9055
* src/MetalinkProcessorFactory.cc: Removed.
9056
* src/MetalinkProcessorFactory.h: Removed
9057
* src/XML2SAXMetalinkProcessor.cc
9058
* src/XML2SAXMetalinkProcessor.h
9059
* test/MetalinkProcessorTest.cc
9061
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9063
Bump up version number to 1.3.2
9066
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9070
* test/url-list-singleFileEndsWithSlash.torrent
9072
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9074
Put BDE in aria2 namespace. BDE will also be used to store xml-rpc
9076
* src/AnnounceList.cc
9077
* src/AnnounceList.h
9080
* src/DHTAbstractMessage.cc
9081
* src/DHTAbstractMessage.h
9082
* src/DHTAnnouncePeerMessage.cc
9083
* src/DHTAnnouncePeerMessage.h
9084
* src/DHTAnnouncePeerReplyMessage.cc
9085
* src/DHTAnnouncePeerReplyMessage.h
9086
* src/DHTFindNodeMessage.cc
9087
* src/DHTFindNodeMessage.h
9088
* src/DHTFindNodeReplyMessage.cc
9089
* src/DHTFindNodeReplyMessage.h
9090
* src/DHTGetPeersMessage.cc
9091
* src/DHTGetPeersMessage.h
9092
* src/DHTGetPeersReplyMessage.cc
9093
* src/DHTGetPeersReplyMessage.h
9094
* src/DHTMessageFactory.h
9095
* src/DHTMessageFactoryImpl.cc
9096
* src/DHTMessageFactoryImpl.h
9097
* src/DHTMessageReceiver.cc
9098
* src/DHTMessageTracker.cc
9099
* src/DHTMessageTracker.h
9100
* src/DHTPingMessage.cc
9101
* src/DHTPingMessage.h
9102
* src/DHTPingReplyMessage.cc
9103
* src/DHTPingReplyMessage.h
9104
* src/DHTQueryMessage.cc
9105
* src/DHTQueryMessage.h
9106
* src/DHTResponseMessage.cc
9107
* src/DHTResponseMessage.h
9108
* src/DefaultBtAnnounce.cc
9109
* src/DefaultBtContext.cc
9110
* src/DefaultBtContext.h
9111
* src/HandshakeExtensionMessage.cc
9113
* src/PeerListProcessor.h
9114
* src/UTPexExtensionMessage.cc
9117
* test/AnnounceListTest.cc
9118
* test/BDETest.cc: Added
9119
* test/BencodeTest.cc
9120
* test/DHTAnnouncePeerMessageTest.cc
9121
* test/DHTAnnouncePeerReplyMessageTest.cc
9122
* test/DHTFindNodeMessageTest.cc
9123
* test/DHTFindNodeReplyMessageTest.cc
9124
* test/DHTGetPeersMessageTest.cc
9125
* test/DHTGetPeersReplyMessageTest.cc
9126
* test/DHTMessageFactoryImplTest.cc
9127
* test/DHTMessageTrackerTest.cc
9128
* test/DHTPingMessageTest.cc
9129
* test/DHTPingReplyMessageTest.cc
9131
* test/MockDHTMessageFactory.h
9132
* test/PeerListProcessorTest.cc
9134
2009-04-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9136
Use url-list (web-seeding) only for single-file torrent. This is
9137
basically the same behavior with Metalink file with torrent and
9139
* src/RequestGroup.cc
9140
* src/DefaultBtContext.cc
9141
* test/DefaultBtContextTest.cc
9143
2009-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9147
* test/array_funTest.cc
9149
2009-04-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9151
Added forEachMemFunSH(). Use it in BitTorrent event dispatch.
9152
* src/DefaultBtMessageDispatcher.cc
9155
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9157
Removed ExtendedMessagingAware. Instead of using inheritance,
9158
added ExtensionMessageRegistry and it is passed to
9159
DefaultExtensionMessageFactory.
9160
* src/DefaultBtInteractive.cc
9161
* src/DefaultBtInteractive.h
9162
* src/DefaultExtensionMessageFactory.cc
9163
* src/DefaultExtensionMessageFactory.h
9164
* src/ExtendedMessagingAware.h: Removed.
9165
* src/ExtensionMessageFactory.h
9166
* src/ExtensionMessageRegistry.h: Added.
9168
* src/PeerInteractionCommand.cc
9169
* test/DefaultExtensionMessageFactoryTest.cc
9171
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9173
Fixed typo in log messages
9174
* src/MSEHandshake.cc
9176
2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9179
Fixed the bug that prevents torrent download from finishing. The
9180
bug doesn't reveal for all torrents. The torrents affected this
9181
bug satisfies ((N+7)/8)%4 == 0 and N%32 != 0 where N is the number
9184
* test/bitfieldTest.cc
9186
2009-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9189
* src/PeerListProcessor.h
9191
2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9193
Removed RequestGroupAware
9194
* src/AbstractCommand.cc
9195
* src/AbstractCommand.h
9196
* src/ActivePeerConnectionCommand.cc
9197
* src/ActivePeerConnectionCommand.h
9198
* src/DHTGetPeersCommand.cc
9199
* src/DHTGetPeersCommand.h
9200
* src/InitiatorMSEHandshakeCommand.cc
9201
* src/InitiatorMSEHandshakeCommand.h
9203
* src/PeerInitiateConnectionCommand.cc
9204
* src/PeerInitiateConnectionCommand.h
9205
* src/PeerInteractionCommand.cc
9206
* src/PeerInteractionCommand.h
9207
* src/RealtimeCommand.cc
9208
* src/RealtimeCommand.h
9209
* src/RequestGroupAware.cc: Removed
9210
* src/RequestGroupAware.h: Removed
9211
* src/SeedCheckCommand.cc
9212
* src/SeedCheckCommand.h
9213
* src/SleepCommand.cc
9214
* src/TrackerWatcherCommand.cc
9215
* src/TrackerWatcherCommand.h
9217
2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9219
Rewritten PeerListProcessor
9220
* src/PeerListProcessor.h
9221
* src/CompactPeerListProcessor.h: Removed
9222
* src/CompactPeerListProcessor.cc: Removed
9223
* src/DelegatingPeerListProcessor.cc: Removed.
9224
* src/DefaultBtAnnounce.cc
9226
* src/UTPexExtensionMessage.cc
9227
* src/DefaultPeerListProcessor.h: Removed.
9228
* src/DefaultPeerListProcessor.cc: Removed.
9229
* src/DelegatingPeerListProcessor.h: Removed.
9231
* test/PeerListProcessorTest.cc
9232
* test/DefaultPeerListProcessorTest.cc: Removed.
9234
2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9236
Rewritten RequestGroupMan::calculateStat()
9237
* src/RequestGroupMan.cc
9239
2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9241
Removed unnecessary virtual destructor for Request class.
9245
2009-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9247
Avoid dynamic_pointer_cast.
9248
* src/DHTGetPeersCommand.cc
9249
* src/DHTGetPeersCommand.h
9251
2009-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9253
Rewritten event dispatch in BtMessage. Removed BtEventListener,
9255
* src/AbstractBtEventListener.h: Removed.
9256
* src/AbstractBtMessage.cc
9257
* src/AbstractBtMessage.h
9258
* src/BtAbortOutstandingRequestEvent.h
9259
* src/BtCancelSendingPieceEvent.h
9260
* src/BtChokedEvent.h: Removed.
9261
* src/BtChokingEvent.h
9262
* src/BtEvent.h: Removed
9263
* src/BtEventListener.h: Removed.
9265
* src/BtPieceMessage.cc
9266
* src/BtPieceMessage.h
9267
* src/BtRequestMessage.cc
9268
* src/BtRequestMessage.h
9269
* src/DefaultBtMessageDispatcher.cc
9271
* src/a2functional.h
9272
* test/BtPieceMessageTest.cc
9273
* test/BtRequestMessageTest.cc
9274
* test/DefaultBtMessageDispatcherTest.cc
9275
* test/MockBtMessage.h
9277
2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9280
* src/RequestGroupMan.cc
9282
2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9285
* src/DownloadCommand.cc
9287
2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9289
Fixed segmentation fault when GZipDecoder::decode() returns 0
9291
* src/DownloadCommand.cc
9293
* test/bitfieldTest.cc
9295
Fixed the bug that causes infinite loop if broken web server
9296
returns chunked response without last "0" chunk-size marker and
9298
* src/DownloadCommand.cc
9300
Instantiate properly configured HttpDownloadCommand for
9301
non-resumable downlaods.
9302
* src/HttpResponseCommand.cc
9304
2009-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9306
Rewritten array operation functions.
9307
* src/BitfieldMan.cc
9309
* test/array_funTest.cc
9311
2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9313
Removed unused variable 'query'
9316
2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9318
Set conditional HAVE_GETADDRINFO true for mingw32. It was
9319
accidentally set to false in r1162.
9322
2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9327
2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9329
Increase prefixLength for the bucket which doesn't own local node
9330
ID when splitting bucket.
9332
* test/DHTBucketTest.cc
9334
2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9338
2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9340
Bump up version number to 1.3.1
9343
2009-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9345
Removed unused variable checkPoint. Also removed include directive
9347
* src/SeedCheckCommand.h
9349
2009-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9351
Fixed the bug that upload limit exceeds the value specified in
9352
--seed-ratio option depending on the timing of the execution of
9354
* src/SeedCheckCommand.cc
9356
2009-04-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9358
Fixed the bug that removed peer's session upload/download length
9359
are counted twice in _cachedTransferStat before it is
9360
re-calculated. This affected the calculation of shara ratio,
9361
resulting aria2 wrongly determines that specified share ratio is
9362
reached. Also fixed the typo in calculateStatFor function name.
9364
* src/DefaultPeerStorage.cc
9365
* src/ShareRatioSeedCriteria.h
9366
* test/ShareRatioSeedCriteriaTest.cc
9368
2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9372
2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9374
Updated Russian, Japanese, Spanish, Ukrainian and Norwegian
9375
Nynorsk translations. Thanks to all translators.
9382
2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9384
Rewritten isInRange()
9386
* test/DHTBucketTest.cc
9388
2009-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9393
2009-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9395
Removed AC_FUNC_MALLOC and AC_FUNC_REALLOC because 0-byte
9396
malloc/realloc is not used.
9399
2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9401
BitfieldMan::getMissingIndexes family functions now takes unsigned
9402
char* bitfield instead of stl container for efficiency.
9403
PieceSelector::select now takes this
9404
bitfield. RarestPieceSelector::select now also performs
9405
efficiently for this change. bitfield namespace is introduced and
9406
it has several helper functions to handle basic bitfield
9407
operations such as test, count set bits, etc.
9408
* src/BitfieldMan.cc
9410
* src/DefaultBtRequestFactory.cc
9411
* src/DefaultPieceStorage.cc
9412
* src/DefaultPieceStorage.h
9413
* src/LongestSequencePieceSelector.cc
9414
* src/LongestSequencePieceSelector.h
9418
* src/PieceSelector.h
9419
* src/RarestPieceSelector.cc
9420
* src/RarestPieceSelector.h
9424
* test/BitfieldManTest.cc
9425
* test/LongestSequencePieceSelectorTest.cc
9427
* test/RarestPieceSelectorTest.cc
9429
* test/bitfieldTest.cc
9431
2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9433
Made accepted socket non-block.
9434
* src/FtpNegotiationCommand.cc
9435
* src/HttpListenCommand.cc
9437
2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9439
Guarded #ifdef HAVE_POSIX_FALLOCATE
9440
* src/AbstractSingleDiskAdaptor.cc
9441
* src/DefaultPieceStorage.cc
9444
* src/MultiFileAllocationIterator.cc
9446
2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9449
DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing()
9450
in every 1 sec. The timeout of RequestSlot is 60s by default and
9451
it doesn't need to be called every time when
9452
DefaultBtInteractive::doInteractionProcessing() is called.
9453
* src/DefaultBtInteractive.cc
9454
* src/DefaultBtInteractive.h
9456
2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9458
Documented 'falloc' in man page.
9461
2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9466
2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9468
Added 'falloc' parameter for --file-allocation option. 'falloc'
9469
allocation mode uses posix_fallocate() system call to allocate
9470
file on disk. If you are using newer file systems such as ext4
9471
(with extents support), btrfs or xfs, 'falloc' is your best
9472
choice. It allocates large(few GiB) files almost instantly. Don't
9473
use 'falloc' with legacy file systems such as ext3 because it
9474
takes almost same time as 'prealloc' and it blocks aria2 entirely
9475
until allocation finishes. 'falloc' may not be available if your
9476
system doesn't have posix_fallocate() system call.
9478
* src/AbstractDiskWriter.cc
9479
* src/AbstractDiskWriter.h
9480
* src/AbstractSingleDiskAdaptor.cc
9481
* src/BinaryStream.h
9482
* src/BtCheckIntegrityEntry.cc
9483
* src/ByteArrayDiskWriter.h
9484
* src/CheckIntegrityEntry.cc
9485
* src/CheckIntegrityEntry.h
9486
* src/DefaultPieceStorage.cc
9487
* src/DiskAdaptor.cc
9490
* src/FallocFileAllocationIterator.cc
9491
* src/FallocFileAllocationIterator.h
9492
* src/FileAllocationEntry.cc
9493
* src/FileAllocationEntry.h
9495
* src/MultiFileAllocationIterator.cc
9496
* src/MultiFileAllocationIterator.h
9497
* src/OptionHandlerFactory.cc
9498
* src/RequestGroup.cc
9499
* src/StreamCheckIntegrityEntry.cc
9503
* test/FallocFileAllocationIteratorTest.cc
9506
2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9508
Removed duplicate enableDirectIO() call.
9509
* src/MultiFileAllocationIterator.cc
9511
2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9513
Replaced std::vector<SharedHandle<PieceStats> _sortedPieceStats
9514
with std::vector<size_t> _sortedPieceStatIndexes to reduce the
9515
cost of std::rotate().
9516
* src/RarestPieceSelector.cc
9517
* src/RarestPieceSelector.h
9518
* test/RarestPieceSelectorTest.cc
9520
2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9522
Updated usage doc for --bt-tracker-interval option.
9526
2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9528
Documented --bt-tracker-interval option in man page.
9531
2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9533
Added an option to specify the interval between tracker requests.
9534
If non-zero value is specified, aria2 uses it and ignores the
9535
interval value in the response of tracker. If zero is specified,
9536
aria2 determines the inteval value based on the tarcker response
9537
and download progress.
9538
* src/DefaultBtAnnounce.cc
9539
* src/DefaultBtAnnounce.h
9540
* src/OptionHandlerFactory.cc
9541
* src/RequestGroup.cc
9546
2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9548
Added operator+=, operator-=, operator-
9549
* src/TransferStat.cc
9550
* src/TransferStat.h
9552
2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9554
Refactored RarestPieceSelector to reduce CPU load, especially for
9556
* src/RarestPieceSelector.cc
9557
* src/RarestPieceSelector.h
9559
2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9561
Refactored getMissingIndexRandomly, getFirstMissingIndex,
9562
getAllMissingBlockIndexes to reduce a call to
9563
array_function_base::operator[].
9564
* src/BitfieldMan.cc
9566
2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9568
Cached TransferStat/download speed to avoid to sum them up in each
9570
* src/DefaultPeerStorage.cc
9571
* src/DefaultPeerStorage.h
9575
2009-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9577
Typedefed cuid_t as int32_t in Command.h
9581
* src/DownloadEngine.cc
9582
* src/DownloadEngine.h
9587
2009-03-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9589
Reduced the number of calls to PeerStorage::calculateStat() and
9590
SegmentMan::calculateDownloadSpeed() to lower CPU usage on higher
9592
* src/DefaultBtInteractive.cc
9593
* src/DefaultBtMessageDispatcher.cc
9594
* src/DefaultPeerStorage.cc
9595
* src/DefaultPeerStorage.h
9596
* src/DownloadCommand.cc
9597
* src/DownloadEngine.cc
9601
* test/MockPeerStorage.h
9603
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9605
Prepended _dir+"/" after joining path elements in torrent file.
9606
* src/DefaultBtContext.cc
9607
* test/DefaultBtContextTest.cc
9609
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9611
Added missing IndexBtMessageValidator.h
9614
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9616
Updated Indonesian, Russian, Italian, Ukrainian and Simplified
9617
Chinese translations. Thank you for contributing our project.
9624
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9629
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9631
Bump up version number to 1.3.0
9634
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9637
* src/DefaultBtContext.h
9639
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9641
Slice/joinPath for name of single torrent.
9642
* src/DefaultBtContext.cc
9643
* test/DefaultBtContextTest.cc
9645
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9647
Updated man page: Documented --dry-run and --index-out
9648
options. Changed the default value of --uri-selector and
9649
--http-auth-challenge options. Removed --direct-file-mapping
9650
option. Added example for --index-out
9653
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9655
Updated TEXT_DRY_RUN
9658
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9660
Changed the default value of --uri-selector option from 'inorder'
9662
* src/OptionHandlerFactory.cc
9664
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9666
Included current URI in exception message.
9667
* src/AbstractCommand.cc
9669
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9671
Renamed ServerStatURISelector as FeedbackURISelector.
9672
* src/FeedbackURISelector.cc
9673
* src/FeedbackURISelector.h
9675
* src/RequestGroupMan.cc
9676
* src/ServerStatURISelector.cc
9677
* src/ServerStatURISelector.h
9678
* test/FeedbackURISelectorTest.cc
9680
* test/ServerStatURISelectorTest.cc
9682
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9684
Fixed the bug that AdaptiveURISelector doesn't select any URI when
9685
all URIs are tested and their timeout is not reached.
9686
* src/AdaptiveURISelector.cc
9687
* src/AdaptiveURISelector.h
9689
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9691
Changed the default value of --http-auth-challenge option to false.
9692
* src/OptionHandlerFactory.cc
9694
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9696
Reuse URIs when all unused URIs run out.
9697
* src/OptionHandlerFactory.cc
9698
* src/RequestGroup.cc
9702
2009-03-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9704
Refactored BtMessage subclasses. BtCancelMessage, BtRequestMessage
9705
and BtRejectMessage are derived from RangeBtMessage class.
9706
BtAllowedFastMessage, BtHaveMessage and BtSuggestPieceMessage are
9707
derived from IndexBtMessage class. BtChokeMessage,
9708
BtHaveAllMessage, BtHaveNoneMessage, BtInterestedMessage,
9709
BtNotInterestedMessage and BtUnchokeMessage are derived from
9710
ZeroBtMessage class.
9711
* src/AbstractBtMessage.cc
9712
* src/AbstractBtMessage.h
9713
* src/BtAllowedFastMessage.cc
9714
* src/BtAllowedFastMessage.h
9715
* src/BtAllowedFastMessageValidator.h: Removed
9716
* src/BtBitfieldMessage.cc
9717
* src/BtBitfieldMessage.h
9718
* src/BtCancelMessage.cc
9719
* src/BtCancelMessage.h
9720
* src/BtCancelMessageValidator.h: Removed
9721
* src/BtChokeMessage.cc
9722
* src/BtChokeMessage.h
9723
* src/BtExtendedMessage.cc
9724
* src/BtExtendedMessage.h
9725
* src/BtHandshakeMessage.cc
9726
* src/BtHandshakeMessage.h
9727
* src/BtHaveAllMessage.cc
9728
* src/BtHaveAllMessage.h
9729
* src/BtHaveMessage.cc
9730
* src/BtHaveMessage.h
9731
* src/BtHaveMessageValidator.h: Removed
9732
* src/BtHaveNoneMessage.cc
9733
* src/BtHaveNoneMessage.h
9734
* src/BtInterestedMessage.cc
9735
* src/BtInterestedMessage.h
9736
* src/BtKeepAliveMessage.cc
9737
* src/BtKeepAliveMessage.h
9738
* src/BtNotInterestedMessage.cc
9739
* src/BtNotInterestedMessage.h
9740
* src/BtPieceMessage.cc
9741
* src/BtPieceMessage.h
9742
* src/BtPortMessage.cc
9743
* src/BtPortMessage.h
9744
* src/BtRejectMessage.cc
9745
* src/BtRejectMessage.h
9746
* src/BtRejectMessageValidator.h: Removed
9747
* src/BtRequestMessage.cc
9748
* src/BtRequestMessage.h
9749
* src/BtRequestMessageValidator.h: Removed
9750
* src/BtSuggestPieceMessage.cc
9751
* src/BtSuggestPieceMessage.h
9752
* src/BtSuggestPieceMessageValidator.h: Removed
9753
* src/BtUnchokeMessage.cc
9754
* src/BtUnchokeMessage.h
9755
* src/DefaultBtMessageFactory.cc
9756
* src/IndexBtMessage.cc
9757
* src/IndexBtMessage.h
9758
* src/IndexBtMessageValidator.h
9760
* src/PeerMessageUtil.cc
9761
* src/PeerMessageUtil.h
9762
* src/RangeBtMessage.cc
9763
* src/RangeBtMessage.h
9764
* src/RangeBtMessageValidator.h
9765
* src/SimpleBtMessage.cc
9766
* src/SimpleBtMessage.h
9767
* src/ZeroBtMessage.cc
9768
* src/ZeroBtMessage.h
9769
* test/BtRequestMessageTest.cc
9771
2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9773
Reverted usage_text.h to r1093 to avoid to lose translated
9777
2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9779
BtMessage now holds _id attribute. MESSAGE_LENGTH that is
9780
declared as non-const previously is now const and defined in class
9782
* src/AbstractBtMessage.cc
9783
* src/AbstractBtMessage.h
9784
* src/BtAllowedFastMessage.cc
9785
* src/BtAllowedFastMessage.h
9786
* src/BtBitfieldMessage.h
9787
* src/BtCancelMessage.cc
9788
* src/BtCancelMessage.h
9789
* src/BtChokeMessage.cc
9790
* src/BtChokeMessage.h
9791
* src/BtExtendedMessage.cc
9792
* src/BtExtendedMessage.h
9793
* src/BtHandshakeMessage.cc
9794
* src/BtHandshakeMessage.h
9795
* src/BtHaveAllMessage.cc
9796
* src/BtHaveAllMessage.h
9797
* src/BtHaveMessage.cc
9798
* src/BtHaveMessage.h
9799
* src/BtHaveNoneMessage.cc
9800
* src/BtHaveNoneMessage.h
9801
* src/BtInterestedMessage.cc
9802
* src/BtInterestedMessage.h
9803
* src/BtKeepAliveMessage.cc
9804
* src/BtKeepAliveMessage.h
9806
* src/BtNotInterestedMessage.cc
9807
* src/BtNotInterestedMessage.h
9808
* src/BtPieceMessage.h
9809
* src/BtPortMessage.cc
9810
* src/BtPortMessage.h
9811
* src/BtRejectMessage.cc
9812
* src/BtRejectMessage.h
9813
* src/BtRequestMessage.cc
9814
* src/BtRequestMessage.h
9815
* src/BtSuggestPieceMessage.cc
9816
* src/BtSuggestPieceMessage.h
9817
* src/BtUnchokeMessage.cc
9818
* src/BtUnchokeMessage.h
9819
* src/SimpleBtMessage.cc
9820
* src/SimpleBtMessage.h
9821
* test/MockBtMessage.h
9823
2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9825
Use FileEntry::exists()
9826
* src/MultiDiskAdaptor.cc
9828
2009-03-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9834
2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9836
Added missing prefix dir.
9837
* src/download_helper.cc
9839
2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9841
Removed --direct-file-mapping option and CopyDiskAdaptor.
9842
* src/CopyDiskAdaptor.cc: Removed
9843
* src/CopyDiskAdaptor.h: Removed
9844
* src/DefaultPieceStorage.cc
9846
* src/OptionHandlerFactory.cc
9850
* test/CopyDiskAdaptorTest.cc: Removed
9853
2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9855
Rewritten isSameFileBeingDownloaded()
9856
* src/RequestGroupMan.cc
9858
2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9860
Removed getName() from DownloadContext. getName() is declared in
9863
* src/DownloadContext.h
9864
* src/SingleFileDownloadContext.cc
9865
* src/SingleFileDownloadContext.h
9867
Removed getFilePath() from DiskAdaptor. getFilePath() is declared
9868
in AbstractSingleDiskAdaptor.
9869
* src/AbstractSingleDiskAdaptor.h
9871
* src/MultiDiskAdaptor.h
9872
* src/RequestGroup.cc
9874
Removed setTopDir() and getTopDir() and getTopDirPath() from
9876
* src/DefaultPieceStorage.cc
9877
* src/MultiDiskAdaptor.cc
9878
* src/MultiDiskAdaptor.h
9879
* test/MultiDiskAdaptorTest.cc
9881
2009-03-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9883
FileEntry::getPath() contains store(top level) directory to
9884
simplify path handling operation. In the previous implementation,
9885
store directory is concatenated to FileEntry::getPath() in
9887
* src/BtDependency.cc
9888
* src/BtPostDownloadHandler.cc
9889
* src/CopyDiskAdaptor.cc
9890
* src/DefaultBtContext.cc
9891
* src/DirectDiskAdaptor.cc
9894
* src/FtpNegotiationCommand.cc
9895
* src/HttpResponse.cc
9896
* src/HttpResponseCommand.cc
9897
* src/Metalink2RequestGroup.cc
9898
* src/MultiDiskAdaptor.cc
9899
* src/MultiDiskAdaptor.h
9900
* src/MultiFileAllocationIterator.cc
9901
* src/RequestGroup.cc
9902
* src/SingleFileDownloadContext.cc
9903
* src/SingleFileDownloadContext.h
9904
* src/download_helper.cc
9905
* test/BtDependencyTest.cc
9906
* test/CopyDiskAdaptorTest.cc
9907
* test/DefaultBtContextTest.cc
9908
* test/DefaultBtProgressInfoFileTest.cc
9909
* test/DirectDiskAdaptorTest.cc
9910
* test/DownloadHelperTest.cc
9911
* test/FileEntryTest.cc
9912
* test/MultiDiskAdaptorTest.cc
9913
* test/MultiFileAllocationIteratorTest.cc
9914
* test/RequestGroupTest.cc
9915
* test/SingleFileDownloadContextTest.cc
9917
2009-03-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9919
Fixed compiler warning
9920
* src/download_helper.cc
9922
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9924
Throw exception if same infohash torrent is now downloading.
9925
* src/RequestGroup.cc
9927
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9929
Added --dry-run option. In this mode, aria2 just checks whether
9930
the remote file is available and doesn't download data. This
9931
option has effect on HTTP/FTP downloads and BitTorrent downloads
9932
are canceled in this mode.
9933
* src/FtpNegotiationCommand.cc
9934
* src/HttpResponseCommand.cc
9935
* src/HttpResponseCommand.h
9936
* src/OptionHandlerFactory.cc
9937
* src/RequestGroup.cc
9938
* src/RequestGroupMan.cc
9943
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9945
Fixed compiler waring
9946
* test/UriListParserTest.cc
9948
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9950
Parse options in -i list using OptionParser.
9951
* src/UriListParser.cc
9952
* src/UriListParser.h
9954
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9956
Don't reset URI in retry to avoid additional round trips because
9958
* src/AbstractCommand.cc
9959
* src/OptionHandlerFactory.cc
9963
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9965
Declared hide() in OptionHandler.
9966
* src/NameMatchOptionHandler.h
9967
* src/OptionHandler.h
9968
* src/OptionHandlerImpl.h
9970
2009-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9975
2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9977
Added log message in setStatusInternal()
9980
2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9982
Call ServerStat::setError() in AbstractCommand::onAbort() to
9983
effectively exclude failed server.
9984
* src/AbstractCommand.cc
9986
2009-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
9988
Added --index-out option to specify each file path for torrent.
9989
Here index shown in --show-files option is used to specify which
9990
file path should be altered. For example, to change the file path
9991
with index=2, use --index-out=2=aria2.tar.bz2. You can use this
9992
option multiple times: --index-out=1=aria2.tar.bz2
9993
--index-out=2=aria2-opt.tar.bz2. The short hand form -O is also
9994
available. This option can be specified in -i list.
9995
* src/DefaultBtContext.cc
9996
* src/DefaultBtContext.h
9997
* src/MultiDiskAdaptor.cc
9998
* src/MultiDiskAdaptor.h
9999
* src/MultiFileAllocationIterator.cc
10000
* src/OptionHandlerFactory.cc
10001
* src/OptionHandlerImpl.h
10004
* src/download_helper.cc
10008
* test/DefaultBtContextTest.cc
10009
* test/MultiDiskAdaptorTest.cc
10010
* test/MultiFileAllocationIteratorTest.cc
10013
2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10015
Use Util::pathJoin()
10016
* src/MetalinkParserController.cc
10019
2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10021
Use Util::pathJoin()
10022
* src/DefaultBtContext.cc
10024
2009-03-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10026
Added Util::pathJoin()
10030
2009-03-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10032
Applied basename function to remove directory element in
10033
content-disposition value.
10034
Return empty string if content-disposition value is ".." or ".".
10038
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10040
Added --max-overall-download-limit in man page.
10041
Updated --max-overall-upload-limit, --max-download-limit option's doc.
10044
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10046
Added --max-overall-download-limit option. Now --max-upload-limit
10047
option is not ignored when --max-overall-upload-limit option has
10048
non-zero value. aria2 checks download(upload) speed in the order:
10049
first checks overall speed limit and if it is not exceeded, then
10050
checks speed limit per download. Thus you can specify both
10051
value. For example, set --max-overall-download-limit=1M and
10052
--max-download-limit=500K to prevent from one download from eating
10053
all overall speed limit.
10054
* src/DefaultBtInteractive.cc
10055
* src/DefaultBtInteractive.h
10056
* src/DefaultBtMessageDispatcher.cc
10057
* src/DefaultBtMessageDispatcher.h
10058
* src/DownloadCommand.cc
10059
* src/DownloadCommand.h
10060
* src/FtpNegotiationCommand.cc
10061
* src/HttpResponseCommand.cc
10062
* src/OptionHandlerFactory.cc
10063
* src/PeerInteractionCommand.cc
10064
* src/RequestGroup.cc
10065
* src/RequestGroup.h
10066
* src/RequestGroupMan.cc
10067
* src/RequestGroupMan.h
10071
* test/DefaultBtMessageDispatcherTest.cc
10073
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10075
Documented select-file option in Input File section.
10076
Documented --http-auth-challenge option.
10079
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10081
Now select-file can be specified in the uri list(-i list).
10084
* src/RequestGroup.cc
10086
* src/download_helper.cc
10088
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10090
Made the upper value of --max-concurrent-downloads options unlimited.
10091
* src/OptionHandlerFactory.cc
10093
2009-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10095
Fixed the bug that disk writer is not created even if it shares
10096
same piece with the preceding file if the length of previous file
10098
* src/MultiDiskAdaptor.cc
10099
* test/MultiDiskAdaptorTest.cc
10101
2009-02-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10103
In BitTorrent, Open files in read-only mode for hash check. After
10104
that, re-open file in read/write mode only when the download is
10106
* src/AbstractDiskWriter.cc
10107
* src/AbstractDiskWriter.h
10108
* src/AbstractSingleDiskAdaptor.cc
10109
* src/AbstractSingleDiskAdaptor.h
10110
* src/BtCheckIntegrityEntry.cc
10111
* src/DiskAdaptor.h
10113
* src/MultiDiskAdaptor.cc
10114
* src/MultiDiskAdaptor.h
10115
* src/RequestGroup.cc
10117
2009-02-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10119
Added --http-auth-challenge option. If it is set to true(by
10120
default), aria2 sends HTTP authorization header only when it is
10121
requested by the server. If false is set, then authorization
10122
header is always sent to the server. This is useful for servers
10123
that don't respond 401 code when authentication is required.
10124
There is an exception: if username and password are embedded in
10125
URI, authorization header is always sent to the server regardless
10127
* src/AuthConfigFactory.cc
10128
* src/HttpSkipResponseCommand.cc
10129
* src/OptionHandlerFactory.cc
10133
* test/AuthConfigFactoryTest.cc
10134
* test/HttpRequestTest.cc
10136
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10140
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10142
Updated Spanish, Ukrainian, Russian and Japanese translations.
10143
Thanks to all translators.
10149
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10151
Call deleteSocketForReadCheck() before socket is closed.
10152
* src/HttpListenCommand.cc
10154
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10156
Defined virtual destructor for BObject.
10159
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10161
Rewritten BDE to make it efficient.
10165
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10167
Removed function throw list.
10170
* test/BencodeTest.cc
10172
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10174
Enclosed all URLs in double quotes in command-line examples.
10177
2009-02-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10179
Updated reference/see also section.
10183
2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10185
Reorganized man page based on man man-pages.
10188
2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10190
Removed SERVER PERFORMANCE PROFILE and Configuration file section
10191
because same documents are available in man page. Added
10192
References section.
10195
2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10197
Documented sc_avg_speed, mc_avg_speed and counter in SERVER
10198
PERFORMANCE PROFILE section.
10201
2009-02-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10203
Rewritten the section for configuration file.
10207
2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10209
Fixed the segmentation fault during execution of choking algorithm
10210
in leecher state because of broken compare operator
10212
* src/BtLeecherStateChoke.cc
10213
* src/BtLeecherStateChoke.h
10215
2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10217
Open file in binary mode.
10218
* src/CookieStorage.cc
10222
* src/NsCookieParser.cc
10223
* src/ProtocolDetector.cc
10224
* src/RequestGroupMan.cc
10227
* src/download_helper.cc
10228
* src/option_processing.cc
10229
* test/CookieParserTest.cc
10230
* test/DefaultBtProgressInfoFileTest.cc
10232
* test/GZipDecoderTest.cc
10233
* test/RequestGroupManTest.cc
10234
* test/SignatureTest.cc
10235
* test/SingleFileAllocationIteratorTest.cc
10236
* test/UriListParserTest.cc
10238
2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10240
Removed operator[] because it is ambiguous with built-in []
10244
2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10246
Fixed compile error
10247
* src/OptionParser.cc
10249
2009-02-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10251
Added missing call to arrayWrapperConst
10252
* test/array_funTest.cc
10254
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10256
Use array_wrapper instead of array_ptr.
10257
* src/DHTRoutingTableDeserializer.cc
10259
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10261
Removed template<typename S> array_ptr(const array_ptr<S>& s)
10264
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10266
Added array_wrapper template.
10268
* test/array_funTest.cc
10270
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10272
Use operator T* of array_ptr.
10273
* src/OptionParser.cc
10275
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10277
Use localhost instead of 127.0.0.1
10278
* test/FtpConnectionTest.cc
10279
* test/MSEHandshakeTest.cc
10281
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10285
* test/array_funTest.cc
10287
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10289
Use dynamically allocated char array to detect memory access
10291
* src/DHTRoutingTableDeserializer.cc
10293
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10295
Set struct sockaddr_in.sin_len if HAVE_SOCKADDR_IN_SIN_LEN is
10297
* src/PeerMessageUtil.cc
10299
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10301
Renamed HAVE_SOCKADDR_SIN_LEN as HAVE_SOCKADDR_IN_SIN_LEN
10304
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10306
Added a check to see struct sockaddr_in has sin_len member.
10309
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10311
Fixed buffer overrun.
10312
* src/DHTRoutingTableDeserializer.cc
10314
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10316
Added LL for long long int constant.
10317
* test/FtpConnectionTest.cc
10319
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10321
Casted to unsigned int to suppress compiler warning on netbsd.
10324
2009-02-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10326
Assign the value of tv.tv_sec to time_t timesec instead of giving
10327
tv.tv_sec to localtime_r directly because tv.tv_sec may not be of
10329
* src/SimpleLogger.cc
10331
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10333
Added test for FtpConnection::receiveSizeResponse().
10334
* test/FtpConnectionTest.cc
10336
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10338
Fix epoll error on the old kernel 2.6.8 or ealier.
10339
* src/EpollEventPoll.cc
10341
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10343
Use Util::parseLLInt instead of sscanf for portability. The
10344
conversion "%Lu" fails in Mac OSX which requires "%llu" instead.
10345
* src/FtpConnection.cc
10347
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10349
Fixed the bug that adding 0 length filter to BitfieldMan filters 1
10350
block. It should not filter anything.
10351
* src/BitfieldMan.cc
10352
* src/ConsoleStatCalc.cc
10353
* test/BitfieldManTest.cc
10355
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10357
Fixed the bug that the boolean options that don't take arguments
10359
* src/OptionHandlerImpl.h
10361
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10363
Fixed broken selected file BitTorrent download.
10364
* src/MultiDiskAdaptor.cc
10365
* test/MultiDiskAdaptorTest.cc
10366
* test/MultiFileAllocationIteratorTest.cc
10368
2009-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10370
Fixed #define guard for EpollEventPoll
10371
* src/EpollEventPoll.h
10373
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10375
Wait 2 seconds. 1 second is sometimes not enough.
10376
* test/TimeSeedCriteriaTest.cc
10378
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10380
Use localhost instead of 127.0.0.1.
10381
* test/DHTConnectionImplTest.cc
10383
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10385
Suppressed compiler warning.
10386
* src/AdaptiveURISelector.cc
10387
* src/DefaultPieceStorage.cc
10389
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10391
Defined virtual destructor.
10392
* src/MetalinkParserState.h
10394
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10396
Give NULL for second argument of getaddrinfo instead of "0".
10397
* src/NameResolver.cc
10399
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10401
Don't use Time::parse(buf, "%Y%m%d%H%M%S") because Mac OS X and
10402
included strptime doesn't parse data for this format.
10403
* src/FtpConnection.cc
10404
* test/FtpConnectionTest.cc
10406
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10408
Removed tests giving -1 for unsigned argument.
10409
* test/SingleFileDownloadContextTest.cc
10411
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10413
Don't use sha256 in tests because it might not be supported by the
10415
* test/MetalinkProcessorTest.cc
10417
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10419
Removed tests giving -1 for unsigned argument.
10420
* test/AlphaNumberDecoratorTest
10421
* test/BitfieldManTest.cc
10422
* test/DefaultBtContextTest.cc
10424
2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10426
Fixed compile error without libcares when epoll is available.
10427
* src/EpollEventPoll.cc
10429
2009-02-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10431
Included fstream instead of iostream.
10432
* test/SignatureTest.cc
10434
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10436
Removed #include <algorithm>
10437
* test/RequestGroupTest.cc
10439
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10441
Rewritten AdaptiveURISelector::mayRetryWithIncreasedTimeout()
10442
using RequestGroup::extractURIResult().
10443
* src/AdaptiveURISelector.cc
10444
* src/RequestGroup.cc
10445
* src/RequestGroup.h
10446
* test/RequestGroupTest.cc
10448
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10450
Added tests for array_ptr.
10451
* test/array_funTest.cc
10453
2009-02-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10455
Don't send ip parameter to a tracker if ip parameter is empty
10457
* src/DefaultBtAnnounce.cc
10459
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10461
Adjusted line feed.
10462
* src/version_usage.cc
10464
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10466
Print tags, possible values when OptionHandlerException is caught.
10467
* src/option_processing.cc
10469
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10471
Changed the message for FatalException.
10472
* src/OptionParser.cc
10474
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10476
Documented --bt-external-ip option in man page. Updated man pages
10477
for --proxy-method option.
10480
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10482
Use GET method for FTP via HTTP proxy.
10483
* src/FtpInitiateConnectionCommand.cc
10485
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10487
Changed the default value of --proxy-method option from 'tunnel'
10488
to 'get'. Use 'tunnel' for HTTPS regardless of --proxy-method
10490
* src/AbstractCommand.cc
10491
* src/AbstractCommand.h
10492
* src/FtpInitiateConnectionCommand.cc
10493
* src/HttpDownloadCommand.cc
10494
* src/HttpInitiateConnectionCommand.cc
10495
* src/HttpInitiateConnectionCommand.h
10496
* src/OptionHandlerFactory.cc
10498
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10500
Initialized _logger
10501
* src/SelectEventPoll.cc
10503
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10505
Defined a copy constructor for the same type.
10506
* src/SharedHandle.h
10508
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10510
Added OptionParser::parseArg() which internally uses getopt_long
10511
to parse command-line options. All command-line options are now
10512
configured by OptionHandler. No manual editing of struct option*
10513
is required any more.
10514
* src/NameMatchOptionHandler.h
10515
* src/OptionHandler.h
10516
* src/OptionHandlerFactory.cc
10517
* src/OptionHandlerImpl.h
10518
* src/OptionParser.cc
10519
* src/OptionParser.h
10522
* src/option_processing.cc
10523
* test/OptionHandlerTest.cc
10524
* test/OptionParserTest.cc
10526
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10528
Fixed configure error with --disable-epoll
10531
2009-02-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10533
Fixed compile error when HAVE_EPOLL is not defined.
10534
Fixed linker error on bigendian systems.
10535
* src/SocketCore.cc
10537
* test/DefaultBtProgressInfoFileTest.cc
10539
2009-02-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10541
Added --bt-external-ip option. You can specify the external IP
10542
address to report to a BitTorrent tracker. Although this function
10543
is named 'external', it can accept any kind of IP addresses.
10544
* src/DefaultBtAnnounce.cc
10545
* src/OptionHandlerFactory.cc
10546
* src/option_processing.cc
10550
* test/DefaultBtAnnounceTest.cc
10552
2009-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10554
Extracted the algorithm to find the longest incremental sequence
10555
as max_sequence template.
10556
* src/LongestSequencePieceSelector.cc
10559
* test/a2algoTest.cc
10561
2009-02-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10563
Removed TEXT_HTTP_SERVER_LISTEN_PORT from translation texts.
10566
2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10568
Updated doc for --uri-selector, --http-server-listen-port and
10569
--enable-http-server option. Documented --event-poll option.
10572
2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10574
Updated doc for --enable-http-server.
10577
2009-02-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10579
Documented --http-server-listen-port and --enable-http-server in
10583
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10585
Updated Spanish, Indonesian, Russian, Ukrainian and Italian
10586
translations. Thanks to all translators.
10593
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10595
Bump up version number to 1.2.0
10598
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10600
BtContext::getAnnounceTiers() now returns const reference.
10602
* src/DefaultBtContext.cc
10603
* src/DefaultBtContext.h
10604
* test/MockBtContext.h
10606
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10608
Change the number of retries for tracker request based on the
10609
number of available tracker in a torrent file.
10610
* src/TrackerWatcherCommand.cc
10612
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10614
Added _maxTries property to RequestGroup and assign the option
10615
value of PREF_MAX_TRIES to it. AbstractCommand now looks up
10616
RequestGroup::getMaxTries() instead of
10617
Option::getAsInt(PREF_MAX_TRIES).
10618
* src/AbstractCommand.cc
10619
* src/RequestGroup.cc
10620
* src/RequestGroup.h
10622
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10624
Applied AdaptiveURISelector-timeout patch from Pascal Rigaux at
10625
Mandriva. I modified the patch: make RequestGroup have the
10626
timeout value and AdaptiveURISelector directly modifies that
10628
* src/AbstractCommand.cc
10629
* src/AdaptiveURISelector.cc
10630
* src/AdaptiveURISelector.h
10631
* src/FtpNegotiationCommand.cc
10632
* src/RequestGroup.cc
10633
* src/RequestGroup.h
10635
2009-02-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10637
Fixed compiler warning
10638
* test/IteratableChecksumValidatorTest.cc
10640
2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10642
Use LongestSequencePieceSelector for HTTP/FTP/BitTorrent
10643
integrated downloads. This PieceSelector subclass finds the
10644
longest continuous sequence in the available missing pieces and
10645
selects the last index of such sequence. This makes HTTP/FTP
10646
connections less interrupted by the pieces obtained by BitTorrent
10648
* src/DefaultPieceStorage.cc
10649
* src/DefaultPieceStorage.h
10650
* src/LongestSequencePieceSelector.cc
10651
* src/LongestSequencePieceSelector.h
10653
* src/PieceSelector.h
10654
* src/RarestPieceSelector.h
10655
* src/RequestGroup.cc
10656
* test/BtDependencyTest.cc
10657
* test/DefaultPieceStorageTest.cc
10658
* test/IteratableChecksumValidatorTest.cc
10659
* test/LongestSequencePieceSelectorTest.cc
10661
* test/SegmentManTest.cc
10663
2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10665
Fixed the bug that the average speed is wrong in
10666
http/ftp/BitTorrent integrated download. Only the download bytes
10667
in BitTorrent were considered.
10668
* src/RequestGroup.cc
10670
2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10672
Choose port for BitTorrent/DHT randomly from the specified range.
10673
* src/DHTConnectionImpl.cc
10674
* src/PeerListenCommand.cc
10676
2009-01-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10678
Send HTTP Authorization header only if it is requested by the
10679
server(response 401). There are some exceptions. The authorization
10680
header for proxy is always sent if it is available without request
10681
by the server. If username/password is specified in the URI, it
10682
is immediately sent to the server without request by the server.
10684
AbstractAuthResolver::_defaultAuthConfig is now initialized as
10685
SharedHandle<AuthConfig>().
10686
NetrcAuthResolver::resolveAuthConfig() returns
10687
SharedHandle<AuthConfig>() if no AuthConfig is available.
10688
* src/AbstractAuthResolver.cc
10689
* src/AbstractProxyRequestCommand.cc
10690
* src/AuthConfigFactory.cc
10691
* src/AuthConfigFactory.h
10692
* src/HttpConnection.cc
10693
* src/HttpRequest.cc
10694
* src/HttpRequest.h
10695
* src/HttpResponse.cc
10696
* src/HttpResponseCommand.cc
10697
* src/HttpSkipResponseCommand.cc
10698
* test/AuthConfigFactoryTest.cc
10699
* test/HttpRequestTest.cc
10700
* test/HttpResponseTest.cc
10702
2009-01-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10704
Remove leading "--" from help keyword and a substring after "="
10705
from help keyword, so that one can query options by '-h--max-' or
10707
* src/option_processing.cc
10709
2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10711
Rewritten PStringVisitor and its implementation.
10712
* src/PStringBuildVisitor.cc
10713
* src/PStringBuildVisitor.h
10714
* src/PStringDatum.h
10715
* src/PStringNumLoop.h
10716
* src/PStringSegment.cc
10717
* src/PStringSegment.h
10718
* src/PStringSelect.h
10719
* src/PStringVisitor.h
10720
* src/download_helper.cc
10721
* test/PStringBuildVisitorTest.cc
10722
* test/ParameterizedStringParserTest.cc
10724
2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10726
Persist connection between the built-in HTTP server and a client
10727
if a client supports keep-alive. Fixed the bug that aria2 exits
10728
when the HTTP server receives EOF from a client.
10729
* src/HttpServer.cc
10731
* src/HttpServerCommand.cc
10732
* src/HttpServerCommand.h
10733
* src/HttpServerResponseCommand.cc
10735
2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10737
Added experimental built-in HTTP server. Currently, when a client
10738
accesses to the server, it responds with the current download
10739
progress. By default, it is disabled. To enable the server, give
10740
--enable-http-server option. To change the default port number
10741
for the server to listen to, use --http-server-listen-port option.
10742
The response HTML is very simple and refreshes it self each 1
10743
second. Because of this refresh, you see flicker in normal web
10744
browser such as Firefox. I recommend to use console-based browser
10745
such as elinks, w3m. To connect to the server, run 'elinks
10746
http://localhost:6800/' while running aria2. Please replace port
10747
number '6800'(which is default) with your preference.
10748
* src/DownloadEngineFactory.cc
10749
* src/HttpHeader.cc
10751
* src/HttpHeaderProcessor.cc
10752
* src/HttpHeaderProcessor.h
10753
* src/HttpListenCommand.cc
10754
* src/HttpListenCommand.h
10755
* src/HttpServer.cc
10757
* src/HttpServerCommand.cc
10758
* src/HttpServerCommand.h
10759
* src/HttpServerResponseCommand.cc
10760
* src/HttpServerResponseCommand.h
10762
* src/OptionHandlerFactory.cc
10766
* src/option_processing.cc
10770
* test/HttpHeaderProcessorTest.cc
10773
2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10776
* src/CheckIntegrityMan.cc
10777
* src/FileAllocationMan.cc
10779
2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10781
Made (piece) hash check sequential for each RequestGroup because
10782
simultaneous hash check is slower than sequential execution.
10783
* src/CheckIntegrityCommand.cc
10784
* src/CheckIntegrityDispatcherCommand.cc
10785
* src/CheckIntegrityDispatcherCommand.h
10786
* src/CheckIntegrityMan.h
10787
* src/ConsoleStatCalc.cc
10788
* src/DownloadCommand.cc
10789
* src/DownloadEngine.cc
10790
* src/DownloadEngine.h
10791
* src/DownloadEngineFactory.cc
10794
* src/RequestGroup.cc
10797
2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10799
Moved setStatusRealtime() from FileAllocationDispatcherCommand to
10800
SequentialDispatcherCommand.
10801
* src/FileAllocationDispatcherCommand.cc
10802
* src/SequentialDispatcherCommand.h
10804
2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10806
Rewritten FileAllocationDispatcherCommand using brand new
10807
SequentialDispatcherCommand.
10808
* src/DownloadEngineFactory.cc
10809
* src/FileAllocationCommand.cc
10810
* src/FileAllocationDispatcherCommand.cc
10811
* src/FileAllocationDispatcherCommand.h
10813
* src/SequentialDispatcherCommand.h
10815
2009-01-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10817
Replaced FileAllocationMan with
10818
SequentialPicker<FileAllocationEntry>.
10819
* src/BtCheckIntegrityEntry.cc
10820
* src/ConsoleStatCalc.cc
10821
* src/DownloadEngine.cc
10822
* src/DownloadEngine.h
10823
* src/DownloadEngineFactory.cc
10824
* src/FileAllocationCommand.cc
10825
* src/FileAllocationDispatcherCommand.cc
10826
* src/FileAllocationMan.h
10828
* src/SequentialPicker.h
10830
* src/StreamCheckIntegrityEntry.cc
10832
* test/SequentialPickerTest.cc
10834
2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10836
Added doc for adaptive URI selector.
10839
2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10841
Added doc for adaptive URI selector.
10844
2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10846
Added doc for --bt-max-peers option.
10849
2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10851
Added doc for --bt-hash-check-seed option.
10854
2009-01-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10856
Documented exit codes.
10859
2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10861
Added --bt-max-peers option to specify the maximum number of peers
10862
per torrent. 0 means unlimited number of peers.
10863
* src/ActivePeerConnectionCommand.cc
10865
* src/DefaultPeerStorage.cc
10866
* src/DefaultPeerStorage.h
10867
* src/OptionHandlerFactory.cc
10868
* src/RequestGroup.cc
10869
* src/option_processing.cc
10873
* test/DefaultPeerStorageTest.cc
10875
2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10877
Added --bt-hash-check-seed option. If true is given to this
10878
option, after hash check using --check-integrity option and file
10879
is complete, continue to seed file. If you want to check file and
10880
download it only when it is damaged or incomplete, set this option
10881
to false. This option has effect only on BitTorrent download.
10882
The default value is true(This is the same behavior with the
10884
* src/BtCheckIntegrityEntry.cc
10885
* src/OptionHandlerFactory.cc
10886
* src/option_processing.cc
10891
2009-01-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10893
Updated copyright year.
10894
* src/version_usage.cc
10896
2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10898
Rewritten the usage text for --bt-request-peer-speed-limit option.
10902
2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10904
Made the max value of split option unlimited.
10906
* src/OptionHandlerFactory.cc
10908
2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10910
Fixed compile warning/error.
10911
* src/DownloadResult.h
10912
* src/HttpDownloadCommand.cc
10913
* src/ServerStat.cc
10914
* test/RequestGroupTest.cc
10916
2009-01-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10918
Added --event-poll option to select the method for polling events.
10919
The available methods are "select" and "epoll". "epoll" is
10920
available on Linux only. The earlier release has the compile
10921
option to choose from these methods.
10923
* src/RequestGroupMan.cc
10924
* src/OptionHandlerFactory.cc
10925
* src/EpollEventPoll.h
10926
* src/StreamFileAllocationEntry.cc
10928
* src/SelectEventPoll.h
10929
* src/option_processing.cc
10931
* src/EpollEventPoll.cc
10936
* src/DownloadEngine.h
10937
* src/SelectEventPoll.cc
10938
* src/DownloadEngine.cc
10939
* src/SocketCore.cc
10940
* src/DownloadEngineFactory.cc
10945
2009-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10947
Included RecoverableException.h from main.cc
10950
2009-01-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10952
Applied exit-status patch from Pascal Rigaux at Mandriva. aria2
10953
now returns last error encountered in the HTTP/FTP downloads as a
10954
exit status value. If all downloads finished successfully, aria2
10955
returns 0. The error code is defined in src/DownloadResult.h.
10956
The error occurred in the download currently in progress is not
10957
reported as a last error. If no error has encountered but there
10958
are in progress or waiting downloads, aria2 returns 7.
10960
* src/AbstractCommand.cc
10963
* src/DownloadCommand.cc
10964
* src/DownloadFailureException.h
10965
* src/DownloadResult.h
10966
* src/FtpNegotiationCommand.cc
10967
* src/HttpSkipResponseCommand.cc
10969
* src/MultiUrlRequestInfo.cc
10970
* src/MultiUrlRequestInfo.h
10971
* src/RecoverableException.h
10972
* src/RequestGroup.cc
10973
* src/RequestGroup.h
10974
* src/RequestGroupMan.cc
10975
* src/RequestGroupMan.h
10979
* src/option_processing.cc
10980
* test/RequestGroupTest.cc
10982
2009-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
10984
Applied AdaptiveURISelector patch from Aurelien Lefebvre. This
10985
patch adds AdaptiveURISelector, which selects one of the bests
10986
mirrors for first and reserved connections. For supplementary
10987
ones, it returns mirrors which has not been tested yet, and if
10988
each of them already tested, returns mirrors which has to be
10989
tested again. Otherwise, it doesn't return anymore mirrors.
10990
* src/AdaptiveURISelector.cc
10991
* src/AdaptiveURISelector.h
10992
* src/FtpNegotiationCommand.cc
10993
* src/HttpResponseCommand.cc
10996
* src/OptionHandlerFactory.cc
10997
* src/RequestGroup.cc
10998
* src/RequestGroup.h
10999
* src/RequestGroupMan.cc
11000
* src/ServerStat.cc
11002
* src/ServerStatMan.cc
11004
* src/URISelector.h
11007
* test/RequestGroupManTest.cc
11008
* test/ServerStatManTest.cc
11009
* test/ServerStatTest.cc
11011
2009-01-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11013
Fixed unit test error.
11014
* test/HttpResponseTest.cc (HttpResponseTest::testRetrieveCookie)
11016
2008-12-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11020
2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11022
Updated Russian translation. Thanks to the translators.
11025
2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11027
Added the description of --use-head option to man page.
11030
2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11032
Bump up version number to 1.1.2
11035
2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11037
Added --use-head option to toggle whether HEAD method should be
11038
used in the first HTTP request. By default aria2 uses HEAD method
11039
as the first request. When the server doesn't recognize HEAD, then
11040
give aria2 --use-head=false to force aria2 to use GET method
11042
* src/OptionHandlerFactory.cc
11043
* src/RequestGroupMan.cc
11044
* src/option_processing.cc
11049
2008-12-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11051
Fixed the bug that BitTorrent download doesn't finish when REJECT
11052
message is received before CHOKE message. The old implementation
11053
doen't clear the use-bit of the piece when recieved REJECT
11055
* src/DefaultBtMessageDispatcher.cc
11056
* test/DefaultBtMessageDispatcherTest.cc
11058
2008-12-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11062
2008-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11064
Bump up version number to 1.1.1.
11067
2008-12-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11069
Fixed the bug that --summary-interval=0 doesn't work. The summary
11070
is printed repeatedly.
11071
* src/ConsoleStatCalc.cc
11073
2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11077
2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11079
Added ifdef clause for conditional compilation.
11082
2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11084
Updated Russian, Simplified Chinese, Ukrainian and Japanese
11085
translations. Thanks to all translators.
11091
2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11093
Added the preceding ">>> " before the message "Printing the
11094
contents of file..." to make the output more readable.
11097
2008-12-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11099
Added try-catch block in the loop in showFiles() to continue the
11100
operation even if the exception occurred in one file.
11101
* src/main.cc (showFiles)
11103
2008-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11105
Made messages in showFiles() translatable.
11110
2008-12-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11112
Print the contents of Torrent/Metalink files are printed without
11116
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11118
Escaped '--' with '\--'
11121
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11123
Updated "How to build" section in README. Mentioned about
11124
--with-ca-bundle compile option.
11127
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11129
Bump up version number to 1.1.0.
11132
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11134
Added a note for --dht-listen-port option.
11137
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11139
Update doc for --realtime-chunk-checksum option.
11142
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11144
Update doc for --realtime-chunk-checksum option.
11147
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11149
Updated French, Japanese, Russian and Ukrainian translations.
11150
Thanks to all translators.
11156
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11158
Renamed aria2c.pot to aria2.pot
11160
* po/aria2c.pot: Removed.
11162
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11164
Removed MetaEntry.h
11167
2008-12-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11169
Rename file by appending digits if a local file exists and its
11170
file size is larger than that of remote file with --continue
11171
option. The old implementation just throws exception in such case.
11172
* src/RequestGroup.cc
11174
2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11176
Fixed the bug that download progress summary is not printed in the
11177
interval specified by the option.
11178
* src/ConsoleStatCalc.cc
11179
* src/ConsoleStatCalc.h
11181
2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11183
Fixed compiler warning
11186
2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11188
Fixed the cookie implementation based on RFC2965.
11189
Now if a value in domain field is not started with dot, then
11190
prepend dot. That means a cookie with domain=sf.net is sent to
11193
* test/CookieParserTest.cc
11194
* test/CookieStorageTest.cc
11195
* test/CookieTest.cc
11196
* test/NsCookieParserTest.cc
11197
* test/Sqlite3MozCookieParserTest.cc
11199
2008-12-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11201
Fixed the bug that causes corrupted downloads if HTTP pipelining
11202
is enabled and the server doesn't support keep-alive.
11203
* src/AbstractCommand.cc
11204
* src/DownloadCommand.cc
11205
* src/HttpDownloadCommand.cc
11206
* src/HttpDownloadCommand.h
11207
* src/HttpResponseCommand.cc
11210
* test/RequestTest.cc
11212
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11214
Removed Dictionary/List/Data and its related classes.
11215
* src/BencodeVisitor.cc: Removed.
11216
* src/BencodeVisitor.h: Removed.
11217
* src/Data.cc: Removed.
11218
* src/Data.h: Removed.
11219
* src/Dictionary.cc: Removed.
11220
* src/Dictionary.h: Removed.
11221
* src/List.cc: Removed.
11222
* src/List.h: Removed.
11224
* src/MetaEntry.h: Removed.
11225
* src/MetaEntryVisitor.h: Removed.
11226
* src/MetaFileUtil.cc: Removed.
11227
* src/MetaFileUtil.h: Removed.
11228
* test/BencodeVisitorTest.cc: Removed.
11229
* test/DataTest.cc: Removed.
11230
* test/DictionaryTest.cc: Removed.
11231
* test/ListTest.cc: Removed.
11233
* test/MetaFileUtilTest.cc: Removed.
11235
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11237
Removed include of MetaEntry.h
11238
* test/DHTMessageTrackerEntryTest.cc
11240
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11242
Use BDE instead of Dictionary/List/Data.
11243
* src/AnnounceList.cc
11244
* src/AnnounceList.h
11245
* test/AnnounceListTest.cc
11247
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11249
Use BDE instead of Dictionary/List/Data.
11250
* src/DHTAbstractMessage.cc
11251
* src/DHTAbstractMessage.h
11252
* src/DHTAnnouncePeerMessage.cc
11253
* src/DHTAnnouncePeerMessage.h
11254
* src/DHTAnnouncePeerReplyMessage.cc
11255
* src/DHTAnnouncePeerReplyMessage.h
11256
* src/DHTFindNodeMessage.cc
11257
* src/DHTFindNodeMessage.h
11258
* src/DHTFindNodeReplyMessage.cc
11259
* src/DHTFindNodeReplyMessage.h
11260
* src/DHTGetPeersMessage.cc
11261
* src/DHTGetPeersMessage.h
11262
* src/DHTGetPeersReplyMessage.cc
11263
* src/DHTGetPeersReplyMessage.h
11264
* src/DHTMessageFactory.h
11265
* src/DHTMessageFactoryImpl.cc
11266
* src/DHTMessageFactoryImpl.h
11267
* src/DHTMessageReceiver.cc
11268
* src/DHTMessageTracker.cc
11269
* src/DHTMessageTracker.h
11270
* src/DHTPingMessage.cc
11271
* src/DHTPingMessage.h
11272
* src/DHTPingReplyMessage.cc
11273
* src/DHTPingReplyMessage.h
11274
* src/DHTQueryMessage.cc
11275
* src/DHTQueryMessage.h
11276
* src/DHTResponseMessage.cc
11277
* src/DHTResponseMessage.h
11278
* test/DHTAnnouncePeerMessageTest.cc
11279
* test/DHTAnnouncePeerReplyMessageTest.cc
11280
* test/DHTFindNodeMessageTest.cc
11281
* test/DHTFindNodeReplyMessageTest.cc
11282
* test/DHTGetPeersMessageTest.cc
11283
* test/DHTGetPeersReplyMessageTest.cc
11284
* test/DHTMessageFactoryImplTest.cc
11285
* test/DHTMessageTrackerTest.cc
11286
* test/DHTPingMessageTest.cc
11287
* test/DHTPingReplyMessageTest.cc
11288
* test/MockDHTMessageFactory.h
11290
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11292
Added tests the case where length < 0 is specified.
11293
* test/BencodeTest.cc
11295
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11297
Fixed memory leak in decoderawstring()
11300
2008-12-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11302
Added missing #ifdef guard. Added uc() function for String and
11303
removeKey() for Dict.
11306
* test/BencodeTest.cc
11308
2008-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11310
Use BDE instead of Dictionary/List/Data.
11311
* src/HandshakeExtensionMessage.cc
11312
* src/HandshakeExtensionMessage.h
11313
* test/HandshakeExtensionMessageTest.cc
11315
2008-12-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11317
Added --max-overall-upload-limit option. This option limits the
11318
overall upload speed. Stated in help message that the existing
11319
--max-upload-limit option limits the upload speed per each
11320
torrent. Man page is also updated.
11322
* src/DefaultBtMessageDispatcher.cc
11323
* src/DefaultBtMessageDispatcher.h
11324
* src/OptionHandlerFactory.cc
11325
* src/PeerInteractionCommand.cc
11326
* src/option_processing.cc
11331
2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11333
Use BDE instead of Dictionary/List/Data classes.
11334
* src/CompactPeerListProcessor.cc
11335
* src/CompactPeerListProcessor.h
11336
* src/DefaultBtAnnounce.cc
11337
* src/DefaultBtContext.cc
11338
* src/DefaultBtContext.h
11339
* src/DefaultPeerListProcessor.cc
11340
* src/DefaultPeerListProcessor.h
11341
* src/DelegatingPeerListProcessor.cc
11342
* src/DelegatingPeerListProcessor.h
11343
* src/PeerListProcessor.h
11344
* src/UTPexExtensionMessage.cc
11347
* test/DefaultBtContextTest.cc
11348
* test/DefaultPeerListProcessorTest.cc
11350
2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11352
Added bencode helper functions and BDE class.
11353
They will replace MetaFileUtil and Dictionary/List/Data classes.
11357
* test/BencodeTest.cc
11360
2008-12-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11362
Fixed the bug that bad URI is sent to the tracker when the announe
11363
URI in torrent file includes query.
11364
* src/DefaultBtAnnounce.cc
11365
* test/DefaultBtAnnounceTest.cc
11367
2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11369
Added Option::blank().
11370
Use !Option::blank(name) instead of Option::defined(name) for
11371
the options that take filename.
11372
* src/MultiUrlRequestInfo.cc
11376
* src/option_processing.cc
11377
* test/OptionTest.cc
11379
2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11381
Documented the default value of --check-certificate option in man
11385
2008-12-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11387
Enabled --check-certificate by default. Added compile
11388
time(configure) option --with-ca-bundle to specify CA bundle.
11389
Warn if --check-certificate=true and --ca-certificate is not
11390
specified or loading CA certificate is failed.
11392
* src/MultiUrlRequestInfo.cc
11393
* src/OptionHandlerFactory.cc
11396
2008-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11398
Mentioned https tag in help option.
11401
2008-12-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11403
Added `https' tag to help option category. Added https tag to
11404
--ca-certificate, --certificate, --check-certificate and
11405
--private-key option.
11406
* src/OptionHandlerFactory.cc
11408
* src/option_processing.cc
11410
2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11412
Changed the package name from `aria2c' to `aria2' in order to fix
11413
the packaging issue in Debian and Fedora. The name of the
11414
executable is not changed.
11417
2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11422
2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11424
Fixed typos and updated doc.
11427
2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11432
2008-12-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11437
2008-11-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11439
Print a message when no files to download.
11440
* src/download_helper.cc
11444
2008-11-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11446
RFC3986 complied Percent-Encoding(urlencode).
11447
Use uppercase hexadecimal digits for encoded text instead of lowercase
11452
* test/BtHandshakeMessageTest.cc
11453
* test/DefaultBtAnnounceTest.cc
11454
* test/DefaultBtContextTest.cc
11455
* test/RequestTest.cc
11458
2008-11-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11460
Fixed the bug that prevents aria2 from downloading 0-length files
11462
* src/DefaultBtContext.cc
11463
* src/DefaultBtContext.h
11464
* src/DownloadContext.h
11465
* src/FtpNegotiationCommand.cc
11466
* src/HttpResponseCommand.cc
11467
* src/HttpResponseCommand.h
11468
* src/RequestGroup.cc
11469
* src/SingleFileDownloadContext.cc
11470
* src/SingleFileDownloadContext.h
11471
* test/BtPostDownloadHandlerTest.cc
11472
* test/MetalinkPostDownloadHandlerTest.cc
11473
* test/MockBtContext.h
11475
2008-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11477
Fixed the bug that -pfalse and -ptrue are not recognized properly.
11478
* src/option_processing.cc
11480
2008-11-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11482
Applied aria2-1.0.1-mingw.patch.
11483
Use SOCKET_ERRNO instead of errno if the code is used both linux and
11485
Collected 4th and 5th argument types for getsockopt and setsockopt.
11486
* src/SocketCore.cc
11487
* src/a2netcompat.h
11488
* test/SocketCoreTest.cc
11490
2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11494
2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11496
Updated Ukrainian and Norwegian Nynorsk translations.
11497
Thanks to all translators.
11501
2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11503
Don't show download result when -S option is used.
11506
2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11508
Bump up version number to 1.0.1
11511
2008-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11513
Closed files after the test cases in MultiDiskWriterTest::
11514
testResetDiskWriterEntries(). This will fix the unit test error
11516
* test/MultiDiskWriterTest.cc
11518
2008-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11520
Use HEAD method to get file size from HTTP server for segmented
11522
The request to the BitTorrent Tracker always uses GET method because
11523
the response of the tracker is small and it doesn't need segmented
11525
* src/FtpNegotiationCommand.cc
11526
* src/HttpRequest.cc
11527
* src/HttpResponseCommand.cc
11528
* src/HttpSkipResponseCommand.cc
11529
* src/RequestGroup.cc
11530
* src/RequestGroup.h
11531
* src/TrackerWatcherCommand.cc
11532
* test/HttpRequestTest.cc
11534
2008-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11536
Fixed the bug that causes floating exception when -T option is used and
11538
* src/download_helper.cc
11539
* test/DownloadHelperTest.cc
11541
2008-11-22 Ross Smith II <aria2spam at smithii dot com>
11543
Applied aria2-1.0.0-mingw-r5.patch to fix numerous compile/unit test
11545
Closed file after saving server stats (RequestGroupMan.cc)
11546
Fixed time parsing if internal strptime() is missing (FtpConnection.cc)
11547
Ignored case & handled 2-digit years (strptime.c)
11548
Added missing suseconds_t definition (a2time.h)
11549
Fixed socket CLOSE() define (SocketCore.cc)
11550
Changed EINPROGRESS to A2_EINPROGRESS (SocketCore.cc)
11551
Changed utime() test values from x000 to x00000 as MinGW failed on
11552
values less than timezone offset from Unix epoch
11553
Changed 'struct stat' to 'a2_struct_stat' (FileTest.cc)
11554
Added waitRead() call prior to reading socket (FtpConnectionTest.cc)
11555
Changed date from 01-Jan-1960 to 01-Jan-1970 00:00:01 as MinGW can't
11556
handle negative dates (CookieParserTest.cc)
11558
* src/FtpConnection.cc
11559
* src/RequestGroupMan.cc
11560
* src/SocketCore.cc
11562
* test/CookieParserTest.cc
11563
* test/CopyDiskAdaptorTest.cc
11565
* test/FtpConnectionTest.cc
11566
* test/MultiDiskAdaptorTest.cc
11568
2008-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11570
Fixed typo in "OPTIONS THAT TAKE AN OPTIONAL ARGUMENT" section.
11573
2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11577
2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11579
Added '~' to reserved characters.
11582
2008-11-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11584
Do not urlencode Request::url in setUrl() because we want unmodified
11585
URL using Request::getUrl()
11588
* test/RequestTest.cc
11590
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11592
Updated Ukrainian, Japanese, Bulgarian, Russian and French translations.
11593
Thanks to all translators.
11600
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11602
Bump up version number to 1.0.0
11605
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11607
Added nosqlite3 build to build_test.sh.
11608
Renamed noxml as expat.
11611
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11613
Updated INPUT FILE section.
11616
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11618
Excluded testLoad_compat() and testLoad_nonBt_compat() when compiled
11619
on big endian systems because test .aria2 files are made for little
11621
* test/DefaultBtProgressInfoFileTest.cc
11623
2008-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11625
Dropped ares support.
11628
* m4/libares.m4: Removed.
11629
* src/AsyncNameResolver.cc
11633
2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11635
Rewritten ByteArrayDiskWriter::size() using seekg() and tellg().
11636
Removed const qualifier from DiskWriter::size().
11637
* src/AbstractDiskWriter.cc
11638
* src/AbstractDiskWriter.h
11639
* src/ByteArrayDiskWriter.cc
11640
* src/ByteArrayDiskWriter.h
11642
* test/ByteArrayDiskWriterTest.cc
11644
2008-11-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11646
Fixed the bug that causes segmentation fault/bus error during executing
11647
choking algorithm while seeding. This is caused by improper
11648
implementation of compare function which returns inconsistent results
11649
depending on the timing of last unchoke.
11650
* src/BtSeederStateChoke.cc
11651
* src/BtSeederStateChoke.h
11652
* src/DefaultPeerStorage.cc
11654
2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11659
2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11661
Added a section that explains how to pass argument to options that
11662
takes optional arguments with its short form.
11665
2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11667
Added -u for the short form of --max-upload-limit option.
11669
* src/option_processing.cc
11672
2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11674
Added -V for the short form of --check-integrity option.
11675
Now the argument of --check-integrity option is optional:
11676
if it is omitted, it is evaluated as true.
11678
* src/option_processing.cc
11681
2008-11-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11683
Made the default value of --ftp-pasv option set to true and it can take
11685
* src/OptionHandlerFactory.cc
11686
* src/option_processing.cc
11690
2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11692
Given custom random number generator to std::random_shuffle.
11693
* src/AnnounceList.cc
11694
* src/BtLeecherStateChoke.cc
11695
* src/BtSeederStateChoke.cc
11696
* src/DefaultBtRequestFactory.cc
11697
* src/MetalinkEntry.cc
11698
* src/RarestPieceSelector.cc
11699
* src/SimpleRandomizer.cc
11700
* src/SimpleRandomizer.h
11702
2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11704
Now the default value of --enable-direct-io is true.
11705
* src/OptionHandlerFactory.cc
11708
2008-11-15 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11710
Erase peer before executing onReturningPeer and onErasingPeer
11711
because choking algorithm called from onReturningPeer doesn't
11712
like erasing peer in the active peer list.
11713
* src/DefaultPeerStorage.cc
11715
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11717
Instead of creating special filename in createDownloadResult() if
11718
inMemoryDownload() is true, now it is done in getFilePath().
11719
* src/RequestGroup.cc
11720
* test/RequestGroupTest.cc
11722
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11724
Print "[MEMORY]" and filename if a file is not saved in disk and just
11725
processed in memory. This is the fix for previous comment out.
11726
* src/MemoryBufferPreDownloadHandler.cc
11727
* src/RequestGroup.cc
11728
* src/RequestGroup.h
11730
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11732
Commented out the code which sets virtual directory path "[MEMORY]"
11733
propagate directory to store to following RequestGroup.
11734
* src/MemoryBufferPreDownloadHandler.cc
11736
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11738
Bump up version number to 1.0.0b
11741
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11743
Added input_uris.txt to EXTRA_DIST
11746
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11748
Removed PeerObject.h from Makefile.am
11751
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11754
* src/PeerInteractionCommand.cc
11756
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11758
Updated usage for -i option.
11759
* src/usage_text.h (TEXT_INPUT_FILE)
11761
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11763
Added INPUT FILE section to man page.
11767
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11769
Fixed wrong note position for -o option.
11772
2008-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11774
Fixed compile error without SSL/XML library.
11775
* src/DefaultBtProgressInfoFile.cc
11776
* src/DefaultBtProgressInfoFile.h
11777
* src/FileMetalinkParserState.cc
11778
* src/RequestGroup.h
11779
* src/SocketCore.cc
11781
* src/VerificationMetalinkParserState.cc
11782
* src/download_helper.h
11784
* test/DefaultBtProgressInfoFileTest.cc
11785
* test/DownloadHelperTest.cc
11787
2008-11-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11789
Rewritten URI handling functions. They are now provided as a testable
11792
* src/RequestGroup.cc
11793
* src/RequestGroup.h
11794
* src/download_helper.cc
11795
* src/download_helper.h
11797
* test/DownloadHelperTest.cc
11799
* test/input_uris.txt
11801
2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11803
Quickly terminate commands when ctrl-c is pressed.
11804
* src/DownloadEngine.cc
11806
2008-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11808
Quickly terminate idle commands when download finished.
11809
* src/AbstractCommand.cc
11810
* src/DownloadCommand.cc
11811
* src/DownloadEngine.cc
11812
* src/DownloadEngine.h
11813
* src/SleepCommand.cc
11814
* src/SleepCommand.h
11816
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11818
Added the ability to specify output filename and directory in input
11820
Additional parameters are added in the following line of URIs
11821
with proceeding white space(s), 1 parameter in 1 line.
11822
The parameter names are the same with the command-line option name
11823
without proceeding "--". Not all the options are available here:
11824
at the moment, 'dir' and 'out' options are avialable.
11825
Please note that out option has no effect against Metalink or BitTorrent
11827
Example input file:
11829
http://host/foo-1.1.tar.bz2
11832
http://host/thundermonkey-2.0.tar.bz2
11834
And then invoke 'aria2c -i url.txt --dir ~/mydownloads'.
11835
foo-1.1.tar.bz2 is saved as /tmp/downloads/foo.tar.bz2, whereas
11836
thundermonkey-2.0.tar.bz2 is saved as
11837
~/mydownloads/thundermonkey-2.0.tar.bz2.
11838
* src/BtPostDownloadHandler.cc
11839
* src/Metalink2RequestGroup.cc
11840
* src/Metalink2RequestGroup.h
11841
* src/MetalinkPostDownloadHandler.cc
11842
* src/UriListParser.cc
11843
* src/UriListParser.h
11845
* test/Metalink2RequestGroupTest.cc
11846
* test/UriListParserTest.cc
11847
* test/filelist1.txt
11849
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11851
Fixed error when SSL library is not found.
11854
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11856
Cross referenced among -s, -C and -j options.
11857
Updated usage of -C and -s options.
11861
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11863
Fixed bad cast in 32bit platforms.
11864
* test/DefaultPieceStorageTest.cc
11865
(DefaultPieceStorageTest::testGetCompletedLength)
11867
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11869
Fixed unit test fails on 32bit platforms.
11870
* test/CookieParserTest.cc
11872
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11874
Show an average download speed in Download results.
11875
* src/BtFileAllocationEntry.cc
11876
* src/DefaultPieceStorage.cc
11877
* src/DownloadContext.cc
11878
* src/DownloadContext.h
11879
* src/DownloadResult.h
11880
* src/RequestGroup.cc
11881
* src/RequestGroupMan.cc
11882
* src/StreamFileAllocationEntry.cc
11884
2008-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11886
Fixed the bug that metalink file is not processed if Content-Type
11887
field has a paramter.
11888
* src/HttpResponse.cc
11889
* src/HttpResponse.h
11890
* test/HttpResponseTest.cc
11892
2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11894
Removed unused code.
11895
* src/DefaultBtAnnounce.cc
11897
2008-11-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11899
Fixed the bug that DefaultPieceStorage::getCompletedLength() returns
11900
the value larger than DefaultPieceStorage::getTotalLength() when
11901
in flight pieces are involved.
11902
* src/DefaultPieceStorage.cc
11903
* test/DefaultPieceStorageTest.cc
11905
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11907
Bump up version number to 1.0.0a.
11910
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11912
Updated configure.ac
11915
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11917
Added usege for proxy.
11920
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11922
Added usage for --ca-certificate, --certificate, --private-key and
11923
--check-certificate options.
11926
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11931
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11933
Added --no-proxy option. It receives comman separated hostname or
11934
domains to which proxy should not be used.
11935
aria2 honors the environment variable no_proxy to override no-proxy
11936
value in configuration file. The user can override the environment
11937
variable no_proxy with --no-proxy command-line option.
11938
* src/AbstractCommand.cc
11939
* src/OptionHandlerFactory.cc
11940
* src/option_processing.cc
11945
2008-11-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11947
Added the ability to verify peer in SSL/TLS using given CA certificates.
11948
The CA certificates are specified in --ca-certificate option.
11949
By default, the verification is disabled. Use --check-certificate
11950
option to enable it.
11951
* src/HttpRequestCommand.cc
11952
* src/LibgnutlsTLSContext.cc
11953
* src/LibgnutlsTLSContext.h
11954
* src/LibsslTLSContext.cc
11955
* src/LibsslTLSContext.h
11956
* src/MultiUrlRequestInfo.cc
11957
* src/OptionHandlerFactory.cc
11958
* src/SocketCore.cc
11960
* src/a2functional.h
11962
* src/option_processing.cc
11967
2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11969
Added client certificate authentication for SSL/TLS.
11970
Currently a private key must be decrypted for use with aria2.
11971
If a user accidentally gives encrypted file to aria2 then following
11973
If encrypted private key is given to aria2, it behaves differently
11974
depending on the ssl library it uses. If aria2 built with openssl then
11975
openssl prompts the user for password. If aria2 build with gnutls then
11976
aria2 exists with error at start up.
11977
* src/DownloadEngineFactory.cc
11978
* src/MultiUrlRequestInfo.cc
11979
* src/OptionHandlerFactory.cc
11980
* src/option_processing.cc
11985
2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
11987
Introduced TLSContext that holds TLS related data that can be shared
11988
with multiple SSL connections.
11989
* src/DownloadEngineFactory.cc
11990
* src/LibgnutlsTLSContext.cc
11991
* src/LibgnutlsTLSContext.h
11992
* src/LibsslTLSContext.cc
11993
* src/LibsslTLSContext.h
11995
* src/SocketCore.cc
12000
2008-11-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
12002
Fixed the bug that the DiskWriter of the first FileEntry whose
12003
`needsFileAllocation' property is false is not created
12004
even if it shares a piece with next FileEntry which `requested' property
12006
Fixed the bug that zero-length file is not created if pre file
12007
allocation is not done.
12008
* src/MultiDiskAdaptor.cc
12009
* src/MultiDiskAdaptor.h
12010
* test/MultiDiskAdaptorTest.cc
12012
2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12014
Added the ability to pool proxy connection.
12015
The conneciton in FTP with proxy-method=GET is not pooled.
12016
Proxy-Connection header will not be sent when sending CONNECT method.
12017
* src/DownloadEngine.cc
12018
* src/DownloadEngine.h
12019
* src/FtpFinishDownloadCommand.cc
12020
* src/FtpInitiateConnectionCommand.cc
12021
* src/FtpNegotiationCommand.cc
12022
* src/HttpDownloadCommand.cc
12023
* src/HttpInitiateConnectionCommand.cc
12024
* src/HttpRequest.cc
12025
* src/HttpRequest.h
12026
* src/HttpResponse.cc
12027
* src/HttpSkipResponseCommand.cc
12028
* test/HttpRequestTest.cc
12029
* test/HttpResponseTest.cc
12031
2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12033
Handle date before epoch.
12034
To create *bad* Time object, call Time::null().
12035
* src/CookieParser.cc
12036
* src/FtpConnection.cc
12037
* src/FtpConnection.h
12038
* src/FtpNegotiationCommand.cc
12039
* src/RequestGroup.cc
12042
* test/CookieParserTest.cc
12043
* test/FtpConnectionTest.cc
12046
2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12048
Added support for following envrionment variables: http_proxy,
12049
https_proxy, ftp_proxy and all_proxy.
12050
Each variable is equivalent to the aria2 option whose name is the
12051
variable name with '_' replaced with '-'.
12052
They overrides options specified in aria2.conf file.
12053
The envrionment variables can be overrode using command-line option.
12054
* src/option_processing.cc
12056
2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12058
Renamed --http-proxy-method as --proxy-method.
12059
* src/AbstractCommand.cc
12060
* src/FtpInitiateConnectionCommand.cc
12061
* src/HttpInitiateConnectionCommand.cc
12062
* src/OptionHandlerFactory.cc
12063
* src/option_processing.cc
12068
2008-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12070
Deprecated --http-proxy-user and --http-proxy-passwd options.
12071
Added --https-proxy, --ftp-proxy and --all-proxy options.
12072
Above 3 options and --http-proxy option can handle proxy in URL format
12073
like: http://user:passwd@host:port.
12074
If a proxy requires user/password, they must be specified in a URL.
12075
Deprecated --ftp-via-http-proxy option. Use --http-proxy-method option
12077
* src/AbstractCommand.cc
12078
* src/AbstractCommand.h
12079
* src/AbstractProxyRequestCommand.cc
12080
* src/AbstractProxyRequestCommand.h
12081
* src/AuthConfigFactory.cc
12082
* src/AuthConfigFactory.h
12083
* src/FtpFinishDownloadCommand.cc
12084
* src/FtpInitiateConnectionCommand.cc
12085
* src/FtpInitiateConnectionCommand.h
12086
* src/FtpNegotiationCommand.cc
12087
* src/FtpTunnelRequestCommand.cc
12088
* src/FtpTunnelRequestCommand.h
12089
* src/HttpDownloadCommand.cc
12090
* src/HttpInitiateConnectionCommand.cc
12091
* src/HttpInitiateConnectionCommand.h
12092
* src/HttpProxyRequestCommand.cc
12093
* src/HttpProxyRequestCommand.h
12094
* src/HttpRequest.cc
12095
* src/HttpRequest.h
12096
* src/HttpRequestCommand.cc
12097
* src/HttpRequestCommand.h
12098
* src/HttpSkipResponseCommand.cc
12099
* src/InitiateConnectionCommand.cc
12100
* src/InitiateConnectionCommand.h
12101
* src/OptionHandlerFactory.cc
12102
* src/OptionHandlerImpl.h
12104
* src/option_processing.cc
12108
* test/AuthConfigFactoryTest.cc
12109
* test/HttpRequestTest.cc
12110
* test/OptionHandlerTest.cc
12112
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12114
Execute choking algorithm when unchoked and interested peer is
12116
* src/DefaultPeerStorage.cc
12118
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12120
Added testcase for BtNotInterestedMessage from unchoked peer.
12121
* test/BtNotInterestedMessageTest.cc
12123
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12125
Execute choking algorithm when BtInterestedMessage arrives from
12127
* src/BtInterestedMessage.cc
12128
* src/BtInterestedMessage.h
12129
* src/DefaultBtMessageFactory.cc
12130
* test/BtInterestedMessageTest.cc
12131
* test/MockPeerStorage.h
12133
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12135
AuthConfigFactory is now part of DownloadEngine.
12136
* src/AbstractProxyRequestCommand.cc
12137
* src/AuthConfigFactory.h
12138
* src/DownloadEngine.cc
12139
* src/DownloadEngine.h
12140
* src/FtpConnection.cc
12141
* src/FtpConnection.h
12142
* src/FtpNegotiationCommand.cc
12143
* src/HttpConnection.cc
12144
* src/HttpRequest.cc
12145
* src/HttpRequest.h
12146
* src/HttpRequestCommand.cc
12147
* src/HttpResponse.cc
12148
* src/HttpResponseCommand.cc
12149
* src/HttpSkipResponseCommand.cc
12150
* src/MultiUrlRequestInfo.cc
12152
* test/FtpConnectionTest.cc
12153
* test/HttpRequestTest.cc
12154
* test/HttpResponseTest.cc
12156
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12158
Corrected catched exception type.
12159
* src/ServerStatMan.cc
12161
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12163
DNSCache is now part of DownloadEngine.
12165
* src/DownloadEngine.cc
12166
* src/DownloadEngine.h
12167
* src/InitiateConnectionCommand.cc
12168
* src/MultiUrlRequestInfo.cc
12171
* test/SimpleDNSCacheTest.cc
12173
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12175
Removed SingletonHolder of CUIDCounter. CUIDCounter is now part of
12177
* src/ActivePeerConnectionCommand.cc
12179
* src/CUIDCounter.h
12181
* src/DownloadCommand.cc
12182
* src/DownloadEngine.cc
12183
* src/DownloadEngine.h
12184
* src/DownloadEngineFactory.cc
12185
* src/FileAllocationDispatcherCommand.cc
12186
* src/InitiatorMSEHandshakeCommand.cc
12187
* src/PeerInitiateConnectionCommand.cc
12188
* src/PeerInteractionCommand.cc
12189
* src/PeerListenCommand.cc
12190
* src/RequestGroup.cc
12191
* src/StreamFileAllocationEntry.cc
12192
* src/TrackerWatcherCommand.cc
12194
* test/RequestGroupManTest.cc
12196
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12198
Implemented commented code in BtSeederStateChoke
12199
* src/BtSeederStateChoke.cc
12202
* src/PeerInteractionCommand.cc
12203
* src/PeerSessionResource.cc
12204
* src/PeerSessionResource.h
12205
* test/MockBtMessageDispatcher.h
12206
* test/PeerSessionResourceTest.cc
12208
2008-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12210
Made BtRegistry non-static object. Now DownloadEngine has a reference to
12212
* src/AbstractBtMessage.cc
12213
* src/ActivePeerConnectionCommand.cc
12214
* src/ActivePeerConnectionCommand.h
12215
* src/BtContextAwareCommand.cc
12216
* src/BtContextAwareCommand.h
12217
* src/BtExtendedMessage.cc
12218
* src/BtExtendedMessage.h
12219
* src/BtInterestedMessage.cc
12220
* src/BtInterestedMessage.h
12221
* src/BtNotInterestedMessage.cc
12222
* src/BtNotInterestedMessage.h
12223
* src/BtRegistry.cc
12225
* src/BtSeederStateChoke.cc
12227
* src/DHTGetPeersCommand.cc
12228
* src/DHTGetPeersCommand.h
12229
* src/DHTPeerAnnounceEntry.cc
12230
* src/DHTPeerAnnounceEntry.h
12231
* src/DHTPeerAnnounceStorage.cc
12232
* src/DHTPeerAnnounceStorage.h
12233
* src/DHTPeerLookupTask.cc
12234
* src/DHTPeerLookupTask.h
12237
* src/DHTTaskFactory.h
12238
* src/DHTTaskFactoryImpl.cc
12239
* src/DHTTaskFactoryImpl.h
12240
* src/DefaultBtAnnounce.cc
12241
* src/DefaultBtInteractive.cc
12242
* src/DefaultBtInteractive.h
12243
* src/DefaultBtMessageDispatcher.cc
12244
* src/DefaultBtMessageDispatcher.h
12245
* src/DefaultBtMessageFactory.cc
12246
* src/DefaultBtMessageFactory.h
12247
* src/DefaultBtMessageReceiver.cc
12248
* src/DefaultBtProgressInfoFile.cc
12249
* src/DefaultBtProgressInfoFile.h
12250
* src/DefaultBtRequestFactory.cc
12251
* src/DefaultBtRequestFactory.h
12252
* src/DefaultExtensionMessageFactory.cc
12253
* src/DefaultExtensionMessageFactory.h
12254
* src/DefaultPeerStorage.cc
12255
* src/DefaultPeerStorage.h
12256
* src/DownloadEngine.cc
12257
* src/DownloadEngine.h
12258
* src/InitiatorMSEHandshakeCommand.cc
12259
* src/InitiatorMSEHandshakeCommand.h
12260
* src/MSEHandshake.cc
12261
* src/MSEHandshake.h
12264
* src/PeerChokeCommand.cc
12265
* src/PeerChokeCommand.h
12266
* src/PeerInitiateConnectionCommand.cc
12267
* src/PeerInitiateConnectionCommand.h
12268
* src/PeerInteractionCommand.cc
12269
* src/PeerInteractionCommand.h
12271
* src/PeerReceiveHandshakeCommand.cc
12272
* src/PeerReceiveHandshakeCommand.h
12273
* src/ReceiverMSEHandshakeCommand.cc
12274
* src/RequestGroup.cc
12275
* src/RequestGroup.h
12276
* src/RequestGroupMan.cc
12277
* src/RequestGroupMan.h
12278
* src/SeedCheckCommand.cc
12279
* src/SeedCheckCommand.h
12280
* src/ShareRatioSeedCriteria.h
12281
* src/SimpleBtMessage.cc
12282
* src/TrackerWatcherCommand.cc
12283
* src/TrackerWatcherCommand.h
12284
* src/UTPexExtensionMessage.cc
12285
* src/UTPexExtensionMessage.h
12286
* test/BtCancelMessageTest.cc
12287
* test/BtChokeMessageTest.cc
12288
* test/BtExtendedMessageTest.cc
12289
* test/BtInterestedMessageTest.cc
12290
* test/BtNotInterestedMessageTest.cc
12291
* test/BtPieceMessageTest.cc
12292
* test/BtPortMessageTest.cc
12293
* test/BtRegistryTest.cc
12294
* test/BtRejectMessageTest.cc
12295
* test/BtRequestMessageTest.cc
12296
* test/DHTPeerAnnounceEntryTest.cc
12297
* test/DHTPeerAnnounceStorageTest.cc
12298
* test/DefaultBtMessageDispatcherTest.cc
12299
* test/DefaultBtMessageFactoryTest.cc
12300
* test/DefaultBtProgressInfoFileTest.cc
12301
* test/DefaultBtRequestFactoryTest.cc
12302
* test/DefaultExtensionMessageFactoryTest.cc
12303
* test/MSEHandshakeTest.cc
12304
* test/MockDHTTaskFactory.h
12305
* test/ShareRatioSeedCriteriaTest.cc
12306
* test/UTPexExtensionMessageTest.cc
12308
2008-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12310
Fixed compiler warning.
12313
2008-10-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12315
Treat Cookie object as session cookie if expiry = 0 is given.
12316
With this change, you can specify session scoped cookies in an external
12317
file setting expiry value to 0.
12320
* test/CookieParserTest.cc
12321
* test/CookieStorageTest.cc
12322
* test/CookieTest.cc
12324
2008-10-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12326
Changed signature of DHTMessageFactory::createResponseMessage().
12327
Removed unused validateIDMatch.
12328
* src/DHTMessageFactory.h
12329
* src/DHTMessageFactoryImpl.cc
12330
* src/DHTMessageFactoryImpl.h
12331
* src/DHTMessageTracker.cc
12332
* test/DHTMessageFactoryImplTest.cc
12333
* test/MockDHTMessageFactory.h
12335
Dropped DHT message coming from same ID of localhost.
12336
* src/DHTMessageReceiver.cc
12338
Rejected adding node whose ID is the same as localhost's.
12339
* src/DHTRoutingTable.cc
12340
* test/BtPortMessageTest.cc
12341
* test/DHTRoutingTableTest.cc
12343
2008-10-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12345
Pool connection when redirection occurs with Content-Length = 0.
12346
* src/HttpSkipResponseCommand.cc
12347
* src/HttpSkipResponseCommand.h
12349
2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12351
Fixed the bug that causes time out when redirection occurs with
12353
* src/HttpResponseCommand.cc
12354
* src/HttpSkipResponseCommand.cc
12355
* src/HttpSkipResponseCommand.h
12357
2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12359
Now each status legends is shown only when it appears in Download
12360
Result. If Download Result has no item, then status legend will not
12362
* src/RequestGroupMan.cc
12364
2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12366
Removed duplicate creation of OptionHandlers.
12367
* src/option_processing.cc
12369
2008-10-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12371
Fixed the bug that causes segmentation fault when accessing files which
12372
don't exist or are not included in --select-file option while
12373
validating chunk checksum.
12374
* src/MultiDiskAdaptor.cc
12376
2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12378
Fixed compiler warning.
12381
2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12383
Included cstdlib. This fixed the compile error with g++-4.3.2.
12384
* src/IteratableChecksumValidator.cc
12385
* src/IteratableChunkChecksumValidator.cc
12387
2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12391
2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12393
Added Serbian translation. Updated Ukrainian translation.
12394
Thanks to all translators.
12399
2008-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12401
Bump up version number to 0.16.2
12404
2008-10-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12406
Added length equality test to operator== to drop a piece message
12407
whose length does not match to the requested one.
12408
* src/RequestSlot.cc
12409
* test/DefaultBtMessageDispatcherTest.cc
12411
2008-10-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12413
Fixed the bug that aria2 aborts when a request larger than 16KiB is
12415
In this fix, if a request larger than 16KiB length is received, aria2
12416
disconnects the peer.
12417
* src/BtConstants.h
12418
* src/PeerMessageUtil.cc
12419
* src/PeerMessageUtil.h
12420
* test/BtRequestMessageTest.cc
12422
2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12426
2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12428
Replaced '@' with 'at' in AUTHOR and REPORT BUG.
12431
2008-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12433
Added Ukrainian, Vietnamese, Traditional Chinese translations.
12434
Updated French, Simplified Chinese and Japanese translations.
12435
Thanks to all translators.
12436
en@quot and en@boldquot are also added.
12445
2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12447
Bump up version number to 0.16.1.
12450
2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12455
2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12457
Updated man page. Changed doctype of aria2c.1.html to manpage in order
12458
not to replace '--' with em dash character.
12462
2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12464
Added --auto-save-interval=SEC option. A control file(*.aria2) is saved
12466
* src/DownloadEngineFactory.cc
12467
* src/OptionHandlerFactory.cc
12468
* src/option_processing.cc
12471
2008-10-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12473
Fixed compile warning on linux-amd64
12474
* src/FtpConnection.cc
12475
* src/IteratableChunkChecksumValidator.cc
12476
* src/MultiDiskAdaptor.cc
12478
Fixed the bug that unit test fails on linux-amd64
12481
2008-10-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12483
Added --dht-file-path option to change the path to dht.dat, which is a
12484
serialized DHT routing table.
12485
* src/OptionHandlerFactory.cc
12486
* src/option_processing.cc
12489
2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12491
Fixed possible underflow.
12492
* src/BitfieldMan.cc (BitfieldMan::getNthBitIndex)
12494
2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12496
Fixed the bug that last character in URI is not encoded.
12498
* test/RequestTest.cc
12500
2008-10-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12502
Fixed the bug that referer header field contains fragment.
12503
Now Request class removes fragment part of URI and encodes it
12504
in Request::setUri() and setReferer().
12507
* test/RequestTest.cc
12509
2008-10-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12511
Added missing m4 macros.
12514
* m4/libgnutls-extra.m4
12518
2008-10-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12520
Fixed compile error with gcc-4.4(snapshot)
12522
* src/FtpConnection.cc
12523
* src/OptionHandlerImpl.h
12526
2008-10-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12529
* src/SocketBuffer.cc (SocketBuffer::send)
12531
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12533
Changed the type of _numNewConnection to unsigned int.
12534
* src/ActivePeerConnectionCommand.cc
12535
* src/ActivePeerConnectionCommand.h
12537
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12541
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12546
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12548
Updated French, Simplified Chinese, German, Bulgarian and Japanese
12549
translations. Thanks to all translators.
12556
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12558
Bump up version number to 0.16.0.
12561
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12563
Casted entry->maxConnections to int32_t for std::min<T> with T =
12565
Changed the type of count to int32_t.
12566
* src/Metalink2RequestGroup.cc
12568
2008-10-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12570
Added test for Time::elapsed(time_t).
12573
2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12575
Fixed the bug in Time::elapsed(): Util::difftvsec() is used where
12576
Util::difftv() should be used instead.
12580
2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12582
Made socket for dht connections non-blocking
12583
* src/DHTAbstractMessage.cc
12584
* src/DHTAbstractMessage.h
12585
* src/DHTConnection.h
12586
* src/DHTConnectionImpl.cc
12587
* src/DHTConnectionImpl.h
12589
* src/DHTMessageDispatcherImpl.cc
12590
* src/DHTMessageDispatcherImpl.h
12591
* src/DHTUnknownMessage.cc
12592
* src/DHTUnknownMessage.h
12593
* src/SocketCore.cc
12595
* test/MockDHTMessage.h
12597
2008-10-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12599
Changed the type of offset to int.
12600
* src/ParameterizedStringParser.cc
12602
2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12604
Made getAsInt() return int32_t
12607
2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12609
Check the availability of winsock2.h and ws2tcpip.h only for mingw32
12613
2008-10-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12615
Use sqlite3_open if sqlite3_open_v2 is not available.
12616
* src/Sqlite3MozCookieParser.cc
12617
* src/Sqlite3MozCookieParser.h
12619
* test/Sqlite3MozCookieParserTest.cc
12621
2008-10-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12623
Replaced '%zu' with '%lu' since mingw32 doesn't recognize '%zu'.
12624
* src/BtPieceMessage.cc
12625
* src/DHTPeerAnnounceStorage.cc
12626
* src/DefaultPieceStorage.cc
12627
* src/DownloadCommand.cc
12628
* src/DownloadEngine.cc
12629
* src/FtpConnection.cc
12630
* src/PeerConnection.cc
12631
* src/PeerMessageUtil.cc
12632
* src/RequestGroup.cc
12633
* src/RequestGroupMan.cc
12634
* src/SimpleBtMessage.cc
12636
2008-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12638
Use seek() and SetEndOfFile() for mingw32 build instead of ftruncate(),
12639
because mingw32's ftruncate() cannot handle more than 2GB-size file.
12640
* src/AbstractDiskWriter.cc
12642
2008-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12644
Don't set Request::supportsPersistentConnection() in HttpConnection
12645
since this code is also used in AbstractProxyResponseCommand.
12646
Moved those code to HttpResponse.
12647
* src/HttpResponse.cc
12648
* src/HttpResponse.h
12649
* src/HttpConnection.cc
12650
* src/HttpConnection.h
12651
* src/HttpResponseCommand.cc
12652
* test/HttpResponseTest.cc
12654
2008-09-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12656
Fixed compile error with debian mingw32 cross compiler(4.2.1).
12657
The configuration is minimum: no torrent, no metalink, so there may be
12658
other compile error on their code.
12659
* src/a2netcompat.h
12662
* src/SocketCore.cc
12665
2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12667
Made a socket of incoming peer non-blocking.
12668
* src/PeerListenCommand.cc
12670
2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12672
Fixed the bug that aria2 may send duplicate data to BitTorrent peer if
12673
whole message data is not sent in one send() call.
12674
* src/BtPieceMessage.cc
12675
* src/BtPieceMessage.h
12676
* src/PeerConnection.cc
12677
* src/PeerConnection.h
12678
* src/SimpleBtMessage.cc
12679
* src/SimpleBtMessage.h
12681
2008-09-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12683
Fixed the bug that aria2 downloads faster than max-download-limit when
12684
downloading file using both HTTP(or FTP) and BitTorrent, because aria2
12685
evaluates speed separatly(HTTP and BiTorrent) against max-download-limit
12686
, instead of sum of them.
12687
* src/ActivePeerConnectionCommand.cc
12688
* src/DefaultBtInteractive.cc
12689
* src/DownloadCommand.cc
12690
* src/PeerInteractionCommand.cc
12691
* src/PeerReceiveHandshakeCommand.cc
12693
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12695
Fixed the bug that HTTPS download fails.
12696
* src/AbstractCommand.cc
12697
* src/AbstractCommand.h
12698
* src/DownloadCommand.cc
12699
* src/FtpConnection.cc
12700
* src/HttpConnection.cc
12701
* src/HttpRequestCommand.cc
12702
* src/HttpResponseCommand.cc
12703
* src/HttpSkipResponseCommand.cc
12704
* src/MSEHandshake.cc
12705
* src/PeerConnection.cc
12706
* src/SocketCore.cc
12709
Fixed the bug that aria2 doesn't download whole content body and cannot
12710
reuse connection if chunked transfer encoding and gzip content encoding
12712
* src/DownloadCommand.cc
12713
* src/HttpSkipResponseCommand.cc
12715
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12720
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12722
When error occurred while aria2 was parsing an .aria2.conf file, print
12723
the usage of the option that caused error.
12724
* src/option_processing.cc
12726
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12728
Fixed compile error on OptionHandlerException
12730
* src/OptionHandlerException.cc
12731
* src/OptionHandlerException.h
12733
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12735
Moved message of the error to OptionHandlerException.h
12736
* src/NameMatchOptionHandler.h
12737
* src/OptionHandlerException.h
12739
2008-09-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12741
When error occurs while aria2 is parsing an command-line option, print
12742
the usage of the option.
12744
* src/NameMatchOptionHandler.h
12745
* src/OptionHandlerException.h
12746
* src/option_processing.cc
12748
2008-09-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12750
Reverted previous change.
12751
Insert username+'@' to URI(after ftp://) when URI is FTP scheme and
12752
username is not in URI.
12753
* src/HttpRequest.cc
12755
* test/HttpRequestTest.cc
12756
* test/RequestTest.cc
12758
2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12760
Now colon is required for username and password in FTP URL, like:
12761
ftp://username:password@host.
12762
If colon is not there, aria2 don't parse it as a username. For example,
12763
aria2 don't retrieve username from ftp://username@host.
12764
This fix was made in order to login FTP server via non-transparent ftp
12767
* test/RequestTest.cc
12769
2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12771
Use netrc for HTTP.
12772
Now FTP user/password is sent in Authorization header when
12773
--ftp-via-http-proxy=get is given.
12774
* src/AuthConfigFactory.cc
12775
* src/HttpRequest.cc
12776
* src/HttpRequest.h
12777
* src/NetrcAuthResolver.cc
12778
* src/NetrcAuthResolver.h
12779
* src/OptionHandlerFactory.cc
12780
* src/option_processing.cc
12783
* test/AuthConfigFactoryTest.cc
12784
* test/HttpRequestTest.cc
12785
* test/NetrcAuthResolverTest.cc
12787
2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12789
Issue PWD command first and get working directory and use it as a prefix
12791
* src/DownloadEngine.cc
12792
* src/DownloadEngine.h
12793
* src/FtpConnection.cc
12794
* src/FtpConnection.h
12795
* src/FtpFinishDownloadCommand.cc
12796
* src/FtpInitiateConnectionCommand.cc
12797
* src/FtpNegotiationCommand.cc
12798
* src/FtpNegotiationCommand.h
12799
* test/FtpConnectionTest.cc
12801
2008-09-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12803
Removed default user/pass for FTP user/pass, since it should not have
12804
precedence over netrc configuration by default.
12805
* src/OptionHandlerFactory.cc
12807
2008-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12809
Added debug log for socket event.
12810
* src/AbstractCommand.cc
12811
* src/PeerAbstractCommand.cc
12813
2008-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12816
* src/SimpleLogger.cc (SimpleLogger::writeLog)
12818
2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12820
Replaced HelpItem.cc with OptionHandler.cc.
12823
Updated po files with 'make update-po'
12827
2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12829
Removed possible values from the text.
12830
* src/usage_text.h (TEXT_METALINK_PREFERRED_PROTOCOL)
12832
2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12834
Removed unused preferences:
12835
PREF_NO_PREALLOCATION
12837
PREF_TRACKER_MAX_TRIES
12838
PREF_DIRECT_DOWNLOAD_TIMEOUT
12839
PREF_MIN_SEGMENT_SIZE
12840
* src/option_processing.cc
12844
2008-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12846
Integrated HelpItem into OptionParser to ease the workload for adding
12847
new options. Removed default value from usage text.
12848
* src/HelpItem.cc: Removed.
12849
* src/HelpItem.h: Removed.
12850
* src/HelpItemFactory.cc: Removed.
12851
* src/HelpItemFactory.h: Removed.
12854
* src/NameMatchOptionHandler.h
12855
* src/OptionHandler.cc
12856
* src/OptionHandler.h
12857
* src/OptionHandlerFactory.cc
12858
* src/OptionHandlerImpl.h
12859
* src/OptionParser.cc
12860
* src/OptionParser.h
12861
* src/TagContainer.cc: Removed.
12862
* src/TagContainer.h: Removed.
12863
* src/TaggedItem.cc: Removed.
12864
* src/TaggedItem.h: Removed.
12866
* src/option_processing.cc
12868
* src/version_usage.cc
12869
* test/HelpItemTest.cc: Removed.
12872
* test/OptionHandlerTest.cc
12873
* test/OptionParserTest.cc
12874
* test/TagContainerTest.cc: Removed.
12876
2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12878
Moved `TransferStat stat = ...' to inside the `if' clause.
12879
* src/RequestGroup.cc (RequestGroup::reportDownloadFinished)
12881
2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12883
Fixed the bug that a block in a piece is requested when same block is
12884
already requested to the same peer in end game mode.
12885
* src/BtRequestFactory.h
12886
* src/DefaultBtInteractive.cc
12887
* src/DefaultBtRequestFactory.cc
12888
* src/DefaultBtRequestFactory.h
12889
* src/DefaultPieceStorage.cc
12890
* src/DefaultPieceStorage.h
12891
* src/PieceStorage.h
12892
* src/UnknownLengthPieceStorage.cc
12893
* src/UnknownLengthPieceStorage.h
12894
* test/DefaultBtRequestFactoryTest.cc
12895
* test/DefaultPieceStorageTest.cc
12896
* test/MockBtRequestFactory.h
12897
* test/MockPieceStorage.h
12899
2008-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12901
Removed _uploadLength and _downloadLength from PeerSessionResource
12902
and use PeerStat::_sessionUploadLength and
12903
PeerStat::_sessionDownloadLength.
12904
* src/PeerSessionResource.cc
12905
* src/PeerSessionResource.h
12907
2008-09-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12909
Fixed the bug that prefixLength of split bucket which doesn't include
12910
local node ID is incremented.
12913
* test/DHTBucketTest.cc
12915
2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12917
Added cookies.sqlite to EXTRA_DIST
12920
2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12922
Added Turkish translation. Updated French, German, Russian and
12923
Simplified Chinese translations. Thanks to all translators.
12931
2008-09-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12933
Added deliminating text to the beginning of the log so that one can find
12934
where the log starts easily.
12937
2008-09-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12939
Moved isProxyGETRequest function outside #ifdef ENABLE_ASYNC_DNS clause
12940
to fix compile error when async DNS is not enabled by configuration.
12941
* src/AbstractCommand.cc
12943
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12945
If establishing conneciton to a server is failed, then mark error on
12947
Added the cause of error to log when error event occurred.
12948
Moved message string to message.h for translation.
12949
* src/AbstractCommand.cc
12950
* src/AbstractCommand.h
12951
* src/FtpNegotiationCommand.cc
12952
* src/HttpRequestCommand.cc
12953
* src/PeerAbstractCommand.cc
12956
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12958
Added the function to get error message from socket.
12959
* src/SocketCore.cc
12962
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12964
Added convenient method RequestGroupMan::getOrCreateServerStat()
12965
* src/RequestGroupMan.cc
12966
* src/RequestGroupMan.h
12968
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12970
If error event is received in epoll, then abort download immediately.
12971
* src/AbstractCommand.cc
12974
* src/DownloadEngine.cc
12975
* src/PeerAbstractCommand.cc
12977
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12979
Added usage message for --uri-selector, --server-stat-of,
12980
--server-stat-in, --server-stat-timeout options.
12981
* src/HelpItemFactory.cc
12984
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12986
Added upper limit of FTP response buffer. The current implementation
12987
uses 4096bytes as a limit.
12988
* src/FtpConnection.cc
12989
* src/FtpConnection.h
12990
* test/FtpConnectionTest.cc
12992
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
12994
Use non-blocking socket for TCP communication to avoid possible
12995
blocking due to buffer full.
12996
* src/AbstractProxyRequestCommand.cc
12997
* src/FtpConnection.cc
12998
* src/FtpConnection.h
12999
* src/FtpNegotiationCommand.cc
13000
* src/FtpNegotiationCommand.h
13001
* src/HttpConnection.cc
13002
* src/HttpConnection.h
13003
* src/HttpRequestCommand.cc
13004
* src/InitiatorMSEHandshakeCommand.cc
13005
* src/InitiatorMSEHandshakeCommand.h
13006
* src/MSEHandshake.cc
13007
* src/MSEHandshake.h
13009
* src/PeerConnection.cc
13010
* src/PeerConnection.h
13011
* src/PeerInteractionCommand.cc
13012
* src/PeerListenCommand.cc
13013
* src/ReceiverMSEHandshakeCommand.cc
13014
* src/ReceiverMSEHandshakeCommand.h
13015
* src/SocketBuffer.cc
13016
* src/SocketBuffer.h
13017
* src/SocketCore.cc
13020
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13022
Call setStatusRealtime() in constructor.
13023
* src/RealtimeCommand.cc
13024
* src/RealtimeCommand.h
13026
2008-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13028
Call Download::setNoWait(true) to execute newly created command without
13030
* src/AbstractCommand.cc
13032
2008-09-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13034
Added --max-file-not-found=NUM option. If aria2 receives `file not
13035
found' error from HTTP/FTP server NUM times without getting single
13036
bytes of data, then force the download to fail.
13037
Basically aria2 tris all URIs available. So if long list of URIs are
13038
specified in Metalink, then aria2 will take a long time to fail
13039
eventually if all URIs are outdated. This option eases this situation
13040
to limit the number of servers to try.
13041
* src/FtpNegotiationCommand.cc
13042
* src/HelpItemFactory.cc
13043
* src/HttpResponseCommand.cc
13044
* src/OptionHandlerFactory.cc
13046
* src/RequestGroup.cc
13047
* src/RequestGroup.h
13048
* src/SegmentMan.cc
13050
* src/option_processing.cc
13055
2008-09-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13057
Fixed the bug that bulkReceiveResponse() reads all received data as a
13058
response even if more than one response is in it.
13059
* src/FtpConnection.cc
13060
* src/FtpConnection.h
13061
* test/FtpConnectionTest.cc
13063
2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13065
Merged from stable-0.15
13071
2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13073
Removed unnecessary if statement.
13074
* src/DefaultPieceStorage.cc (initPieceStorage)
13076
2008-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13078
Added --connect-timeout option to specify connect timeout in seconds.
13079
This option is in effect for HTTP/FTP/proxy server. The timeout for
13080
connecting to BitTorrent peer is not controlled by this option.
13081
* src/AbstractProxyRequestCommand.cc
13082
* src/FtpNegotiationCommand.cc
13083
* src/HelpItemFactory.cc
13084
* src/HttpRequestCommand.cc
13085
* src/OptionHandlerFactory.cc
13086
* src/option_processing.cc
13091
2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13093
Added help message for -R option.
13094
* src/HelpItemFactory.cc
13097
2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13099
Added the message that the time is in local time zone.
13100
* src/RequestGroup.cc
13102
2008-09-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13104
Implemented the ability to get timestamp from remote FTP server using
13105
MDTM command described in RFC3659.
13106
* src/FtpConnection.cc
13107
* src/FtpConnection.h
13108
* src/FtpNegotiationCommand.cc
13109
* src/FtpNegotiationCommand.h
13110
* test/FtpConnectionTest.cc
13113
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13115
Implemented the ability to get timestamp from remote HTTP server and
13116
apply it to local file. To enable this feature, --remote-time option
13117
is added. No usage text has been written yet.
13118
If several servers returns difference timestamp, then aria2 uses latest
13120
* src/CopyDiskAdaptor.cc
13121
* src/CopyDiskAdaptor.h
13122
* src/DirectDiskAdaptor.cc
13123
* src/DirectDiskAdaptor.h
13124
* src/DiskAdaptor.h
13127
* src/HttpHeader.cc
13129
* src/HttpResponse.cc
13130
* src/HttpResponse.h
13131
* src/HttpResponseCommand.cc
13132
* src/HttpResponseCommand.h
13133
* src/MultiDiskAdaptor.cc
13134
* src/MultiDiskAdaptor.h
13135
* src/OptionHandlerFactory.cc
13136
* src/RequestGroup.cc
13137
* src/RequestGroup.h
13138
* src/RequestGroupMan.cc
13139
* src/option_processing.cc
13142
* test/CopyDiskAdaptorTest.cc
13146
* test/MultiDiskAdaptorTest.cc
13149
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13151
Fixed the bug that DiskWriterEntry is not created when its
13152
FileEntry.isRequested() is false and it doesn't share a piece with
13153
other FileEntries that are requested. This bug causes segmentation fault
13155
* src/MultiDiskAdaptor.cc
13156
* src/MultiDiskAdaptor.h
13157
* src/MultiFileAllocationIterator.cc
13158
* test/MultiDiskAdaptorTest.cc
13159
* test/MultiFileAllocationIteratorTest.cc
13161
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13163
Fixed the bug that exception is thrown when MultiDiskAdaptor::size() is
13164
called if the number of file entries are greater than max open files.
13165
* src/AbstractSingleDiskAdaptor.cc
13166
* src/AbstractSingleDiskAdaptor.h
13167
* src/DiskAdaptor.h
13168
* src/MultiDiskAdaptor.cc
13169
* src/MultiDiskAdaptor.h
13170
* test/MultiDiskAdaptorTest.cc
13172
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13174
Added a constuctor that receives struct timeval.
13180
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13182
Parse `expires' of Set-Cookie using Time::parseHTTPDate()
13183
* src/CookieParser.cc
13184
* test/CookieParserTest.cc
13185
* test/HttpResponseTest.cc
13187
2008-09-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13189
Implmented the functions to parse date.
13194
2008-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13196
Added "Firefox3 Cookie" feature to FeatureConfig
13197
* src/FeatureConfig.cc
13198
* src/FeatureConfig.h
13199
* test/FeatureConfigTest.cc
13201
2008-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13203
Bump up version number to 0.16.0b
13206
2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13208
Use pkg-config if is is available.
13211
2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13213
DEFAULT_ANNOUNCE_INTERVAL: unsigned int -> time_t
13216
2008-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13218
If an error occurred with a URI, remove identical URI from remaining
13219
URI list because it is likely that same error occurred in the end and it
13221
* src/AbstractCommand.cc
13222
* src/RequestGroup.cc
13223
* src/RequestGroup.h
13225
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13227
Removed wrong comment.
13228
* src/DefaultPeerStorage.cc
13230
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13232
Moved implementation to SimpleRandomizer.cc from SimpleRandomizer.h.
13233
Added return value of getpid() to argument of srand() to achieve more
13235
* src/SimpleRandomizer.cc
13236
* src/SimpleRandomizer.h
13238
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13240
Contact tracker frequently when the number of connections are 0 and
13241
download is not finished yet.
13242
* src/ActivePeerConnectionCommand.cc
13244
* src/DefaultBtAnnounce.cc
13245
* src/DefaultBtAnnounce.h
13246
* test/MockBtAnnounce.h
13248
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13250
Moved threshold values to UTPexExtensionMessage.
13251
* src/DefaultBtInteractive.cc
13254
* src/UTPexExtensionMessage.cc
13255
* src/UTPexExtensionMessage.h
13256
* test/UTPexExtensionMessageTest.cc
13258
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13260
Added _incoming member to Peer class and made it true if the peer
13261
initiated connection. Don't add those peer to UTPex message.
13262
If extended handshake is received, assign _incoming to false.
13263
* src/DefaultBtInteractive.cc
13264
* src/HandshakeExtensionMessage.cc
13267
* src/PeerListenCommand.cc
13269
2008-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13271
Made files whose name ends with ".gz", ".tgz" not inflated by Content
13272
Encoding Decoder. Removed size threshold for turning off on the fly
13273
inflation because resulting file may or may not be inflated depending
13274
on the file size and I think it is not expected by users.
13275
This change fixes segmentation fault when Metalink file contains gzipped
13276
file and its filesize is provided.
13277
* src/HttpResponseCommand.cc
13278
* src/HttpResponseCommand.h
13280
2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13282
Made Cookie immutable.
13285
* src/CookieParser.cc
13286
* src/CookieParser.h
13287
* src/CookieStorage.cc
13288
* test/CookieParserTest.cc
13289
* test/CookieStorageTest.cc
13290
* test/NsCookieParserTest.cc
13291
* test/Sqlite3MozCookieParserTest.cc
13293
2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13295
Removed CookieBox, CookieBoxFactory.
13298
* src/CookieBoxFactory.cc
13299
* src/CookieBoxFactory.h
13302
2008-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13304
Use CookieStorage class instead of CookieBox class.
13305
Now CookieStorage accepts cookies from numeric host such as 192.168.1.1.
13306
* src/AbstractProxyRequestCommand.cc
13307
* src/CookieStorage.cc
13308
* src/DownloadEngine.cc
13309
* src/DownloadEngine.h
13310
* src/HttpConnection.cc
13311
* src/HttpConnection.h
13312
* src/HttpRequest.cc
13313
* src/HttpRequest.h
13314
* src/HttpRequestCommand.cc
13315
* src/HttpResponse.cc
13316
* src/HttpResponseCommand.cc
13317
* src/HttpSkipResponseCommand.cc
13319
* src/MultiUrlRequestInfo.cc
13324
* test/CookieStorageTest.cc
13325
* test/CookieTest.cc
13326
* test/HttpRequestTest.cc
13327
* test/HttpResponseTest.cc
13329
* test/NsCookieParserTest.cc
13330
* test/Sqlite3MozCookieParserTest.cc
13331
* test/nscookietest.txt
13333
2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13336
* test/Cookies.sqlite
13337
* test/nscookietest.txt
13339
2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13341
Added tests for CookieStorage::load()
13342
* test/CookieStorageTest.cc
13344
2008-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13346
Added CookieStorage class which is based on RFC2109 and manages cookies
13347
more strictly than CookieBox and CookieBoxFactory class.
13348
* src/CookieStorage.cc
13349
* src/CookieStorage.h
13352
* test/CookieStorageTest.cc
13353
* test/CookieTest.cc
13355
2008-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13357
Fixed the bug that commands are created more than the number of pieces.
13358
* src/RequestGroup.cc
13360
2008-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13362
Fixed infinite loop bug in FTP when SIZE command failed.
13363
* src/FtpNegotiationCommand.cc
13365
2008-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13367
Removed DirectDiskAdaptorTest.h
13370
2008-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13372
Fixed chunk checksum validation cannot detect trailing garbage data.
13374
* src/AbstractSingleDiskAdaptor.cc
13375
* src/AbstractSingleDiskAdaptor.h
13376
* src/CheckIntegrityEntry.cc
13377
* src/CheckIntegrityEntry.h
13378
* src/DiskAdaptor.h
13379
* src/MultiDiskAdaptor.cc
13380
* src/MultiDiskAdaptor.h
13381
* src/RequestGroup.cc
13382
* test/DirectDiskAdaptorTest.cc
13383
* test/MultiDiskAdaptorTest.cc
13387
2008-08-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13389
Bump up version number of dht.dat file to 3. In version 3 format, time
13390
is stored in 64bit, network byte order.
13391
New build can load old format(version 2) but it saves the file in new
13392
format. It means once you used new build, your dht.dat becomes
13393
incompatible with older build.
13394
* src/DHTRoutingTableDeserializer.cc
13395
* src/DHTRoutingTableSerializer.cc
13396
* test/DHTRoutingTableSerializerTest.cc
13398
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13400
Added load-v0001.aria2 and load-nonBt-v0001.aria2 to EXTRA_DIST.
13403
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13405
Bump up version number of .aria2 control file to 0001.
13406
New aria2 can still load version 0000 file but it saves the file in
13407
version 0001 format. It means that new aria2 can resume download
13408
started by old aria2 but the opposite is not true.
13409
* src/DefaultBtProgressInfoFile.cc
13410
* src/DefaultBtProgressInfoFile.h
13411
* test/DefaultBtProgressInfoFileTest.cc
13413
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13415
Added ntoh64 and hton64 as inline functions.
13419
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13421
Added sqlite3 depenency and Firefox3 cookie support.
13424
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13426
State that firefox3 cookie is supported explicitly in the usage.
13429
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13431
Externalized message.
13432
* src/RequestGroupMan.cc
13435
2008-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13437
Save temporary file first and rename to the destination on success.
13439
* src/RequestGroupMan.cc
13440
* test/RequestGroupManTest.cc
13442
2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13444
Fixed the bug that the number of connected peer is exceeding the limit
13445
(55 by default) in seeding mode.
13446
Multiplied 0.8 to _maxUploadSpeedLimit.
13447
* src/ActivePeerConnectionCommand.cc
13449
2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13452
* src/Dictionary.cc
13454
2008-08-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13456
Fixed error handling of lseek.
13457
* src/AbstractDiskWriter.cc
13459
2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13461
Removed "(1.x/2.x)" from TEXT_LOAD_COOKIES since aria2 can load Firefox3
13465
2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13467
If a cookie whose expire date is later than 2038-01-19 03:14:07 GMT is
13468
sent from server, its expire date is assumed to 2038-01-19 03:14:07 GMT.
13469
If Util::httpGMT is failed, then Cookie::onetime is set to true.
13472
* src/CookieParser.cc
13474
* test/CookieParserTest.cc
13476
2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13478
Separate the implementation to load old mozilla format of cookie to
13479
NsCookieParser class.
13480
* src/CookieBoxFactory.cc
13481
* src/CookieBoxFactory.h
13482
* src/NsCookieParser.cc
13483
* src/NsCookieParser.h
13484
* test/NsCookieParserTest.cc
13486
2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13489
* src/Sqlite3MozCookieParser.cc
13490
* src/Sqlite3MozCookieParser.h
13492
2008-08-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13494
Added firefox3 cookie support based on the patch submitted by
13496
firefox3 cookie is SQLite3 database. libsqlite3 is required to enable
13497
this functionality.
13500
* src/CookieBoxFactory.cc
13501
* src/CookieBoxFactory.h
13504
* src/Sqlite3MozCookieParser.cc
13505
* src/Sqlite3MozCookieParser.h
13507
* test/CookieBoxFactoryTest.cc
13510
* test/Sqlite3MozCookieParserTest.cc
13511
* test/badcookies.sqlite
13512
* test/cookies.sqlite
13514
2008-08-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13516
Added Danish and Greek translations.
13517
Updated Spanish, Catalan, Norwegian Nynorsk translations.
13518
Great thanks to all translators.
13526
2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13528
Fixed man page: --follow-bittorrent should be --follow-torrent
13531
2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13533
Fixed: numCommand is less than the value specified in -C option.
13534
* src/RequestGroup.cc
13536
2008-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13538
Fixed occasional assertion failure in PieceSegment.
13539
Calling PieceStorage::getMissingPiece(size_t) was missing after
13540
canceling segments in SegmentMan::getSegment(int32_t). This resulted in
13541
creation of duplicate segments and one of the segment was finished then
13542
assertion failure was caused.
13543
* src/SegmentMan.cc
13544
* test/SegmentManTest.cc
13546
2008-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13548
Added options to load/save the server's performance/status to a file
13549
and the timeout to drop their data.
13550
--server-stat-of=FILE specifies the file to which performance data
13552
--server-stat-if=FILE specifies the file to read previously saved
13553
by --server-stat-of option. Might be used with --uri-selector=feedback.
13554
--server-stat-timeout=TIMEOUT specifies timeout to invalidate the data.
13555
TIMEOUT is specified in seconds and the default value is 24hours.
13556
* src/MultiUrlRequestInfo.cc
13557
* src/OptionHandlerFactory.cc
13558
* src/RequestGroupMan.cc
13559
* src/RequestGroupMan.h
13560
* src/ServerStatMan.cc
13561
* src/ServerStatMan.h
13562
* src/option_processing.cc
13565
* test/ServerStatManTest.cc
13567
2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13569
Implemented ServerStatMan::removeStaleServerStat() and its test case.
13570
* src/ServerStatMan.cc
13571
* src/ServerStatMan.h
13572
* test/ServerStatManTest.cc
13574
2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13576
Implemented ServerStatMan::load(...) function and its test case.
13577
* src/ServerStat.cc
13579
* src/ServerStatMan.cc
13580
* test/ServerStatManTest.cc
13581
* test/ServerStatTest.cc
13583
2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13585
Use time_t instead of int32_t. Use int64_t where milli second is
13590
2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13592
Implemented ServerStatMan::save(...) function and its test case.
13593
* src/ServerStat.cc
13595
* src/ServerStatMan.cc
13596
* src/ServerStatMan.h
13597
* test/ServerStatManTest.cc
13599
2008-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13601
Now aria2 uses name attribute in Metalink as local filename in
13602
BitTorrent downloads. BUG#2033999
13604
* src/BtDependency.cc
13605
* src/DefaultBtContext.cc
13606
* src/DefaultBtContext.h
13607
* src/SingleFileDownloadContext.cc
13608
* src/SingleFileDownloadContext.h
13609
* test/BtDependencyTest.cc
13610
* test/DefaultBtContextTest.cc
13611
* test/MockBtContext.h
13613
2008-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13615
Added AC_C_BIGENDIAN
13618
2008-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13620
Limited numCommand less than or equal to the number of piece.
13621
* src/RequestGroup.cc
13623
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13625
Eliminated randomness from the test case. Removed #ifdef __MINGW32
13627
* test/DefaultPieceStorageTest.cc
13629
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13631
Fixed memory leak in test code
13632
* test/AnnounceListTest.cc
13633
* test/DefaultPeerListProcessorTest.cc
13634
* test/DefaultPeerStorageTest.cc
13635
* test/MetaFileUtilTest.cc
13637
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13639
Fixed wrong argument passing to BitfieldMan::isBitSet()
13640
* src/DefaultPieceStorage.cc
13642
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13644
Initialized _directIOAllowed
13645
* src/MultiDiskAdaptor.cc
13647
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13650
* src/GZipDecoder.cc
13652
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13655
* src/MetalinkParserStateMachine.cc
13657
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13660
* src/Dictionary.cc
13662
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13665
* src/IteratableChunkChecksumValidator.h
13667
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13669
Fixed unmatched malloc/free.
13670
* src/IteratableChunkChecksumValidator.cc
13671
* src/IteratableChecksumValidator.cc
13673
2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13675
Removed max chunk size check. This change fixes BUG#2040169
13676
* src/ChunkedDecoder.cc
13677
* src/ChunkedDecoder.h
13678
* test/ChunkedDecoderTest.cc
13680
2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13682
Implemented download speed based URI selection algorithm.
13683
Introduced new option --uri-selector.
13684
If --uri-selector=feedback is given, aria2 uses download speed observed
13685
in the previous downloads and chooses fastest server in the URI list.
13686
Currently at most 10 URIs are considered to introduce randomeness for
13687
finding better servers. The speed is average download speed in the
13689
On the other hand, if --uri-selector=inorder is given, which is default,
13690
URI is tried in order in URI list.
13691
The usage text for the new option has not been written yet.
13692
* src/AbstractCommand.cc
13693
* src/DownloadCommand.cc
13694
* src/DownloadEngine.cc
13695
* src/DownloadEngineFactory.cc
13696
* src/InOrderURISelector.cc
13697
* src/InOrderURISelector.h
13698
* src/OptionHandlerFactory.cc
13700
* src/RequestGroup.cc
13701
* src/RequestGroup.h
13702
* src/RequestGroupMan.cc
13703
* src/RequestGroupMan.h
13704
* src/SegmentMan.cc
13706
* src/ServerStat.cc
13708
* src/ServerStatMan.cc
13709
* src/ServerStatMan.h
13710
* src/ServerStatURISelector.cc
13711
* src/ServerStatURISelector.h
13712
* src/URISelector.h
13713
* src/option_processing.cc
13716
* test/InOrderURISelectorTest.cc
13717
* test/RequestGroupManTest.cc
13718
* test/ServerStatManTest.cc
13719
* test/ServerStatURISelectorTest.cc
13721
2008-08-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13725
2008-08-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13727
Bump up version number to 0.15.1+2
13730
2008-08-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13732
Fixed the bug that configure --enable-FEATURE actually disables FEATURE.
13735
2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13739
2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13741
Bump up version number to 0.15.1+1
13744
2008-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13746
Fixed the bug that causes segmentaion fault when resuming download
13747
using metalink without size tag. Reproducible only using HTTP URI.
13748
* src/HttpResponseCommand.cc
13749
* src/FtpNegotiationCommand.cc
13751
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13755
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13757
Updated Bulgarian and French translations, thanks to all translators.
13761
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13763
Bump up version number to 0.15.1
13766
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13768
Avoid repeated call of gettimeofday() when calculating speed.
13772
2008-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13774
Removed writable check when socket's send buffer is full in BitTorrent
13775
downloads to lower CPU usage.
13776
* src/PeerInteractionCommand.cc
13778
2008-07-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13780
Fixed broken gzip inflation.
13781
Turn off segmented downloading if gzip content is smaller than or equal
13782
to 1MiB and inflate the data on the fly, because HTTP response header
13783
doesn't contain the length of inflated file we can't determin where
13784
the chunk of data should be written.
13785
On the other hand, if gzip content is larger than 1MB, then turn off
13786
on the fly inflation, because some servers returns "content-type: gzip"
13787
for *.tgz, *.gz files.
13788
* src/DownloadCommand.cc
13789
* src/HttpResponseCommand.cc
13790
* src/HttpResponseCommand.h
13792
2008-07-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13794
Applied tizianomueller's patch to fix compile error.
13795
* test/BitfieldManTest.cc
13796
* test/BtRequestMessageTest.cc
13797
* test/DefaultBtContextTest.cc
13798
* test/DefaultDiskWriterTest.cc
13799
* test/DefaultPieceStorageTest.cc
13800
* test/HttpHeaderProcessorTest.cc
13801
* test/HttpResponseTest.cc
13802
* test/Metalink2RequestGroupTest.cc
13803
* test/MetalinkParserControllerTest.cc
13804
* test/MetalinkProcessorTest.cc
13805
* test/PeerSessionResourceTest.cc
13808
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13812
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13814
Reordered src files in POTFILES.in so that usage text appears first.
13817
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13819
Bump up version number to 0.15.0
13822
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13824
Added Bulgarian translation.
13825
Updated Catalan, Spanish, French and Japanese translations.
13826
Thanks to all translators.
13834
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13836
Updated feature list. Added libz for dependency section.
13837
Added a description about unit testing using CppUnit.
13840
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13842
Added a test for libz. Quoted where it is necessary.
13845
2008-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13847
Added GZip to `Enabled Features' list.
13848
* src/FeatureConfig.cc
13849
* src/FeatureConfig.h
13850
* test/FeatureConfigTest.cc
13852
2008-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13854
Now SegmentMan::findSlowerSegmentEntry() picks up the segment for which
13855
the transfer has not yet started.
13856
Rewritten SegmentMan::registerPeerStat() and SegmentMan::getPeerStat().
13857
* src/SegmentMan.cc
13859
* test/SegmentManTest.cc
13861
2008-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13863
Cache last calculated average download/upload speed.
13864
PeerStat::getAvgDownloadSpeed(), PeerStat::getAvgUploadSpeed() return
13866
Now SpeedCalc::changeSw() is called from SpeedCalc::calculateSpeed()
13871
2008-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13873
Call parseUrl directly.
13874
* src/Request.cc (resetUrl)
13876
2008-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13878
Supported absolute/relative path in Location header field.
13879
* src/AbstractCommand.cc: Call resetUrl() when DlRetryEx is caught.
13880
* src/HttpHeader.cc
13882
* src/HttpResponse.cc
13883
* src/HttpSkipResponseCommand.cc
13885
* test/HttpHeaderTest.cc
13886
* test/HttpResponseTest.cc
13887
* test/RequestTest.cc
13889
2008-07-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13891
Changed help text for --load-cookie option.
13895
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13897
Regenerated test/Makefile.in to remove stale ChangeLog.
13900
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13907
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13909
Bump up version number to 0.15.0b
13912
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13914
Externalize messages.
13915
* src/RequestGroupMan.cc
13916
* src/message.h: Added MSG_SIGNATURE_SAVED, MSG_SIGNATURE_NOT_SAVED.
13918
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13920
Use File::exists() instead of File::isFile() to allow non-regular file
13921
such as block special files.
13922
* src/AbstractDiskWriter.cc
13923
* src/MultiDiskWriter.cc
13925
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13927
Supplied missing EAI_SYSTEM. Thanks ggknauf for the patch.
13928
* src/gai_strerror.h
13930
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13932
Fixed compile error. Thanks gknauf for the patch.
13935
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13937
Included asctime_r.h from a2time.h.
13940
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13942
Added a message "aria2 doesn't verify signature" to log message when
13943
signature file is saved.
13944
* src/RequestGroupMan.cc
13946
2008-07-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13948
Added the ability to save signature when download is completed if
13949
signature is available. The filename of signature file is the path to
13950
download file followed by ".sig". If it already exists, then signature
13952
* src/RequestGroupMan.cc
13954
* test/SignatureTest.cc
13956
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13958
Updated the descriptions for --bt-seed-unverified.
13960
* doc/aria2c.1.html
13963
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13965
Renamed --bt-seed option as --bt-seed-unverified so that it makes clear
13966
that this is not going to verify files using piece hashes.
13967
* src/HelpItemFactory.cc
13968
* src/OptionHandlerFactory.cc
13969
* src/RequestGroup.cc
13970
* src/option_processing.cc
13975
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
13977
Added the ability to retrieve signature from Metalink file.
13978
A retrieved signature is stored in Signature class and it is held by
13979
DownloadContext class. Note that aria2 doesn't verify signature.
13980
* src/DownloadContext.cc
13981
* src/DownloadContext.h
13984
* src/Metalink2RequestGroup.cc
13985
* src/MetalinkEntry.cc
13986
* src/MetalinkEntry.h
13987
* src/MetalinkParserController.cc
13988
* src/MetalinkParserController.h
13989
* src/MetalinkParserStateMachine.cc
13990
* src/MetalinkParserStateMachine.h
13993
* src/SignatureMetalinkParserState.cc
13994
* src/SignatureMetalinkParserState.h
13995
* src/VerificationMetalinkParserState.cc
13996
* src/VerificationMetalinkParserState.h
13997
* test/Metalink2RequestGroupTest.cc
13998
* test/MetalinkParserControllerTest.cc
13999
* test/MetalinkProcessorTest.cc
14002
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14004
Close DiskAdaptor after renaming file.
14005
* src/RequestGroup.cc
14007
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14009
Corrected indentation
14010
* src/DefaultBtProgressInfoFile.cc
14012
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14014
Moved the calls of std::ios::exceptions() inside of try-catch block
14015
because if an error occurred in constructor of std::fstream, then
14016
exception is thrown immediately when std::ios::exceptions() is called
14017
which results unhandled exception and aria2c aborts.
14018
* src/DefaultBtProgressInfoFile.cc
14020
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14022
Added the test for the previous change in DefaultBtContext.cc
14023
* test/DefaultBtContextTest.cc
14025
2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14027
Fixed the bug that causes infinite loop when the number of pieces are
14028
fewer than allowed fast set size which is 10 by default.
14029
* src/DefaultBtContext.cc
14031
2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14033
Updated the descriptions for -j, -s. Added --bt-seed.
14035
* doc/aria2c.1.html
14038
2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14040
Added --bt-seed option. If --bt-seed=true is given at the command-line,
14041
aria2 seeds previously downloaded files without validating piece hashs.
14042
* src/HelpItemFactory.cc
14043
* src/OptionHandlerFactory.cc
14044
* src/RequestGroup.cc
14045
* src/option_processing.cc
14050
2008-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14052
Updated DESCRIPTION of man page.
14054
* doc/aria2c.1.html
14057
2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14059
Fixed the compile error on Nexenta OS(GNU/Solaris OS).
14060
Don't define `struct addrinfo' when __sun is defined.
14061
* src/getaddrinfo.h
14063
2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14065
Introduced a2_struct_stat. It is defined as `struct _stati64' if
14066
__MINGW32__ is defined, because under MinGW32, _stati64 is used and its
14067
second argument is of type `struct _stati64'. Otherwise it is defined as
14069
* src/AbstractDiskWriter.cc
14074
2008-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14076
Fixed the compile error in hurd-i386
14077
See the original bug report:
14078
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488602
14081
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14084
* src/PeerAbstractCommand.cc
14085
* src/PeerAbstractCommand.h
14087
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14089
Removed TransferEncoding.
14090
* src/DownloadCommand.cc
14091
* src/DownloadCommand.h
14092
* src/HttpResponseCommand.cc
14094
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14101
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14103
Rewritten ChunkedEncoding class as ChunkedDecoder class.
14106
* src/ChunkedDecoder.cc
14107
* src/ChunkedDecoder.h
14108
* src/ChunkedEncoding.cc: Removed
14109
* src/ChunkedEncoding.h: Removed
14110
* src/DownloadCommand.cc
14111
* src/DownloadCommand.h
14112
* src/HttpDownloadCommand.cc
14113
* src/HttpResponse.cc
14114
* src/HttpResponse.h
14115
* src/HttpResponseCommand.cc
14116
* src/HttpSkipResponseCommand.cc
14117
* src/HttpSkipResponseCommand.h
14119
* src/TransferEncoding.h: Removed
14120
* test/ChunkedDecoderTest.cc
14121
* test/ChunkedEncodingTest.cc: Removed
14122
* test/HttpResponseTest.cc
14125
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14127
Use append instead of insert.
14128
* src/GZipDecoder.cc
14130
2008-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14135
2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14137
Updated usage text for -s option.
14140
2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14142
Fixed the bug that UTF-8 encoded URL is not URL-encoded properly.
14145
2008-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14147
Cleaned up configure.ac.
14150
2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14152
Use ARIA2_ARG_WITH and ARIA2_ARG_ENABLE instead of AC_ARG_WITH and
14156
2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14158
Added gzip, deflate decoding support in HTTP using libz. If compiled
14159
with this feature, aria2 sends "Accept-Encoding: deflate, gzip" header
14160
to a HTTP server. If a server returns "Content-Encoding: gzip" or
14161
"Content-Encoding: deflate" then, aria2 decodes the response body on the
14162
fly and writes decoded data to a local disk.
14166
* m4/aria2_arg.m4: Added ARIA2_ARG_WITH and ARIA2_ARG_ENABLE, they are
14167
wrapper function for AC_ARG_WITH and AC_ARG_ENABLE respectively.
14170
* src/DownloadCommand.cc
14171
* src/DownloadCommand.h
14173
* src/GZipDecoder.cc
14174
* src/GZipDecoder.h
14175
* src/HttpHeader.cc
14177
* src/HttpRequest.cc
14178
* src/HttpRequest.h
14179
* src/HttpResponse.cc
14180
* src/HttpResponse.h
14181
* src/HttpResponseCommand.cc
14183
* test/GZipDecoderTest.cc
14184
* test/HttpRequestTest.cc
14185
* test/HttpResponseTest.cc
14188
* test/gzip_decode_test.gz
14190
2008-06-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14192
Clarified usage of -j option.
14195
2008-06-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14197
Disabled getting size from the response of RETR.
14198
If SIZE command failed, then disable resuming and segmented downloading.
14199
* src/FtpConnection.cc
14200
* src/FtpConnection.h
14201
* src/FtpNegotiationCommand.cc
14202
* src/FtpNegotiationCommand.h
14204
2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14206
Use digits to find first byte of file size, which makes the intention
14207
of the code clearer.
14208
* src/FtpConnection.cc
14210
Don't call validateTotalLength() when size is 0.
14211
* src/FtpNegotiationCommand.cc
14213
2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14220
2008-06-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14222
Clarified usage text for --split option.
14225
2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14227
Bump up version number to 0.15.0dev. "dev" means "development"
14228
version, which means I started the development of the next release!
14231
2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14233
If FTP server returns negative response with REST raw command and
14234
requested range is not 0, throw exception. If requested range is 0,
14235
continue download a file from 0 byte.
14236
* src/FtpNegotiationCommand.cc
14237
* src/FtpNegotiationCommand.h
14239
2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14241
Supported FTP server which don't recognize SIZE raw command.
14242
If SIZE raw command is failed, aria2 will try to get file size
14243
from the response of RETR raw command. If both attempts are failed,
14244
then resuming and segmented downloading are disabled.
14245
* src/FtpConnection.cc
14246
* src/FtpConnection.h
14247
* src/FtpNegotiationCommand.cc
14248
* src/FtpNegotiationCommand.h
14250
2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14254
2008-06-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14256
Bump up version number to 0.14.0+1
14259
2008-06-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14261
Fixed the code that refers static member variable from non-static
14263
* src/DefaultPeerStorage.cc
14265
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14269
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14271
Added build test script
14274
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14279
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14281
Bump up version number to 0.14.0
14284
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14286
Updated ja.po and fr.po. Great thanks for french translators and
14287
Sebastien WILLEMIJNS.
14291
2008-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14293
Added configure option to enable/disable epoll support.
14296
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14301
* doc/aria2c.1.html
14303
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14305
Added missing default value '5' to the usage of --split option.
14306
* src/HelpItemFactory.cc
14308
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14310
Filled up pieces based on the number of missing blocks, rather than
14311
simplay the number of piece * block length.
14312
* src/BtRequestFactory.h
14313
* src/DefaultBtInteractive.cc
14314
* src/DefaultBtInteractive.h
14315
* src/DefaultBtRequestFactory.cc
14316
* src/DefaultBtRequestFactory.h
14319
* test/BitfieldManTest.cc
14320
* test/DefaultBtRequestFactoryTest.cc
14321
* test/MockBtRequestFactory.h
14323
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14325
Made _epEvents a member variable.
14326
* src/DownloadEngine.cc
14327
* src/DownloadEngine.h
14329
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14331
Cancel download if http redirect is bounded more than 20 times.
14332
* src/AbstractCommand.cc
14333
* src/HttpSkipResponseCommand.cc
14336
* test/RequestTest.cc
14338
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14340
Fixed unhandled exception(removed keyword `new').
14341
* src/SocketCore.cc (initEPOLL)
14343
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14345
Removed visit(const MetaEntry*)
14346
* src/MetaEntryVisitor.h:
14347
Added visit(const Data*),visit(const Dictionary*),visit(const List*)
14348
and made them virtual.
14349
* src/BencodeVisitor.h
14350
* src/BencodeVisitor.cc
14352
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14359
2008-06-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14361
Moved the call setWriteCheckSocket inside the previous clause to reduce
14362
the number of socket to watch out.
14363
* src/PeerInteractionCommand.cc
14365
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14367
When there is not enough space in disk when writing a chunk of data,
14368
aria2 now prints the message to the console to warn user and aborts
14369
its download. Not all downloads are canceled because some downloads
14370
may use another disk or partition. BUG#1640332
14371
* src/AbstractDiskWriter.cc
14372
* src/PeerAbstractCommand.cc
14373
* src/PeerAbstractCommand.h: Added onFailure() function for override.
14374
* src/PeerInteractionCommand.cc: In onFailure(), call RequestGroup::
14375
setHaltRequested(true) to cancel download.
14376
* src/PeerInteractionCommand.h
14378
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14380
Applied Ross's aria2-0.13.2+1-mingw-5.patch, which changes the type of
14381
socket from int to sock_t as sockets are unsigned in Windows.
14382
For AsyncNameResolver, DownloadEngine, I did additional modification
14383
for the portion of the code changed according to epoll support.
14384
I defined sock_t in a2netcompat.h to use sock_t without including
14386
* src/AsyncNameResolver.cc
14387
* src/AsyncNameResolver.h
14388
* src/DownloadEngine.cc
14389
* src/DownloadEngine.h
14390
* src/SocketCore.cc
14392
* src/a2netcompat.h
14394
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14396
Applied Ross's aria2-0.13.2+1-mingw-4.patch. With this change, all
14397
changes in the patch were applied.
14398
* test/DHTConnectionImplTest.cc: Fixed unit test error in MinGW.
14399
* test/DefaultPieceStorageTest.cc: Fixed unit test error in MinGW.
14400
* test/PeerMessageUtilTest.cc: Fixed unit test error in MinGW.
14402
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14404
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this change,
14405
a2io.h and common.h were modified.
14406
* src/a2io.h: Changed seek/stat/tell calls to use 64 bit versions in
14408
* src/common.h: Changed off_t to 64 bit in MinGW.
14410
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14412
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit,
14413
only a2netcompat.h is modified.
14414
* src/a2netcompat.h: Removed unused getaddrinfo related #define
14417
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14419
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit,
14420
only gai_strerror.h is modified.
14421
* src/gai_strerror.h: Fixed gai_strerror() function to report all
14422
winsock errors in MinGW.
14424
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14426
Applied Ross's aria2-0.13.2+1-mingw-4.patch. In this commit, only the
14427
follow sources are applied.
14428
* src/Platform.h: I removed HAVE_WINSOCK2_H directive from Platform.h.
14429
* src/Platform.cc: Moved common setup/teardown code to Platform class.
14430
I moved #endif // HAVE_WINSOCK2_H to the front of #include "DlAbortEx.h"
14431
I included locale.h from Platform.cc.
14432
* src/main.cc: Moved common setup/teardown code to Platform class.
14433
* test/AllTest.cc: Use Platform class.
14434
Set locale to C in AllTest.cc to prevent the messages to be localized.
14436
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14438
Applied Ross's aria2-0.13.2+1-mingw-3.patch.
14439
* test/HttpHeaderTest.cc: Casted to off_t where it should.
14440
* test/HttpRequestTest.cc: Casted to off_t where it should.
14442
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14444
Applied Ross's aria2-0.13.2+1-mingw.patch and
14445
aria2-0.13.2+1-mingw-2.patch.
14446
* src/ConsoleStatCalc.cc: Added HAVE_TERMIOUS_H directive for the
14447
systems which don't have termious.h. I moved the directive inside of
14448
if(isTTY) { ... clause so that line is wiped out without termious.h.
14449
I also removed HAVE_ASCTIME_R clause because asctime_r is provided
14452
* src/asctime_r.c: Added for the systems don't have asctime_r function.
14453
I added 2nd argument to the prototype declaration.
14454
* src/StringFormat.cc: Get rid of vasprintf.
14455
* src/getaddrinfo.h: Fixed constants.
14456
* configure.ac: Added the check for asctime_r function.
14457
* src/Makefile.am: Added conditional based on HAVE_ASCTIME_R
14459
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14461
Added writable test for Socket when the sending message is in progress.
14462
Usually the sending message is piece message. Without wriable check,
14463
upload latency is dropped to more than 1sec.
14464
* src/PeerInteractionCommand.cc
14466
2008-06-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14468
Create only requested files and files which shares a piece with
14469
requested file in multi-torrent downloads. Directory structures are
14470
also created in the same rule.
14471
MultiDiskAdaptor::fileExists() now uses FileEntry instead of
14472
DiskWriterEntry as in the previous implementation.
14473
* src/MultiDiskWriter.cc
14474
* src/MultiFileAllocationIterator.cc
14475
* src/MultiFileAllocationIterator.h
14476
* test/MultiFileAllocationIteratorTest.cc
14478
2008-06-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14480
Commented out -lprofiler
14483
2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14485
Bump up version number to 0.14.0b.
14488
2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14490
Actively establish connection to peers in seeding, when peer cache
14491
is not full and max upload speed limit is not reached.
14492
* src/ActivePeerConnectionCommand.cc
14493
* src/ActivePeerConnectionCommand.h
14495
2008-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14497
Always remove a peer from cache in DefaultPeerStorage::returnPeer(),
14498
to make room more fleshy, recently found peers.
14499
Peer::_badConditionStartTime is not used anymore. Consider to remove
14501
* src/DefaultPeerStorage.cc
14502
* test/DefaultPeerStorageTest.cc
14504
2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14506
Returns cached data only when the previous receiveHandshake() is called
14508
* src/PeerConnection.cc (receiveHandshake)
14509
* src/PeerConnection.h (receiveHandshake)
14511
2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14513
Changed default value of -s option from 1 to 5.
14514
Also max value of -s option is changed from 5 to 16.
14515
* src/HelpItemFactory.cc
14516
* src/OptionHandlerFactory.cc
14517
* src/option_processing.cc
14520
2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14522
Changed -s options behavior. Now it means the number of connections
14523
made simultaneously in each http/ftp download.
14524
If 1 URL is specified, the behavior is the same with old implementation.
14525
If -s N is given and more than N URLs are specified, first N URLs are
14526
used and remaining URLs are used for backup. If less than N URLs are
14527
specified, some of URLs are used more than once so that totally N
14528
connections are made simultaneously.
14531
2008-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14533
Included missing iosfwd or ostream header.
14534
* src/RequestGroupMan.cc
14535
* src/TaggedItem.cc
14539
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14541
* src/HttpHeaderProcessor.cc: Rewritten using std::string as a buffer.
14542
* src/HttpHeaderProcessor.h: Rewritten using std::string as a buffer.
14543
* src/HttpConnection.cc: Included missing sstream.
14545
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14547
Added --bt-max-open-files option.
14548
* src/DefaultPieceStorage.cc
14549
* src/HelpItemFactory.cc
14550
* src/MultiDiskAdaptor.cc
14551
* src/MultiDiskAdaptor.h
14552
* src/OptionHandlerFactory.cc
14553
* src/option_processing.cc
14558
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14560
Fixed the bug that aria2 aborts when a path to a directory is given
14562
* src/ProtocolDetector.cc
14564
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14566
Limited the number files opened in each BitTorrent download. The default
14567
value is 100. The option to change this value will be added.
14568
* src/MultiDiskAdaptor.cc
14569
* src/MultiDiskAdaptor.h
14570
* src/MultiFileAllocationIterator.cc
14572
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14574
Fixed the bug that HTTP downloads don't start with old libraries.
14575
* src/HttpHeaderProcessor.cc
14577
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14579
Use empty() instead of size() > 0.
14580
* src/HttpConnection.cc
14582
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14584
Drop connection if the incoming peer ID is the same with localhost's
14585
one. The previous implementation drops connection when incoming peer's
14586
IP address is the same with localhost's one.
14587
* src/PeerListenCommand.cc
14588
* src/DefaultBtInteractive.cc
14590
2008-06-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14592
Returns cached data without checking whether socket is readable
14593
if the cache is available.
14594
* src/PeerConnection.cc (receiveHandshake)
14596
2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14601
2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14603
Removed duplicate HAVE_GETTIMEOFDAY
14607
2008-06-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14609
Use interval as a minInterval when minInterval is not supplied.
14610
* src/DefaultBtAnnounce.cc
14612
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14614
Made DEFAULT_ANNOUNCE_INTERVAL 120, so that if first tracker request
14615
attempt is failed, then 2nd attempt get kicked out more quickly.
14616
And it is now static const member of DefaultBtAnnounce.
14617
* src/DefaultBtAnnounce.h
14619
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14621
Renamed BtRuntime::lessThanMinPeers() and BtRuntime::lessThanEqMinPeers.
14622
Made MAX_PEERS and MIN_PEERS static const members of BtRuntime.
14623
* src/ActivePeerConnectionCommand.cc
14624
* src/BtConstants.h
14626
* src/DHTGetPeersCommand.cc
14627
* src/DefaultBtAnnounce.cc
14628
* src/DefaultPeerStorage.cc: Calculate maxPeerListSize based on
14629
BtRuntime::MAX_PEERS.
14630
* src/DefaultPeerStorage.h
14631
* src/InitiatorMSEHandshakeCommand.cc
14632
* src/PeerInitiateConnectionCommand.cc
14633
* src/PeerInteractionCommand.cc
14634
* src/PeerReceiveHandshakeCommand.cc
14635
* src/TrackerWatcherCommand.cc
14637
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14639
Always Connect to _numNewConnection
14640
* src/ActivePeerConnectionCommand.cc
14642
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14644
Made `begin' unsigned int.
14645
* src/GrowSegment.h
14648
* src/PiecedSegment.cc
14649
* src/PiecedSegment.h
14652
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14654
Calculate piece hash when data is arrived if the data is arrived in
14655
order. This removes additional read operation for hash calculation.
14656
If the data is arrived in out of order, the hash is calucated when the
14657
piece is completed. This is the same behavior as the old implementation.
14658
* src/BtPieceMessage.cc
14659
* src/DefaultBtProgressInfoFile.cc
14660
* src/DefaultPieceStorage.cc
14661
* src/DownloadCommand.cc
14662
* src/DownloadCommand.h
14663
* src/DownloadEngine.cc
14664
* src/GrowSegment.cc
14665
* src/GrowSegment.h
14668
* src/PiecedSegment.cc
14669
* src/PiecedSegment.h
14671
* test/PieceTest.cc
14673
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14675
Try to keep the ordering of outgoing piece message.
14676
* src/DefaultBtMessageDispatcher.cc
14677
(DefaultBtMessageDispatcher::sendMessages)
14679
2008-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14681
Fixed busy loop when error/hup epoll events occur.
14682
* src/AbstractCommand.cc
14683
* src/PeerAbstractCommand.cc
14685
2008-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14687
Added --bt-request-peer-speed-limit option, which was a constant
14688
SLOW_SPEED_THRESHOLD.
14689
* src/ActivePeerConnectionCommand.cc
14690
* src/ActivePeerConnectionCommand.h
14691
* src/BtConstants.h
14692
* src/HelpItemFactory.cc
14693
* src/OptionHandlerFactory.cc
14694
* src/PeerReceiveHandshakeCommand.cc
14695
* src/option_processing.cc
14700
2008-06-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14702
Removed repeated call of getTopDirPath(). Instead, call it once and
14704
* src/MultiDiskAdaptor.cc
14705
* src/MultiDiskAdaptor.h
14706
(mkdir, openFile, initAndOpenFile, openExistingFile)
14708
2008-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14710
Fixed compile error on debian etch.
14711
The libc6 shipped with debian etch doesn't define ULLONG_MAX properly
14712
even if _GNU_SOURCE is defined. So define ULLONG_MAX in case when
14714
* src/Util.cc (ULLONG_MAX)
14716
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14718
Added epoll support. Use epoll if it is available. If not, use select.
14719
When async dns is enabled in compile time, epoll support is enabled
14720
only when aria2 is built with c-ares. This condition statement is
14722
Currently aria2 supports both c-ares and ares, but ares is maintained
14723
for quite a while and debian already has c-ares package, ares support
14724
will be dropped in the future version.
14726
* src/AbstractCommand.cc
14727
* src/AsyncNameResolver.cc
14728
* src/AsyncNameResolver.h
14731
* src/DownloadEngine.cc
14732
* src/DownloadEngine.h
14733
* src/PeerAbstractCommand.cc
14734
* src/SocketCore.cc
14738
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14740
* test/MetalinkEntryTest.cc: Added missing `defined' keyword to #if
14743
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14745
Do not do write operation to /dev/null file.
14746
* src/LogFactory.cc
14747
* src/SimpleLogger.cc
14749
Replaced vasprintf with vsnprintf
14750
* src/SimpleLogger.cc (SimpleLogger::writeLog)
14752
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14754
* src/BtRequestMessage.cc
14755
(BtRequestMessage::onQueue): Given piece to RequestSlot. This is a fix
14756
for segmentation fault caused by previous commit.
14758
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14760
Reduced the usage of gettimeofday().
14761
* src/DefaultBtMessageDispatcher.cc
14762
(DefaultBtMessageDispatcher::checkRequestSlotAndDoNecessaryThing)
14763
(class FindStaleRequestSlot, class ProcessStaleRequestSlot)
14764
* src/RequestSlot.cc
14765
* src/RequestSlot.h
14766
(RequestSlot::isTimeout)
14768
Made RequestSlot have a reference to Piece object to avoid find
14770
* src/DefaultBtMessageDispatcher.cc
14771
(class FindStaleRequestSlot, class ProcessStaleRequestSlot)
14772
* src/RequestSlot.cc
14773
* src/RequestSlot.h
14774
(RequestSlot::getPiece)
14775
* test/DefaultBtMessageDispatcherTest.cc
14777
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14781
(Time::difference): New function.
14782
(Time::elapsed): Done optimization.
14784
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14786
* src/HelpItemFactory.cc: Added missing `defined' keyword to #if
14789
2008-05-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14791
* src/option_processing.cc: Added missing `defined' keyword to #if
14794
2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14796
Bump up version number to 0.13.2+1
14799
2008-05-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14801
Refactored broken outstanding piece handling.
14802
* src/DefaultPieceStorage.cc
14803
* src/DefaultPieceStorage.h
14807
2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14809
Fixed compile error on Mac OS X 10.3.9. This error was caused by the
14810
name collision of static variable and predefined macro.
14813
* src/CookieBoxFactory.cc
14814
* src/CookieBoxFactory.h
14815
* src/CookieParser.cc
14816
* src/CookieParser.h
14817
* src/DefaultBtContext.cc
14819
2008-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14821
* src/RequestGroup.cc
14822
(RequestGroup::createInitialCommand): Use empty() instead of size().
14824
2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14828
2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14830
Updated fr.po(thanks to Sebastien) and ja.po. ThanksDone make update-po
14837
2008-05-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14839
Bump up version number to 0.13.2
14842
2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14845
* src/RequestGroupMan.cc
14846
(removeStoppedGroup)
14847
(fillRequestGroupFromReserver)
14849
2008-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14851
Fixed compile error on Ubuntu.
14852
* src/BtPieceMessage.cc
14853
* src/MessageDigestHelper.cc
14856
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14858
Fixed compile error when configured with --disable-bittorrent
14859
* test/DownloadHandlerFactoryTest.cc
14861
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14863
Done make update-po
14868
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14870
Bump up version number to 0.13.2rc.
14873
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14875
Made option name bold. Updated SYNOPSIS to make it more readable.
14878
* doc/aria2c.1.html
14879
* src/version_usage.cc
14881
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14883
Refactored. Use std::string instead of size and char*.
14888
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14890
Added trimSelf(). Rewritten trim() to use trimSelf().
14894
2008-05-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14896
* src/ChunkChecksum.h (getChecksum): Return const reference.
14898
2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14900
Fixed compile error when configured with --disable-metalink.
14901
Also moved test/DownloadHandlerFactoryTest.cc to SRC in Makefile.am.
14902
* test/FeatureConfigTest.cc
14903
* test/DownloadHandlerFactoryTest.cc
14905
2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14907
Fixed compile error when configured with --without-gnutls
14910
* test/DefaultBtProgressInfoFileTest.cc
14911
* test/SegmentManTest.cc
14913
2008-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14915
Fixed compile error with OpenSSL.
14916
* src/IteratableChunkChecksumValidator.cc
14917
* src/LibsslDHKeyExchange.h
14918
* src/MessageDigestHelper.cc
14920
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14922
Revert the default value of --max-concurrent-downloads to 5.
14923
Revert the default value of --metalink-servers to 5.
14924
Man pages was also updated.
14925
* src/option_processing.cc
14927
* doc/aria2c.1.html
14930
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14932
Returns const reference:
14933
DownloadContext::getPieceHash, DownloadContext::getName,
14934
DownloadContext::getPieceHashAlgo, DownloadContext::getDir,
14935
BtContext::getInfoHashAsString,
14937
* src/DefaultBtContext.cc
14938
* src/DefaultBtContext.h
14939
* src/DownloadContext.h
14940
* src/SingleFileDownloadContext.h
14941
* test/MockBtContext.h
14943
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14945
* src/RequestGroup.h (getDir): Removed.
14947
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14949
Returns const reference. The internal urlencode function was optimized
14953
* src/HttpRequest.cc
14954
* src/HttpRequest.h
14956
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14958
Defined option name and possible values as std::string to reduce
14959
temporary string object creation in runtime.
14960
* src/HelpItemFactory.cc
14961
* src/LogFactory.cc
14963
* src/OptionHandlerFactory.cc
14964
* src/option_processing.cc
14968
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14970
Return const reference.
14971
* src/DownloadHandlerConstants.cc
14972
* src/DownloadHandlerConstants.h
14973
(getMetalinkExtensions)
14974
(getMetalinkContentTypes)
14976
(getBtContentTypes)
14978
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14980
* src/HttpHeader.cc (get): Rewritten.
14982
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14984
Make HttpHeader::getFirst(...) return const reference.
14985
* src/HttpHeader.cc
14988
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
14990
Use Option::getAsBool(...) instead of Option::get(...) and compare
14992
* src/DefaultPieceStorage.cc
14993
* src/DownloadCommand.cc
14994
* src/FtpNegotiationCommand.cc
14995
* src/HttpRequest.cc
14996
* src/InitiateConnectionCommand.cc
14997
* src/RequestGroup.cc
14999
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15001
Made Option::get(...) return const reference of std::string.
15005
2008-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15007
Replaced std:copy with insert.
15008
* src/DefaultBtMessageDispatcher.cc
15009
* src/DefaultPieceStorage.cc
15010
* src/DownloadEngineFactory.cc
15011
* src/RequestGroup.cc
15013
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15015
Included SocketCore.h to fix compiler warning.
15016
* src/InitiateConnectionCommand.cc
15018
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15020
Put piece selection strategy algorithm to RarestPieceSelector class,
15021
Added a switch to choose whether randomized selection so that unit
15022
tests emit same results in, possibly, win32.
15023
* src/DefaultPieceStorage.cc
15024
* src/DefaultPieceStorage.h
15025
* src/RarestPieceSelector.cc
15026
* src/RarestPieceSelector.h
15027
* test/DefaultPieceStorageTest.cc
15028
* test/RarestPieceSelectorTest.cc
15030
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15032
Don't pool connection if HTTP proxy is enabled.
15033
* src/FtpFinishDownloadCommand.cc
15034
* src/FtpNegotiationCommand.cc
15035
* src/HttpSkipResponseCommand.cc
15037
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15039
Don't add closed socket to DownloadEngine::addSocketForReadCheck()
15040
* src/AbstractCommand.cc
15041
* src/AbstractCommand.h
15042
* src/ActivePeerConnectionCommand.cc
15043
* src/FtpInitiateConnectionCommand.cc
15044
* src/HttpInitiateConnectionCommand.cc
15045
* src/InitiateConnectionCommandFactory.cc
15046
* src/PeerAbstractCommand.cc
15047
* src/PeerAbstractCommand.h
15048
* src/PeerInitiateConnectionCommand.cc
15049
* src/TrackerWatcherCommand.cc
15051
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15053
Sort RequestSlot in ascending order and manipulate them using
15055
* src/DefaultBtMessageDispatcher.cc
15056
* src/DefaultBtMessageDispatcher.h
15057
(getMessageQueue): Added const qualifier.
15058
(getRequestSlots): Added const qualifier.
15059
(sendMessages): Use empty() instead of size().
15060
(doCancelSendingPieceAction): Use HandleEvent object.
15061
(doAbortOutstandingRequestAction): Rewritten.
15062
(doChokedAction): Rewritten.
15063
(checkRequestSlotAndDoNecessaryThing): Rewritten.
15064
(isOutstandingRequest): Rewritten.
15065
(getOutstandingRequest): Rewritten.
15066
(removeOutstandingRequest): Rewritten.
15067
(addOutstandingRequest): Rewritten.
15068
* src/RequestSlot.cc
15069
* src/RequestSlot.h
15070
(operator=): Rewritten.
15071
(operator!=): New function.
15072
(operator<): New function.
15074
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15076
* src/DefaultBtRequestFactory.cc
15077
(doChokedAction): Rewritten.
15078
(removeCompletedPiece): Rewritten.
15079
(removeTargetPiece): Rewritten.
15080
(createRequestMessages): Added the debug log.
15081
(createRequestMessagesOnEndGame: Added the debug log.
15083
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15085
Added the debug log message.
15086
* src/BtPieceMessage.cc (doReceivedAction)
15088
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15090
Sorted DHTPeerAnnounceEntry in a ascending order of info hash and
15091
used lower_bound to process them rather than linear search.
15092
* src/DHTPeerAnnounceStorage.cc
15094
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15096
Call subtractPieceStats from ~PeerInteractionCommand only when the
15097
peer has at least one completed piece.
15100
* src/PeerInteractionCommand.cc
15101
* src/PeerSessionResource.cc
15102
* src/PeerSessionResource.h
15104
2008-05-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15106
Removed unnecessary sorting
15107
* src/DefaultPieceStorage (DefaultPieceStorage)
15109
2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15111
Rewritten the portion of the code that mangaes allowed fast indexes.
15112
* src/PeerSessionResource.cc
15113
* src/PeerSessionResource.h
15115
2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15117
Removed the invalid string including '\r' from ru.po and
15118
did make update-po.
15120
2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15122
Added --log-level and --summary-interval to man page.
15124
* doc/aria2c.1.html
15127
2008-05-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15129
Added --log-level option to specify log level. Log messages under
15130
the specified level are not output. Default value is `debug'.
15131
* src/HelpItemFactory.cc
15132
* src/LogFactory.cc
15135
* src/OptionHandlerFactory.cc
15136
* src/SimpleLogger.cc
15137
* src/SimpleLogger.h
15139
* src/option_processing.cc
15143
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15145
Print download progress summary of all parallel downloads in specified
15146
interval, default 60 secs. While aria2 could download several files
15147
in parallel (see -j option), it displayed just first download progress,
15148
and the other downloads are hidden from the users. This new feature
15149
prints all downloads currently in-progress to the console so that you
15150
can check the status of all downloads. The interval can be adjusted
15151
by --summary-interval option.
15153
The progress readout is now cut so that all fits in the one line of
15155
* src/ConsoleStatCalc.cc
15156
* src/ConsoleStatCalc.h
15157
* src/HelpItemFactory.cc
15158
* src/OptionHandlerFactory.cc
15159
* src/RequestGroupMan.cc
15160
* src/RequestGroupMan.h
15162
* src/option_processing.cc
15166
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15168
Call updateFdSet() to initialize rfdset, wfdset fdmax.
15169
* src/DownloadEngine.cc (DownloadEngine)
15171
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15173
Use free() to deallocate memory for _buffer if HAVE_POSIX_MEMALIGN is
15175
* src/SingleFileAllocationIterator.cc (~SingleFileAllocationIterator)
15177
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15179
Use erase+lower_bound+insert instead of sort.
15180
* src/DefaultPieceStorage.cc (addPieceStats)
15182
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15184
Use A2STR::SHARP_C and A2STR::EQUAL_C.
15187
* src/OptionParser.cc (parse)
15189
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15191
Defined fake filename `[tracker.announce]' as static const std::string.
15192
* src/TrackerWatcherCommand.cc (createRequestGroup)
15194
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15196
Defined default filename `index.html' as static const std::string
15197
* src/SingleFileDownloadContext.cc
15198
* src/SingleFileDownloadContext.h
15200
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15202
Defined "[MEMORY]" as static const std::string.
15203
* src/MemoryBufferPreDownloadHandler.cc (execute)
15205
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15207
Defined control file's version number as static const std::string.
15208
* src/DefaultBtProgressInfoFile.cc
15209
* src/DefaultBtProgressInfoFile.h
15211
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15213
Use Request::METHOD_GET
15214
* src/RequestGroup.cc (createNextCommandWithAdj)
15216
2008-05-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15218
Defined "OK", "ERR", "INPR" as static const std::string
15219
* src/RequestGroupMan.cc (showDownloadResults)
15221
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15223
Defined default client used in extended handshake as static const
15225
* src/DefaultBtInteractive.cc (addHandshakeExtendedMessageToQueue)
15227
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15229
Defined AUTH_HEADER, PROXY_AUTH_HEADER as static const std::string
15230
* src/HttpConnection.cc (eraseConfidentialInfo)
15232
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15234
Defined default ftp user and password as static const std::string
15235
* src/AuthConfigFactory.cc
15236
* src/AuthConfigFactory.h
15238
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15240
Defined strings used in netrc as static const std::string
15244
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15246
Defined HTTP status as static const std::string
15247
* src/AbstractProxyResponseCommand.cc
15248
* src/HttpHeader.cc
15250
* src/HttpResponse.cc
15251
* src/HttpResponseCommand.cc
15252
* src/HttpSkipResponseCommand.cc
15254
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15256
Defined "\r\n", "A", "I" as static const std::string
15259
* src/FtpConnection.cc
15260
* src/FtpConnection.h
15262
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15264
Added COLON_C(".") and used it in Request::parseUrl()
15267
* src/Request.cc (parseUrl)
15269
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15271
Changed the type of padName from `const std::string&' to `const char*'.
15272
* src/MSEHandshake.cc (verifyPadLength)
15274
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15276
Defined "sha1" as static const std::string.
15277
* src/MetalinkParserController.cc
15278
* src/MetalinkParserController.h
15280
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15282
Defined message digest algorithm name as static const std::string
15283
* src/DHTTokenTracker.cc
15285
* src/DefaultBtContext.cc
15286
* src/MSEHandshake.cc
15287
* src/MessageDigestHelper.cc
15289
* src/messageDigest.cc
15290
* src/messageDigest.h
15292
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15294
Made string literals used in SAX parser static const std::string.
15295
* src/FileMetalinkParserState.cc
15296
* src/FileMetalinkParserState.h
15297
* src/FilesMetalinkParserState.cc
15298
* src/FilesMetalinkParserState.h
15299
* src/InitialMetalinkParserState.cc
15300
* src/InitialMetalinkParserState.h
15301
* src/MetalinkMetalinkParserState.cc
15302
* src/MetalinkMetalinkParserState.h
15303
* src/PiecesMetalinkParserState.cc
15304
* src/PiecesMetalinkParserState.h
15305
* src/ResourcesMetalinkParserState.cc
15306
* src/ResourcesMetalinkParserState.h
15307
* src/VerificationMetalinkParserState.cc
15308
* src/VerificationMetalinkParserState.h
15310
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15312
Use A2STR::SLASH_C, A2STR::DOT_C instead of "/", "." respectively.
15317
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15319
Defined static const std::string IP("ip"), PORT("port") and use them
15320
instead of string literals.
15321
* src/DefaultPeerListProcessor.cc
15322
* src/DefaultPeerListProcessor.h
15324
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15326
Made string literals for torrent file processing static const
15330
* src/DefaultBtContext.cc
15331
* src/DefaultBtContext.h
15333
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15335
Made string literal for tracker response static const std::string
15336
* src/BtAnnounce.cc
15338
* src/DefaultBtAnnounce.cc
15340
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15342
Use DHTMessage::T instead of "t".
15343
* src/DHTMessageTracker.cc (messageArrived)
15345
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15347
Made keyName static const. Made trimmed charset static const
15349
* src/Util.cc (getContentDispositionFilename)
15351
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15353
Made USER_AGENT const. Made "/" static const std::string.
15356
* src/HttpRequest.cc
15357
* src/HttpRequest.h
15359
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15361
Made string listeral to static const std::string:
15362
"Content-Range", "Content-Length"
15363
* src/HttpHeader.cc
15366
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15368
Made string listeral to static const std::string.
15369
* src/HttpConnection.cc
15370
* src/HttpHeader.cc
15372
* src/HttpResponse.cc
15374
2008-05-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15376
Made string listeral to static const std::string.
15379
* src/SimpleLogger.cc
15380
* src/SimpleLogger.h
15382
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15384
Made string literal to static const std::string.
15385
Rewritten CookieParser::setField.
15388
* src/CookieBoxFactory.cc
15389
* src/CookieBoxFactory.h
15390
* src/CookieParser.cc
15391
* src/CookieParser.h
15393
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15395
Made string literal to static const std::string
15396
* src/DHTAbstractMessage.cc
15397
* src/DHTAnnouncePeerMessage.cc
15398
* src/DHTAnnouncePeerMessage.h
15399
* src/DHTAnnouncePeerReplyMessage.cc
15400
* src/DHTAnnouncePeerReplyMessage.h
15401
* src/DHTFindNodeMessage.cc
15402
* src/DHTFindNodeMessage.h
15403
* src/DHTFindNodeReplyMessage.cc
15404
* src/DHTFindNodeReplyMessage.h
15405
* src/DHTGetPeersMessage.cc
15406
* src/DHTGetPeersMessage.h
15407
* src/DHTGetPeersReplyMessage.cc
15408
* src/DHTGetPeersReplyMessage.h
15409
* src/DHTMessage.cc
15411
* src/DHTMessageFactoryImpl.cc
15412
* src/DHTMessageReceiver.cc
15413
* src/DHTPingMessage.cc
15414
* src/DHTPingMessage.h
15415
* src/DHTPingReplyMessage.cc
15416
* src/DHTPingReplyMessage.h
15417
* src/DHTQueryMessage.cc
15418
* src/DHTQueryMessage.h
15419
* src/DHTResponseMessage.cc
15420
* src/DHTResponseMessage.h
15421
* src/DHTUnknownMessage.cc
15422
* src/DHTUnknownMessage.h
15424
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15426
Made string literal to static const std::string
15427
* src/BtChokeMessage.cc (toString)
15428
* src/BtHaveAllMessage.cc (toString)
15429
* src/BtHaveNoneMessage.cc (toString)
15430
* src/BtInterestedMessage.cc (toString)
15431
* src/BtNotInterestedMessage.cc (toString)
15432
* src/BtUnchokeMessage.cc (toString)
15434
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15436
Replaced "" with static const variable A2STR::NIL.
15437
Replaced string comparison against "" with std::string::empty().
15438
Added PROTO_* to Request class and use them as a protocol string
15440
Made "started", "stopped", "completed" static const variable in
15441
AnnounceList class.
15443
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15445
Updated translations. Great thanks to translators.
15454
2008-05-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15456
Updated man page; categorized options and fixed typo.
15458
* doc/aria2c.1.html
15461
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15464
* src/MetalinkEntry.cc (AddProtocolPreference)
15465
* src/RequestGroup.cc (FindServerHostByHostname)
15467
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15469
Rewritten Accept-Features handling.
15470
* src/HttpRequestCommand.cc (createHttpRequest)
15471
* src/a2functional.h
15473
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15475
Changed method signature:
15476
DHTAbstractNodeLookupTask::toEntries
15477
* src/DHTAbstractNodeLookupTask.cc
15478
* src/DHTAbstractNodeLookupTask.h
15480
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15482
Changed method signature:
15483
BtContext::computeFastSet, DefaultBtContext::extractUrlList
15485
* src/DefaultBtContext.cc
15486
* src/DefaultBtContext.h
15487
* src/DefaultBtInteractive.cc
15488
* test/DefaultBtContextTest.cc
15489
* test/MockBtContext.h
15491
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15493
Changed method signature:
15494
MultiFileAllocationIterator::makeDiskWriterEntries
15495
* src/MultiFileAllocationIterator.cc
15496
* src/MultiFileAllocationIterator.h
15498
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15500
Changed method sinature:
15501
MetalinkEntry::toFileEntry,
15502
MetalinkHelper::query, MetalinkHelper::parseAndQuery,
15503
Metalinker::queryEntry
15504
* src/Metalink2RequestGroup.cc
15505
* src/MetalinkEntry.cc
15506
* src/MetalinkEntry.h
15507
* src/MetalinkHelper.cc
15508
* src/MetalinkHelper.h
15509
* src/Metalinker.cc
15512
* test/MetalinkHelperTest.cc
15513
* test/MetalinkerTest.cc
15515
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15517
Changed method sinature:
15518
RequestGroup::getURIs
15519
* src/RequestGroup.cc
15520
* src/RequestGroup.h
15521
* test/Metalink2RequestGroupTest.cc
15523
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15525
Changed method signature:
15526
PeerListProcessor::extractPeer
15527
* src/CompactPeerListProcessor.cc
15528
* src/CompactPeerListProcessor.h
15529
* src/DefaultBtAnnounce.cc
15530
* src/DefaultPeerListProcessor.cc
15531
* src/DefaultPeerListProcessor.h
15532
* src/DelegatingPeerListProcessor.cc
15533
* src/DelegatingPeerListProcessor.h
15534
* src/PeerListProcessor.h
15535
* src/UTPexExtensionMessage.cc
15536
* test/DefaultPeerListProcessorTest.cc
15538
2008-05-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15540
Changed method signature:
15541
BtRequestFactory::createRequestMessages,
15542
BtRequestFactory::createRequestMessagesOnEndGame
15543
* src/BtRequestFactory.h
15544
* src/DefaultBtInteractive.cc
15545
* src/DefaultBtRequestFactory.cc
15546
* src/DefaultBtRequestFactory.h
15547
* test/DefaultBtRequestFactoryTest.cc
15548
* test/MockBtRequestFactory.h
15550
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15552
Changed method signature:
15553
PieceStorage::getInFlightPieces
15554
* src/DefaultBtProgressInfoFile.cc
15555
* src/DefaultPieceStorage.cc
15556
* src/DefaultPieceStorage.h
15557
* src/PieceStorage.h
15558
* src/UnknownLengthPieceStorage.cc
15559
* src/UnknownLengthPieceStorage.h
15560
* test/DefaultBtProgressInfoFileTest.cc
15561
* test/MockPieceStorage.h
15563
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15565
Changed method signature:
15566
PostDownloadHandler::getNextRequestGroups
15567
Metalink2RequestGroup::generate
15568
RequestGroup::postDownloadProcessing
15569
* src/BtPostDownloadHandler.cc
15570
* src/BtPostDownloadHandler.h
15571
* src/Metalink2RequestGroup.cc
15572
* src/Metalink2RequestGroup.h
15573
* src/MetalinkPostDownloadHandler.cc
15574
* src/MetalinkPostDownloadHandler.h
15575
* src/PostDownloadHandler.h
15576
* src/RequestGroup.cc
15577
* src/RequestGroup.h
15578
* src/RequestGroupMan.cc
15580
* test/BtPostDownloadHandlerTest.cc
15581
* test/Metalink2RequestGroupTest.cc
15582
* test/MetalinkPostDownloadHandlerTest.cc
15584
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15586
Rewritten AccRequestGroup
15589
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15592
* src/TaggedItem.cc (toTagString)
15594
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15596
Rewritten Accept-Features handling.
15597
* src/HttpRequestCommand.cc (createHttpRequest)
15599
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15601
Rewritten accept types handling.
15602
* HttpRequest.cc (createRequest)
15604
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15607
* src/FeatureConfig.cc (featureSummary)
15609
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15611
Changed method signature:
15612
PeerStorage::getActivePeers
15613
* src/DHTPeerAnnounceEntry.cc
15614
* src/DefaultPeerStorage.cc
15615
* src/DefaultPeerStorage.h
15616
* src/PeerStorage.h
15617
* test/DefaultPeerStorageTest.cc
15618
* test/MockPeerStorage.h
15620
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15622
Changed method signature:
15623
DHTPeerAnnounceStorage::getPeers,
15624
DHTPeerAnnounceEntry::getPeers
15625
* src/DHTGetPeersMessage.cc
15626
* src/DHTPeerAnnounceEntry.cc
15627
* src/DHTPeerAnnounceEntry.h
15628
* src/DHTPeerAnnounceStorage.cc
15629
* src/DHTPeerAnnounceStorage.h
15630
* test/DHTAnnouncePeerMessageTest.cc
15631
* test/DHTPeerAnnounceEntryTest.cc
15632
* test/DHTPeerAnnounceStorageTest.cc
15634
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15636
Changed method signature:
15637
NameResolver::resolve
15638
* src/DHTEntryPointNameResolveCommand.cc
15639
* src/InitiateConnectionCommand.cc
15640
* src/NameResolver.cc
15641
* src/NameResolver.h
15643
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15645
Changed method signature:
15646
PieceStorage::getAdvertisedPieceIndexes
15647
* src/DefaultBtInteractive.cc
15648
* src/DefaultPieceStorage.cc
15649
* src/DefaultPieceStorage.h
15650
* src/PieceStorage.h
15651
* src/UnknownLengthPieceStorage.h
15652
* test/MockPieceStorage.h
15654
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15656
Changed method signature:
15657
SegmentMan::getInFlightSegment
15658
* src/AbstractCommand.cc
15659
* src/SegmentMan.cc
15661
* test/SegmentManTest.cc
15663
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15665
Changed method signature:
15666
DHTAbstractNodeLookupTask::getNodesFromMessage
15667
* src/DHTAbstractNodeLookupTask.cc
15668
* src/DHTAbstractNodeLookupTask.h
15669
* src/DHTNodeLookupTask.cc
15670
* src/DHTNodeLookupTask.h
15671
* src/DHTPeerLookupTask.cc
15672
* src/DHTPeerLookupTask.h
15674
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15676
Pass std::deque<Command*> by reference to avoid unnecessary coping.
15677
* src/AbstractCommand.cc
15678
* src/BtCheckIntegrityEntry.cc
15679
* src/BtCheckIntegrityEntry.h
15680
* src/BtFileAllocationEntry.cc
15681
* src/BtFileAllocationEntry.h
15684
* src/CheckIntegrityCommand.cc
15685
* src/CheckIntegrityEntry.h
15686
* src/ChecksumCheckIntegrityEntry.cc
15687
* src/ChecksumCheckIntegrityEntry.h
15690
* src/DownloadEngine.cc
15691
* src/FileAllocationCommand.cc
15692
* src/FileAllocationEntry.h
15693
* src/RequestGroup.cc
15694
* src/RequestGroup.h
15695
* src/RequestGroupMan.cc
15696
* src/RequestGroupMan.h
15697
* src/StreamCheckIntegrityEntry.cc
15698
* src/StreamCheckIntegrityEntry.h
15699
* src/StreamFileAllocationEntry.cc
15700
* src/StreamFileAllocationEntry.h
15701
* src/TrackerWatcherCommand.cc
15702
* src/a2functional.h
15704
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15706
Changed method signature:
15707
BNode::findClosestKNodes, BNode:: enumerateBucket,
15708
DHTBucket::getGoodNodes,
15709
DHTRoutingTable::getClosestKNodes, DHTRoutingTable::getBuckets
15712
* src/DHTAbstractNodeLookupTask.cc
15713
* src/DHTAutoSaveCommand.cc
15716
* src/DHTBucketRefreshTask.cc
15717
* src/DHTFindNodeMessage.cc
15718
* src/DHTGetPeersMessage.cc
15719
* src/DHTRoutingTable.cc
15720
* src/DHTRoutingTable.h
15721
* test/BNodeTest.cc
15722
* test/DHTBucketTest.cc
15723
* test/DHTRoutingTableTest.cc
15725
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15727
In piece selection functions, Pass std::deque<...> by reference rather
15729
* src/BitfieldMan.cc
15730
* src/BitfieldMan.h
15731
* src/DefaultBtRequestFactory.cc
15732
* src/DefaultPieceStorage.cc
15735
* test/BitfieldManTest.cc
15737
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15739
Implemented rarest piece first piece selection strategy.
15740
* src/AbstractBtMessage.cc
15741
* src/AbstractBtMessage.h
15742
* src/BitfieldMan.cc
15743
* src/BitfieldMan.h
15744
* src/BtBitfieldMessage.cc
15745
* src/BtHaveAllMessage.cc
15746
* src/BtHaveMessage.cc
15747
* src/DefaultPieceStorage.cc
15748
* src/DefaultPieceStorage.h
15749
* src/PeerInteractionCommand.cc
15750
* src/PieceStorage.h
15751
* src/UnknownLengthPieceStorage.h
15753
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15755
Rewritten readData and writeData.
15756
* src/MultiDiskAdaptor.cc
15757
* src/MultiDiskAdaptor.h
15759
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15761
Move \n out of the message "Usage: ...".
15762
* src/version_usage.cc
15764
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15766
Bump up version number to 0.13.2b.
15769
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15771
Added const qualifier to argument Exception& e.
15773
* src/SimpleLogger.cc
15774
* src/SimpleLogger.h
15776
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15778
Pool connection when CWD, SIZE command fails.
15779
* src/FtpNegotiationCommand.cc
15780
* src/FtpNegotiationCommand.h
15782
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15784
Renamed HttpNullDownloadCommand as HttpSkipResponseCommand
15785
* src/HttpResponseCommand.cc
15786
* src/HttpSkipResponseCommand.cc
15787
* src/HttpSkipResponseCommand.h
15789
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15791
Pool connection when a server returns 4xx, 5xx responses.
15792
* src/HttpNullDownloadCommand.cc
15793
* src/HttpNullDownloadCommand.h
15794
* src/HttpResponse.cc
15795
* src/HttpResponse.h
15796
* src/HttpResponseCommand.cc
15797
* src/HttpResponseCommand.h
15798
* test/HttpResponseTest.cc
15800
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15802
Print usage when no URL is specifed or bad command-line option is
15804
* src/HelpItemFactory.cc
15806
* src/option_processing.cc
15808
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15810
Removed duplicate log message.
15811
* src/AbstractCommand.cc (asyncResolveHostname)
15813
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15815
Updated man page: --async-dns and --ftp-reuse-connection were added.
15816
Changed -j option's default value from 5 to 1.
15817
Added new examples using protocol auto detection feature.
15818
Removed -T, -M usage where it can be omitted.
15820
* doc/aria2c.1.html
15823
2008-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15825
Updated command-line usage text, so that it tells users that they
15826
can specify any number of torrent files and metalink files in
15828
* src/version_usage.cc
15830
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15832
Changed the default value of -j option to 1.
15833
* src/HelpItemFactory.cc
15834
* src/option_processing.cc
15837
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15839
Added the ability to reuse connection in FTP and it is enabled by
15840
default. It can be disabled by --ftp-reuse-connection=false option.
15842
* src/DownloadCommand.cc
15843
* src/FtpDownloadCommand.cc
15844
* src/FtpDownloadCommand.h
15845
* src/FtpFinishDownloadCommand.cc
15846
* src/FtpFinishDownloadCommand.h
15847
* src/FtpInitiateConnectionCommand.cc
15848
* src/FtpNegotiationCommand.cc
15849
* src/FtpNegotiationCommand.h
15850
* src/HelpItemFactory.cc
15853
* src/OptionHandlerFactory.cc
15854
* src/option_processing.cc
15858
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15860
Call Command::transitStatus() before calling Command::execute(),
15861
so that the status change made in execute() is not cleared.
15862
* src/DownloadEngine.cc
15864
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15866
Removed forward declaration of SocketCore class.
15867
* src/HttpDownloadCommand.h
15869
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15871
Set Request::setKeepAliveHint() and Request::setPipeliningHint()
15872
in InitiateConnectionCommandFactory. They should be set only when
15873
the protocol is HTTP or HTTPS.
15874
* src/InitiateConnectionCommandFactory.cc
15875
* src/RequestGroup.cc
15877
2008-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15879
Fixed infinite loop in checksum checking.
15880
* src/IteratableChecksumValidator.cc
15882
2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15884
Set _supportsPersistentConnection to true by default.
15886
* src/RequestGroup.cc
15887
* test/HttpRequestTest.cc
15888
* test/RequestTest.cc
15890
2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15892
Added timeout to socket pool. The default timeout is 15 seconds,
15893
which is the same value Apache uses.
15894
* src/DownloadEngine.cc
15895
* src/DownloadEngine.h
15897
2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15899
Fixed misuse of multimap::find()
15900
* src/HttpHeader.cc
15901
* test/HttpHeaderTest.cc
15903
2008-05-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15905
Rewritten name resolver. Now async DNS can be disabled by --async-dns
15907
The asynchronous DNS is not capable of IPv6 yet.
15908
By disabling asynchronous DNS, aria2 is IPv6 enabled application, at
15909
least for HTTP download.
15910
* src/AbstractCommand.cc
15911
* src/AbstractCommand.h
15912
* src/AsyncNameResolver.cc
15913
* src/AsyncNameResolver.h
15914
* src/DHTEntryPointNameResolveCommand.cc
15915
* src/DHTEntryPointNameResolveCommand.h
15916
* src/DownloadEngine.cc
15917
* src/DownloadEngine.h
15918
* src/FtpInitiateConnectionCommand.cc
15919
* src/FtpInitiateConnectionCommand.h
15920
* src/HelpItemFactory.cc
15921
* src/HttpInitiateConnectionCommand.cc
15922
* src/HttpInitiateConnectionCommand.h
15923
* src/InitiateConnectionCommand.cc
15924
* src/InitiateConnectionCommand.h
15927
* src/NameResolver.cc
15928
* src/NameResolver.h
15929
* src/OptionHandlerFactory.cc
15930
* src/SocketCore.cc
15934
* src/option_processing.cc
15938
2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15940
Updated man page: --quiet, --header were added.
15941
--metalink-servers and --enable-http-keep-alive option were updated.
15943
* doc/aria2c.1.html
15946
2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15948
Enable HTTP keep-alive by default.
15949
* src/HelpItemFactory.cc
15950
* src/option_processing.cc
15953
2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15955
Disable http keep-alive if the remote server is not HTTP/1.1.
15956
* src/HttpConnection.cc
15958
2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15960
Receive content body of 302 response so that the connection can be
15961
reused later when http keep-alive is enabled.
15962
* src/HttpNullDownloadCommand.cc
15963
* src/HttpNullDownloadCommand.h
15964
* src/HttpResponseCommand.cc
15965
* src/HttpResponseCommand.h
15967
2008-05-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15969
const SharedHandle<Request> -> const SharedHandle<Request>&
15970
* src/FtpDowndloadCommand.cc
15971
* src/FtpDowndloadCommand.h
15972
* src/HttpDownloadCommand.cc
15973
* src/HttpDownloadCommand.h
15975
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15977
Fixed the bug that the control file(.aria2 file) is not renamed
15978
according to tryAutoFileRenaming().
15979
tryAutoFileRenaming() was rewritten so that if both renamed file and
15980
its control file exist, use them and continue download.
15981
The old implementation didn't take into account of control file's
15982
existence, so basically you couldn't continue download of renamed file.
15983
* src/BtProgressInfoFile.h
15984
* src/DefaultBtProgressInfoFile.cc
15985
* src/DefaultBtProgressInfoFile.h
15986
* src/NullProgressInfoFile.h
15987
* src/RequestGroup.cc
15988
* test/DefaultBtProgressInfoFileTest.cc
15989
* test/MockBtProgressInfoFile.h
15991
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
15993
Change the default value of --metalink-servers option from `5' to `1'.
15994
* src/HelpItemFactory.cc
15995
* src/option_processing.cc
15998
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16000
Reimplemented transparent metalink using Accept request header.
16001
* src/HttpRequest.cc
16002
* src/HttpRequest.h
16003
* src/HttpRequestCommand.cc
16004
* src/Metalink2RequestGroup.cc
16005
* src/RequestGroup.cc
16006
* src/RequestGroup.h
16007
* test/HttpRequestTest.cc
16009
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16011
Bump up version number to 0.13.2a
16014
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16016
Updated configure.ac using the result of autoscan.
16019
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16021
Fixed compilation error without gcrypt/openssl.
16022
* src/DownloadCommand.cc
16023
* src/DownloadCommand.h
16025
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16027
Reorganized version information so that it can be displayed in a
16028
standard terminal screen without scrolling.
16029
Removed http, ftp from Configuration section, because they are always
16031
* src/FeatureConfig.cc
16032
* src/FeatureConfig.h
16034
* src/messageDigest.cc
16035
* src/messageDigest.h
16036
* src/version_usage.cc
16037
* test/FeatureConfigTest.cc
16039
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16041
Masked user ID in log.
16042
* src/FtpConnection.cc (sendUser)
16044
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16046
Removed query part from filename in HTTP download. The query part means
16047
the substring after "?" in URL. Firefox seems do the same thing.
16048
A query part is sometimes very long and not suitable to filename,
16049
so I think it is better to remove it from filename.
16050
* src/HttpRequest.cc
16051
* src/HttpRequest.h
16054
* test/HttpRequestTest.cc
16055
* test/RequestTest.cc
16057
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16059
Rewritten Exception class. Throw exception object, not its pointer and
16060
catch by reference, so that remove problematic delete operator for
16064
* test/ExceptionTest.cc
16065
* src/*: All files throwing/catching exception.
16066
* test/*: All files throwing/catching exception.
16068
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16070
Now auto protocol detection is enabled without -Z option.
16071
But there is a important difference between with/without -Z optoin.
16073
For example, if you type:
16074
aria2c http://host/file file1.torrent file2.metalink http://mirror/file
16075
then, aria2 interprets there are 3 request groups:
16076
(1) http://host/file, http://mirror/file <-- multi-source download
16080
On the other hand, if you invoke above command with -Z option, it is
16081
interpreted as 4 request groups:
16082
(1) http://host/file
16085
(4) http://mirror/file
16087
I think usually user don't mix multi-source URLs and torrent files, so
16088
there is no big problem here.
16091
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16093
Fixed the bug that causes segmentaion fault when reading XML containing
16094
unescapsed character like '&'.
16095
Also a modification was made which avoids adding unnecessary
16096
characters stack and appending unused string.
16097
* src/ExpatMetalinkProcessor.cc
16098
* src/FileMetalinkParserState.h
16099
* src/FilesMetalinkParserState.h
16100
* src/FinMetalinkParserState.h
16101
* src/HashMetalinkParserState.h
16102
* src/InitialMetalinkParserState.h
16103
* src/LanguageMetalinkParserState.h
16104
* src/MetalinkMetalinkParserState.h
16105
* src/MetalinkParserState.h
16106
* src/MetalinkParserStateMachine.cc
16107
* src/MetalinkParserStateMachine.h
16108
* src/OSMetalinkParserState.h
16109
* src/PieceHashMetalinkParserState.h
16110
* src/PiecesMetalinkParserState.h
16111
* src/ResourcesMetalinkParserState.h
16112
* src/SizeMetalinkParserState.h
16113
* src/SkipTagMetalinkParserState.h
16114
* src/URLMetalinkParserState.h
16115
* src/VerificationMetalinkParserState.h
16116
* src/VersionMetalinkParserState.h
16117
* src/XML2SAXMetalinkProcessor.cc
16119
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16121
Added StringFormat class, which internally calls vasprintf.
16122
operator<< is defined for this class, so it can be used with iostream
16123
classes nicely. SimpleLogger and following functions are rewritten
16124
using StringFormat class.
16125
Besides, now Logger class's methods are non-const, many classes
16126
that has a const Logger* as a member variable are modified to remove
16127
const qualifier from the variable declaration.
16128
* src/HelpItemFactory.cc
16130
* src/SimpleLogger.cc
16131
* src/StringFormat.cc
16132
* src/StringFormat.h
16134
* src/option_processing.cc
16135
* src/version_usage.cc
16136
* test/StringFormatTest.cc
16137
* src/*.h: The classes that has const Logger* as a member variable.
16139
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16141
Log error in AccRequestGroup when reading BitTorrent/Metalink file is
16142
failed. Also fixed memory link when exception is thrown there.
16143
* src/main.cc (AccRequestGroup)
16145
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16147
Added build-in "Accept-Features" support. For now only "metalink" is
16148
used in this header field.
16149
This "metalink" value is removed from the list when connecting URLs
16150
fed by metalink file to avoid loop in "transparent" metlaink.
16151
* src/HttpRequest.cc
16152
* src/HttpRequest.h: Renamed _userHeaders as _headers. Accept-Features
16153
header is also held in this variable. Also renamed setUserHeaders as
16154
addHeader and it was rewritten to add header not just to clear the old
16156
* src/HttpRequestCommand.cc
16157
* src/Metalink2RequestGroup.cc: Added the code to remove "metalink"
16158
from "Accept-Features" list.
16159
* src/RequestGroup.cc: Added "metalink" to "Accept-Features" by
16161
* src/RequestGroup.h
16162
* src/TaggedItem.cc: Moved Concat class to a2functional.h.
16163
* src/a2functional.h: Included <string> because Concat class depends on
16165
* test/HttpRequestTest.cc
16167
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16170
* src/RequestGroup.cc (createNextCommand)
16172
2008-04-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16174
Capitalized METHOD_GET and METHOD_HEAD
16177
2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16179
Added getDownloadResults() method
16180
* src/RequestGroupMan.cc
16181
* src/RequestGroupMan.h
16183
2008-04-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16185
Fixed the bug that aria2 exits when commands is empty() but
16186
_routineCommands are not.
16187
* src/DownloadEngine.cc
16189
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16191
Use the default value pulled from Option object in HelpItemFactory.
16192
except options whose defualt value is embedded in a usage text.
16193
* src/HelpItemFactory.cc
16194
* src/HelpItemFactory.h
16195
* src/option_processing.cc
16196
* src/version_usage.cc
16198
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16200
Added --quiet option to make aria2 quiet (no console output).
16201
--quiet option is tagged with ADVANCED.
16202
* src/HelpItemFactory.cc
16203
* src/LogFactory.cc
16205
* src/MultiUrlRequestInfo.cc
16206
* src/MultiUrlRequestInfo.h
16207
* src/NullStatCalc.h: New class. This class prints nothing.
16208
* src/OptionHandlerFactory.cc
16210
* src/option_processing.cc
16214
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16216
Add HTTP tag to --header option. Removed ADVANCED tag instead.
16217
* src/HelpItemFactory.cc (createHelpItems):
16219
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16221
Fixed compilation error in ExpatMetalinkProcessor.cc
16222
* src/ExpatMetalinkProcessor.cc
16224
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16226
Reuse socket if the origin server supports HTTP keep-alive and
16227
--enable-http-keep-alive or --enable-http-pipelining is given.
16228
The current implementation doesn't reuse the connections established
16229
against proxy server.
16231
* src/AbstractCommand.cc
16232
* src/DownloadEngine.cc
16233
* src/DownloadEngine.h
16234
* src/HttpDownloadCommand.cc
16235
* src/HttpInitiateConnectionCommand.cc
16236
* src/HttpResponseCommand.cc
16238
2008-04-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16240
Rewritten HTTP keep-alive and pipelining routine.
16241
* src/AbstractCommand.cc
16242
* src/HttpConnection.cc
16243
* src/HttpDownloadCommand.cc
16244
* src/HttpRequest.cc
16245
* src/HttpRequestCommand.cc
16246
* src/HttpResponseCommand.cc
16249
* src/RequestGroup.cc
16250
* test/HttpRequestTest.cc
16251
* test/HttpResponseTest.cc
16252
* test/RequestTest.cc
16254
2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16256
Added missing setUserHeaders call
16257
* src/HttpRequestCommand.cc
16259
2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16261
Call FileAllocationMan::nextFileAllocationEntryExists() first.
16262
Calling FileAllocationMan::isFileAllocationBeingExecuted() is somwhat
16263
waste of time because it is more likey false.
16264
* src/FileAllocationDispatcherCommand.cc (execute)
16266
2008-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16268
Now HTTP status and version are a member variable of HttpHeader.
16269
HTTP status is processed as a string, not integer.
16270
* src/AbstractProxyResponseCommand.cc
16271
* src/HttpConnection.cc
16272
* src/HttpHeader.cc
16274
* src/HttpHeaderProcessor.cc
16275
* src/HttpHeaderProcessor.h
16276
* src/HttpResponse.cc
16277
* src/HttpResponse.h
16278
* test/HttpHeaderProcessorTest.cc
16279
* test/HttpResponseTest.cc
16281
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16283
Added --header option. You can specify any number of additional HTTP headers
16285
aria2 --header="X-A: 300" --header="X-B: 900" http://host/file
16286
Unlike other commad-line option, you can use --header option multiple times.
16287
* src/HelpItemFactory.cc
16288
* src/HttpRequest.{cc, h}
16289
* src/HttpRequestCommand.cc
16290
* src/OptionHandlerFactory.cc
16291
* src/OptionHandlerImpl.h
16292
* src/option_processing.cc
16295
* test/HttpRequestTest.cc (testUserHeaders)
16297
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16299
Eliminates the time lag between sequential downloads and commands in
16300
the same RequestGroup.
16301
In old implementation, aria2 occasionally waits 1 seconds before
16302
executing next command or RequestGroup.
16303
This is really a waste of time, and new implementation eliminates
16304
this unnecessary time lag.
16305
* src/AbstractCommand.cc
16306
* src/AutoSaveCommand.cc
16307
* src/CheckIntegrityCommand.cc
16308
* src/Command.{cc, h}
16309
* src/DownloadEngine.{cc, h}
16310
* src/DownloadEngineFactory.cc
16311
* src/FileAllocationCommand.cc
16312
* src/FileAllocationDispatcherCommand.cc
16313
* src/FillRequestGroupCommand.cc
16314
* src/FtpInitiateConnectionCommand.cc
16315
* src/HaveEraseCommand.cc
16316
* src/HttpInitiateConnectionCommand.cc
16317
* src/HttpResponseCommand.cc
16318
* src/RealtimeCommand.cc
16319
* src/RequestGroup.cc
16320
* src/RequestGroupMan.cc
16321
* src/StreamFileAllocationEntry.cc
16322
* src/TimeBasedCommand.{cc, h}
16323
* src/TimedHaltCommand.cc
16325
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16327
Rewritten SharedHandle. Now copy constructor taking raw pointer has
16328
keyword explicit and SharedHandle's default constructor initializes
16329
its internal obj to null, old implementation initializes it using
16330
obj's default constructor.
16331
To assign null, write SharedHandle<T> x(...); x.reset();
16332
TODO: test/SharedHandleTest.cc needs more tests.
16333
* src/SharedHandle.h
16335
2008-04-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16337
Fixed type in man page.
16340
2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16342
Merged Ross's 0.13.1+1 Cygwin compile fix patch.
16343
* src/SimpleLogger.{cc, h}
16345
2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16347
Implemented auto protocol detection.
16349
aria2c -Z http://host/file file1.torrent file2.metalink
16350
(Note: -Z option is required for auto protcol detection.)
16351
Then aria2c downloads 3 files simultaneously:
16352
1. http://host/file
16353
2. file1.torrent <-- read local torrent file
16354
3. file2.metalink <-- read local Metalink file.
16356
Same thing goes with -i option. Assume your uris.txt contans:
16360
Then you can do: aria2c -i uris.txt
16361
(Note: -Z option is not needed if -i option is given.)
16364
* src/ProtocolDetector.{cc, h}
16365
* test/ProtocolDetectorTest.cc
16367
2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16369
Fixed compile error without gnutls/libgcrypt/libgpg-error and openSSL
16371
* src/ARC4Encryptor.h
16372
* src/ARC4Decryptor.h
16374
2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16376
Renamed argument from 'errno' to 'err', since errno is confused with
16377
errno defined in errno.h.
16378
* src/LibgcryptARC4Decryptor.h
16379
* src/LibgcryptARC4Context.h
16380
* src/LibgcryptDHKeyExchange.h
16381
* src/LibgcryptARC4Encryptor.h
16383
2008-04-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16385
Rewritten choking algorithm.
16386
* src/PeerChokeCommand.{cc, h}
16387
* src/BtInterestedMessage.cc
16388
* src/PeerSessionResource.{cc, h}
16389
* src/DefaultPeerStorage.{cc, h}
16390
* src/BtNotInterestedMessage.cc
16391
* src/DefaultBtMessageDispatcher.{cc, h}
16392
* src/BtMessageDispatcher.h
16394
* src/BtLeecherStateChoke.{cc, h}
16396
* src/BtSeederStateChoke.{cc, h}
16397
* src/PeerStorage.h
16398
* test/MockPeerStorage.h
16399
* test/MockBtMessageDispatcher.h
16401
2008-04-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16403
Fixed compilation error on x84-64 platform.
16404
* src/AuthConfig.cc: Included ostream.
16406
2008-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16408
Rewritten getBasename() and getDirname(), without standard library
16409
basename(), dirname().
16413
2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16415
Added Simplified Chinese translation. Also updated the following
16416
translations: Polish, Dutch, German. Great thanks to all translators.
16418
2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16420
Suppress content-range error when 'Content-Range' response header
16421
doesn't contains bytes-unit specifier 'bytes'
16422
* src/HttpHeader.cc (getRange)
16423
* test/HttpHeaderTest.cc
16425
2008-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16427
Fixed compilation error with g++-4.3
16429
2008-03-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16431
Added missing include files for MinGW
16432
* test/HttpHeaderProcessorTest.cc
16433
* test/DHTRoutingTableSerializerTest.cc
16434
* test/DHTRoutingTableDeserializerTest.cc
16435
* test/UriListParserTest.cc
16437
2008-03-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16439
Now download line is printed nicely with no garbage at the end of
16440
line. I use ioctl to get the columns of terminal.
16441
If stdout is redirected to another device, instead of carriage return,
16442
end of line '\n' character is used. This is feature request#1909659
16443
* src/ConsoleStatCalc.cc (calculateStat)
16445
2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16448
* src/DHTMessageDispatcher.h
16449
* src/DHTMessageEntry.h
16450
* src/DHTReplaceNodeTask.h
16451
* src/DHTMessageTracker.h
16455
* src/DefaultBtMessageDispatcher.h
16456
* src/SocketCore.cc
16458
* src/DHTPingTask.h
16460
2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16462
Fixed high memory footprint when DHT is enabled.
16463
This is not a memory leak, but DHTReplaceNodeTask is more frequently
16464
queued than it is processed and the queue is getting longer. As a
16465
consequence, momory usage is increased.
16466
As for a fix, instead of issuing DHTReplaceNodeTask, I've implemented
16467
replacement cache in DHTBucket which is described in Kademlia paper.
16468
* src/DHTRoutingTable.cc (addNode): Removed the issuing of
16469
DHTReplaceNodeTask.
16470
* src/DHTBucket.{h, cc}
16471
(cacheNode): New function.
16472
(getCachedNodes): New function.
16473
(dropNode): Push back cached node to _nodes.
16474
* test/DHTBucketTest.cc
16475
(testCacheNode): New test
16476
(testDropNode): New test
16478
2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16480
Allocate memory for peekBuf in initiateSecureConnection() to avoid
16481
the unused 4KB memory when ssl is not used.
16482
* src/SocketCore.cc
16484
2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16486
Added summary log for peer announce storage.
16487
* src/DHTPeerAnnounceStorage.cc (handleTimeout)
16490
* src/DefaultPeerStorage.cc (addPeer)
16492
Log exception message
16493
* src/DHTMessageTracker.cc (handleTimeout)
16496
* test/HttpRequestTest.cc
16497
* test/MetalinkProcessorTest.cc
16498
* test/PieceTest.cc
16499
* test/MetalinkEntryTest.cc
16500
* test/SequenceTest.cc
16502
2008-03-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16504
* src/ParameterizedStringParser.cc (createLoop):
16505
Removed unused variable sstep.
16507
* src/AlphaNumberDecorator.h (decode): Rewritten.
16509
2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16512
(parseUInt): New function.
16513
(alphaToNum): Now returns unsigned int and 0 when overflow detected.
16514
The actual range is uint32_t.
16517
* src/ParameterizedStringParser.cc:
16518
Use Util::parseUInt() for loop variables.
16519
* test/ParameterizedStringParserTest.cc
16521
* src/PStringNumLoop.h: Make _startValue and _endValue unsigned int.
16523
2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16525
Rewritten the functions for binding port.
16526
* src/DHTConnectionImpl.{h, cc}
16527
* src/PeerListenCommand.{h, cc}
16530
* test/DHTConnectionImplTest.cc
16532
2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16534
type cleanup for allmost all remaining files.
16536
2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16539
* src/PeerSessionResource.{h, cc}
16540
* src/DefaultPieceStorage.{h, cc}
16542
* test/PeerSessionResourceTest.cc
16545
* src/BtPieceMessage.cc (erasePieceOnDisk)
16547
2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16550
* src/DefaultPeerStorage.{h, cc}
16551
* test/DefaultPeerStorageTest.cc
16553
2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16555
Type clarification: size_t for length or size, uint64_t for file
16556
length, off_t for file offset.
16557
* src/DefaultBtProgressInfoFile.cc
16558
* src/DefaultBtContext.{h, cc}
16559
* src/DefaultBtInteractive.cc
16560
* src/DownloadCommand.{h, cc}
16561
* src/IteratableChunkChecksumValidator.{h, cc}
16562
* src/SegmentMan.{h, cc}
16563
* src/SingleFileDownloadContext.{h, cc}
16564
* src/IteratableChecksumValidator.{h, cc}
16566
* src/IteratableValidator.h
16567
* src/DownloadContext.h
16568
* test/SingleFileDownloadContextTest.cc
16569
* test/DefaultBtContextTest.cc
16570
* test/MockBtContext.h
16571
* test/Metalink2RequestGroupTest.cc
16573
2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16575
Type clarification: size_t for length or size, uint64_t for file
16576
length, off_t for file offset.
16578
* src/PiecedSegment.cc
16579
* src/GrowSegment.h
16580
* src/DefaultBtRequestFactory.h
16581
* src/DefaultBtProgressInfoFile.cc
16582
* src/UnknownLengthPieceStorage.h
16583
* src/DefaultPieceStorage.cc
16584
* src/UnknownLengthPieceStorage.cc
16585
* src/DefaultBtInteractive.cc
16586
* src/GrowSegment.cc
16587
* src/BitfieldMan.h
16588
* src/DownloadCommand.cc
16589
* src/BtRequestFactory.h
16590
* src/PiecedSegment.h
16591
* src/DefaultPieceStorage.h
16593
* src/DefaultBtRequestFactory.cc
16594
* src/PieceStorage.h
16597
* src/BitfieldMan.cc
16599
* test/DefaultBtProgressInfoFileTest.cc
16600
* test/DefaultPieceStorageTest.cc
16601
* test/MockPieceStorage.h
16602
* test/BtRequestMessageTest.cc
16603
* test/DefaultBtMessageDispatcherTest.cc
16604
* test/BitfieldManTest.cc
16605
* test/GrowSegmentTest.cc
16606
* test/PieceTest.cc
16607
* test/SegmentTest.cc
16608
* test/SegmentManTest.cc
16609
* test/DefaultBtRequestFactoryTest.cc
16610
* test/MockBtRequestFactory.h
16612
2008-03-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16614
Fixed compilation error with --disable-nls
16615
It seems that defining gettext(Msgid) to ((const char *) (Msgid))
16616
in gettext.h causes the problem.
16619
2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16621
Removed subPiece related functions.
16622
* src/Piece.{h, cc} : Also rewritten getCompletedLength().
16623
* src/DefaultPieceStorage.{h, cc}
16624
* test/PieceTest.cc
16625
* test/DefaultPieceStorageTest.cc
16627
2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16629
Use unsigned char for data store.
16631
2008-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16633
Bump up version number to 0.13.0+1
16638
2008-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16640
Changed inactive connection timeout to 120.
16641
To accept more mulually interested peers, disconnect peer when there
16642
is no interest between us after certain time passed.
16643
* src/DefaultBtInteractive.cc (checkActiveInteraction)
16645
2008-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16647
Fixed the bug that aria2 only uses first dns server in resolv.conf
16648
when compiled with async DNS support.
16649
* src/DownloadEngine.cc
16650
* src/option_processing.cc: Lengthened DNS timeout to 30. I think old
16651
value '10' will be a little bit short when some DNS servers are
16652
offline and several DNS servers are tried. It should be configured
16653
by command-line option.
16655
2008-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16657
Merged Ross's mingw patch.
16658
* src/DHTRoutingTableDeserializer.cc
16659
* src/DHTRoutingTableSerializer.cc
16660
* src/Platform.{h, cc}
16662
* src/gettimeofday.h
16663
* src/getaddrinfo.h
16667
* src/DownloadEngine.h
16668
* src/gai_strerror.h
16669
* src/a2netcompat.h
16674
2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16676
Included missing iostream.
16678
* test/BtDependencyTest.cc
16679
* test/BtExtendedMessageTest.cc
16680
* test/DHTConnectionImplTest.cc
16681
* test/DHTMessageFactoryImplTest.cc
16682
* test/DHTMessageTrackerEntryTest.cc
16683
* test/DHTNodeTest.cc
16684
* test/DHTRoutingTableSerializerTest.cc
16685
* test/DefaultBtAnnounceTest.cc
16686
* test/DefaultBtContextTest.cc
16687
* test/DefaultBtMessageFactoryTest.cc
16688
* test/DefaultExtensionMessageFactoryTest.cc
16689
* test/HandshakeExtensionMessageTest.cc
16690
* test/HttpResponseTest.cc
16691
* test/MetalinkProcessorTest.cc
16692
* test/MultiFileAllocationIteratorTest.cc
16693
* test/SocketCoreTest.cc
16694
* test/UTPexExtensionMessageTest.cc
16696
2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16698
Reorganized includes.
16699
* src/NameResolver.cc
16701
2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16703
Fixed compilation error without ares/c-ares
16704
* src/NameResolver.h:
16706
2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16708
Added a test for large file.
16709
* test/MetalinkProcessorTest.cc (testLargeFileSize):
16711
2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16713
Fixed the bug that file size is ignored if size > INT32_MAX
16714
* src/SizeMetalinkParserState.cc (endElement):
16716
2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16718
Bump up version number to 0.13.0
16723
2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16725
Updated Makfefile.am to make 'make dist' work.
16726
Now packaged filename is aria2c-VERSION.tar.bz2.
16727
Added README, README.html, and aria2c.1.html to dist_doc_DATA.
16728
Added LICENSE.OpenSSL to dist_noinst_DATA.
16730
Large file support is now configured by configure script.
16733
Removed unsused source files
16737
Removed PeerDecl.h and BtContextDecl.h. typedefs are removed to
16738
Peer.h and BtContext.h respectively.
16742
Updated translations.
16743
Added Polish, Thai, Indonesian, Norwegian Nynorsk, Hungarian
16744
translations. Great thanks to all translators!;)
16747
2008-02-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16749
Create MessageDigestHelper::staticSHA1DigestInit() which uses
16750
statically declared sha1 MessageDigestContext.
16751
* src/BtPieceMessage.cc: Use staticSHA1DigestInit() to avoid
16752
initialization of short-lived MessageDigestContext.
16753
* src/MessageDigestHelper.{h, cc}
16756
Now DownloadCommand has a reference to MessageDigestContext to avoid
16757
the initialization of MessageDigestContext every time in validating
16759
* src/DownloadCommand.{h, cc}
16761
2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16763
Add a file descriptor which connected to fast peer(latency<1500) to
16764
select(). This change reduced CPU load.
16765
* src/PeerInteractionCommand.cc
16766
* src/DefaultBtInteractive.{h, cc}
16767
* src/BtInteractive.h
16769
2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16771
Fixed the previous insufficient fix for possible busy loop.
16772
* src/MSEHandshake.cc (identifyHandshakeType)
16774
Removed unused functions.
16775
* src/MSEHandshake.{h, cc} (readDataAndDecrypt)
16777
2008-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16779
Fixed possible busy loop if first 20 bytes are not received for a few
16781
* src/MSEHandshake.{h, cc} (identifyHandshakeType)
16782
* src/ReceiverMSEHandshakeCommand.cc
16784
2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16786
Fixed compilation error
16787
* src/ExpatMetalinkProcessor.cc
16789
2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16791
Fixed compile error on Mac OS X, on 64Bit OS maybe.
16794
Removed unnecessary cast.
16795
* src/HandshakeExtensionMessage.cc
16797
2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16799
Fixed the bug that option handler for PREF_METALINK_ENABLE_UNIQUE_PROTOCOL.
16801
* src/OptionHandlerFactory.cc
16803
2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16805
Fixed the bug that HAVE message is not sent for a piece they are
16806
downloaded fom http/ftp server before any BitTorrent handshake is done
16808
* src/DefaultBtInteractive.cc
16810
2008-02-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16812
Removed RequestInfo.h and FileAllocator.h since they have been removed.
16816
2008-02-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16818
Updated README. Added html version of README and man page.
16821
* readme2html: Shell script to generate README.html from README using
16823
* doc/aria2c.1.html
16824
* doc/makeman: Added the line to generate aria2c.1.html
16826
2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16828
Fixed offset calculation.
16829
* src/LibgcryptDHKeyExchange.h (computeSecret)
16831
2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16833
Rewritten itos and uitos using template. llitos and ullitos are
16834
replaced with itos and uitos respectively.
16838
2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16840
Fixed the bug that DH key exchange sometimes fails due to bad handling
16841
of the number of bytes required for storing public key and shared
16843
* src/LibgcryptDHKeyExchange.h
16844
* src/LibsslDHKeyExchange.h: Also added function name to handleError.
16845
* src/MSEHandshake.cc
16846
* test/DHKeyExchangeTest.cc
16848
2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16850
Removed since they are not used.
16851
* src/Xml2MetalinkProcessor.{h, cc}
16853
* src/SegmentSplitter.{h, cc}
16854
* test/Xml2MetalinkProcessorTest.cc
16856
2008-02-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16858
Fixed the bug that prevents aria2 from stopping other than by pressing
16859
Ctrl-C in BitTorrent download. It is reproducible using --seed-time
16860
option. aria2 doesn't stop even after --seed-time is satisfied and
16861
continues to output blank lines in the console.
16862
* src/ReceiverMSEHandshakeCommand.cc
16863
* src/PeerReceiveHandshakeCommand.cc
16864
* src/PeerListenCommand.cc
16866
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16868
Bump up version number to 0.13.0rc
16871
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16873
Updated man page and some usage text.
16878
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16880
Updated translations. Added Finnish and Hebrew translations.
16881
Great thanks to all translators!
16885
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16887
Log more detailed information about each message.
16888
* src/DHTQueryMessage.{h, cc}
16889
* src/DHTGetPeersMessage.{h, cc}
16890
* src/DHTFindNodeReplyMessage.{h, cc}
16891
* src/DHTGetPeersReplyMessage.{h, cc}
16892
* src/DHTAnnouncePeerMessage.{h, cc}
16893
* src/DHTResponseMessage.{h, cc}
16894
* src/DHTFindNodeMessage.{h, cc}
16896
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16898
Use constants defined in prefs.h
16899
* src/option_processing.cc
16901
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16903
* test/AllTest.cc: Added OpenSSL, GNUTLS initialization code.
16905
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16907
Make room for future enchancements for IPv6 addresses.
16908
Bump up version number of dht.dat file format to 2.
16909
Not compatible with previous version.
16910
* src/DHTRoutingTableSerializer.cc
16911
* src/DHTRoutingTableDeserializer.cc
16912
* test/DHTRoutingTableSerializerTest.cc
16914
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16916
Added handling for the return values from
16917
PeerMessageUtil::createcompact().
16918
* src/DefaultBtContext.cc (computeFastSet):
16920
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16922
Fixed abort when peer's ip address is IPv4-mapped address.
16923
* src/DefaultBtContext.cc (computeFastSet)
16925
Removed number-and-dots criteria, since Util::isNumberAndDotsNotation()
16926
cannot handle IPv4-mapped addresses.
16927
* src/DefaultBtInteractive.cc (addPeerExchangeMessage)
16929
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16931
Proper return value handling for OpenSSL functions.
16932
* src/LibsslDHKeyExchange.h
16934
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16936
Random bytes generation using libgcrypt and OpenSSL.
16937
* src/DHTUtil.{h, cc}
16938
* test/DHTUtilTest.cc
16940
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16942
Fixed segmentation fault when a DHT message which doesn't have 'y' key
16944
* src/DHTMessageReceiver.cc (receiveMessage)
16946
2008-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16948
Fixed the bug that a return code is always 0. BUG#1897704
16949
If error occurred during the download or there exist unfinished
16950
downloads, aria2 returns with code 1.
16951
* src/RequestGroupMan.{h, cc}
16952
* src/MultiUrlRequestInfo.{h, cc}
16955
2008-02-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16957
IPv6 support for SocketCore class.
16958
TODO: In SocketCore::establishConnection(), this is insufficient to
16959
determin the failure of connect() here because the socket is
16960
non-blocking state. The next addresses should be tried after select().
16961
TODO: NameResolver still uses c-ares(<= 1.4) ares_gethostbyname().
16962
If c-ares 1.5 or newer is installed, ares_getaddrinfo() should be used
16963
instead which address family independent.
16964
TODO: DHTRoutingTable{Deserializer,Serializer} currently saves peer
16965
information in a compact peer format which is for IPv4 only.
16967
Some BitTorrent functions in PeerMessageUtil still depends on IPv4 but
16968
this is a spec of BitTorrent protocol.
16969
* src/SocketCore.{h, cc}
16970
* src/PeerMessageUtil.cc
16971
* test/SocketCoreTest.cc
16972
* test/PeerMessageUtilTest.cc
16973
* test/DHTConnectionImplTest.cc
16975
Handle IPv4-mapped addresses.
16976
* src/DHTNode.cc: Now identity is determined by node id.
16977
* src/DHTMessageTrackerEntry.cc
16979
Because now PeerMessageUtil::unpackcompact() could fail, the caller
16981
* src/DHTRoutingTableDeserializer.cc
16982
* src/DHTMessageFactoryImpl.cc
16984
2008-02-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16986
Change the unit of --stop option from a minute to a second.
16988
* src/DownloadEngineFactory.cc
16989
* src/OptionHandlerFactory.cc
16991
* src/TimedHaltCommand.cc
16993
2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
16995
Make listening socket non-block mode.
16996
* src/FtpConnection.cc
16997
* src/FtpNegotiationCommand.{h, cc}
16998
* src/PeerListenCommand.cc
17000
Fixed the bug that cause slow ftp negotiation.
17001
* src/FtpNegotiationCommand.{h, cc}
17003
2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17005
Added basic tag to --enable-dht, --dht-listen-port option.
17006
* src/HelpItemFactory.cc (createHelpItems)
17008
2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17013
2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17015
* src/MSEHandshake.cc (encryptAndSendData): Use std::min().
17017
2008-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17019
Determin _threadtholdSpeed in each constructor for
17020
ActivePeerConnectionCommand and PeerReceiveHandshakeCommand.
17021
* src/ActivePeerConnectionCommand.{h, cc}
17022
* src/PeerReceiveHandshakeCommand.{h, cc}
17024
* src/BtConstants.h
17026
2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17028
Added --bt-min-crypto-level and --bt-require-crypto options.
17029
* src/OptionHandlerFactory.cc
17030
* src/MSEHandshake.cc
17031
* src/HelpItemFactory.cc
17032
* src/option_processing.cc
17033
* src/ReceiverMSEHandshakeCommand.cc
17035
* src/DefaultBtAnnounce.cc
17036
* src/InitiatorMSEHandshakeCommand.cc
17038
* test/MSEHandshakeTest.cc
17040
2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17042
Bump version number to 0.13.0b
17045
2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17048
* src/MessageDigestHelper.h:
17050
2008-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17052
Use raw message digest as a token instead of its hexadecimal
17054
* src/DHTTokenTracker.cc (generateToken)
17056
2008-02-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17058
Added Message Stream Encryption(MSE) support.
17059
Currently, aria2 accepts incoming connections with Obfuscation Header
17060
and legacy BitTorrent Header and establishes connections with
17061
Obfuscation Header first and if failed then retry with legacy
17062
BitTorrent header. If plain text and ARC4 is provided, aria2 always
17063
choose ARC4. The new option to change the default behavior is planned.
17064
For tracker extension, "supportcrypto=1" is added statically.
17065
* src/PeerInitiateConnectionCommand.{h, cc}
17066
* src/PeerConnection.{h, cc}
17067
* src/HandleRegistry.h
17069
* src/PeerReceiveHandshakeCommand.{h, cc}
17070
* src/BtRegistry.{h, cc}
17071
* src/PeerListenCommand.cc
17072
* src/InitiatorMSEHandshakeCommand.{h, cc}
17073
* src/ReceiverMSEHandshakeCommand.{h, cc}
17074
* src/MSEHandshake.{h, cc}
17075
* src/ARC4Encryptor.h
17076
* src/ARC4Decryptor.h
17077
* src/LibgcryptARC4Encryptor.h
17078
* src/LibgcryptARC4Decryptor.h
17079
* src/LibgcryptARC4Context.h
17080
* src/LibsslARC4Encryptor.h
17081
* src/LibsslARC4Decryptor.h
17082
* src/LibsslARC4Context.h
17083
* src/DHKeyExchange.h
17084
* src/LibgcryptDHKeyExchange.h
17085
* src/LibsslDHKeyExchange.h
17086
* src/DefaultBtAnnounce.cc: Just added "supportcrypto=1" parameter.
17087
* test/DefaultBtAnnounceTest.cc
17089
* test/DHKeyExchangeTest.cc
17091
Removed prepareForRetry() because it is not used.
17092
* src/PeerAbstractCommand.{h, cc}
17093
* src/PeerInteractionCommand.{h, cc}
17094
* src/PeerInitiateConnectionCommand.{h, cc}
17096
2008-02-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17098
Added the ability to load nodes from torrent file. These nodes are
17099
added to the routing table when downloading that torrent.
17101
* src/DefaultBtContext.{h, cc}
17103
* src/DHTEntryPointNameResolveCommand.{h, cc}: Now accepts list of
17104
hostname and port pair, and resolves all of them.
17105
* src/NameResolver.{h, cc}: Added reset().
17106
* src/RequestGroup.cc
17107
* test/DefaultBtContextTest.cc
17108
* test/MockBtContext.h
17110
Removed assert() from DefaultBtContext and throw exception instead.
17111
* src/DefaultBtContext.cc
17113
2008-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17115
Fixed segmentation fault bug when exiting if dht is disabled.
17116
* src/RequestGroup.cc
17118
2008-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17120
Fixed typo in log message and define the message in message.h
17121
* src/TimedHaltCommand.cc
17124
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17126
Included RecoverableException.h to fix compilation error.
17127
* test/DHTMessageFactoryImplTest.cc
17129
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17131
Added test 'testDoReceivedAction' for DHTQueryMessage subclasses.
17132
* test/DHTPingMessageTest.cc
17133
* test/DHTGetPeersMessageTest.cc
17134
* test/DHTFindNodeMessageTest.cc
17135
* test/DHTAnnouncePeerMessageTest.cc
17136
* test/MockDHTMessage.h
17137
* test/MockDHTMessageFactory.h
17138
* test/MockDHTMessageDispatcher.h: New class.
17140
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17142
Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure
17144
* src/DHTMessageDispatcher.h
17145
* src/DHTMessageDispatcherImpl.{h, cc}
17148
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17150
Adding handling of DHT error message. Just log error message and
17152
* src/DHTMessageFactoryImpl.cc
17153
* test/DHTMessageFactoryImplTest.cc
17155
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17157
Added handling of dynamic cast failure.
17158
* src/DHTNodeLookupTask.cc
17159
* src/DHTPeerLookupTask.cc
17161
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17163
Added the ability to stop aria2 itself when given time has passed
17164
from start. Use --stop option to specify time in minutes.
17165
When 0 is given, this feature is disabled.
17166
* src/OptionHandlerFactory.cc
17167
* src/TimeBasedCommand.h: Make _interval protected scope.
17168
* src/HelpItemFactory.cc
17169
* src/option_processing.cc
17171
* src/FillRequestGroupCommand.cc: Evaluate _e->isHaltRequested()
17172
before calling RequestGroupMan::fillRequestGroupFromReserver().
17173
Without this modification, the result list shows "ERR" when aria2 is
17174
stopped by --stop option. It should be "INPR".
17175
* src/DownloadEngine.{h, cc}
17176
* src/DownloadEngineFactory.cc
17178
* src/TimedHaltCommand.{h, cc}: New class.
17180
2008-02-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17182
Bootstrap through node added by port message.
17183
Currently bootstrap is executed if the number of buckets in routing
17185
* src/BtPortMessage.{h, cc}
17186
* src/DefaultBtMessageFactory.{h, cc}
17187
* src/PeerInteractionCommand.cc
17188
* test/BtPortMessageTest.cc
17189
* test/MockDHTTask.h
17191
2008-02-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17193
Extract the Peer class's member variables, which are only needed after
17194
PeerInteractionCommand, into PeerSessionResource class.
17195
This class is instantiated in PeerInteractionCommand class's ctor and
17196
released in its dtor.
17197
This will make Peer class lightweight and uses less memory for peers
17198
which are not connected and wait in the queue.
17199
* src/PeerChokeCommand.cc
17200
* src/PeerSessionResource.{h, cc}
17201
* src/PeerInteractionCommand.cc
17202
* src/PeerAbstractCommand.cc: Note: 0 is given to onAbort() function.
17203
* src/DefaultBtInteractive.cc
17204
* src/BtPieceMessage.cc
17205
* src/BtInterestedMessage.cc
17206
* src/BtUnchokeMessage.cc
17207
* src/DefaultPeerStorage.{h, cc}
17208
* src/PeerInitiateConnectionCommand.cc
17209
* src/ActivePeerConnectionCommand.cc
17210
* src/BtNotInterestedMessage.cc
17211
* src/DefaultBtMessageDispatcher.cc
17212
* src/BtChokeMessage.cc
17213
* src/BtRequestMessage.cc
17216
* src/TrackerWatcherCommand.cc
17217
* src/PeerReceiveHandshakeCommand.cc
17218
* test/BtExtendedMessageTest.cc
17219
* test/BtAllowedFastMessageTest.cc
17220
* test/BtCancelMessageTest.cc
17221
* test/DefaultPieceStorageTest.cc
17222
* test/BtBitfieldMessageTest.cc
17223
* test/BtHaveMessageTest.cc
17224
* test/BtNotInterestedMessageTest.cc
17225
* test/BtRequestMessageTest.cc
17226
* test/PeerSessionResourceTest.cc
17227
* test/DefaultBtMessageDispatcherTest.cc
17229
* test/BtInterestedMessageTest.cc
17230
* test/BtRejectMessageTest.cc
17231
* test/BtChokeMessageTest.cc
17232
* test/DefaultPeerStorageTest.cc
17233
* test/BtHaveNoneMessageTest.cc
17234
* test/BtHaveAllMessageTest.cc
17235
* test/DefaultExtensionMessageFactoryTest.cc
17236
* test/BtUnchokeMessageTest.cc
17237
* test/DefaultBtMessageFactoryTest.cc
17238
* test/HandshakeExtensionMessageTest.cc
17239
* test/UTPexExtensionMessageTest.cc
17240
* test/DefaultBtRequestFactoryTest.cc
17241
* test/BtPieceMessageTest.cc
17243
Removed typedef PeerStats.
17245
* src/SegmentMan.cc
17247
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17249
Added std namespace to copy, remove_copy, back_inserter,
17251
* src/RequestGroupMan.cc
17252
* src/DefaultPieceStorage.cc
17253
* src/StreamFileAllocationEntry.cc
17254
* src/BtFileAllocationEntry.cc
17255
* src/RequestGroup.cc
17256
* src/MetalinkEntry.cc
17257
* src/DelegatingPeerListProcessor.cc
17258
* src/DefaultBtRequestFactory.cc
17259
* src/DefaultBtMessageDispatcher.cc
17260
* src/version_usage.cc: Included <algorithm>
17262
* src/MetalinkParserController.cc
17263
* src/DefaultBtContext.cc
17264
* src/DownloadEngineFactory.cc
17268
* test/StreamUriListParserTest.cc
17270
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17272
Use PREF_MAX_DOWNLOAD_LIMIT as a threshold for
17273
ActivePeerConnectionCommand when it is given and
17274
PREF_MAX_DOWNLOAD_LIMIT < default threshold.
17275
* src/ActivePeerConnectionCommand.{h, cc}
17278
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17280
Only add socket to DownloadEngine's select routine when peer or
17281
localhost is unchoked and interested. This lowers CPU usage a
17283
* src/PeerInteractionCommand.cc
17284
* src/PeerAbstractCommand.{h, cc}
17285
* src/BtInteractive.h
17286
* src/DefaultBtInteractive.{h, cc}
17288
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17290
Revert previous change because get_peers message is needed for
17291
announce_peer anyway.
17292
* src/DHTGetPeersCommand.cc
17294
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17296
Request peers thought DHT only when download hasn't finished.
17297
* src/DHTGetPeersCommand.cc
17299
2008-02-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17301
Force refresh bucket when startup if certain time has passed(currently 15 minutes).
17302
* src/DHTBucketRefreshTask.{h, cc}
17305
2008-02-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17307
Removed "using namespace std;" from all sources. Appended std:: prefix to c++
17309
Included string.h where mem* function are used.
17310
Added namespace aria2.
17312
2008-02-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17314
Create directory before saving DHT routing table.
17315
Now ios::failure is now handled properly.
17316
* src/DHTAutoSaveCommand.cc
17318
2008-02-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17320
Removed unnecessary cerr.
17321
* src/DownloadEngine.cc
17323
2008-02-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17325
Catch exception inside DHTMessageReceiver::receiveMessage().
17326
Log unknown message.
17327
* src/DHTMessageReceiver.{h, cc}
17328
* src/DHTMessageFactory.h
17329
* src/DHTMessageFactoryImpl.{h, cc}
17330
* src/DHTMessageTracker.cc (handleTimeout): Catch and handle exception.
17331
* src/DHTInteractionCommand.cc
17332
* src/DHTUnknownMessage.{h, cc}
17333
* test/DHTUnknownMessageTest.cc
17334
* test/MockDHTMessageFactory.h
17336
2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17338
Commented out ip address comparison because a host can have multiple
17339
ip addresses and it is hard to predict the hostname is resolved into
17341
* test/SocketCoreTest.cc (testWriteAndReadDatagram)
17343
2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17345
* po/Makefile.in: Removed since this is generated by configure.
17347
2008-02-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17349
Fixed compiler warning about redefinition of SIZE_MAX.
17350
Use common.h instead of config.h directly here.
17351
* src/Platform.{h, cc}
17353
The check of ENABLE_NLS is made in gettext.h, so it is not required
17357
2008-02-02 gettextize <bug-gnu-gettext@gnu.org>
17359
Updated gettext related files.
17360
* configure.ac (AC_CONFIG_FILES): Add intl/Makefile.
17361
* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
17363
2008-02-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17365
Added DHT functionality, compatible with mainline.
17366
DHT is disabled by default. To enable it, give --enable-dht to aria2c.
17367
You may need to specify entry point to DHT network using
17368
--dht-entry-point. DHT uses UDP port to listen incoming message.
17369
Use --dht-listen-port to specify port number. Make sure that your
17370
firewall configuration can pass through UDP traffic to the port.
17371
The routing table is saved in $HOME/.aria2/dht.dat.
17373
* src/BNode.{h, cc}
17374
* src/PeerInteractionCommand.cc: enable DHT functionality for a
17375
particular torrent.
17376
* src/Data.cc: Rewritten ctor.
17377
* src/OptionHandlerFactory.cc: Added --enable-dht, --dht-listen-port,
17379
* src/DefaultBtInteractive.cc: Send port message if dht is enabled.
17380
* src/RequestGroup.cc: Initialize DHT functionality. When download
17381
ends, remove BtContext from DHTPeerAnnounceStorage.
17382
* src/BtPortMessage.{h, cc}: Rewritten.
17384
* src/OptionHandlerImpl.cc
17385
* src/option_processing.cc: Added --enable-dht, --dht-listen-port,
17387
* src/Dictionary.{h, cc} (remove): New function.
17389
* src/DefaultBtMessageFactory.h
17390
* src/BtHandshakeMessage.cc
17391
* src/ActivePeerConnectionCommand.cc
17392
* src/SocketCore.{h, cc}: Added datagram socket support.
17393
* src/DefaultBtMessageFactory.cc
17394
* src/BtSetup.cc: Add BtContext to DHTPeerAnnounceStorage here.
17395
Create DHT commands.
17396
* src/BtMessageFactory.h
17397
* src/PeerMessageUtil.{h, cc}
17399
2008-01-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17401
Fixed the bug that log file is not written when configuration file doesn't exist.
17402
This is caused by using Logger class before LogFactory is not configured.
17404
* src/option_processing.cc
17406
Warning message "configuration doesn't exist" is only printed when --conf is
17408
* src/option_processing.cc
17410
2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17412
Use BencodeVisitor and MessageDigestHelper instead of ShaVisitor.
17413
ShaVisitor is now deprecated and slated to be removed.
17414
* src/DefaultBtContext.cc
17416
2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17418
Externalize message to message.h
17422
2008-01-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17424
Set default domain and default path to cookie.
17425
* src/HttpResponse.cc
17426
* src/CookieBox.{h, cc}
17427
* src/CookieParser.{h, cc}
17428
* test/CookieParserTest.cc
17430
2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17432
Added --no-conf and --conf-path command-line option.
17433
--no-conf option disables loading aria2.conf file.
17434
--conf-path option changes the configuration file path. The default
17435
file path is $HOME/.aria2/aria2.conf
17436
Added a warning message when the configuration file is not found.
17437
* src/HelpItemFactory.cc
17438
* src/option_processing.cc
17442
2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17444
Added the message to inform users that other help categories are
17445
available in -h option.
17446
* src/version_usage.cc
17447
* src/TagContainer.{h, cc}
17448
* test/TagContainerTest.cc
17449
* src/TaggedItem.{h, cc}
17450
* test/TaggedItemTest.cc
17453
2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17455
Added Piece::getFirstMissingBlockIndexWithoutLock() and it is called
17456
from PiecedSegment's ctor.
17457
Previously Piece::getAllMissingBlockIndexes() is called from
17458
PiecedSegment() but it is rather expensive since only first element is
17460
* src/PiecedSegment.cc
17461
* src/Piece.{h, cc}
17463
2008-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17465
Rewritten get*Missing*Index functions. Now no need to allocate memory
17466
each time these functions are called.
17467
* src/BitfieldMan.{h, cc}
17468
* test/BitfieldManTest.cc
17470
* test/array_funTest.cc
17472
Now BitfieldMan::countBlock() returns BitfieldMan::blocks.
17473
Added new BitfieldMan::countFilteredBlock() to get the number of blocks
17474
filtered. Removed unnecessary cast to int32_t.
17475
* src/BitfieldMan.{h, cc}
17477
2008-01-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17479
Fixed the bug that EX_TOO_LONG_PAYLOAD exception is thrown if just
17480
payload length(4bytes) are received. This happens because lenbufLength
17481
is not updated in this particular case and successive call of
17482
receiveMessage() overwrites payload length with bytes recieved which
17484
* src/PeerConnection.{h, cc}
17487
2008-01-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17489
Fixed the bug that DefaultPeerStorage::returnPeer() may delete wrong
17490
peer if there are peers that have same ipaddr and port.
17491
I've experiened segmentation fault and "pure virtual function was
17495
* src/DefaultPeerStorage.cc
17496
* test/DefaultPeerStorageTest.cc
17498
2008-01-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17500
Removed a call to isPowerOf() because it is no longer necessary here
17501
and a request block is not always power of 2.
17503
* src/PeerMessageUtil.cc (checkLength)
17505
2008-01-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17507
Fixed the bug that always first found Segment is removed from
17508
usedSegmentEntries. Removed unused functions.
17509
* src/SegmentMan.{h, cc}
17510
* test/SegmentManTest.cc
17512
Fixed the bug that ServerHost is not removed.
17513
* src/RequestGroup.cc
17515
2008-01-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17517
Fixed the bug that SegmentMan::completeSegment() is not called
17518
even if Segment is complete when --lowest-speed-limit is enabled.
17520
* src/DownloadCommand.{h, cc}
17522
2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17524
Fixed: hash algorithm 'sha1' is always used.
17525
* src/DownloadCommand.cc (validatePieceHash)
17527
2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17529
Added --enable-peer-exchange command-line option.
17530
* src/OptionHandlerFactory.cc
17531
* src/HelpItemFactory.cc
17532
* src/option_processing.cc
17535
2008-01-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17537
Move extension from BtRuntime to ExtensionMessageFactory, because
17538
extension can be specified per peer, not per torrent.
17539
* src/DefaultBtInteractive.cc
17541
* src/ExtendedMessagingAware.h
17542
* src/ExtensionMessageFactory.h
17543
* src/DefaultExtensionMessageFactory.cc
17544
* test/DefaultExtensionMessageFactoryTest.cc
17546
2008-01-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17548
Added categorized option help. Specify category using --help option.
17549
Also added the ability to search options in forward match.
17550
* src/HelpItem.{h, cc}
17551
* test/HelpItemTest.cc
17552
* src/HelpItemFactory.{h, cc}
17553
* src/TagContainer.{h, cc}
17554
* test/TagContainerTest.cc
17555
* src/option_processing.cc
17557
* src/TaggedItem.{h, cc}
17558
* test/TaggedItemTest.cc
17559
* src/version_usage.cc
17563
2008-01-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17565
Fixed segmentation fault when bad torrent metainfo is parsed.
17566
Added dynamic_cast properly to detect the misconfiguration of metainfo
17567
and then throw exception or skip it.
17568
* src/DefaultBtContext.{h, cc}
17569
* test/DefaultBtContextTest.cc
17570
* src/AnnounceList.cc
17571
* src/CompactPeerListProcessor.cc
17573
* src/DefaultBtAnnounce.{h, cc}
17574
* test/DefaultBtAnnounceTest.cc
17575
* src/BencodeVisitor.cc
17577
2007-12-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17579
Added missing "B"(=Byte). So now the message looks like this:
17580
Your share ratio was 1.0, uploaded/downloaded=12MiB/12MiB
17581
* src/message.h (MSG_SHARE_RATIO_REPORT)
17583
2007-12-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17585
Show the seed ratio after torrent downloads.
17586
For example, after torrent download completed and --seed-time and
17587
--seed-ratio conditions are fulfilled, following message is printed
17588
right after "Download complete: .....":
17589
Your share ratio was 1.0, uploaded/downloaded=12M/12M
17590
* src/RequestGroupMan.cc
17591
* src/RequestGroup.{h, cc}
17594
2007-12-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17596
Remove a defunct control file. A defunct control file means that while
17597
it exists, but the corresponding download file is missing.
17598
After its removal, a download restarts from the beginning.
17599
* src/RequestGroup.cc
17602
2007-12-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17604
Allocate bitfield in Peer when it is really used. More specifically,
17605
bitfield in Peer is allocated after the connection is established and
17606
deallocated when the connection is dropped.
17607
Since 2 parameters(piece length and total length) was removed from the
17608
constructor of Peer class, many test classes were modified accordingly.
17609
See svn log for more detailed information.
17610
* src/PeerInteractionCommand.cc
17611
* src/CompactPeerListProcessor.cc
17613
* src/DefaultPeerListProcessor.cc
17614
* src/PeerListenCommand.cc
17615
* src/PeerReceiveHandshakeCommand.cc
17620
2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17622
Changed the default value of PREF_PEER_CONNECTION_TIMEOUT and
17623
lowestSpeedLimit in ActivePeerConnectionCommand. TODO: Make them
17624
command-line options.
17625
* src/option_processing.cc
17626
* src/ActivePeerConnectionCommand.cc
17628
2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17630
Send have message to peer if it already has the piece.
17631
* src/BtHaveMessage.{h, cc}
17633
2007-12-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17635
Removed incomingPeer. Set 0 to peer's port if it is not a listening
17637
* src/DefaultPeerStorage.{h, cc}
17638
* test/DefaultPeerStorageTest.cc
17639
* src/HandshakeExtensionMessage.cc
17640
* test/HandshakeExtensionMessageTest.cc
17641
* src/Peer.{h, cc}: Added ipaddr and port to identity comparison.
17642
* src/PeerStorage.h
17643
* test/MockPeerStorage.h
17644
* src/PeerListenCommand.cc
17645
* src/PeerReceiveHandshakeCommand.cc
17647
2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17649
Added --metalink-enable-unique-protocol option.
17650
* src/Metalink2RequestGroup.cc
17651
* src/option_processing.cc
17653
* src/version_usage.cc
17657
2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17659
Allow a peer in incomingPeer to be added peers.
17660
* src/DefaultPeerStorage.cc
17661
* test/DefaultPeerStorageTest.cc
17663
2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17665
Fixed the bug that causes aria2 not to finish download. BUG#1855875.
17666
I could reproduce this bug in following procedure:
17667
1. Stop the download at the very beginning(1% or 100KB downloaded).
17669
3. You see the download stopped around 99%.
17670
* src/HttpResponseCommand.cc (handleDefaultEncoding)
17671
* src/StreamFileAllocationEntry.cc: Removed the timeout handling.
17672
If timeout is reached, then _nextCommand is unused and it may contains
17673
segments and they won't be canceled. Actually, timeout is not needed
17674
here because if the server dropped connection, then retry is made.
17676
2007-12-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17678
Added uTorrent compatible Peer Exchange.
17679
* src/BencodeVisitor.{h, cc}
17680
* test/BencodeVisitorTest.cc
17681
* src/BtConstants.h
17682
* src/BtContext.h: Added 'private' flag.
17683
* src/BtExtendedMessage.{h, cc}
17684
* test/BtExtendedMessageTest.cc
17685
* src/BtHandshakeMessage.{h, cc}: Set extended messaging bit in
17687
* test/BtHandshakeMessageTest.cc
17688
* src/BtMessageFactory.h
17690
* src/BtRuntime.h: This class holds default extension message IDs for
17691
aria2. By default, aria2 uses ID 8 for ut_pex.
17692
* src/DefaultBtContext.cc
17693
* src/DefaultBtInteractive.{h, cc}: This class holds _utPexEnabled.
17694
When it is true, aria2 enables ut_pex. This value is set by
17695
PeerInteractionCommand.
17696
* src/DefaultBtMessageFactory.{h, cc}
17697
* test/DefaultBtMessageFactoryTest.cc
17698
* src/DefaultBtMessageReceiver.cc: Moved the code of fast extension
17699
handling to DefaultBtInteractive class.
17700
* src/DefaultExtensionMessageFactory.{h, cc}
17701
* test/DefaultExtensionMessageFactoryTest.cc
17702
* src/DefaultPeerStorage.cc: Returns false if a peer is already in
17703
the container(peers and incomingPeers. The equality is determined by
17705
* test/DefaultPeerStorageTest.cc
17706
* src/ExtensionMessage.h
17707
* test/MockExtensionMessage.h
17708
* src/ExtensionMessageFactory.h
17709
* test/MockExtensionMessageFactory.h
17710
* src/HandshakeExtensionMessage.{h, cc}
17711
* test/HandshakeExtensionMessageTest.cc
17714
* src/PeerInteractionCommand.cc
17715
* src/PeerReceiveHandshakeCommand.cc: Evaluate the return value of
17717
* src/PeerMessageUtil.{h, cc}
17719
* src/UTPexExtensionMessage.{h, cc}
17720
* test/UTPexExtensionMessageTest.cc
17724
Fixed the bug that returns incomplete data when it contains null
17725
character. A convenient constructor was also added.
17729
* src/CompactPeerListProcessor.cc
17733
* src/MetaFileUtil.cc
17735
2007-12-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17737
Added "Status Legend" label to the explanation text of 'stat' in
17738
download result and moved it to the last. BUG#1848214
17739
* src/RequestGroupMan.cc
17741
2007-12-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17743
Fixed the bug that -lexpat is always added to aria2c_LDADD.
17747
2007-12-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17749
Fixed the bug that prevents aria2 from loading cookie file when expire
17750
value is greater than 2^31-1. BUG#1851066
17751
* src/CookieBoxFactory.cc
17752
* test/CookieBoxFactoryTest.cc
17754
2007-12-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17756
Fixed possible memory leak when an exception is thrown.
17757
* src/XML2SAXMetalinkProcessor.cc
17759
Added Expat support. If both libxml2 and Expat are installed, then
17760
libxml2 is used by default.
17761
MetalinkProcessorFactory chooses from XML2SAXMetalinkProcessor and
17762
ExpatMetalinkProcessor according to the configuration.
17763
* src/ExpatMetalinkProcessor.{h, cc}
17764
* src/main.cc: Removed libxml2 specific header and init/free function.
17765
* src/MetalinkProcessorFactory.{h, cc}
17766
* src/MetalinkHelper.cc
17767
* src/Metalinker.h: Removed unnecessary libxml2 header.
17768
* src/MetalinkProcessor.h
17769
* test/XML2SAXMetalinkProcessorTest.cc: Removed because
17770
MetalinkProcessorTest is used instead.
17771
* test/MetalinkProcessorTest.cc: Added. It is actually the same with
17772
XML2SAXMetalinkProcessor, replaced XML2SAXMetalinkProcessor with
17773
MetalinkProcessorFactory::newInstance().
17775
* configure.ac: Added configuration options for libexpat.
17777
2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17779
Disabled -s option in metalink download.
17780
* src/Metalink2RequestGroup.cc
17782
2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17784
If several protocols are available for a mirror in metalink file,
17785
aria2 now use one of them. --metalink-preferred-protocol option was
17786
added to specify the preference of protocol.
17787
* src/AbstractCommand.cc
17788
* src/OptionHandlerFactory.cc
17789
* src/ServerHost.{h, cc}
17790
* src/Metalink2RequestGroup.cc
17791
* src/RequestGroup.{h, cc}
17792
* test/RequestGroupTest.cc
17793
* src/option_processing.cc
17795
* src/HttpResponseCommand.cc
17796
* src/MetalinkResource.{h, cc}
17797
* src/FtpNegotiationCommand.cc
17798
* src/MetalinkEntry.{h, cc}
17799
* src/MetalinkEntryTest.cc
17801
2007-12-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17803
Code cleanup and added debug log.
17804
* src/PeerConnection.cc
17806
2007-12-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17808
Compiler error fix: applied the patch by Tiziano Mueller
17809
* src/RequestGroup.cc
17811
2007-12-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17813
Fixed the bug: only first announce URL is tried in AnnounceTier,
17814
in stopped and completed event.
17815
* src/AnnounceList.{h, cc}
17816
* test/AnnounceListTest.cc
17817
* src/DefaultBtAnnounce.cc
17818
* test/DefaultBtAnnounceTest.cc
17821
* test/Metalink2RequestGroupTest.cc
17823
2007-12-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17825
Removed unnecessary string copy. Updated doc and corrected indentation.
17828
Fixed compilation warnings
17830
* test/HttpRequestTest.cc
17831
* test/MetaFileUtilTest.cc
17832
* test/RequestTest.cc
17836
2007-12-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17838
Updated translations
17839
* po/{de,fr,ja,nl,ru}.po
17841
Added Brazilian Portuguese, Catalan, Italian, Spanish, Swedish
17842
translations. Many thanks to translators.
17843
* po/{ca,es,it,pt_BR,sv}.po
17846
2007-12-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17848
Added a notice about URL
17849
* src/version_usage.cc
17851
2007-12-07 Tatsuhiro Tsujikawa <tujikawa at rednoah com>
17853
Fixed the bug#1845750; CTRL+C does not stop torrent.
17854
aria2 repeatedly sends stopped request when tracker returns error code.
17855
* src/AnnounceList.cc
17856
* test/AnnounceListTest.cc
17857
* src/AnnounceTier.h
17859
Added a message when ctrl-c is hit.
17860
Now second ctrl-c is also handled in signal handler.
17861
* src/RequestGroupMan.{h, cc}
17862
* src/RequestGroup.{h, cc}
17863
* src/MultiUrlRequestInfo.cc
17864
* src/DownloadEngine.cc
17865
* src/TrackerWatcherCommand.cc
17867
2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17870
* src/Base64.cc (encode)
17872
2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17874
Changed Direct/IO enable/disable procesure in file allocation routine.
17875
* src/SingleFileAllocationIterator.cc
17876
(SingleFileAllocationIterator):
17877
Disable directIO if offset is not multiple of 512.
17878
(~SingleFileAllocationIterator): Removed a call to disableDirectIO.
17879
* src/MultiFileAllocationIterator.cc (allocateChunk):
17880
Enable created SingleFileAllocationIterator's directIO.
17881
* src/FileAllocationEntry.cc
17882
(FileAllocationEntry): Enable directIO here.
17883
(~FileAllocationEntry): Disable directIO here.
17885
2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17887
Fixed the bug: aria2 doesn't utilize fast set index offered by peer.
17889
* src/DefaultPieceStorage.cc
17890
* test/DefaultPieceStorageTest.cc
17892
2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17894
Rewritten direct I/O support routine
17895
* src/SingleFileAllocationIterator.cc
17896
* src/MultiDiskAdaptor.{h, cc}
17897
* src/ByteArrayDiskWriter.h
17898
* src/AbstractSingleDiskAdaptor.h
17899
* src/AbstractDiskWriter.cc
17900
* src/DefaultPieceStorage.cc
17902
* src/BinaryStream.h
17903
* src/IteratableChunkChecksumValidator.cc
17904
* src/IteratableChecksumValidator.cc
17905
* src/CheckIntegrityEntry.cc
17906
* src/FileAllocationEntry.cc
17908
2007-12-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17911
* src/version_usage.cc
17917
2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17919
Fixed compile error without message digest support.
17920
* src/FileMetalinkParserState.cc
17921
* src/MetalinkParserController.{h, cc}
17922
* test/XML2SAXMetalinkProcessorTest.cc
17923
* test/MetalinkParserControllerTest.cc
17925
2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17927
Enable direct I/O support in checksum checking.
17928
* src/IteratableChunkChecksumValidator.{h, cc}
17929
* test/IteratableChunkChecksumValidatorTest.cc
17930
* src/CheckIntegrityEntry.cc
17931
* src/PieceHashCheckIntegrityEntry.cc
17932
* src/IteratableChecksumValidator.{h, cc}
17933
* src/BtCheckIntegrityEntry.cc: Added doc.
17935
2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17937
Added --allow-piece-length-change option.
17938
* src/DefaultBtProgressInfoFile.cc
17939
* test/DefaultBtProgressInfoFileTest.cc
17940
* src/OptionHandlerFactory.cc
17941
* src/option_processing.cc
17943
* src/version_usage.cc
17947
Fixed: duplicated result entry appears when exception is thrown in
17948
RequestGroup::createInitiateConnectionCommand().
17949
* src/RequestGroupMan.cc (fillRequestGroupFromReserver):
17950
Add RequestGroup to _requestGroup after RequetGroup::
17951
createInitiateConnectionCommand() succeeds.
17953
Externalized message
17954
* src/XML2SAXMetalinkProcessor.cc
17957
2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17959
Forced download abort when received negative response from http/ftp
17961
* src/HttpResponseCommand.cc
17962
* src/FtpNegotiationCommand.cc
17963
* src/HttpResponse.cc
17964
* src/FtpConnection.cc
17966
2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17968
Added XML2SAXMetalinkProcessor class, which is a lot faster than
17969
the predecessor, Xml2MetalinkParser class.
17970
I tested them against 94KB metalink file with 1234 chunk checksums.
17971
The new one parsed it in 22msec, while it took 6000msec with old one.
17972
* src/XML2SAXMetalinkProcessor.{h, cc}
17973
* test/XML2SAXMetalinkProcessorTest.cc
17974
* src/MetalinkParserController.{h, cc}
17975
* test/MetalinkParserControllerTest.cc
17976
* src/MetalinkParserState.h: Also added 16 subclasses.
17978
* src/Metalink2RequestGroup.cc
17979
* src/MetalinkHelper.cc
17980
* src/MetalinkEntry.cc
17981
* src/ChunkChecksum.h
17983
Rewritten Base64 class for better performance.
17984
* src/Base64.{h, cc}
17985
* test/Base64Test.cc
17986
* src/HttpRequest.cc
17988
2007-12-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
17990
Fixed the bug#1841757: aria2 will connect to server to only get
17992
* src/StreamFileAllocationEntry.cc
17993
* src/option_processing.cc
17994
* src/HttpResponseCommand.cc: Now reuse connection in segmented
17996
* src/FtpNegotiationCommand.cc
17998
Suppressed wrong message when finding PreDownloadHandler
17999
* src/RequestGroup.cc
18001
2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18004
* src/version_usage.cc
18015
2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18017
Eliminated g++-4.2 warning
18018
* src/DownloadHandlerConstants.{h, cc}
18020
* test/MetaFileUtilTest.cc
18021
* test/PStringBuildVisitorTest.cc
18023
Fixed bug: --check-integrity doesn't work for multi file torrent.
18024
* src/RequestGroup.cc
18025
* src/BtCheckIntegrityEntry.cc
18027
2007-11-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18032
2007-11-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18034
Added direct I/O support. The current implementation uses O_DIRECT,
18035
which is not posix standard and is tested on linux 2.6.21.
18036
Currently only file allocation uses direct I/O.
18037
* src/SingleFileAllocationIterator.{h, cc}
18038
* test/SingleFileAllocationIteratorTest.cc
18039
* src/MultiFileAllocationIterator.{h, cc}
18040
* test/MultiFileAllocationIteratorTest.cc
18041
* src/BinaryStream.h
18043
* src/AbstractDiskWriter.{h, cc}
18044
* src/ByteArrayDiskWriter.h
18045
* src/DiskAdaptor.h
18046
* src/AbstractSingleDiskAdaptor.{h, cc}
18047
* src/MultiDiskAdaptor.{h, cc}
18048
* src/FileAllocationEntry.cc
18050
* src/OptionHandlerFactory.cc
18052
* src/version_usage.cc
18053
* src/option_processing.cc
18055
Moved FileAllocationMan::markCurrentFileAllocationEntryDone() to
18057
* src/MultiFileAllocationIterator.cc
18059
Added EINTR handling
18060
* src/SocketCore.cc
18062
2007-11-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18065
* src/version_usage.cc
18067
2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18069
Applied Ross's patch for MinGW port.
18070
* src/DownloadEngine.h
18072
2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18074
Set Content-Type to SingleFileDownloadContext when http response is
18076
* src/HttpResponseCommand.cc
18077
* src/HttpResponse.{h, cc}
18078
* test/HttpResponseTest.cc
18080
2007-11-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18082
Rewritten to add content-type support.
18083
* src/DownloadHandler.{h, cc}
18084
* src/BtPostDownloadHandler.{h, cc}
18085
* test/BtPostDownloadHandlerTest.cc
18086
* src/MetalinkPostDownloadHandler.{h, cc}
18087
* test/MetalinkPostDownloadHandlerTest.cc
18088
* src/PostDownloadHandler.{h, cc}
18089
* src/DownloadHandlerConstants.{h, cc}
18090
* src/RequestGroup.cc
18091
* src/HttpResponseCommand.cc
18092
* src/FtpNegotiationCommand.cc
18093
* src/SingleFileDownloadContext.{h, cc}
18094
* src/RequestGroup.h
18095
* src/RequestGroupCriteria.h
18096
* src/ContentTypeRequestGroupCriteria.h
18098
Added 'mem' option value for --follow-metalink, --follow-torrent.
18099
If it is give, metalink/torrent file is not written to the disk, but
18100
just is kept in memory. Parsing is occurred on memory.
18101
* src/MetalinkHelper.{h, cc}
18102
* src/MetalinkProcessor.h
18103
* src/Xml2MetalinkProcessor.{h, cc}
18104
* test/Xml2MetalinkProcessorTest.cc
18105
* src/DownloadHandlerFactory.{h, cc}
18106
* test/DownloadHandlerFactoryTest.cc
18107
* src/PreDownloadHandler.{h, cc}
18108
* src/OptionHandlerFactory.cc
18109
* src/DefaultBtContext.{h, cc}
18110
* test/DefaultBtContextTest.cc
18111
* src/version_usage.cc
18112
* src/Metalink2RequestGroup.{h, cc}
18113
* src/RequestGroup.{h, cc}
18114
* src/a2functional.h
18115
* test/a2functionalTest.cc
18116
* src/MemoryBufferPreDownloadHandler.{h, cc}
18117
* src/OptionHandlerImpl.h
18122
Keep DownloadResult rather than RequestGroup after downloads to reduce
18124
* src/RequestGroupMan.{h, cc}
18125
* src/DownloadEngine.cc
18126
* src/BtDependency.{h, cc}: Changed the type of dependee from
18127
WeakHandle to SharedHandle because WeakHandle could be null.
18128
* src/RequestGroup.{h, cc}
18129
* src/DownloadEngineFactory.cc
18130
* src/DownloadResult.h
18132
Set totalLength after download finished
18133
* src/UnknownLengthPieceStorage.{h, cc}
18135
Keep torrent file specified in metalink in memory.
18136
* src/Metalink2RequestGroup.cc
18137
* src/BtDependency.cc
18138
* src/TrueRequestGroupCriteria.h
18140
Fixed the bug: seekg is used where seekp should be used.
18141
* src/ByteArrayDiskWriter.cc
18142
* test/ByteArraydiskWriterTest.cc
18144
2007-11-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18147
* test/SequenceTest.cc
18149
2007-11-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18151
Return false if RequestGroup::isPreLocalFileCheckEnabled() == true
18152
* src/RequestGroupMan.cc (isSameFileBeingDownloaded)
18154
Return false if RequestGroup::isPreLocalFileCheckEnabled() == true
18155
* src/RequestGroup.cc (downloadFinishedByFileLength)
18157
2007-11-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18159
Added the check to see whether ares_host_callback accepts timeouts
18160
with c-ares; only c-ares 1.5.0 or newer accepts it.
18161
* src/NameResolver.{h, cc}
18163
* configure.ac: Set C++ for language choice.
18165
2007-11-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18167
Fixed: compilation fails without c-ares/ares
18168
* src/DownloadEngine.cc (addCommand): Moved outside #ifdef
18170
Generate http/ftp commands only when download is incomplete.
18171
* src/BtFileAllocationEntry.cc (prepareForNextAction)
18173
2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18175
Corrected typo. Examples are removed since they are available in man
18177
* src/version_usage.cc
18182
* doc/makeman: Commented out sed command.
18184
2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18186
Throw DlAbortEx when a remote file is not found.
18187
* src/HttpResponse.cc
18188
* src/FtpNegotiationCommand.cc
18191
Overwrite an existing file if --allow-overwrite=true is given.
18192
* src/RequestGroup.cc
18194
Removed unused functions
18195
* src/AbstractCommand.h
18197
2007-11-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18199
Removed 'extern' from 'extern typedef ...' in src/*.h
18201
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18204
* src/version_usage.cc
18206
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18209
* src/DefaultBtContext.cc
18210
* test/ShaVisitorTest.cc
18212
Trim argument s. Give trimed s to exception constructor.
18213
* src/Util.cc (parseInt)(parseLLInt)
18216
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18218
Set precision back to 1.
18219
* src/ConsoleStatCalc.cc (calculateStat)
18221
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18223
Replaced strtol with Util::parseInt
18224
* src/ChunkedEncoding.cc
18225
* src/HttpConnection.cc
18226
* src/CookieBoxFactory.cc
18227
* src/ParameterizedStringParser.cc
18230
* test/OptionHandlerTest.cc
18233
Throw exception when empty string is given. The message for exception
18235
* src/Util.cc (parseInt)(parseLLInt)
18238
2007-11-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18240
Set precision to 2 because share ratio is rounded into 1.0 if precision
18242
* src/ConsoleStatCalc.cc (calculateStat)
18244
2007-11-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18246
Preallocate non-requested file which is adjacent forward to requested
18247
file('requested' files means the files given in --select-file option)
18248
if they share a same piece.
18249
This fixes long pause in the file system which doesn't support sparse
18250
files like FAT32 while downloading.
18251
* src/MultiFileAllocationIterator.{h, cc}
18252
* test/MultiFileAllocationIteratorTest.cc
18253
* src/FileEntry.{h, cc}
18255
Removed unused _option.
18256
* src/MultiDiskAdaptor.h
18257
* test/MultiDiskAdaptorTest.cc
18258
* src/DefaultPieceStorage.cc
18260
Set the default value of --seed-ratio to 1.0.
18261
If 0.0 is given, then seeding continues regardless of share ratio.
18262
* src/version_usage.cc
18263
* src/option_processing.cc
18268
Fixed: Selective download is not working in BitTorrent
18269
* src/RequestGroup.cc
18271
Introduced Sequence class. Use this instead of Util::unfoldRange()
18272
* src/PieceStorage.h
18273
* test/MockPieceStorage.h
18274
* src/UnknownLengthPieceStorage.h
18275
* src/DefaultPieceStorage.{h, cc}
18276
* src/Metalink2RequestGroup.cc
18277
* src/RequestGroup.cc
18279
* test/SequenceTest.cc
18280
* src/IntSequence.h
18285
Added new function 'parse' to catch exception thrown by subclass's
18287
* src/OptionHandler.h
18288
* src/OptionParser.cc
18289
* src/NameMatchOptionHandler.h
18290
* src/OptionHandlerImpl.h
18291
* test/OptionHandlerTest.cc
18293
Added IntegerRangeOptionHandler. Used for --listen-port and
18294
--select-file. Now --listen-port accepts range of port.
18295
* src/OptionHandlerFactory.cc
18296
* src/version_usage.cc
18297
* src/OptionHandlerImpl.h
18298
* src/option_processing.cc
18300
* src/PeerListenCommand.{h, cc}
18304
Implemented operator< for Exception class to provide easy way to print
18305
exception stack trace.
18306
* src/Exception.{h, cc}
18308
* src/option_processing.cc
18310
2007-11-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18312
* src/version_usage.cc
18313
(showVersion): Reworked.
18314
(showUsage): Added examples.
18316
Removed Hint for total length and file name.
18317
* src/Metalink2RequestGroup.cc
18318
* src/RequestGroup.{h, cc}
18319
* src/HttpResponseCommand.cc
18320
* src/FtpNegotiationCommand.cc
18322
Now --follow-torrent and --follow-metalink option work properly.
18323
* src/RequestGroup.cc
18329
2007-11-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18332
* src/PiecedSegment.{h, cc} (operator==)(operator!=)
18334
Use Segment::operator==()
18335
* src/HttpConnection.cc
18339
* src/version_usage.cc
18341
Added EINTR treatment.
18342
* src/SocketCore.cc
18343
* src/AbstractDiskWriter.cc
18346
* src/Util.cc (rangedFileCopy)
18348
2007-11-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18351
* src/version_usage.cc
18353
2007-11-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18355
Implemented. Now -c option works fine.
18356
* src/DefaultPieceStorage.cc (markPiecesDone)
18357
* test/DefaultPieceStorageTest.cc
18360
* src/SegmentMan.{h, cc}
18361
(markAllPiecesDone)
18364
Synchronized po files with
18365
https://translations.launchpad.net/aria2/trunk/+pots/aria2c
18371
2007-11-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18373
Added ifdef and some modifications to compile without BitTorrent,
18374
Metalink, MessageDigest
18376
* src/PieceHashCheckIntegrityEntry.cc
18377
* src/MetalinkEntry.h
18378
* src/version_usage.cc
18380
* src/DownloadEngine.{h, cc}
18381
* src/Metalink2RequestGroup.cc
18383
* src/RequestGroup.cc
18384
* src/MetalinkHelper.cc
18385
* test/DefaultPieceStorageTest.cc
18386
* test/MetalinkPostDownloadHandlerTest.cc
18387
* test/Metalink2RequestGroupTest.cc
18389
Hide TOTAL SPD when all downloads complete.
18390
* src/ConsoleStatCalc.cc
18392
Log target system information.
18395
2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18397
Now --metalink-location accepts a comma-deliminated list of locations.
18398
* src/MetalinkEntry.{h, cc}
18399
* test/MetalinkEntryTest.cc
18400
* src/version_usage.cc
18401
* src/Metalink2RequestGroup.cc
18402
* src/Xml2MetalinkProcessor.cc
18403
* test/Xml2MetalinkProcessorTest.cc
18407
* src/Util.cc (toUpper)(toLower): Rewritten.
18409
2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18411
Added the ability to detect duplicate download entry which is about to
18412
download the same file other RequestGroup is downloading.
18413
* src/RequestGroup.cc
18414
* src/HttpResponseCommand.cc
18415
* src/FtpNegotiationCommand.cc
18417
2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18419
Recalculates download progress when loading a control file,
18420
if the piece length of DownloadContext is different from the one saved
18421
in the control file. Currently in-flight pieces are ignored.
18422
* src/DefaultBtProgressInfoFile.cc
18423
* test/DefaultBtProgressInfoFileTest.cc
18427
2007-11-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18429
Do not rotate tiers in announce-list.
18430
* src/DefaultBtAnnounce.{h, cc}: Removed trackerNumTry.
18431
AnnounceList::allTiersFailed() used instead to detect whether all
18432
tiers are tried and failed.
18433
* test/DefaultBtAnnounceTest.cc
18434
* src/AnnounceList.{h, cc}: If all tiers are tried and failed then
18435
allTiersFailed() returns true. To reset tier pointer, call resetTier();
18436
* test/AnnounceListTest.cc
18437
* src/TrackerWatcherCommand.cc (execute): Removed DlAbortEx catch
18438
clause. Catch RecoverableException instead of DlRetryEx instead.
18440
2007-11-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18442
Implemented checksum validation feature(1 checksum for each file)
18443
The validation takes place after the download.
18444
* src/PieceHashCheckIntegrityEntry.{h, cc}: New class.
18445
* src/IteratableChecksumValidator.{h, cc}: Rewritten.
18446
* src/CheckIntegrityCommand.cc: Changed log message.
18447
* src/Metalink2RequestGroup.cc: Set checksum to
18448
SingleFileDownloadContext.
18449
* src/StreamCheckIntegrityEntry.{h, cc}: Now derived from
18450
PieceHashCheckIntegrity class.
18451
* src/BtCheckIntegrityEntry.{h, cc}: Now derived from
18452
PieceHashCheckIntegrity class.
18453
* src/ChecksumCheckIntegrityEntry.{h, cc}: New class.
18454
* src/IteratableValidator.h: New class.
18456
* src/CheckIntegrityEntry.{h, cc}
18457
* src/IteratableChunkChecksumValidator.{h, cc}
18458
* src/SingleFileDownloadContext.h
18459
* src/DownloadCommand.cc
18461
--allow-overwrite=true is no longer needed to check file integrity
18462
before download in BitTorrent download.
18463
* src/RequestGroup.cc (getInitialCommand)
18465
Removed RequestGroup from queue when RequestGroup::getInitialCommand()
18467
* src/RequestGroupMan.cc (getInitialCommands)
18469
2007-11-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18471
urlencode the given url inside Request::parseUrl(...)
18472
* src/Request.{h, cc}
18474
* test/RequestTest.cc
18476
Removed #!metalink3! notation support because it is deleted from
18477
the metalink specification.
18478
* src/Request.{h, cc}
18479
* test/RequestTest.cc
18481
2007-11-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18483
Don't connect server before checking file integrity at startup, if
18484
filesize and output file path are known.
18485
* src/AbstractCommand.cc
18486
* src/StreamFileAllocationEntry.cc
18487
* src/Metalink2RequestGroup.cc
18488
* src/RequestGroup.{h, cc}
18489
* src/HttpResponseCommand.cc
18490
* src/FtpNegotiationCommand.cc
18492
Added DownloadFailureException. If it is thrown, RequestGroup should
18494
* src/AbstractCommand.cc
18495
* src/DownloadFailureException.h
18496
* src/RequestGroup.cc
18498
Catch RecoverableException, instead of DlAbortEx.
18499
* src/RequestGroupMan.cc
18500
* src/FillRequestGroupCommand.cc
18501
* src/MetaFileUtil.cc
18502
* src/IteratableChunkChecksumValidator.cc
18504
Now first parameter of MSG_DOWNLOAD_ABORTED is gid(RequestGroup::
18506
* src/CheckIntegrityCommand.cc
18509
Print gid instead of idx.
18510
* src/RequestGroupMan.cc
18512
Removed exception throwers declaration.
18513
* src/DirectDiskAdaptor.{h, cc}
18514
* src/SocketCore.{h, cc}
18515
* src/MultiDiskAdaptor.{h, cc}
18516
* src/HttpConnection.{h, cc}
18517
* src/HttpResponse.{h, cc}
18518
* src/DiskAdaptor.{h, cc}
18519
* src/CopyDiskAdaptor.{h, cc}
18520
* src/MultiDiskAdaptor.{h, cc}
18521
* src/HttpHeaderProcessor.{h, cc}
18522
* src/AbstractSingleDiskAdaptor.{h, cc}
18525
* src/DefaultDiskWriter.{h, cc}
18526
* src/FtpConnection.{h, cc}
18527
* src/AbstractDiskWriter.{h, cc}
18529
Removed duplicate code.
18530
* src/StreamCheckIntegrityEntry.cc
18532
Removed unnecessary include.
18535
Included Exception.h
18536
* src/option_processing.cc
18538
Included 2 files and added doc
18539
* src/TrackerWatcherCommand.cc
18541
* src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
18543
2007-11-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18545
Changed CheckIntegrityEntry interface so that it can define
18546
the action when all the chunk checksums are valid.
18547
* src/CheckIntegrityEntry.h
18548
* src/StreamCheckIntegrityEntry.{h, cc}
18549
* src/BtCheckIntegrityEntry.{h, cc}: Currently,when all the checksums
18550
are valid, then aira2 goes to seeding mode. Sometimes it is better
18551
to exit rather than doing seeding. So, it would be good to toggle this
18553
* src/CheckIntegrityCommand.cc
18554
* src/AbstractCommand.cc
18555
* src/RequestGroup.cc
18557
2007-11-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18559
Reflect the download length of in-flight pieces.
18560
It makes the download length readout more precise.
18561
* src/DefaultPieceStorage.{h, cc}
18562
* test/DefaultPieceStorageTest.cc
18563
* src/a2functional.h
18564
* test/a2functionalTest.cc
18566
Lower CPU load when --max-download-limit is used.
18567
There is up and down in speed indicator when enabling
18568
http-pipelining but a download goes well. I think the problem is that
18569
because http-pipelining is enabled, DownloadCommand is created for
18570
each segment and in its constructor, PeerStat::downloadStart() is
18571
called. In PeerStat::downloadStart(), speed calculation object is
18572
reseted, which makes download speed zero.
18573
* src/DownloadCommand.cc
18575
Rewritten using accumulate.
18576
* src/RequestGroupMan.cc (calculateStat)
18579
* src/FtpNegotiationCommand.cc
18580
* src/HttpResponseCommand.cc
18582
2007-11-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18584
Fixed: Can not resume: aria2 reports download already finished.
18585
* src/AbstractCommand.{h, cc}
18586
* src/HttpResponseCommand.cc
18587
* src/FtpNegotiateCommand.cc
18589
2007-11-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18591
Now a file is stored in the directory specified in .metalnk file
18593
* src/Metalink2RequestGroup.cc
18595
Create the directory structure when opening the file if it doesn't
18597
* src/AbstractDiskWriter.cc
18602
Removed file name comparison
18603
* src/Metalink2RequestGroup.cc
18604
* src/HttpResponseCommand.cc
18606
Rewritten using Util::mkdirs()
18607
* src/FileEntry.cc (setupDir)
18608
* test/FileEntryTest.cc
18611
* src/SingleFileDownloadContext.h
18613
2007-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18615
Now SleepCommand dispatches nextCommand when halt is requested.
18616
It avoids a possible long wait after hitting CTRL-C.
18617
* src/SleepCommand.{h, cc}
18618
* src/RequestGroupAware.{h, cc}
18620
2007-11-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18622
Fixed: the listen port sent to the tracker is wrong. If aria2 fails
18623
to open listen port, then remove the port number from the tracker
18625
* src/DefaultBtAnnounce.cc
18626
* test/DefaultBtAnnounceTest.cc
18627
* test/MockPieceStorage.h
18629
Inject randomizer to DefaultBtAnnounce and DefaultBtContext to make
18630
them more testable.
18631
* src/DefaultBtAnnounce.{h, cc}
18632
* src/DefaultBtContext.{h, cc}
18634
* test/DefaultBtAnnounceTest.cc
18635
* test/DefaultBtContextTest.cc
18638
Added 'B' to upload bytes readout.
18639
* src/ConsoleStatCalc.cc
18641
Now the listen port for BitTorrent download is opened when it is
18643
* src/DownloadEngineFactory.cc
18644
* src/BtSetup.{h, cc}
18645
* src/PeerListenCommand.{h, cc}
18647
Now an exception thrown while parsing tracker response is now logged.
18648
If DlAbortEx is catched, then btAnnounce->resetAnnounce() immediately
18649
called, which means no retry is made in this case, assuming a tracker
18651
* src/TrackerWatcherCommand.cc
18653
Fixed: downloading a file whose length is unkown fails.
18654
* src/DownloadCommand.cc
18656
Simplified prepareForNextSegment()
18657
* src/DownloadCommand.cc
18662
2007-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18664
Re-implemented a file listing for Metalink, which was dropped while
18665
http/ftp/torrent integration was being implemented.
18666
* src/MetalinkHelper.{h, cc}: New class.
18667
* test/MetalinkHelperTest.cc
18669
* src/Metalink2RequestGroup.cc
18671
2007-11-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18673
Added the ability to display the detailed torrent file information.
18674
Now -S option gives not only a file listing, but also total download
18675
length, info hash, announce URI, piece length, the number of pieces,
18676
and mode(single or multi-torrent).
18677
* src/DefaultBtContext.{h, cc} (operator<<): New function.
18678
* src/Util.cc (toStream): Show file length in a abbreviated form(like
18683
2007-10-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18685
Added ftp://USER:PASSWD@Servername automatic parsing.
18686
* src/Request.{h, cc}: Removed AuthResolvers. Added _username and
18687
_password. Recognize username and password in URI.
18688
* src/main.cc: Use AuthConfigFactory instead of RequestFactory.
18689
* src/RequestGroup.cc: Use AuthConfigFactory instead of RequestFactory.
18690
* src/RequestFactory.{h, cc}: Removed.
18691
* src/AuthConfigFactory.{h, cc}: New class.
18692
* src/FtpConnection.cc: Use AuthConfigFactory.
18693
* src/HttpRequest.cc: Use AuthConfigFactory.
18694
* test/HttpRequestTest.cc: Updated.
18695
* test/RequestTest.cc: Updated.
18696
* test/AuthConfigFactoryTest.cc: New class.
18697
* test/RequestFactoryTest.cc: Removed.
18699
2007-10-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18701
Use RequestGroup::allDownloadFinished() to decide whether the control
18702
file should be removed or saved.
18703
* src/RequestGroup.{h, cc} (allDownloadFinished): New function.
18704
* src/RequestGroupMan.cc (removeStoppedGroup) (save)
18706
2007-10-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18708
Use File::renameTo()
18709
* src/DefaultBtProgressInfoFile.cc
18711
Added --no-file-allocation-limit command-line option.
18712
* src/version_usage.cc
18713
* src/option_processing.cc
18714
* src/OptionHandlerFactory.cc
18715
* src/RequestGroup.{h, cc}
18716
* src/BtCheckIntegrityEntry.cc
18717
* src/StreamCheckIntegrityEntry.cc
18722
Now prealloc is the default value for --file-allocation option.
18723
* src/version_usage.cc
18724
* src/option_processing.cc
18728
Don't URL-encode user-agent.
18729
* src/HttpRequest.cc
18731
Updated translations
18732
* po/LINGUAS: Added nl for Dutch translation.
18733
* po/nl.po: Added Dutch translation, thanks to A. Bram Neijt.
18734
* po/de.po: Updated German translation, thanks to Patrick Ruckstuhl.
18735
* po/POTFILES.in: Updated.
18737
2007-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18739
Added the ability to recognize url-list in a torrent file.
18740
The retrieved URLs are attached to the corresponding FileEntry.
18741
* src/DefaultBtContext.{h, cc}
18742
* src/FileEntry.{h, cc}
18743
* test/DefaultBtContextTest.cc
18745
2007-10-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18747
* src/ConsoleStatCalc.cc: Let the user know that aria2 is now seeding
18748
after the download finishes.
18750
2007-10-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18752
* src/Piece.{h, cc}: Added SubPiece infrastructure to track down
18753
the data smaller than block length.
18754
A block length can be specified by constructor's argument.
18755
* src/DefaultPieceStorage.{h, cc} (getMissingPiece):
18756
Get a missing piece in the range of given FileEntry. This function is
18757
not used in the program yet.
18758
* src/Util.h: Added some macros.
18760
2007-10-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18762
Added HTTP/1.1 keep alive and pipelining support.
18763
See --enable-http-keep-alive and --enable-http-pipelining option.
18764
* src/AbstractCommand.{h, cc}: Now it has one-to-many relation to
18766
* src/HttpDownloadCommand.{h, cc}
18767
* src/OptionHandlerFactory.cc
18768
* src/HttpConnection.{h, cc}
18769
* src/version_usage.cc
18770
* src/HttpInitiateConnectionCommand.cc
18771
* src/FtpInitiateConnectionCommand.cc
18773
* src/HttpRequestCommand.{h, cc}
18774
* src/option_processing.cc
18776
* src/HttpResponseCommand.cc
18777
* src/SegmentMan.{h, cc}
18778
* src/FtpNegotiateCommand.cc
18779
* src/HttpProxyResponseCommand.cc
18781
* src/HttpRequest.cc
18782
* src/DownloadCommand.cc
18783
* test/HttpRequestTest.cc
18784
* test/RequestTest.cc
18786
2007-10-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18788
* src/ConsoleCalc.cc (calculateStat): Hide SPD after the download
18791
2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18793
* src/Metalink2RequestGroup.cc (generate): Throw exception instead of
18794
catching it inside the method.
18795
When no file entry is found in a metalink without querying user
18796
preferences, throw the exception with the error message that suggests
18797
metalink file is probably broken.
18798
* src/RequestGroup.cc (postDownloadProcessing): Catch exception here.
18800
2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18802
Fixed the bug that prevents remote Metalink/Torrent file from begin
18804
* src/RequestGroupMan.cc (removeStoppedGroup)
18806
Added debug message.
18807
* src/BtPostDownloadHandler.cc
18808
* src/MetalinkPostDownloadHandler.cc
18809
* src/PostDownloadHandler.{h, cc}
18810
* src/RequestGroup.cc
18812
2007-10-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18814
* src/Request.cc (parseUrl): Removed unnecessary slashes around dir.
18816
2007-10-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18818
* src/MultiUrlRequestInfo.h: Updated the message shown when program
18819
stops and there are any unfinished or in-progress downloads.
18820
Added the legend of "stat".
18822
2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18824
Throw exception when chunck checksum verification fails.
18825
* src/DownloadCommand.cc (validatePieceHash): New function.
18826
* src/PiecedSegment.{h, cc} (clear): New function.
18827
* src/GrowSegment.{h, cc} (clear): New function.
18828
* src/Segment.h (clear): New function.
18829
* src/SegmentMan.{h, cc} (validatePieceHash): Removed.
18830
* test/SegmentTest.cc
18831
* test/GrowSegmentTest.cc
18833
2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18835
Do not send referer when redirected.
18836
* src/Request.cc (redirectUrl)
18837
* test/RequestTest.cc
18838
* test/HttpRequestTest.cc
18840
2007-10-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18842
Implemented BitTorrent/http/ftp integrated download.
18843
I've rewritten lots of files and now some headers have forward
18844
class declarations to reduce compile time.
18845
The implementation is extremely alpha stage, I recommend to use this
18846
for testing purpose only.
18848
2007-09-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18850
Fixed the compilation error on 64bit platform.
18851
* test/HttpHeaderProcessorTest.cc
18853
2007-09-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18855
Merged Ross's patch that fixes compilation problem in MinGW
18856
* test/DefaultBtProgressInfoFileTest.cc
18858
2007-09-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18860
Updated fr.po by sebone
18868
2007-09-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18870
* src/MetalinkRequestInfo.cc (execute): Fixed BitTorrent download
18871
failure in Metalink.
18873
2007-09-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18875
Automatically save *.aria2 control file of http/ftp download in every
18877
* src/AutoSaveCommand.{h, cc}: New class.
18878
* src/TimeBasedCommand.{h, cc}: New class.
18879
* src/DownloadEngineFactory.cc (newConsoleEngine)
18881
Disable parameterized URI support by default. Added -P option to
18882
enable the feature.
18883
* src/prefs.h: Added PREF_PARAMETERIZED_URI
18884
* src/OptionHandlerFactory.cc
18885
* src/main.cc: Also updated usages for -Z and --auto-file-renaming
18887
Updated Japanese translation.
18893
* Release 0.11.3-rc
18895
2007-09-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18897
Now *.aria2 contorol file is first saved to *.aria2__temp and if
18898
it is successful, then renamed to *.aria2.
18899
This prevents *.aria2 file from being truncated or corrupted when
18900
file system becomes out of space.
18901
* src/DefaultBtProgressInfoFile.cc (save)
18902
* src/SegmentMan.cc (save)
18903
* test/DefaultBtProgressInfoFileTest.cc (testSave): Implemented.
18905
2007-09-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18907
Reduced the fragmentation of bitfield in http/ftp download.
18908
* src/BitfieldMan.cc (getSparseMissingUnusedIndex)
18909
* test/BitfieldManTest.cc
18911
2007-08-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18913
Added the ability to disable segmented download in .metalink.
18914
aria2 can now recognize 'maxconnections' attribute in 'resources' and
18916
* src/MetalinkEntry.{h, cc}
18917
* src/RequestResource.{h, cc}
18918
* src/MetalinkRequestInfo.cc
18919
* src/Xml2MetalinkProcessor.cc
18920
* test/Xml2MetalinkProcessorTest.cc
18922
2007-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18924
Added parameterized URI support.
18925
* src/main.cc: -Z option added.
18926
* src/OptionHandlerFactory.cc
18927
* src/prefs.h: Added PREF_FORCE_SEQUENTIAL.
18928
* src/PStringDatum.h: New class.
18929
* src/PStringSegment.{h,cc}: New class.
18930
* src/PStringNumLoop.h: New class.
18931
* src/PStringSelect.h: New class.
18932
* src/NumberDecorator.h: New class.
18933
* src/FixedWidthNumberDecorator.h: New class.
18934
* src/AlphaNumberDecorator.h: New class.
18935
* src/PStringVisitor.h: New class.
18936
* src/PStringBuildVisitor.{h,cc}: New class.
18937
* src/ParameterizedStringParser.{h,cc}: New class.
18939
(isNumber): New function.
18940
(isLowercase): New function.
18941
(isUppercase): New function.
18942
(alphaToNum): New function.
18943
* test/ParameterizedStringParserTest.cc: New class.
18944
* test/AlphaNumberDecoratorTest.cc: New class.
18945
* test/PStringBuildVisitorTest.cc: New class.
18947
(testIsNumber): New function.
18948
(testIsLowercase): New function.
18949
(testIsUppercase): New function.
18950
(testAlphaToNum): New function.
18952
Added '\n' after the error message
18953
* src/RequestInfo.h (printDownloadAbortMessage)
18955
Added auto file renaming feature in http(s)/ftp download.
18956
* src/main.cc: Added --auto-file-renaming command-line option.
18957
* src/OptionHandlerFactory.cc
18958
* src/prefs.h: Added PREF_AUTO_FILE_RENAMING
18959
* src/RequestGroup.{h, cc}
18960
(shouldCancelDownloadForSafety): Rewritten
18961
(tryAutoFileRenaming): New function.
18962
* src/SegmentMan.{h, cc} (shouldCancelDownloadForSafety): Removed.
18963
* src/HttpResponseCommand.cc
18964
(executeInternal): Removed the call to RequestGroupMan::
18965
isSameFileBeingDownloaded()
18966
* src/FtpNegotiateCommand.cc
18967
(recvSize): Removed the call to RequestGroupMan::
18968
isSameFileBeingDownloaded()
18969
* test/RequestGroupTest.cc: New class.
18971
2007-08-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18973
Merged Ross's patch: Removed setmode(). Use _CRT_fmode to enable binary
18975
* src/DefaultBtProgressInfoFile.cc
18976
* src/MetaFileUtil.cc
18977
* src/SimpleLogger.cc
18978
* src/SegmentMan.cc
18982
2007-08-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18984
* src/Xml2MetalinkProcessor.cc (getPieceHash): Added missing .c_str().
18986
2007-08-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
18988
Avoid sparse files if possible, because VFAT32 doesn't support it.
18989
* src/DefaultDiskWriter.cc (initAndOpenFile)
18991
Fixed the bug that prevents file allocation is not done when
18992
dowloading multi-torrent file.
18993
* src/AbstractDiskWriter.cc (openFile)
18995
Increase the maximum number of -j option from 15 to 45.
18996
* src/OptionHandlerFactory.cc (createOptionHandlers)
18998
Added fr.po, thanks to Charles Landemaine.
19003
2007-08-10 Ross Smith II <aria2spam at smithii dot com>
19006
* src/DefaultBtContext.cc: int32_t -> int
19007
* src/main.cc: int -> int32_t, int32_t -> int
19008
* src/messageDigest.h: uint32_t -> unsigned int
19009
* src/NameResolver.h: int32_t -> int
19010
* src/PeerConnection.cc: int -> int32_t
19011
* src/SpeedCalc.cc: int32_t -> int
19012
* src/TrackerUpdateCommand.h: int -> int32_t
19013
* src/Util.cc: int32_t -> int
19014
* src/Util.h: int32_t -> int
19015
* src/Xml2MetalinkProcessor.cc: int -> uint32_t, int64_t -> uint64_t
19016
* test/AnnounceListTest.cc: int -> int32_t
19017
* test/ChunkedEncodingTest.cc: int -> int32_t
19018
* test/DataTest.cc: int -> int32_t
19019
* test/DefaultBtRequestFactoryTest.cc: int -> int32_t
19020
* test/DefaultPeerListProcessorTest.cc: int -> int32_t
19021
* test/DefaultPieceStorageTest.cc: int -> int32_t
19022
* test/FeatureConfigTest.cc: int -> int32_t
19023
* test/MetalinkEntryTest.cc: int -> int32_t
19024
* test/MockBtRequestFactory.h: int -> int32_t
19025
* test/MockPieceStorage.h: int -> int32_t
19026
* test/OptionTest.cc: int -> int32_t
19027
* test/RequestTest.cc: int -> int32_t
19028
* test/SegmentManTest.cc: int -> int32_t
19029
* test/Xml2MetalinkProcessorTest.cc: int -> int32_t
19031
2007-08-10 Ross Smith II <aria2spam at smithii dot com>
19033
Move sleep functions to Util class:
19035
(sleep): New function.
19036
(usleep): New function.
19037
* src/DownloadCommand.cc: sleep -> Util::sleep
19038
* test/TimeSeedCriteriaTest.cc: sleep -> Util::sleep
19040
MinGW build enhancements. The following files are added:
19043
Changes to support the above new files:
19048
* src/strptime.c: Added support for %Z option.
19050
Fixed MinGW non-blocking bug.
19051
* src/SocketCore.cc
19052
* src/HttpRequestCommand.cc
19054
Miscellenous build fixes/enhancements.
19055
* configure.ac: Added summary report.
19056
* src/Platform.h: Tweaked #include's.
19057
* src/a2netcompat.h: Tweaked #include's.
19058
* src/strptime.h: Tweaked #include's.
19059
* src/gai_strerror.c: Tweaked #include's.
19060
* src/gai_strerror.h: _D_GETADDRINFO_H -> _D_GAI_STRERROR_H
19061
* src/getaddrinfo.h: Moved #ifndef __MINGW32__
19062
* src/gettimeofday.h: Added HAVE_CONFIG_H
19064
2007-08-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19066
Increased the initial connection size in BitTorrent download to 40.
19069
Added the usage message of --peer-id-prefix option.
19074
2007-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19076
MessageDigestHelper is introduced in order to simplify the use
19077
of message digest. Removed repeated code.
19078
The message digest algorithm is now specified by string, like "sha1",
19080
* src/messageDigest.{h, cc}
19081
* src/MessageDigestHelper.{h, cc}: New class.
19082
* src/DefaultPieceStorage.cc
19083
* src/DefaultBtContext.{h, cc}
19084
(computeFastSet): New function.
19085
(setInfoHash): Added for unit testing.
19086
(setNumPieces): Added for unit testing.
19087
* src/DefaultBtInteractive.cc
19088
* src/BtPieceMessage.cc
19092
* src/IteratableChecksumValidator.h
19093
* src/ChunkChecksumValidator.{h, cc}: Use IteratableChecksumValidator
19095
* src/SegmentMan.{h, cc}
19096
(checkIntegrity): Removed.
19097
* src/IteratableChunkChecksumValidator.{h, cc}
19099
(sha1Sum): Removed.
19100
(simpleMessageDigest): Removed.
19101
(fileChecksum): Removed.
19102
(computeFastSet): Removed.
19103
* src/ShaVisitor.cc
19104
* src/ChunkChecksum.h
19105
* src/DownloadCommand.cc
19107
Removed messageDigest virtual functions.
19108
* src/MultiDiskAdaptor.{h, cc}
19109
* src/DiskAdaptor.h
19110
* src/ByteArrayDiskWriter.h
19112
* src/DiskAdaptorWriter.h
19113
* src/AbstractSingleDiskAdaptor.{h, cc}
19114
* src/AbstractDiskWriter.{h, cc}
19116
Fixed comilation error when message digest is disabled.
19117
* src/MetalinkEntry.{h, cc}
19118
* src/MetalinkRequestInfo.cc
19120
Removed srandom and random.
19121
* src/SimpleRandomizer.h
19123
Added size() virtual function to DiskAdaptor
19124
* src/MultiDiskAdaptor.h
19126
Fixed the bug that causes that files are not opened correctly in
19127
multi-file torrent.
19128
* src/TorrentRequestInfo.cc
19129
* src/MultiDiskAdaptor.cc
19131
Added SHA256 support
19132
* src/messageDigest.cc
19133
* src/Xml2MetalinkProcessor.cc
19135
Show supported message digest algorithms
19138
Updated contact info.
19141
Applied Ross's patch
19142
* src/a2netcompat.h
19145
Fixed the bug that prevents a remote metalink from not being processed
19146
even if '-o foo.metalink' is specified.
19147
* src/MetalinkRequestInfo.cc
19149
2007-08-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19151
Merged Dan's patch:
19152
* src/ByteArrayDiskWriter.cc: ios_base -> ios
19154
Use va_copy to avoid core dump on amd64:
19155
* src/SimpleLogger.cc
19157
Updated contact info.
19160
Added #ifdef ENABLE_MESSAGE_DIGEST to fix test errors when message
19161
digest is not available.
19162
* src/MetalinkEntry.h
19164
2007-08-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19166
Make a2netcompat.h include a2io.h to fix compilation error:
19167
* src/a2netcompat.h
19168
* src/SocketCore.cc: Removed include of a2io.h
19169
* src/Util.cc: Removed include of a2io.h
19171
Gather time related functions to a2time.h:
19172
* src/a2time.h: New file.
19173
* src/DefaultPeerStorage.cc
19174
* src/SimpleLogger.cc
19176
* src/SimpleRandomizer.h
19177
* src/TimeA2.{h,cc}
19178
* src/DownloadCommand.cc
19181
Removed #ifdef __MINGW32__ since gai_strerror is included in
19183
* src/NameResolver.cc
19185
Fixed compilation error without openssl:
19186
* src/SocketCore.{h,cc}: Moved include of openssl/err.h to SocketCore.h
19188
Added default block to suppress compiler warnings:
19189
* src/MetalinkRequestInfo.cc (AccumulateNonP2PUrl::operator())
19191
2007-07-26 Ross Smith II <aria2spam at smithii dot com>
19193
MinGW build enhancements. The following files are added:
19194
* src/gai_strerror.{c,h}
19195
* src/gettimeofday.{c,h}
19197
Changes to support the above new files:
19200
* src/a2netcompat.h
19202
* src/DefaultPeerStorage.cc
19203
* src/NameResolver.cc: removed mingw_strerror() function.
19204
* src/SocketCore.cc: removed mingw_strerror() function.
19206
Miscellaneous MinGW build fixes.
19207
* src/a2io.h: Use _lseeki64() instead of lseek()
19209
* src/DefaultFileAllocator.cc
19210
* src/GlowFileAllocator.cc
19211
* src/main.cc: Moved #include "prefs.h" to quiet compile error.
19212
* src/NameResolver.cc
19213
(callback): Changed int32_t to int.
19214
(resolve): Changed int32_t to int.
19217
* test/MultiDiskWriterTest.cc
19218
* test/PeerMessageUtilTest.cc
19219
* src/localtime_r.c: Add DeleteCriticalSection() and at exit().
19221
Other enhancements and fixes.
19222
* src/HttpRequestCommand.cc
19223
(executeInternal) Use non-blocking socket for HTTPS (MinGW only).
19224
* src/SocketCore.cc:
19225
(error): New function to abstract errno/WSAGetLastError().
19226
(errorMsg): New function to abstract errno/WSAGetLastError().
19227
(initiateSecureConnection): Added more detailed error reporting.
19228
* src/SocketCore.h: Added private variable blocking, to allow
19229
proper handling of OpenSSL psuedo-errors.
19231
(EX_SSL_INIT_FAILURE)
19233
(EX_SSL_PROTOCOL_ERROR)
19234
(EX_SSL_UNKNOWN_ERROR)
19235
(EX_SSL_CONNECT_ERROR)
19236
(EX_SOCKET_BLOCKING)
19237
(EX_SOCKET_NONBLOCKING)
19238
(EX_SOCKET_UNKNOWN_ERROR)
19240
(setGlobalSignalHandler): Renamed signal to sig as signal is a
19242
(httpGMT): Fixed typo.
19244
2007-07-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19246
Merged Ross's win32 patch(manually)
19247
In the course of merging, following files are added.
19248
* src/strptime.{h,c}
19250
* src/inet_aton.{h,c}
19251
* src/Platform.{h,cc}
19252
* src/localtime_r.{h,c}
19253
* src/getaddrinfo.{h,c}
19254
I've gethered network related things, and put them to following file:
19255
* src/a2netcompat.h
19256
Also io related things are put to following file:
19259
Changed %lld to %s because mingw32 doesn't recognize %lld.
19261
(MSG_ALLOCATION_COMPLETED)
19262
(EX_TOO_LARGE_FILE)
19264
(EX_FILE_OFFSET_OUT_OF_RANGE)
19265
(EX_INVALID_CHUNK_CHECKSUM)
19266
(EX_INVALID_RANGE_HEADER)
19267
* src/FileAllocationCommand.cc
19268
* src/HttpResponse.cc
19269
* src/RequestGroup.cc
19270
* src/MultiDiskAdaptor.cc
19271
* src/OptionHandlerImpl.h
19272
* src/HttpResponseCommand.cc
19273
* src/FtpNegotiateCommand.cc
19274
* src/IteratableChecksumValidator.cc
19275
* src/SegmentMan.cc
19276
* src/ChunkChecksumValidator.cc
19278
Added Randomizer::getRandomNumber(long int)
19279
* src/Randomizer.h (getRandomNumber)
19280
* src/SimpleRandomizer.h (getRandomNumber)
19281
* src/BitfieldMan.cc (getMissingIndexRandomly): Use this new function.
19282
* src/Util.cc (randomAlpha): Use this new function.
19284
2007-07-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19286
Converted int's to in32_t. long long int's are also converted to
19289
2007-07-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19291
Fixed the bug that prevents cookies from being sent to the server
19292
if the domain of cookie is FQDN and starts with ".".
19293
* src/Cookie.cc (match)
19295
To add the ability to change peer id.
19296
* src/DefaultBtContext.h
19297
(_peerIdPrefix): New variable
19298
(setPeerIdPrefix): New function.
19299
* src/torrentRequestInfo.cc
19300
(execute): Set the option value of PREF_PEER_ID_PREFIX to
19302
* src/main.cc (main): Added peer-id-prefix command-line option.
19303
The usage message is not added yet.
19304
* src/DefaultBtContext.cc
19305
(generatePeerId): Use _peerIdPrefix.
19306
* src/prefs.h (PREF_PEER_ID_PREFIX): New definition.
19308
2007-07-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19310
Fixed the bug that prevents filename in content-disposition from
19311
being retrieved when filename is not quoted.
19312
* src/Util.cc (getContentDispositionFilename)
19314
Fixed the bug that causes infinate loop and memory leak when file open
19316
* src/HttpResponseCommand.cc (handleDefaultEncoding)
19318
2007-07-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19320
Fixed the bug that causes segfault when all URIs specified are
19322
* src/RequestGroupMan.cc (getInitialCommands)
19323
Check if RequestGroup::createNextCommand() returns empty list of
19325
* src/RequestGroup.cc (createNextCommand)
19326
Change log level from info to error so that users can notice that
19329
Fixed the bug that causes segfault when a zero-sized file is
19331
* src/BitfieldMan.cc (isAllBitSet)
19332
Return true if bitfieldLength is 0.
19334
2007-07-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19337
(showUsage): Added 3 usage examples for metalink download.
19339
Replace MetalinkChunkChecksum with ChunkChecksum.
19340
* src/MetalinkChunkChecksum.h: Removed.
19341
* src/MetalinkEntry.h: MetalinkChunkChecksum -> ChunkChecksum.
19342
* src/Xml2MetalinkProcessor.h: MetalinkChunkChecksum -> ChunkChecksum.
19343
* src/Xml2MetalinkProcessor.cc
19344
(getPieceHash): Use ChunkChecksum instead of MetalinkChunkChecksum.
19345
* src/MetalinkRequestInfo.cc (execute)
19349
2007-07-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19351
Reads URIs from stdin when "-i -" is specified.
19352
* src/UriFileListParser.h, src/UriFileListParser.cc: Removed.
19353
* src/UriListParser.h, src/UriListParser.cc: New class.
19354
* src/StreamUriListParser.h: New class.
19355
* src/FileUriListParser.h: New class.
19356
* src/main.cc (main): Use StreamUriListParser and FileUriListParser
19357
instead of UriFileListParser.
19359
2007-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19361
Made console readout more readable.
19362
* src/ConsoleDownloadEngine.cc (sendStatistics)
19364
2007-07-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19366
Fix the bug that causes -s option not to work.
19367
* src/main.cc (main)
19368
* src/a2algo.h: New file.
19370
2007-07-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19372
Create directory structure specified in metalink file.
19373
* src/RequestGroup.h, src/RequestGroup.cc
19374
(initAndOpenFile): Create a directory to store files if it does not
19376
(getDir): New function.
19378
Added ETA and download speed for an individual file to readout.
19379
* src/ConsoleDownloadEngine.cc (sendStatistics)
19380
* src/RequestGroup.h
19381
(calculateDownloadSpeed): New function.
19383
2007-06-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19385
Made -S option work with metalink file and provided selective download
19387
* src/MetalinkEntry.h, src/MetalinkEntry.cc
19388
(filename): Removed.
19389
(file): New variable.
19391
(operator=): Updated.
19392
(getPath): New function.
19393
(getLength): New function.
19394
(toFileEntry): New function.
19395
* src/TorrentRequestInfo.h, src/TorrentRequestInfo.cc
19396
(execute): Use toStream.
19397
(showFileEntry): Removed.
19398
* src/MetalinkRequestInfo.h
19399
(targetFiles): New variable.
19400
(setTargetFiles): New variable.
19401
* src/MetalinkRequestInfo.cc
19402
(execute): Added the ability to print file information included in
19404
Added selective download mode to metalink.
19406
(showUsage): Updated to denote that -S and --select-file options are
19407
applicable to metalink.
19409
(operator=): New function.
19410
(getBasename): New function.
19411
(getDirname): New function.
19412
* src/Util.h, src/Util.cc
19413
(toStream): New function.
19414
* src/Xml2MetalinkProcessor.cc: Updated.
19416
Made aria2 work with metalink with directory structure.
19417
* src/File.h, src/File.cc
19418
(getBasename): New function.
19419
(getDirname): New function.
19420
* src/RequestGroup.h, src/RequestGroup.cc
19421
(_topDir): New variable.
19422
(setTopDir): New function.
19423
(initSegmentMan): A directory structure is added to _segmentMan->dir.
19425
Rewrote HTTP header parsing with stringstream.
19426
* src/HttpConnection.h, src/HttpConnection.cc
19427
(HttpRequestEntry): New class.
19428
(headerBuf): Removed.
19429
(headerBufLength): Removed.
19430
(outstandingHttpRequests): Now its element type is
19431
HttpRequestEntryHandle.
19432
(findEndOfHeader): Removed.
19433
(receiveResponse): Rewritten.
19434
* src/HttpHeaderProcessor.h, src/HttpHeaderProcessor.cc: New class.
19436
Updated doc for -j option to notice that it should be used with -i
19438
* src/main.cc (showUsage)
19440
Removed unused classes.
19441
* src/RequestInfo.h
19442
(FileInfo): Removed.
19443
(checksum): Removed.
19444
(fileInfo): Removed.
19445
(setChecksum): Removed.
19446
(getChecksum): Removed.
19447
(getFileInfo): Removed.
19450
* src/ConsoleDownloadEngine.cc
19451
* src/TorrentConsoleDownloadEngine.cc
19452
* src/Util.cc (abbrevSize)
19454
2007-06-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19456
Added the default listening ports to the help message.
19457
* src/main.cc (showUsage)
19459
2007-06-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19461
Reduce the number of calls to gettimeofday to lower CPU load.
19462
* src/TimeA2.h, src/TimeA2.cc (differenceInMillis): New function.
19463
* src/SpeedCalc.h, src/SpeedCalc.cc (calculateSpeed): New function.
19464
* src/Peer.h (calculateUploadSpeed): New function.
19465
(calculateDownloadSpeed): New function.
19466
* src/DefaultPeerStorage.cc
19467
(CalculateStat): Added _now variable.
19468
In operator(), call Peer::calculateDownloadSpeed(const struct timeval&)
19469
and Peer::calculateUploadSpeed(const struct timeval&)
19471
Drop connection if no request or piece message is exchanged in
19472
a certain interval.
19473
* src/DefaultBtInteractive.h
19474
(btRuntime): New variable.
19475
(inactiveCheckPoint): New variable.
19476
(checkActiveInteraction): New function.
19477
* src/DefaultBtInteractive.cc (receiveMessages): Reset timer when
19478
request or piece message is received.
19479
(checkActiveInteraction): New function.
19480
(doInteractionProcessing): Call checkActiveInteraction.
19482
Fixed the bug that causes remote Metalink and Torrent files are not
19484
* src/MultiUrlRequestInfo.cc (createNextRequestInfo): Fixed the bug.
19486
2007-06-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19488
Changed format of log file.
19489
* src/SimpleLogger.cc
19493
2007-06-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19495
* src/AbstractCommand.cc
19496
(execute): Changed log level of MSG_RESTARTING_DOWNLOAD and
19497
MSG_MAX_TRY from error to info.
19498
Added MSG_DOWNLOAD_ABORTED after MSG_MAX_TRY.
19501
(MSG_TORRENT_DOWNLOAD_ABORTED): New definition.
19502
(MSG_DOWNLOAD_ABORTED): Added %s.
19503
(MSG_RESTARTING_DOWNLOAD): Added %s.
19504
(MSG_DOWNLOAD_ALREADY_COMPLETED): Updated.
19506
* src/PeerAbstractCommand.cc
19507
(execute): MSG_DOWNLOAD_ABORTED -> MSG_TORRENT_DOWNLOAD_ABORTED
19510
(cookieBox): Made ShardHandle.
19512
* src/RequestGroup.h, src/RequestGroup.cc
19513
(createNextCommandWithAdj): New function.
19514
* src/FileAllocationCommand.cc
19515
(executeInternal): Use createNextCommandWithAdj().
19516
* src/CheckIntegrityCommand.cc
19517
(executeInternal): Use createNextCommandWithAdj().
19519
Added --load-cookies command-option.
19520
* src/OptionHandlerFactory.cc
19521
(createOptionHandlers): Added PREF_LOAD_COOKIES.
19522
* src/CookieBox.h, src/CookieBox.cc: Rwritten using CookieParser.
19523
Now aria2 can handle cookie's expiration date.
19524
* src/Cookie.h (expires): Changed its type to time_t.
19525
* src/main.cc: Added --load-cookies command-line option.
19526
* src/prefs.h (PREF_LOAD_COOKIES): New definition.
19527
* src/Util.h, src/Util.cc (httpGMT): New function.
19528
* src/Request.cc (Request): Initialize cookieBox using
19530
* src/CookieBoxFactory.h, src/CookieBoxFactory.cc: New class.
19531
* src/CookieParser.h, src/CookieParser.cc: New class.
19533
* src/main.cc: Chagned the default value of --metalink-servers to 5.
19535
* src/HttpResponseCommand.cc
19536
(handleOtherEncoding): Call RequestGroup::shouldCancelDownloadForSafety
19538
* src/MetalinkRequestInfo.cc: Now -s option is ignored in Metalink
19541
2007-06-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19543
Added -j command-line option.
19544
* src/OptionHandlerFactory.cc (createOptionHandlers)
19547
* src/ByteArrayDiskWriter.h, src/ByteArrayDiskWriter.cc
19548
Rewritten using stringstream.
19549
* src/TrackerUpdateCommand.h, src/TrackerUpdateCommand.cc
19550
Rewritten using stringstream.
19552
2007-06-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19554
Make download size shown in MB, KB.
19555
* src/ConsoleDownloadEngine.h (sendStatistics)
19556
* src/Util.h, srcUtil.cc (abbrevSize): New function.
19558
2007-06-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19560
Accept incoming connections if download rate is low.
19561
* src/PeerListenCommand.h, src/PeerListenCommand.cc:
19562
(_lowestSpeedLimit): New variable.
19563
(setLowestSpeedLimit): New function.
19564
(execute): Accept incoming connections if download rate is low.
19565
MAX_PEERS is ignored in this case.
19567
Disable PREF_OUT in multiple concurrent download:
19568
* src/RequestGroup.h, src/RequestGroup.cc
19569
(setUserDefinedFilename): New function.
19570
* src/DownloadEngineFactory.cc
19571
(newConsoleEngine): Do not set PREF_OUT to requestGroup in multiple
19572
concurrent download.
19573
* src/DefaultSegmentManFactory.cc
19574
(createNewInstance): Comment out the line: segmentMan->ufilename = ...
19576
2007-06-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19578
RequestGroup::getNextCommand() was renamed to createNextCommand().
19579
Added its overloaded method.
19580
* src/RequestGroup.h
19581
(_numConcurrentCommand): New variable.
19582
(setNumConcurrentCommand): New function.
19583
* src/RequestGroup.cc
19585
Abort download if same file is being downloaded concurrently.
19586
* src/RequestGroup.h, src/RequestGroupMan.cc
19587
(isSameFileBeingDownloaded): New function.
19588
* src/HttpResponseCommand.cc (executeInternal)
19589
* src/FtpNegotiateCommand.cc (recvSize)
19590
* src/message.h (EX_DUPLICATE_FILE_DOWNLOAD): New definition.
19592
* main.cc: Added help message for -i option.
19594
2007-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19596
* src/FileAllocationCommand.cc: Derived from RealtimeCommand.
19597
* src/CheckIntegrityCommand.cc: Derived from RealtimeCommand.
19599
* src/MetalinkEntry.h
19600
(checksum): Changed to ChecksumHandle
19601
* src/MetalinkRequestInfo.cc
19602
(checksum): Changed to ChecksumHandle
19605
(mkdirs): OPEN_MODE -> DIR_OPEN_MODE
19607
(DIR_OPEN_MODE): New definition
19609
* src/RequestGroup.cc
19610
(prepareForNextAction): Added an argument.
19613
(MSG_GOOD_CHECKSUM): New definition
19614
(MSG_BAD_CHECKSUM): New definition
19616
* src/HttpResponseCommand.cc
19617
(handleDefaultEncoding): Continue download sequence in new
19618
non-segmented download.
19620
* src/FileAllocationEntry.h
19621
(_nextDownloadCommand): New variable.
19623
* src/DownloadCommand.cc
19624
(prepareForNextSegment): Create ChecksumCommand if checksum is
19627
* src/RealtimeCommand.h, src/RealtimeCommand.cc: New class.
19629
* src/IteratableChecksumValidator.h,
19630
src/IteratableChecksumValidator.cc: New class.
19632
* src/ChecksumCommand.h, src/ChecksumCommand.cc: New class.
19634
2007-05-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19636
Change file mode to 666:
19637
* src/common.h (OPEN_MODE): New definition.
19641
* src/AbstractDiskWriter.cc
19643
Change the level of log message "download aborted" to debug:
19644
* src/PeerAbstractCommand.cc (execute)
19646
* src/RequestGroup.h (RequestGroup): Initialized _hintTotalLength to 0.
19648
* src/TrackerWatcherCommand.cc
19649
(createCommand): Sleep some seconds after request failed.
19650
If tracker request fails more than value of PREF_TRACKER_MAX_TRIES,
19651
then abort tracker request.
19653
2007-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19655
* Added the simultaneous download feature.
19656
* src/main.cc: Print "Exception caught: " when exception is caught.
19658
Use CUIDCounter instead of BtRuntime::getNewCuid():
19659
* src/ActivePeerConnectionCommand.cc
19660
* src/PeerInteractionCommand.cc
19662
(cuidCounter): Removed.
19663
(getNewCuid): Removed.
19664
* src/DownloadEngineFactory.cc
19665
* src/PeerListenCommand.cc
19666
* src/TrackerUpdateCommand.cc
19667
* src/PeerInitiateConnectionCommand.cc
19669
2007-04-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19671
* src/PeerAbstractCommand.cc
19672
(onAbort): Call PeerStorage::returnPeer()
19673
* src/DefaultPeerStorage.h, src/DefaultPeerStorage.cc
19674
(incomingPeers): New variable.
19675
(addIncomingPeer): New function.
19676
(returnPeer): New function.
19677
(onErasingPeer): New function.
19678
(addPeer): push_back -> push_front
19679
(getActivePeers): Rewritten.
19680
(calculateStat): Rewritten.
19681
* src/PeerStorage.h
19682
(TransferStat::copy): New function.
19683
(TransferStat::TransferStat): New function.
19684
(TransferStat::operator=): New function.
19685
(addIncomingPeer): New function.
19686
(returnPeer): New function.
19687
* src/PeerListenCommand.cc
19688
(execute): Use PeerStorage::addIncomingPeer() instead of
19691
2007-04-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19693
Connect to a peer actively when download speed is lower than specified
19694
speed in torrent download:
19695
* src/ActivePeerConnectionCommand.h: New class.
19697
2007-03-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19699
* src/HttpRequest.cc (createRequest): url-encode user-agent
19701
* src/main.cc: Fixed the bug that prevents download if .netrc
19704
2007-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19706
To cache resolved hostname:
19707
* src/AbstractCommand.h, src/AbstractCommand.cc
19708
(resolveHostname): Put outside #ifdef ENABLE_ASYNC_DNS clause.
19710
* src/FtpInitiateConnectionCommand.cc
19711
(executeInternal): Removed #ifdef ENABLE_ASYNC_DNS.
19712
* src/NameResolver.h, src/NameResolver.cc: Added synchronized
19713
NameResolver working without ares.
19714
* src/TorrentRequestInfo.cc
19715
(execute): Don't cache dns in torrent download.
19716
* src/HttpInitiateConnectionCommand.cc
19717
(executeInternal): Removed #ifdef ENABLE_ASYNC_DNS
19718
* src/DNSCache.h: New class.
19719
* src/UrlRequestInfo.cc
19720
(execute): Use dns cache.
19722
In http request, suppress port number in http request header if port
19724
* src/HttpRequest.cc (getHostText): Suppress port number in http
19725
request header if port is 80 or 443.
19726
(createProxyRequest): Allways send port number.
19728
2007-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19730
To add the command-line option which disables netrc support:
19731
* src/OptionHandlerFactory.cc
19732
(createOptionHandlers): Added PREF_NO_NETRC.
19733
* src/main.cc: Added -n option.
19734
* src/prefs.h (PREF_NO_NETRC): New definition.
19735
* src/RequestFactory.cc: Do not use netrc in ftp if PREF_NO_NETRC is
19737
Note that netrc is not used in http, http proxy even if PREF_NO_NETRC
19738
is V_FALSE. This may get configurable in the future release.
19740
To clear peer's error status by time basis:
19741
* src/PeerAbstractCommand.cc
19742
(onAbort): Call Peer::startBadCondition().
19743
* src/Peer.h, src/Peer.cc
19745
(_badConditionStartTime): New variable.
19746
(_badConditionInterval): New variable. Initialized to 10 seconds.
19747
(startBadCondition): New function.
19748
(isGood): New function.
19749
* src/DefaultPeerStorage.cc
19750
(addPeer): Use Peer::isGood().
19751
(FindFinePeer): Use Peer::isGood().
19753
Always include port number in http request header:
19754
* src/HttpRequest.cc (getHostText): Always include port number in
19755
http request header.
19757
2007-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19759
To the ability to read options from a config file:
19760
* src/main.cc: Command-line parameter validation is delegated to
19761
OptionHandler class.
19762
* src/OptionHandlerFactory.h, src/OptionHandlerFactory.cc: New class.
19763
* src/Option.h, src/Option.cc (clear): New function.
19764
* src/OptionParser.h, src/OptionParser.cc: New class.
19765
* src/OptionHandler.h: New class.
19766
* src/NameMatchOptionHandler.h: New class.
19767
* src/OptionHandlerImpl.h: New classes.
19768
* src/prefs.h: '_' -> '-'
19769
(FTP_PASV_ENABLED): Renamed to FTP_PASV.
19770
(FTP_PASV): New definition.
19771
* src/Util.h, src/Util.cc (getRealSize): New function.
19773
To disable netrc support if .netrc file does not have correct
19775
* src/File.h, src/File.cc (mode): New function.
19777
To prevent confidential information to be logged:
19778
* src/HttpConnection.h, src/HttpConnection.cc
19779
(eraseConfidentialInfo): New function.
19780
(sendRequest): Call eraseConfidentialInfo().
19781
(sendProxyRequest): Call eraseConfidentialInfo().
19782
* src/main.cc: Validate permissions of .netrc file.
19784
To add --user-agent command-line option:
19785
* src/main.cc: Added new command line option: --user-agent
19786
* src/prefs.h (PREF_USER_AGENT): New definition.
19787
* src/HttpRequestCommand.cc (executeInternal): Set user-agent option
19788
parameter to HttpRequest object.
19789
* src/AbstractProxyRequestCommand.cc
19790
(executeInternal): Set user-agent option parameter to HttpRequest
19793
Marged the patches from Dan Fandrich.
19795
2007-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19797
Use filename and size from Metalink file instead of sending HEAD
19799
* src/UrlRequestInfo.h
19800
(_filename): New variable.
19801
(_totalLength): New variable.
19802
(setTotalLength): New variable.
19803
(setFilename): New variable.
19804
* src/MetalinkRequestInfo.cc
19805
(execute): Set filename and size to UrlRequestInfo
19806
* src/UrlRequestInfo.cc
19807
(execute): Use filename and size from Metalink instead of seding
19808
HEAD request to servers.
19810
2007-03-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19812
To add the ability to resume downloading a partially downloaded file
19813
which is downloaded from the beginning:
19814
* src/FileAllocator.h: Made abstract class. New DefaultFileAllocator
19816
* src/main.cc: Added -c option.
19817
* src/BitfieldMan.h, src/BitfieldMan.cc (setBitRange): New function.
19818
* src/DiskWriter.h (openExistingFile): Added totalLength argument.
19819
* src/prefs.h (PREF_CONTINUE): New definition.
19820
* src/SegmentMan.h, src/SegmentMan.cc (markPieceDone): New function.
19821
* src/DefaultDiskWriter.cc
19822
(createNewDiskWriter): Add GlowFileAllocator to the new object.
19823
* src/AbstractDiskWriter.h
19824
(glowFileAllocator): New variable.
19825
* src/AbstractDiskWriter.cc
19826
(openExistingFile): Now preallocate file space from the end of the
19827
existing file if totalLength argument is specified and grater than 0.
19828
* src/UrlRequestInfo.cc: If -c option is specified and the file
19829
to download exists in local, continue the download of the file.
19830
--allow-overwrite=true is assumed in this context.
19831
* src/DefaultFileAllocator.h, src/DefaultFileAllocator.cc: New class.
19832
* src/GlowFileAllocator.h, src/GlowFileAllocator.cc: New class.
19834
Throw exception if --check-integrity=true is specified but chunk
19835
checksums are not provided:
19836
* src/UrlRequestInfo.cc
19838
Do not print URLs to stdout:
19839
* src/UrlRequestInfo.cc
19841
2007-03-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19843
* src/Request.h: Use AuthResolver to get authentication information.
19844
* src/main.cc: Made RequestFactory a singleton object. Netrc is now
19845
set to RequestFactory object.
19846
* src/AuthConfigItem.h, src/AuthConfigItem.cc: Removed.
19847
* src/AuthConfig.h, src/AuthConfig.cc: Rewritten.
19848
* src/TrackerWatcherComand.cc: Use RequestFactorySingletonHolder to
19849
create Request object.
19851
2007-03-19 Tatsuhiro Tsujikawa <tujikawa at valkyrie dot rednoah com>
19853
To integrate Netrc into exsiting classes:
19855
(_userDefinedAuthConfig): New variable.
19856
(findNetrcAuthenticator): New function.
19857
(segment): Removed.
19858
(setUserDefinedAuthConfig): New function.
19859
(resolveHttpAuthConfigItem): New function.
19860
(resolveFtpAuthConfigItem): New function.
19861
(resolveHttpProxyAuthConfigItem): New function.
19862
* src/HttpRequest.h
19863
(authConfig): Removed.
19864
(proxyAuthConfig): Removed.
19865
(setAuthConfig): Removed.
19866
(setProxyAuthConfig): Removed.
19868
(getHeadResult): Added a parameter: authConfigHandle
19870
(SingletonHolder.h): New include.
19872
(Netrc.h): New include.
19873
(main): Removed initial values of PREF_FTP_USER, PREF_FTP_PASSWD.
19874
Added initial value of PREF_NETRC_PATH.
19875
Added the initialization of netrc.
19876
* src/AuthConfig.h: New class.
19878
(PREF_NETRC_PATH): New definition.
19879
* src/HttpAuthConfig.h: Removed.
19881
(getRequiredNextToken): New function.
19882
(skipMacdef): New function.
19883
(parse): Rewritten.
19885
(getRequiredNextToken): New function.
19886
(skipMacdef): New function.
19887
* src/Util.h, src/Util.cc
19888
(getHomeDir): New function.
19889
* src/TrackerWatcherComand.cc
19890
(createRequestCommand): Use AuthConfig.
19891
* src/FtpConnection.cc
19892
(sendUser): Use Request::resolveFtpAuthConfigItem().
19893
(sendPass): Use Request::resolveFtpAuthConfigItem().
19895
(findNetrcAuthenticator): New function.
19896
(resolveHttpAuthConfigItem): New function.
19897
(resolveFtpAuthConfigItem): New function.
19898
(resolveHttpProxyAuthConfigItem): New function.
19899
* src/UrlRequestInfo.cc: Use AuthConfig.
19900
* src/HttpRequest.cc
19901
(createRequest): Use authConfig.
19902
(getProxyAuthString): Use authConfig.
19903
(configure): Removed PREF_HTTP_USER, PREF_HTTP_PASSWD,
19904
PREF_HTTP_PROXY_USER, PREF_HTTP_PROXY_PASSWD.
19906
2007-03-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19908
To reduce overhead to find commands whose socket is either
19909
readable or writable in the download engine loop:
19910
* src/Command.h, src/Command.cc
19911
(STATUS): New enum.
19912
(status): New variable.
19913
(statusMatch): New function.
19914
(setStatusActive): New function.
19915
(setStatusInactive): New function.
19916
* src/DownloadEngine.h, src/DownloadEngine.cc
19917
(executeCommand): New function.
19919
(waitData): Call Command::setStatusActive() when command's socket is
19920
readable or writable.
19922
2007-03-15 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19924
To handle Segment as SegmentHandle:
19925
* src/AbstractCommand.cc (execute): Rewritten.
19926
* src/SegmentMan.h: Segment -> SegmentHandle
19928
Introducded HttpResponse class, HttpRequest class to improve code
19929
extensiveness and make it clear:
19930
* src/HttpDownloadCommand.cc: transfer encoders are now managed by
19931
HttpResponse class.
19932
* src/HttpRequest.h, src/HttpRequest.cc: New class.
19933
* src/HttpResponse.h, src/HttpResponse.cc: New class.
19934
* src/HttpConnection.cc: Contruction of http request were moved to
19936
* src/HttpResponseCommand.h, src/HttpResponseCommand.cc: Refactored.
19937
* src/HttpRequestCommand.cc (executeInternal): Rewritten.
19938
* src/HttpAuthConfig.h: New class.
19939
* src/Range.h: New class.
19941
To make FtpTunnel{Request, Response}Command and
19942
HttpProxy{Request, Response}Command derived from
19943
AbstractProxy{Request, Response}Command:
19944
* src/FtpTunnelResponseCommand.h, src/FtpTunnelResponseCommand.cc:
19945
Derived from AbstractProxyRequestCommand class.
19946
* src/FtpTunnelRequestCommand.h, src/FtpTunnelRequestCommand.cc:
19947
Derived from AbstractProxyResponseCommand class.
19948
* src/HttpProxyRequestCommand.h, src/HttpProxyRequestCommand.cc:
19949
Derived from AbstractProxyRequestCommand class.
19950
* src/HttpProxyResponseCommand.h, src/HttpProxyResponseCommand.cc:
19951
Derived from AbstractProxyResponseCommand class.
19952
* src/AbstractProxyRequestCommand.h, src/AbstractProxyRequestCommand.cc
19954
* src/AbstractProxyResponseCommand.h,
19955
src/AbstractProxyResponseCommand.cc: New class.
19957
To add netrc support:
19958
* src/Netrc.h, src/Netrc.cc: New class.
19959
* src/Util.h, src/Util.cc (split): New function.
19961
* src/HttpHeader.cc (getRange): Fixed so that it inspects
19962
"Content-Range" header instead of "Range" header.
19964
(getStatus): Removed.
19965
(setStatus): Removed.
19968
(getPositionToWrite): New function.
19970
2007-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
19973
(Range.h): New include.
19974
(status): New variable.
19975
(HttpHeader): Initialized status with 0.
19976
(getStatus): New function.
19977
(setStatus): New function.
19978
(getRange): New function.
19979
(HttpHeaderHandle): New function.
19980
* src/HttpHeader.cc
19981
(getRange): New function.
19984
(RequestWeakHandle): New definition.
19986
* src/HttpConnection.h
19987
(HttpConnectionHandle): New type definition.
19988
* src/HttpConnection.cc
19989
(receiveResponse): Set HTTP status to headers.
19992
(showUsage): Fixed typo.
19995
(SegmentHandle): New type definition.
19997
* src/BitfieldMan.h
19998
(getMissingUnusedLength): New function.
19999
* src/BitfieldMan.cc
20000
(getMissingUnusedLength): New function.
20002
2007-02-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20004
To fix static initialization order problem:
20006
* src/BitfieldManFactory.h
20007
(defaultRandomizer): Removed.
20008
(factory): New variable.
20009
(getNewFactory): Removed.
20010
(getFactoryInstance): New function.
20011
(setDefaultRandomizer): Rewritten.
20012
(getDefaultRandomizer): Rewritten.
20013
* src/BitfieldManFactory.cc
20014
(defaultRandomizer): Removed.
20015
(factory): Initialized to 0.
20016
(BitfieldManFactory): Initialized randomizer to 0.
20017
* src/DefaultPieceStorage.cc
20018
(DefaultPieceStorage): getNewFactory() -> getFactoryInstance()
20020
(Peer): getNewFactory() -> getFactoryInstance()
20021
* src/SegmentMan.cc
20022
(initBitfield): getNewFactory() -> getFactoryInstance()
20024
(Piece): getNewFactory() -> getFactoryInstance()
20026
2007-02-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20028
To fix the bug that causes crash on Max OS X:
20030
* src/SimpleRandomizer.h
20031
(getInstance): Create new instance if the static variable is null.
20032
* src/SimpleRandomizer.cc
20033
(randomizer): Initialized to 0.
20034
* src/BitfieldManFactory.h
20035
(getNewFactory): Removed the call to setRandomizer().
20037
To fix the miscalculation of the range of checksum:
20039
* src/BitfieldMan.h
20040
(isBitSetOffsetRange): New function.
20041
* src/BitfieldMan.cc
20042
(isBitSetOffsetRange): New function.
20043
* src/SegmentMan.cc
20044
(tryChunkChecksumValidation): Use BitfieldMan::isBitSetOffsetRange().
20045
Use bitfield->getBlockLength() instead of segment.segmentLength.
20049
2007-02-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20051
To lower CPU usage in BitTorrent download when --max-upload-limit
20052
command-line option specified:
20054
* src/DefaultBtMessageDispatcher.cc
20055
(sendMessages): Calculate uploading speed only when current message
20056
is uploading data and is not sent yet.
20058
* src/DefaultPeerStorage.h
20059
(MAX_PEER_LIST_SIZE): 100 -> 60, because 60 is well enough.
20061
* src/HttpResponseCommand.cc
20062
(handleDefaultEncoding): Added the cast to int32_t to itos.
20063
This fixes compile error in Soralis 10.
20065
2007-01-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20067
To fix segfault in Metalink download:
20069
* src/UrlRequestInfo.h
20070
(filename): Removed.
20071
(totalLength): Removed.
20072
(setTotalLength): Removed.
20073
(setFilename): Removed.
20074
* src/MetalinkRequestInfo.cc
20075
(execute): Do not set filename and totalLength to reqInfo.
20076
Set chunk checksum to reqInfo if it is not null.
20078
* src/HttpResponseCommand.cc
20079
(executeInternal): Fixed filename in log.
20080
(handleDefaultEncoding): Removed the call to initBitfield() and
20081
markAllPiecesDone().
20082
(handleOtherEncoding): Added HEAD method handling.
20084
* src/FtpNegotiateCommand.cc
20085
(executeInternal): Added SEQ_HEAD_OK handling.
20086
(recvSize): In HEAD handling, set sequence to SEQ_HEAD_OK and
20089
* src/FtpNegotiateCommand.h
20090
(SEQ_HEAD_OK): New definition.
20092
* src/SegmentMan.cc
20093
(initBitfield): Delete bitfield.
20094
(isChunkChecksumValidationReady): Fixed the condition.
20096
* src/UrlRequestInfo.cc: Fixed so that Metalink and Torrent download
20099
2007-01-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20101
* src/Xml2MetalinkProcessor.h
20102
(xpathExists): New function.
20103
* src/Xml2MetalinkProcessor.cc
20104
(xpathExists): New function.
20106
Not to send HEAD request if filename and size are available in Metalink
20108
* src/UrlRequestInfo.h
20109
(filename): New variable.
20110
(totalLength): New variable.
20111
(setTotalLength): New function.
20112
(setFilename): New function.
20113
* src/MetalinkRequestInfo.cc
20114
(execute): Set filename and size to UrlRequestInfo.
20115
* src/MetalinkEntry.cc
20116
(MetalinkEntry): Initialize size with 0.
20117
* src/UrlRequestInfo.cc
20118
(execute): Set filename and size to SegmentMan.
20120
Not to download rest of the files after selected files are downloaded
20122
* src/PieceStorage.h
20123
(allDownloadFinished): New function.
20124
* src/DefaultBtAnnounce.cc
20125
(isCompleteAnnounceReady): Use allDownloadFinished instead of
20127
(getAnnounceUrl): Use allDownloadFinished instead of downloadFinished.
20128
* src/DefaultPieceStorage.cc
20129
(completePiece): Use allDownloadFinished instead of downloadFinished.
20130
Commented out the call to finishSelectiveDownloadingMode().
20131
(downloadFinished): Call isFilteredAllBitSet() instead of
20133
(allDownloadFinished): New function.
20134
* src/DefaultBtInteractive.cc
20135
(addBitfieldMessageToQueue): Call allDownloadFinished() instead of
20136
downloadFinished().
20137
(checkHave): Call allDownloadFinished() instead of downloadFinished().
20138
* src/TorrentDownloadEngine.cc
20139
(onEndOfRun): Call allDownloadFinished() instead of downloadFinished().
20140
* src/BitfieldMan.h
20141
(isFilteredAllBitSet): New function.
20142
* src/ShareRatioSeedCriteria.h
20143
(PieceStorage.h): New include.
20144
(pieceStorage): New variable.
20146
btContext->getTotalLength() -> pieceStorage->getCompletedLength()
20147
* src/BitfieldMan.cc
20148
(isFilteredAllBitSet): New function.
20149
(isAllBitSet): Filter is not took into account.
20151
Rename --force-truncate as --allow-overwrite:
20152
* src/TorrentRequestInfo.cc
20153
(execute): PREF_FORCE_TRUNCATE -> PREF_ALLOW_OVERWRITE
20155
(showUsage): --force-truncate -> --allow-overwrite
20157
(EX_FILE_ALREADY_EXISTS): --force-truncate -> --allow-overwrite
20159
(PREF_FORCE_TRUNCATE): Removed.
20160
(PREF_ALLOW_OVERWRITE): New definition.
20161
* src/SegmentMan.cc
20162
(shouldCancelDownloadForSafety): --force-truncate -> --allow-overwrite
20164
* src/MetalinkRequestInfo.cc
20165
(execute): Queueing message are now logged in info level.
20168
(LONG_LONG_MAX): Removed.
20169
(LONG_LONG_MIN): Removed.
20170
* src/HttpResponseCommand.cc
20171
(handleDefaultEncoding): LONG_LONG_MAX -> INT64_MAX
20172
* src/FtpNegotiateCommand.cc
20173
(recvSize): LONG_LONG_MAX -> INT64_MAX
20176
(showUsage): Added --check-integriy and --realtime-chunk-checksum
20177
command-line option.
20178
(main): Added --check-integriy and --realtime-chunk-checksum
20179
command-line option.
20180
--force-truncate -> --allow-overwrite
20181
Set initial value of --check-integrity option to false.
20182
Don't show usage when error occurs while persing command-line options.
20183
Removed deprecated --upload-limit option.
20185
2007-01-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20187
* src/message.h: Added EX_INVALID_PAYLOAD_SIZE and
20188
EX_INVALID_BT_MESSAGE_ID. Following source files affected.
20189
* src/BtAllowedFastMessage.cc:
20190
* src/BtBitfieldMessage.cc
20191
* src/BtCancelMessage.cc
20192
* src/BtChokeMessage.cc
20193
* src/BtHaveAllMessage.cc
20194
* src/BtHaveMessage.cc
20195
* src/BtHaveNoneMessage.cc
20196
* src/BtInterestedMessage.cc
20197
* src/BtNotInterestedMessage.cc
20198
* src/BtPieceMessage.cc
20199
* src/BtPortMessage.cc
20200
* src/BtRejectMessage.cc
20201
* src/BtRequestMessage.cc
20202
* src/BtSuggestPieceMessage.cc
20203
* src/BtUnchokeMessage.cc
20205
* src/message.h: Added EX_INVALID_CHUNK_CHECKSUM. Following source
20206
files are affected.
20207
* src/ChunkChecksumValidator.cc
20208
* src/SegmentMan.cc
20210
2007-01-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20212
To add chunk checksum validation:
20213
* src/MetalinkEntry.h
20214
(MetalinkChunkChecksum.h): New include.
20215
(chunkChecksum): New variable.
20217
(method): New variable.
20218
(setMethod): New function.
20219
(getMethod): New function.
20220
(METHOD_GET): New static constant.
20221
(METHOD_HEAD): New static constant.
20222
* src/Xml2MetalinkProcessor.h
20223
(getPieceHash): New function.
20224
* src/PieceStorage.h
20225
(markAllPiecesDone): New function.
20226
(checkIntegrity): New function.
20227
* src/FileAllocator.h
20228
(NullFileAllocationMonitor.h): New include.
20229
(FileAllocator): Initialize fileAllocationMonitor with new
20230
NullFileAllocationMonitor().
20231
* src/MultiDiskAdaptor.h
20232
(messageDigest.h): Remove include.
20234
(hashUpdate): Added ctx.
20235
(MultiDiskAdaptor): Removed ctx.
20236
(sha1Sum): Renamed as messageDigest.
20237
(messageDigest): New function.
20238
* src/UrlRequestInfo.h
20239
(HeadResult): New class.
20240
(digestAlgo): New variable.
20241
(chunkChecksumLength): New variable.
20242
(chunkChecksums): New variable.
20243
(getHeadResult): New function.
20244
(UrlRequestInfo): Added digestAlgo, chunkChecksumLength.
20245
(setDigestAlgo): New function.
20246
(setChunkChecksumLength): New function.
20247
(setChunkChecksums): New function.
20248
* src/DefaultPieceStorage.cc
20249
(DiskAdaptorWriter.h): New include.
20250
(ChunkChecksumValidator.h): New include.
20251
(markAllPiecesDone): New function.
20252
(checkIntegrity): New function.
20253
* src/DefaultBtContext.h
20254
(getPieceHashes): New function.
20255
* src/TorrentRequestInfo.cc
20256
(execute): Try to validate chunk checksum if file already exists and
20257
.aria2 file doesn't there and user allows aria2 to overwrite it.
20258
* src/messageDigest.h
20259
(~MessageDigestContext): Added digestFree().
20260
* src/MetalinkRequestInfo.cc
20261
(execute): Set digestAlgo, chunkChecksum, chunkChecksums to reqInfo.
20262
* src/DiskAdaptor.h
20263
(messageDigest.h): New include.
20264
(sha1Sum): Renamed as messageDigest.
20265
(messageDigest): New function.
20266
* src/DownloadCommand.h
20267
(PeerStat.h): New include.
20268
(maxDownloadSpeedLimit): New variable.
20269
(startupIdleTime): New variable.
20270
(lowestDownloadSpeedLimit): New variable.
20271
(peerStat): New variable.
20272
(setMaxDownloadSpeedLimit): New function.
20273
(setStartupIdleTime): New function.
20274
(setLowestDownloadSPeedLimit): New function.
20276
(getPieceHashes): New function.
20278
(main): Set PREF_REALTIME_CHUNK_CHECKSUM and PREF_CHECK_INTEGRITY
20279
option to true for testing purpose.
20280
* src/BtPieceMessage.cc
20281
(checkPieceHash): Use messageDigest
20282
* src/DownloadEngine.cc
20283
(SetDescriptor): Removed.
20284
(AccumulateActiveCommand): Removed.
20285
(waitData): Rewritten.
20286
(updateFdSet): Rewritten.
20287
* src/MultiDiskAdaptor.cc
20288
(hashUpdate): Added ctx.
20289
(sha1Sum): Renamed as messageDigest.
20290
(messageDigest): New function.
20291
* src/BitfieldMan.h
20292
(isBitRangeSet): New function.
20293
(unsetBitRange): New function.
20294
* src/ByteArrayDiskWriter.h
20295
(sha1Sum): Renamed as messageDigest.
20296
(messageDigest): New function.
20297
* src/ConsoleDownloadEngine.cc
20298
(calculateStatistics): If nspeed < 0 then set nspeed to 0.
20300
(messageDigest.h): New include.
20301
(sha1Sum): Renamed as messageDigest.
20302
(messageDigest): New function.
20303
* src/ChunkChecksumValidator.h: New class.
20304
* src/DiskAdaptorWriter.h: New class.
20306
(PREF_REALTIME_CHUNK_CHECKSUM): New definition.
20307
(PREF_CHECK_INTEGRITY): New definition.
20308
* src/HttpResponseCommand.cc
20309
(handleDefaultEncoding): Added method "HEAD" handling.
20310
Removed the call to e->segmentMan->shouldCancelDownloadForSafety().
20311
(handleOtherEncoding):
20312
Added the call to e->segmentMan->shouldCancelDownloadForSafety().
20313
(createHttpDownloadCommand): Set maxDownloadSpeedLimit,
20314
startupIdleTime, lowestDownloadSpeedLimit to command.
20316
(getSegmentEntryByIndex): New function.
20317
(getSegmentEntryByCuid): New function.
20318
(getSegmentEntryIteratorByCuid): New function.
20319
(diskWriter): DiskWriter -> DiskWriterHandle
20320
(pieceHashes): New variable.
20321
(chunkHashLength): New variable.
20322
(digestAlgo): New variable.
20323
(FindPeerStat): Removed.
20324
(getPeerStat): Rewritten.
20325
(markAllPiecesDone): New function.
20326
(checkIntegrity): New function.
20327
(tryChunkChecksumValidation): New function.
20328
(isChunkChecksumValidationReady): New function.
20329
* src/BitfieldMan.cc
20330
(BitfieldMan): Initialized bitfieldLength, blocks to 0.
20331
(BitfieldMan): Initialized blockLength, totalLength, bitfieldLength,
20333
(isBitRangeSet): New function.
20334
(unsetBitRange): New function.
20335
* src/FtpNegotiateCommand.cc
20336
(executeInternal): Set maxDownloadSpeedLimit,
20337
startupIdleTime, lowestDownloadSpeedLimit to command.
20338
(recvSize): Added method "HEAD" handling.
20339
Removed the call to e->segmentMan->shouldCancelDownloadForSafety().
20340
* src/AbstractSingleDiskAdaptor.cc
20341
(sha1Sum): Renamed as messageDigest.
20342
(messageDigest): New function.
20343
* src/AbstractSingleDiskAdaptor.h
20344
(sha1Sum): Renamed as messageDigest.
20345
(messageDigest): New function.
20347
(indexRange): New function.
20348
* src/MetalinkEntry.cc
20349
(MetalinkEntry): Initialized chunkChecksum to 0.
20350
* src/ShaVisitor.cc
20351
(~ShaVisitor): Removed the call to ctx.digestFree().
20352
* src/SegmentMan.cc
20353
(ChunkChecksumValidator.h): New include.
20354
(SegmentMan): Initialized chunkHashLength to 0. Initialized digestAlgo
20355
to DIGEST_ALGO_SHA1.
20356
(~SegmentMan): Removed diskWriter.
20357
(FindSegmentEntryByIndex): Removed.
20358
(FindSegmentEntryByCuid): Removed.
20359
(checkoutSegment): Rewritten.
20360
(findSlowerSegmentEntry): Rewritten.
20361
(getSegment): Rewritten.
20362
(updateSegment): Rewritten.
20363
(completeSegment): Rewritten.
20364
(markAllPiecesDone): New function.
20365
(checkIntegrity): New function.
20366
(isChunkChecksumValidationReady): New function.
20367
(tryChunkChecksumValidation): New function.
20368
* src/Xml2MetalinkProcessor.cc
20369
(getEntry): Get size and set it to entry.
20370
Get chunk checksum and set it to entry.
20371
(getPieceHash): New function.
20373
(sha1Sum): Removed ctx.digestFree()
20374
(fileChecksum): Removed ctx.digestFree()
20375
(indexRange): New function.
20377
(METHOD_GET): New variable.
20378
(METHOD_HEAD): New variable.
20379
(Request): Added method.
20380
* src/UrlRequestInfo.cc
20381
(FatalException.h): New include.
20382
(message.h): New include.
20383
(operator<<): Added operator<< for class HeadResult.
20384
(getHeadResult): New function.
20385
(execute): Get filename and size in separate download engine.
20386
* src/ChunkChecksumValidator.cc: New class.
20387
* src/DownloadCommand.cc:
20388
(DownloadCommand): Added peerStat.
20389
(executeInternal): Use maxDownloadSpeedLimit member instead of getting
20390
the value from Option.
20391
The buffer size is now 16KB.
20392
Use peerStat member instead of getting it from SegmentMan.
20393
Use startupIdleTime member instead of gettingit from Option.
20394
Added chunk checksum validation.
20395
* src/AbstractDiskWriter.cc
20396
(AbstractDiskWriter): Removed ctx.
20397
(~AbstractDiskWriter): Removed ctx.digestFree()
20398
(writeDataInternal): Returns the return value of write.
20399
(readDataInternal): Returns the return value of read.
20400
(sha1Sum): Renamed as messageDigest
20401
(messageDigest): New function.
20402
* src/AbstractDiwkWriter.h
20403
(messageDigest.h): Removed include.
20405
(sha1Sum): Renamed as messageDigest
20406
(messageDigest): New function.
20407
* src/DefaultPieceStorage.h
20408
(markAllPiecesDone): New function.
20409
(checkIntegrity): New function.
20410
* src/NullFileAllocationMonitor.h: New class.
20411
* src/MetalinkChunkChecksum.h: New class.
20413
2007-01-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20415
To decrease CPU usage in bittorrent download, calculation results in
20416
BitfieldMan were cached and realtime fetching PeerObject was removed
20417
with WeakHandle introduced. Option values are set to the objects
20418
by setter before download begins.
20420
* src/DefaultBtRequestFactory.cc: Use messageFactory member.
20421
* src/DefaultBtRequestFactory.h
20422
(dispatcher): BtMessageDispatcherHandle ->
20423
BtMessageDispatcherWeakHandle.
20424
(messageFactory): New variable.
20425
(setBtMessageDispatcher): BtMessageDispatcherHandle ->
20426
BtMessageDispatcherWeakHandle.
20427
(setBtMessageFactory): New function.
20428
* src/DefaultBtMessageDispatcher.cc:
20429
(sendMessages): Use maxUploadSpeedLimit instead of fetching the value
20431
(checkRequestSlotAndDoNecessaryThing): Use requestTimeout instead of
20432
feating the value from Option.
20433
Use messageFactory member.
20434
* src/PeerInteractionCommand.cc
20435
(PeerInteractionCommand): Added maxDownloadSpeedLimit.
20436
Add reverse dependencies to factory object.
20437
Set maxUploadSpeedLimit and requestTimeout and messageFactory to
20439
Set messageFactory to receiver.
20440
Set keepAliveInterval and maxDownloadSpeedLimit and messageFactory to
20442
Set receiver to peerObject.
20443
Set maxDownloadSpeedLimit to this.
20444
(executeInternal): Use maxDownloadSpeedLimit member.
20445
* src/BtChokeMessage.cc
20446
(doReceivedAction): Use dispatcher, requestFactory member.
20447
(onSendComplete): Use dispatcher member.
20448
* src/PeerInteractionCommand.h
20449
(maxDownloadSpeedLimit): New variable.
20450
* src/DefaultBtMessageReceiver.h
20451
(peerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle
20453
BtMessageDispatcherHandle -> BtMessageDispatcherWeakHandle
20454
(messageFactory): New variable.
20455
(setPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle
20456
(getPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle
20458
BtMessageDispatcherHandle -> BtMessageDispatcherWeakHandle
20459
(setBtMessageFactory): New function.
20460
* src/DefaultBtInteractive.cc
20461
(initiateHandshake): Use messageFactory member.
20462
(addBitfieldMessageToQueue): Use messageFactory member.
20463
(addAllowedFastMessageToQueue): Use messageFactory member.
20464
(decideChoking): Use messageFactory member.
20465
(checkHave): Use messageFactory member.
20466
(sendKeepAlive): Use keepAliveInterval, messageFactory member.
20467
(receiveMessages): Use maxDownloadSpeedLimit member.
20468
(decideInterest): Use messageFactory member.
20469
* src/BtRequestMessage.cc
20470
(doReceivedAction): Use messageFactory, dispatcher member.
20471
(onQueued): Use dispatcher member.
20472
* src/BtPieceMessage.cc
20473
(doReceivedAction): Use dispatcher member.
20474
(send): Use peerConnection member.
20475
(onWrongPiece): Use requestFactory member.
20476
(handleChokingEvent): Use messageFactory, dispatcher member.
20477
(handleCancelSendingPieceEvent): Use messageFactory, dispatcher member.
20478
* src/BtMessageDispatcher.h
20479
(BtMessageDispatcherWeakHandle): New type definition.
20480
* src/SimpleBtMessage.cc
20481
(send): Use peerConnection member.
20482
* src/BtRejectMessage.cc
20483
(doReceivedAction): Use dispatcher member.
20484
* src/DefaultBtMessageDispatcher.h
20485
(Option.h): Removed include.
20486
(messageFactory): New variable.
20488
(maxUploadSpeedLimit): New variable.
20489
(requestTimeout): New variable.
20490
(DefaultBtMessageDispatcher): Removed option.
20491
Added maxUploadSpeedLimit, requestTimeout.
20492
(setOption): Removed.
20493
(getOption): Removed.
20494
(setMaxUploadSpeedLimit): New function.
20495
(setRequestTimeout): New function.
20496
(setBtMessageFactory): New function.
20497
* src/DefaultBtInteractive.h
20498
(btMessageReceiver):
20499
BtMessageReceiverHandle -> BtMessageReceiverWeakHandle
20501
BtMessageDispatcherHandle -> BtMessageReceiverWeakHandle
20502
(btRequestFactory):
20503
BtRequestFactoryHandle -> BtRequestFactoryWeakHandle
20505
PeerConnectionHandle -> PeerConnectionWeakHandle
20506
(messageFactory): New variable.
20508
(keepAliveInterval): New variable.
20509
(maxDownloadSpeedLimit): New variable.
20510
(DefaultBtInteractive): Added keepAliveInterval, maxDownloadSpeedLimit.
20511
(setBtMessageReceiver):
20512
BtMessageReceiverHandle -> BtMessageReceiverWeakHandle
20514
BtMessageDispatcherHandle -> BtMessageReceiverWeakHandle
20515
(setBtRequestFactory):
20516
BtRequestFactoryHandle -> BtRequestFactoryWeakHandle
20517
(setPeerConnection):
20518
PeerConnectionHandle -> PeerConnectionWeakHandle
20519
(setOption): Removed.
20520
(setKeepAliveInterval): New function.
20521
(setMaxDownloadSpeedLimit): New function.
20522
(setBtMessageFactory): New function.
20523
* src/BitfieldMan.h
20524
(cachedNumMissingBlock): New variable.
20525
(cachedNumFilteredBlock): New variable.
20526
(cachedCompletedLength): New variable.
20527
(cachedFilteredComletedLength): New variable.
20528
(cachedFilteredTotalLength): New variable.
20529
(countMissingBlockNow): New function.
20530
(countFilteredBlockNow): New function.
20531
(getFilteredTotalLengthNow): New function.
20532
(getCompletedLengthNow): New function.
20533
(getFilteredCompletedLengthNow): New function.
20534
(updateCache): New function.
20535
* src/AbstractBtMessage.h
20536
(BtMessageDispatcher.h): New include.
20537
(PeerConnection.h): New include.
20538
(BtRequestFactory.h): New include
20539
(BtMessageFactory.h): New include.
20540
(dispatcher): New variable.
20541
(messageFactory): New variable.
20542
(peerConnection: New variable.
20543
(setBtMessageDispatcher): New function.
20544
(setPeerConnection): New function.
20545
(setBtMessageFactory): New function.
20546
(setBtRequestFactory): New function.
20547
* src/DefaultBtMessageFactory.cc
20548
(setCommonProperty): Set dispatcher, requestFactory, this,
20549
peerConnection to msg.
20551
(BT_MESSAGE_RECEIVER): New macro.
20552
* src/PeerConnection.h
20553
(PeerConnectionWeakHandle): New type definition.
20554
* src/BtMessageFactory.h
20555
(BtMessageFactoryWeakHandle): New type definition.
20556
* src/BitfieldMan.cc
20557
(BitfieldMan): Added cachedNumMissingBlock, cachedNumFilteredBlock,
20558
cachedCompletedLength, cachedFilteredComletedLength,
20559
cachedFilteredTotalLength.
20560
Call updateCache().
20561
(countMissingBlock): Return cachedNumMissingBlock.
20562
(countMissingBlockNow): New function.
20563
(countBlock): Return cachedNumFilteredBlock if filterEnabled is true.
20564
(countFilteredBlockNow): New function.
20565
(setBit): Call updateCache().
20566
(unsetBit): Call updateCache().
20567
(setBitfield): Call updateCache().
20568
(clearAllBit): Call updateCache().
20569
(setAllBit): Use setBitInternal instead of setBit.
20570
Call updateCache().
20571
(addFilter): Call updateCache().
20572
(enableFilter): Call updateCache().
20573
(disableFilter): Call updateCache().
20574
(clearFilter): Call updateCache().
20575
(getFilteredTotalLength): Return cachedFilteredTotalLength.
20576
(getFilteredTotalLengthNow): New function.
20577
(getCompletedLength): Return cachedCompletedLength.
20578
(getCompletedLengthNow): New function.
20579
(getFilteredCompletedLength): Return cachedFilteredComletedLength.
20580
(getFilteredCompletedLengthNow): New function.
20581
(updateCache): New function.
20582
* src/BtMessageReceiver.h
20583
(BtMessageReceiverWeakHandle): New type definition.
20584
* src/DefaultBtMessageReceiver.cc
20585
(receiveHandshake): Use messageFactory member.
20586
(sendHandshake): Use messageFactory member.
20587
(receiveMessage): Use messageFactory member.
20588
* src/DefaultBtMessageFactory.h
20589
(dispatcher): New variable.
20590
(requestFactory): New variable.
20591
(peerConnection): New variablle.
20592
(setBtMessageDispatcher): New function.
20593
(setBtRequestFactory): New function.
20594
(setPeerConnection): New function.
20595
* src/SharedHandle.h
20596
(RefCount): New class.
20597
(WeakHandle): New class.
20599
(BtMessageReceiver.h): New include.
20600
(PeerObject): Added btMessageReceiver.
20601
(btMessageReceiver): New variable.
20603
(countBit): Simplified.
20604
* src/BtCancelMessage.cc
20605
(doReceivedAction): Use dispatcher member.
20606
* src/BtRequestFactory.h
20607
(BtRequestFactoryWeakHandle): New type definition.
20609
* src/PeerStorage.h
20610
(downloadSpeed): int -> uint32_t
20611
(uploadSpeed): int -> uint32_t
20612
(sessionDownloadLength): long long int -> uint64_t
20613
(sessionUploadLength): long long int -> uint64_t
20615
2007-01-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20617
To add RecoverableException, FatalException:
20619
* src/AbstractCommand.cc
20620
(onAbort): Exception -> RecoverableException
20621
* src/PeerAbstractCommand.h
20622
(RecoverableException.h): New include.
20623
(onAbort): Exception -> RecoverableException.
20624
* src/PeerInteractionCommand.cc
20625
(onAbort): Exception -> RecoverableException.
20626
* src/PeerAbstractCommand.cc
20627
(execute): Exception -> RecoverableException.
20628
(onAbort): Exception -> RecoverableException.
20629
* src/TorrentRequestInfo.cc
20630
(execute): Exception -> RecoverableException.
20631
* src/MetalinkRequestInfo.cc
20632
(execute): Exception -> RecoverableException.
20633
* src/MetaFileUtil.cc: RecoverableException.
20634
* src/AbstractCommand.h
20635
(onAbort): Exception -> RecoverableException.
20636
* src/DlRetryEx.h: Exception -> RecoverableException.
20637
* src/DlAbortEx.h: Exception -> RecoverableException.
20638
* src/PeerListenCommand.cc: Exception -> RecoverableException.
20639
* src/Util.cc: Exception -> RecoverableException.
20640
* src/DefauldDiskWriter.cc: Exception -> RecoverableException.
20641
* src/TrackerUpdateCommand.cc: Exception -> RecoverableException.
20642
* src/UrlRequestInfo.cc: Exception -> RecoverableException.
20644
To make ID static const int
20646
* src/BtInterestedMessage.h
20648
(ID): New variable.
20649
(getId): Made non-const.
20650
* src/BtPieceMessage.h
20652
(ID): New variable.
20653
(getId): Made non-const.
20654
* src/BtChokeMessage.h
20656
(ID): New variable.
20657
(getId): Made non-const.
20658
* src/BtHaveAllMessage.h
20660
(ID): New variable.
20661
(getId): Made non-const.
20662
* src/BtKeepAliveMessage.h
20664
(ID): New variable.
20665
(getId): Made non-const.
20666
* src/BtHandshakeMessage.h
20667
(ID): New variable.
20668
(getId): Made non-const.
20669
* src/BtSuggestPieceMessage.h
20671
(ID): New variable.
20672
(getId): Made non-const.
20673
* src/BtPortMessage.h
20675
(ID): New variable.
20676
(getId): Made non-const.
20677
* src/AbstractBtMessage.h
20679
(AbstractBtMessage): Removed id.
20681
* src/BtHaveMessage.h
20683
(ID): New variable.
20684
(getId): Made non-const.
20685
* src/BtAllowedFastMessage.h
20687
(ID): New variable.
20688
(getId): Made non-const.
20689
* src/BtCancelMessage.h
20691
(ID): New variable.
20692
(getId): Made non-const.
20693
* src/BtNotInterestedMessage.h
20695
(ID): New variable.
20696
(getId): Made non-const.
20697
* src/BtChokeMessage.h
20699
(ID): New variable.
20700
(getId): Made non-const.
20701
* src/BtRejectMessage.h
20703
(ID): New variable.
20704
(getId): Made non-const.
20705
* src/BtBitfieldMessage.h
20707
(ID): New variable.
20708
(getId): Made non-const.
20709
* src/BtUnchokeMessage.h
20711
(ID): New variable.
20712
(getId): Made non-const.
20713
* src/BtRequestMessage.h
20715
(ID): New variable.
20716
(getId): Made non-const.
20717
* src/BtHaveMessage.h
20719
(ID): New variable.
20720
(getId): Made non-const.
20722
To add --force-truncate command-line option and a check whether
20723
the file already exists:
20725
* src/DirectDiskAdaptor.h
20726
(getFilePath): Made virtual public.
20727
* src/MultiDiskAdaptor.h
20728
(File.h): New include.
20729
(DiskWriterEntry::fileEntry): Made private.
20730
(DiskWriterEntry::fileExists): New function.
20731
(DiskWriterEntry::getFileEntry): New function.
20732
(fileExists): New function.
20733
(getFilePath): New function.
20734
* src/TorrentRequestInfo.cc
20735
(FatalException.h): New include.
20736
(message.h): New include.
20737
(RecoverableException.h): New include.
20738
(execute): Added a check whether file is already exists or not.
20739
* src/DiskAdaptor.h
20740
(fileExists): New function.
20741
(getFilePath): New function.
20743
(showUsage): Added an explanation of --force-truncate command-line
20745
(main): Added --force-truncate command-line option.
20747
(setMsg): buf[256] -> buf[1024]
20748
* src/CopyDiskWriter.h
20749
(getFilePath): Made public virtual.
20750
* src/MultiDiskAdaptor.cc: fileEntry -> getFileEntry()
20751
(fileExists): New function.
20752
* src/DownloadEngineFactory.cc
20753
(newTorrentConsoleEngine): Don't open file here.
20755
(EX_FILE_ALREADY_EXISTS): New definition.
20757
(PREF_FOECE_TRUNCATE): New definition.
20758
* src/HttpResponseCommand.cc
20759
(handleDefaultEncoding): Added a check whether the file already exists.
20761
(fileExists): New function.
20762
(shouldCancelDownloadForSafety): New function.
20763
* src/FtpNegotiateCommand.cc
20764
(recvSize): Added a check whether the file already exists.
20765
* src/AbstractSingleDiskAdaptor.cc
20766
(File.h): New include.
20767
(fileExists): New function.
20768
* src/AbstractSingleDiskAdaptor.h
20769
(getFilePath): Removed.
20770
(fileExists): New function.
20771
* src/SegmentMan.cc
20772
(fileExists): New function.
20773
(shouldCancelDownloadForSafety): New function.
20775
To fix regression bug in torrent downloading:
20777
* src/DefaultBtRequestFactory.cc
20778
(doChokedAction): New function.
20779
* src/DefaultBtRequestFactory.h
20780
(doChokedAction): New function.
20781
* src/DefaultBtMessageDispatcher.cc
20782
(doChokedAction): Do not delete request if its target is in allowed
20784
* src/DefaultBtInteractive.cc
20785
(doPostHandshakeProcessing): Added a call to sendPendingMessage().
20786
(sendKeepAlive): Send keep alive message even if the outgoing message
20787
queue is not empty.
20788
(decideInterest): Simplified the code.
20789
(fillPiece): Remove a call to dispatcher->doChokedAction() because
20790
it is already called when BtChokeMessage is received from a peer.
20791
* src/BtRequestFactory.h
20792
(doChokedAction): New function.
20796
* src/PeerInteractionCommand.h
20797
(executeInternal): Added virtual keyword explicitly.
20798
(prepareForRetry): Added virtual keyword explicitly.
20799
(prepareForNextPeer): Added virtual keyword explicitly.
20800
(onAbort): Added virtual keyword explicitly.
20802
* src/RequestSlot.cc
20803
(isTimeout): Use Time::elapsed() instead of differenceInMillis().
20805
* src/BtPieceMessage.cc
20806
(doReceivedAction): Added a debug log of piece's bitfield.
20808
(getBitfieldLength): New function.
20810
* src/ByteArrayDiskWriter.cc
20811
(clear): Added buf = 0 to avoid double free corruption.
20813
* src/FileAllocator.cc
20814
(allocate): Fixed an assignment of fileAllocationMonitor->currentValue.
20817
* src/BitfieldMan.h
20818
(operator=): Rewritten.
20819
* src/BitfieldMan.cc
20820
(BitfieldMan): Initialized bitfield, useBitfield.
20822
* src/PeerConnection.cc
20823
(receiveMessage): Added a call to socket->readable() after getting
20824
message length to avoid possible EOF.
20827
(torrentUrlencode): Fixed an encodeing bug. BUG#1629912
20829
2007-01-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20831
To add an ability to pre-allocate file space:
20833
* src/DirectDiskAdaptor.h: Rewritten.
20834
* src/PieceStorage.h: DiskAdaptor -> DiskAdaptorHandle
20835
* src/MultiDiskAdaptor.h: Rewritten.
20836
* src/DefaultPieceStorage.cc
20837
(MultiDiskWriter.h): Removed include.
20838
(PreAllocationDiskWriter.h): Removed include.
20839
(FileAllocationMonitor.h): New include.
20840
(~DefaultPieceStorage): Removed deletion of diskAdaptor.
20841
(initStorage): Rewritten.
20842
(getDiskAdaptor): DiskAdaptor -> DiskAdaptorHandle
20843
* src/FileAllocator.h: New class.
20844
* src/FileAllocator.cc: New class.
20845
* src/FileAllocationMonitor.h: New class.
20846
* src/FileAllocationMonitor.cc: New class.
20847
* src/ConsoleFileAllocationMonitor.h: New class.
20848
* src/ConsoleFileAllocationMonitor.cc: New class.
20849
* src/AbstractSingleDiskAdaptor.h: New class.
20850
* src/AbstractSingleDiskAdaptor.cc: New class.
20851
* src/DiskAdaptor.h
20852
(Directory.h): Removed include.
20853
(DiskWriter.h): Removed include.
20854
(FileEntry.h): Removed include.
20855
(diskWriter): Removed.
20856
(DiskAdaptor): Removed diskWriter.
20857
(openFile): Made pure virtual.
20858
(closeFile): Made pure virtual.
20859
(openExistingFile): Made pure virtual.
20860
(initAndOpenFile): Made pure virtual.
20861
(writeData): Made pure virtual.
20862
(readData): Made pure virtual.
20863
(sha1Sum): Made pure virtual.
20864
(getStoreDir): Returns const reference of storeDir.
20865
(DiskAdaptorHandle): New type definition.
20867
(ConsoleFileAllocationMonitor.h): New include.
20868
(showUsage): Added default value description of -s option.
20869
Added the description of --file-allocation option.
20870
(main): Set default value of --file-allocation option to 'none'.
20871
Added --file-allocation command-line option.
20872
Setup FileAllocationMonitorFactory.
20873
* src/FtpInitiateConnectionCommand.cc
20874
(executeInternal): Removed diskWriter related processing, which was
20875
moved to FtpNegotiationCommand.cc.
20876
* src/DirectDiskAdaptor.cc
20877
(getFilePath): Made non-const.
20878
* src/CopyDiskAdaptor.h
20879
(DiskAdaptor.h): Removed include.
20880
(DiskWriter.h): Removed include.
20881
(AbstractSingleDiskAdaptor.h): New include.
20882
(getFilePath): Made non-const. Added virtual keyword.
20883
(CopyDiskAdaptor): Removed diskWriter.
20884
(getTempFile): Returns const reference.
20885
(CopyDiskAdaptorHandle): New type definition.
20886
* src/ByteArrayDiskWriter.cc
20887
(clear): Simplified.
20888
(initAndOpenFile): Rewritten.
20889
(openFile): Call initAndOpenFile()
20890
* src/MultiDiskAdaptor.cc: Rewritten.
20891
* src/DownloadEngineFactory.cc
20892
(FileAllocator.h): New include.
20893
(FileAllocationMonitor.h): New include.
20894
(newConsoleEngine): Call DefaultDiskWriter::createNewDiskWriter() to
20895
create DefaultDiskWriter with file allocator.
20897
(initAndOpenFile): Added totalLength argument.
20898
(openFile): Added totalLength argument.
20900
(PREF_FILE_ALLOCATION): New definition.
20901
(V_PREALLOC): New definition.
20902
(V_NONE): New definition.
20903
* src/HttpResponseCommand.cc
20904
(handleDefaultEncoding): Call DefaultDiskWriter::initAndOpenFile with
20906
* src/FtpNegotiateCommand.cc
20907
(Util.h): New include.
20908
(recvSize): Open file here.
20910
(ullitos): New function.
20911
* src/CopyDiskWriter.h
20912
(getFilePath): Made non-const.
20913
* src/DefaultDiskWriter.h
20914
(Option.h): New include.
20915
(totalLength): Removed.
20916
(DefaultDiskWriter): Removed totalLength.
20917
(initAndOpenFile): Added totalLength argument.
20918
(DefaultDiskWriterHandle): New type definition.
20919
(createNewDiskWriter): New function.
20921
(ullitos): New function.
20922
* src/DefaultDiskWriter.cc
20923
(message.h): New include.
20924
(FileAllocator.h): New include.
20925
(prefs.h): New include.
20926
(Util.h): New include.
20927
(DefaultDiskWriter): Removed totalLength.
20928
(initAndOpenFile): Added file allocation.
20929
(createNewDiskWriter): New function. Just for temporary solution.
20930
It will be rewritten later.
20931
* src/DiskAdaptor.cc
20932
(DiskAdaptor): Removed diskWriter.
20933
* src/AbstractDiskWriter.cc
20934
(LogFactory.h): New include.
20935
(AbstractDiskWriter): Added fileAllocator, logger.
20936
(openFile): Added totalLength argument.
20937
* src/AbstractDiskWriter.h
20938
(FileAllocator.h): New include.
20939
(Logger.h): New include.
20940
(fileAllocator): New variable.
20941
(logger): New variable.
20942
(openFile): Added totalLength argument. Added virtual keyword
20944
(openExistingFile): Added totalLength argument. Added virtual keyword
20946
(closeFile): Added virtual keyword explicitly.
20947
(sha1Sum): Added virtual keyword explicitly.
20948
(writeData): Added virtual keyword explicitly.
20949
(readData): Added virtual keyword explicitly.
20950
(setFileAllocator): New function.
20951
* src/DefaultPieceStorage.h
20952
(FileAllocator.h): New include.
20953
(diskAdaptor): DiskAdaptor -> DiskAdaptorHandle
20954
(getDiskAdaptor): DiskAdaptor -> DiskAdaptorHandle
20955
* src/FileProgressMonitor.h: New class.
20957
To compile aria2 on PC-BSD:
20959
* src/DefaultBtContext.cc
20960
(libgen.h): New include.
20962
To fix memory leak:
20965
(~Exception): Delete cause. Fixed memory leak.
20967
2006-12-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
20969
Rewritten a portion of bittorrent implementation:
20971
* src/BtMessageValidator.h: New class.
20972
* src/BtBitfieldMessageValidator.h: New class.
20973
* src/BtHandshakeMessageValidator.h: New class.
20974
* src/BtRequestMessageValidator.h: New class.
20975
* src/BtSuggestPieceMessageValidator.h: New class.
20976
* src/BtAllowedFastMessageValidator.h: New class.
20977
* src/BtRejectMessageValidator.h: New class.
20978
* src/BtCancelMessageValidator.h: New class.
20979
* src/BtPieceMessageValidator.h: New class.
20980
* src/BtHaveMessageValidator.h: New class.
20981
* src/BtEventListener.h: New class.
20982
* src/AbstractBtEventListener.h: New class.
20983
* src/BtEvent.h: New class.
20984
* src/BtChokingEvent.h: New class.
20985
* src/BtChokedEvent.h: New class.
20986
* src/BtCancelSendingPieceEvent.h: New class.
20987
* src/BtAbortOutstandingRequestEvent.h: New class.
20988
* src/Randomizer.h: New class.
20989
* src/SimpleRandomizer.h: New class.
20990
* src/BtMessage.h: New class.
20991
* src/AbstractBtMessage.h: New class.
20992
* src/SimpleBtMessage.h: New class.
20993
* src/BtHaveMessage.h: New class.
20994
* src/BtInterestedMessage.h: New class.
20995
* src/BtAllowedFastMessage.h: New class.
20996
* src/BtUnchokeMessage.h: New class.
20997
* src/BtCancelMessage.h: New class.
20998
* src/BtNotInterestedMessage.h: New class.
20999
* src/BtChokeMessage.h: New class.
21000
* src/BtHaveNoneMessage.h: New class.
21001
* src/BtHandshakeMessage.h: New class.
21002
* src/BtSuggestPieceMessage.h: New class.
21003
* src/BtHaveMessage.h: New class.
21004
* src/BtPieceMessage.h: New class.
21005
* src/BtHaveAllMessage.h: New class.
21006
* src/BtKeepAliveMessage.h: New class.
21007
* src/BtPortMessage.h: New class.
21008
* src/BtRejectMessage.h: New class.
21009
* src/BtBitfieldMessage.h: New class.
21010
* src/BtRequestMessage.h: New class.
21011
* src/DefaultBtRequestFactory.h: New class.
21012
* src/DefaultBtMessageReceiver.h: New class.
21013
* src/BtInteractive.h: New class.
21014
* src/BtMessageDispatcher.h: New class.
21015
* src/DefaultBtMessageDispatcher.h: New class.
21016
* src/DefaultBtInteractive.h: New class.
21017
* src/BitfieldManFactory.h: New class.
21018
* src/HandleRegistry.h: New class.
21019
* src/BtMessageFactory.h: New class.
21020
* src/BtMessageReceiver.h: New class.
21021
* src/DefaultBtMessageFactory.h: New class.
21022
* src/PeerObject.h: New class.
21023
* src/BtRequestFactory.h: New class.
21024
* src/SuggestPieceMessage.h: Removed.
21025
* src/PortMessage.h: Removed.
21026
* src/SuggestPieceMessage.h: Removed.
21027
* src/KeepAliveMessage.h: Removed.
21028
* src/HandshakeMessage.h: Removed.
21029
* src/PeerInteraction.h: Removed.
21030
* src/UnchokeMessage.h: Removed.
21031
* src/PieceMessage.h: Removed.
21032
* src/RequestMessage.h: Removed.
21033
* src/InterestedMessage.h: Removed.
21034
* src/HaveMessage.h: Removed.
21035
* src/CancelMessage.h: Removed.
21036
* src/RejectMessage.h: Removed.
21037
* src/AllowedFastMessage.h: Removed.
21038
* src/HaveNoneMessage.h: Removed.
21039
* src/SimplePeerMessage.h: Removed.
21040
* src/HaveAllMessage.h: Removed.
21041
* src/BitfieldMessage.h: Removed.
21042
* src/PeerMessageFactory.h: Removed.
21043
* src/NotInterestedMessage.h: Removed.
21044
* src/ChokeMessage.h: Removed.
21045
* src/PeerMessage.h: Removed.
21047
2006-12-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21049
To know root cause of exception:
21052
(cause): New variable.
21053
(Exception): Added a parameter.
21054
(getMsg): Return const reference to msg.
21055
(getCause): New function.
21057
(DlRetryEx): Added a parameter 'cause'.
21058
Added an overloaded constructor.
21059
(DlAbortEx): Added a parameter 'cause'.
21060
Added an overloaded constructor.
21061
* src/SimpleLogger.cc
21062
(writeLog): Log nested exception messages recursively.
21064
2006-11-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21066
* src/DefaultBtProgressInfoFile.cc
21067
(load): Fixed memory leak when the infohash doesn't match.
21069
2006-11-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21071
* src/DefaultPeerStorage.cc
21072
(calculateStat): Simplified the code by combining 2 loops into 1.
21074
2006-11-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21076
Introduce new preference PREF_BT_TIMEOUT. This is the timeout value
21077
for BitTorrent download:
21079
* src/PeerAbstractCommand.cc
21080
(PeerAbstractCommand): PREF_TIMEOUT -> PREF_BT_TIMEOUT
21082
(timeoutSpecified): Removed.
21083
(main): Set the initial value of PREF_BT_TIMEOUT to 180.
21084
Removed timeoutSpecified. TODO: Add --bt-timeout command line option.
21085
* src/TorrentRequestInfo.cc
21086
(timeoutSpecified): Removed.
21087
(torrentHandler): Removed timeoutSpecified and the adjustment of
21090
(PREF_BT_TIMEOUT): New definition.
21092
Delete unused variables:
21094
* src/TorrentRequestInfo.cc
21095
(requestInfo): Removed.
21097
Move setSignalHander to Util::setGlobalSignalHandler:
21099
* src/TorrentRequestInfo.cc:
21100
setSignalHander -> Util::setGlobalSignalHandler
21102
(setSignalHander): Removed.
21103
(main): setSignalHander -> Util::setGlobalSignalHandler
21105
(setGlobalSignalHandler): New function.
21107
(setGlobalSignalHandler): New function.
21108
* src/UrlRequestInfo.cc:
21109
setSignalHander -> Util::setGlobalSignalHandler
21111
Reset peer status in order to exit gracefully:
21113
* src/PeerAbstractCommand.cc
21114
(execute): Call peer->resetStatus() when btRuntime->isHalt() is true.
21116
To fix the bug that causes the number of bytes uploaded is not saved
21119
* src/DefaultPeerStorage.h
21120
(removedPeerSessionDownloadLength): New variable.
21121
(removedPeerSessionUploadLength): New variable.
21122
* src/DefaultPeerStorage.cc
21123
(DefaultPieceStorage): Added removedPeerSessionDownloadLength(0),
21124
removedPeerSessionUploadLength(0).
21125
(calculateStat): Calculate the number of bytes downloaded(uploaded)
21126
through all peers, and then add removedPeerSessionDownloadLength(
21127
removedPeerSessionUploadLength) to it.
21128
(deleteUnusedPeer): Add the number of bytes downloaded(uploaded) from
21129
(to) the peer to removedPeerSessionDownloadLength
21130
(removedPeerSessionUploadLength).
21132
2006-11-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21134
To add Metalink location option:
21136
* src/MetalinkRequestInfo.cc
21137
(execute): Call MetalinkEntry::setLocationPreference()
21139
(showUsage): Added the help message for --metalink-location option.
21140
(main): Added --metalink-location option.
21142
(PREF_METALINK_LOCATION): New definition.
21143
* src/MetalinkEntry.cc
21144
(AddLocationPreference): New function object.
21145
(setLocationPreference): New function.
21146
* src/Xml2MetalinkProcessor.cc
21147
(getResource): Set location attribute to MetalinkResource
21149
To show URLs to download
21151
* src/UrlRequestInfo.h
21152
(printUrls): New function.
21154
To add multiple <file> Metalink support:
21156
* src/MetalinkEntry.h
21157
(MetalinkResources): Removed.
21158
(setLocationPreference): New function.
21159
(MetalinkEntryHandle): New type definition.
21160
(MetalinkEntries): New type definition.
21161
* src/Xml2MetalinkProcessor.h
21162
(getEntry): MetalinkEntry* -> MetalinkEntryHandle
21163
(getResource): MetalinkResource* -> MetalinkResourceHandle
21164
(parseFile): Metalinker* -> MetalinkerHandle
21165
* src/UrlRequestInfo.h
21166
(execute): RequestInfo* -> RequestInfos
21167
* src/MetalinkRequestInfo.cc
21168
(AccumulateNonP2PUrl): MetalinkResource* -> MetalinkResourceHandle
21169
(FindBitTorrentUrl): MetalinkResource* -> MetalinkResourceHandle
21170
(execute): RequestInfo* -> RequestInfos
21171
Added multiple <file> support. Print filename when it is queued.
21172
* src/MetalinkRequestInfo.h
21173
(execute): RequestInfo* -> RequestInfos
21174
(getDownloadEngine): Removed.
21175
* src/RequestInfo.h
21176
(RequestInfoHandle): New type definition.
21177
(RequestInfos): New type definition.
21178
(execute): RequestInfo* -> RequestInfos
21179
(getDownloadEngine): Removed.
21180
* src/MetalinkResource.h
21181
(MetalinkResourceHandle): New type definition.
21182
(MetalinkResources): New type definition.
21183
* src/MetalinkEntry.cc
21184
(~MetalinkEntry): Removed the deletion of the elements of resources,
21185
because the element is now of type MetalinkResourceHandle.
21186
(PrefOrder): MetalinkResource* -> MetalinkResourceHandle
21187
(Supported): MetalinkResource* -> MetalinkResourceHandle
21188
(dropUnsupportedResource): Removed the deletion of the elements of
21189
resources because the element is now of type MetalinkResourceHandle.
21190
* src/Xml2MetalinkProcessor.cc
21191
(parseFile): Metalinker* -> MetalinkerHandle
21192
MetalinkEntry* -> MetalinkEntryHandle
21193
Removed try-catch block.
21194
(getEntry): MetalinkEntry* -> MetalinkEntryHandle
21195
MetalinkResource* -> MetalinkResourceHandle
21196
Removed try-catch block.
21197
(getResource): MetalinkResource* -> MetalinkResourceHandle
21198
Free result by using xmlXPathFreeObject()
21199
* src/Metalinker.cc
21200
(~Metalinker): Removed the deletion of entries.
21201
MetalinkEntry* -> MetalinkEntryHandle
21202
(queryEntry): Add multiple <file> Metalink support.
21204
(MetalinkEntries): Removed.
21205
(queryEntry): MetalinkEntry* -> MetalinkEntries
21206
* src/MetalinkProcessor.h
21207
(parseFile): Metalinker* -> MetalinkerHandle
21211
* src/PeerChokeCommand.cc
21212
(execute): cat01->cat02
21213
* src/DefaultPieceStorage.cc
21214
(DefaultPieceStorage): Added diskAdaptor(0)
21215
* src/TrackerWatcherComand.cc:
21216
(execute): Use btAnnounce->noMoreAnnounce()
21217
to determin whether the function returns true or not.
21218
* src/TrackerUpdateCommand.cc:
21219
(execute): Use btAnnounce->noMoreAnnounce()
21220
to determin whether the function returns true or not.
21221
* src/FtpConnection.cc
21222
(bulkReceiveResponse): Throw DlRetryEx if EOF got.
21223
This is the fix of the busy loop bug.
21224
* src/DownloadCommand.cc
21225
(DownloadCommand): Reuse PeerStat. segmentMan->getPeerStat() returns
21228
The value of "name" entry in torrent file is now set by
21229
*DiskAdaptor::setTopDir(...) methods.
21231
* src/MultiDiskAdaptor.h
21232
(topDir): New variable.
21233
(setTopDir): New function.
21234
(getTopDir): New function.
21235
* src/MultiDiskAdaptor.cc
21236
(getFilePath): Concat storDir, "/" and topDir.
21237
(mkdir): Use getFilePath() to get the directory path for output.
21238
* src/DefaultPieceStorage.cc
21239
(initStorage): Set the value of "name" entry to MultiDiskAdaptor,
21241
* src/CopyDiskAdaptor.h
21242
(topDir): New variable.
21243
(setTopDir): New function.
21244
(getTopDir): New function.
21245
* src/CopyDiskAdaptor.cc
21246
(fixFilename): Updated.
21250
* src/UrlRequestInfo.h
21252
(UrlRequestInfo): Removed e.
21253
(getDownloadEngine): Removed.
21254
* src/UrlRequestInfo.cc
21255
(handler): Rewritten.
21256
(printUrls): New function.
21257
(execute): Call printUrls().
21259
* src/HandshakeMessage.cc
21260
(check): peerinteraction->getBtContext() -> btContext
21262
* src/PeerInteraction.h
21263
(getBtContext): Removed.
21265
* src/TorrentRequestInfo.h
21266
(execute): RequestInfo* -> RequestInfos
21267
(getDownloadEngine): Removed.
21268
* src/TorrentRequestInfo.cc
21269
(haltRequested): Removed.
21270
(btHaltRequested): New variable.
21271
(torrentHandler): haltRequested -> btHaltRequested
21272
(execute): RequestInfo* -> RequestInfos
21273
* src/TorrentConsoleDownloadEngine.cc
21274
(afterEachIteration): haltRequested -> btHaltRequested.
21276
* src/ConsoleDownloadEngine.h
21277
(initStatistics): Added virtual.
21278
(calculateStatistics): Added virtual.
21279
(onEndOfRun): Added virtual.
21280
(afterEachIteration): Added virtual.
21281
* src/ConsoleDownloadEngine.cc
21282
(haltRequested): New variable.
21283
(afterEachIteration): New function.
21286
(requestInfo): Removed.
21288
* src/SegmentMan.cc
21289
(findSlowerSegmentEntry): Refactored.
21293
2006-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21295
To divide TorrentMan into 6 classes: BtContext, BtRuntime,
21296
PeerStorage, PieceStorage, BtAnnounce and BtProgressInfoFile
21298
* src/TorrentMan.h: Removed.
21299
* src/TorrentMan.cc: Removed.
21300
* src/TrackerWatcherComand.h: Made subclass of BtContextAwareCommand.
21301
* src/SeedCheckCommand.cc: Use pieceStorage, btRuntime
21302
* src/PeerAbstractCommand.h: Made subclass of BtContextAwareCommand.
21303
* src/PeerAbstractCommand.cc: Use btRuntime.
21304
* src/BtContextAwareCommand.h: New class.
21305
* src/FileEntry.h: Added accessor methods for following variables.
21306
(path): Made private.
21307
(length): Made private.
21308
(offset): Made private.
21309
(extracted): Made private.
21310
(requested): Made private.
21311
(FileEntries): New definition.
21312
(FileEntryHandle): New definition.
21313
* src/FileEntry.cc: New file.
21314
* src/HaveEraseCommand.h: Made subclass of BtContextAwareCommand.
21315
* src/HaveEraseCommand.cc: Use btRuntime, pieceStorage.
21316
* src/PeerChokeCommand.h: Made subclass of BtContextAwareCommand.
21317
* src/PeerChokeCommand.cc: Use btRuntime, peerStorage, pieceStorage.
21318
* src/PieceStorage.h: New file.
21319
* src/PeerInteractionCommand.h: Use btContext.
21320
* src/PeerInteractionCommand.cc: Use pieceStorage, peerStorage,
21322
* src/DefaultBtProgressInfoFile.h: New file.
21323
* src/DefaultBtProgressInfoFile.cc: New file.
21325
(Util.h): New include.
21326
(mkdirs): New function.
21327
* src/MultiDiskAdaptor.h
21328
(mkdir): New function.
21329
* src/PeerListProcessor.h
21331
* src/PeerInteraction.h
21332
(torrentMan): Removed.
21333
(btContext): New variable.
21334
(peerStorage): New variable.
21335
(pieceStorage): New variable.
21336
(btAnnounce): New variable.
21337
(getTorrentMan): Removed.
21338
(getBtContext): New function.
21339
* src/PeerInteraction.cc: Use btContext, peerStorage, pieceStorage,
21341
* src/HandshakeMessage.h
21342
(TorrentMan.h): Removed.
21343
* src/HandshakeMessage.cc: Use btContext.
21344
* src/DefaultBtAnnounce.cc: New file.
21345
* src/MultiDiskWriter.cc: Use the accessor methods of FileEntry.
21346
* src/DefaultPieceStorage.cc: New file.
21347
* src/DefaultBtContext.h: New file.
21348
* src/TorrentRequestInfo.cc: Use btContext, pieceStorage.
21349
Use the accessor methods of FileEntry.
21350
* src/CookieBox.cc: Updated to use Util::slice().
21351
* src/PieceMessage.cc: Use btContext, pieceStorage.
21352
* src/common.h (SharedHandle.h): New include.
21353
* src/PeerMessage.cc (PeerMessage): Added btContext, peerStorage,
21355
* src/TorrentAutoSaveCommand.h: Made subclass of BtContextAwareCommand.
21356
* src/DiskAdaptor.h
21358
(getFileEntryFromPath): Changed the return type to FileEntryHandle.
21359
(setTopDir): Removed.
21360
(getTopDir): Removed.
21361
* src/BtContext.h: New file.
21362
* src/DefaultPeerStorage.h: New file.
21363
* src/PieceMessage.h (TorrentMan.h): Removed.
21364
* src/RequestMessage.h (TorrentMan.h): Removed.
21365
* src/TorrentDownloadEngine.h
21366
(uploadLength): New variable.
21367
(btContext): New variable.
21368
(btRuntime): New variable.
21369
(pieceStorage): New variable.
21370
(peerStorage): New variable.
21371
(btAnnounce): New variable.
21372
(btProgressInfoFile): New variable.
21373
(torrentMan): Removed.
21374
(setBtContext): New function.
21375
* src/TorrentDownloadEngine.cc: Use BtContext, BtRuntime, pieceStorage,
21376
peerStorage, btAnnounce, btProgressInfoFile.
21378
(toString): New function.
21379
(Pieces): New type definition.
21381
(active): New variable.
21382
(Peer): Added active.
21383
(activate): Set active to true.
21384
(deactivate): Set active to false.
21385
(isActive): New function.
21386
(Peers): New type definition.
21387
* src/DirectDiskAdaptor.cc
21388
(getFilePath): Use the accessor methods of FileEntry.
21389
* src/TorrentConsoleDownloadEngine.h
21390
(afterEachIteration): New function.
21391
* src/TorrentConsoleDownloadEngine.cc
21392
(haltRequested): New variable.
21393
(sendStatistics): Use pieceStorage, btRuntime.
21394
(afterEachIteration): New function.
21395
* src/AnnounceList: AnnounceTier->AnnounceTierHandle.
21397
(Directory): New function.
21398
(DirectoryHandle): New type definition.
21399
* src/BtProgressInfoFile.h: New file.
21400
* src/RequestMessage.cc: Use pieceStorage.
21401
* src/BtRuntime.h: New file.
21402
* src/DefaultBtContext.cc: New file.
21403
* src/BitfieldMan.h
21404
(getCompletedLength): New function(private).
21405
(getCompletedLength): New function.
21406
(getFilteredCompletedLength): New function.
21407
* src/BitfieldMan.h
21408
(getCompletedLength): New function(private).
21409
(getCompletedLength): New function.
21410
(getFilteredCompletedLength): New function.
21411
* src/MultiDiskAdaptor.cc
21412
(mkdir): New function.
21413
(openFile): Call mkdir().
21414
(initAndOpenFile): Call mkdir().
21415
* src/CancelMessage.h
21416
(TorrentMan.h): Removed.
21417
* src/RejectMessage.h
21418
(TorrentMan.h): Removed.
21419
* src/DownloadEngineFactory.cc
21420
(DefaultPieceStorage.h): New include.
21421
(DefaultPeerStorage.h): New include.
21422
(DefaultBtAnnounce.h): New include.
21423
(DefaultBtProgressInfoFile.h): New include.
21424
(newTorrentConsoleEngine): Rewritten.
21425
* src/ShareRatioSeedCriteria.h
21426
(torrentMan): Removed.
21427
(btContext): New variable.
21428
(peerStorage): New variable.
21429
(btRuntime): New variable.
21430
(evaluate): Use btContext, btRuntime, peerStorage.
21431
* src/AnnounceTier.h: New file.
21432
* src/BtAnnounce.h: New file.
21433
* src/BtRegistry.h: New file.
21434
* src/PeerInitiateConnectionCommand.h: Added btContext.
21435
* src/PeerConnection.h (TorrentMan.h): Removed.
21436
* src/PeerMessageFactory.cc: Use btContext, pieceStorage.
21438
(slice): Added an argument.
21440
(slice): Added an argument to control whether trim is made or not.
21441
* src/PeerStorage.h: New file.
21442
* src/BtRegistry.cc: New file.
21443
* src/TrackerUpdateCommand.h: Made subclass of BtContextAwareCommand.
21444
* src/CopyDiskAdaptor.cc: Use the accessor methods of FileEntry.
21445
* src/MultiDiskWriter.h: FileEntry -> FileEntryHandle
21446
* src/PeerListenCommand.cc: Use btRuntime, peerStorage, btContext.
21447
* src/TorrentRequestInfo.h
21449
(showFileEntry): Added an argument.
21450
(getDownloadEngine): Return 0.
21451
* src/DefaultBtAnnounce.h: New file.
21452
* src/TorrentAutoSaveCommand.cc: Use btRuntime, btProgressInfoFile.
21453
* src/TrackerWatcherComand.cc: Use btRuntime, btAnnounce,
21454
* src/PeerMessageFactory.h
21455
(btContext): New variable.
21456
(pieceStorage): New variable.
21457
* src/TrackerUpdateCommand.cc: Use btRuntime, peerStorage, btContext,
21459
* src/DiskAdaptor.cc
21460
(DiskAdaptor): Removed topDir.
21461
(~DiskAdaptor): Removed topDir.
21462
* src/PeerListenCommand.h: Made subclass of BtContextAwareCommand.
21463
* src/SeedCheckCommand.h: Made subclass of BtContextAwareCommand.
21464
* src/File.h (mkdirs): New function.
21465
* src/DefaultPeerStorage): New file.
21466
* src/DownloadEngineFactory.h
21467
(newTorrentConsoleEngine): Use btContext.
21468
* src/BtContextAwareCommand.cc: New file.
21469
* src/PeerInitiateConnectionCommand.cc: Use btRuntime, peerStorage.
21470
* src/PeerMessage.h
21471
(btContext): New variable.
21472
(peerStorage): New variable.
21473
(pieceStorage): New variable.
21474
(setBtContext): New function.
21476
(Directory): New function.
21477
(createDir): Do nothing if name.size() == 0.
21478
* src/AnnounceList.h
21479
(AnnounceTier): Removed.
21480
(AnnounceTiers): Removed.
21481
* src/DefaultPieceStorage.h: New file.
21482
* src/Piece.cc (toString): New function.
21486
* src/main.cc (showVersion): Fixed typo.
21488
To fix compile warning:
21490
* src/DelegatingPeerListProcessor.cc
21491
(canHandle): Added "return false".
21493
2006-10-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21495
To simplify TrackerWatherCommand, TrackerUpdateCommand and
21496
make the process of announce request testable.
21498
* src/TrackerWatcherCommand.h
21499
(TimeA2.h): Removed.
21500
(interval): Removed.
21501
(checkPoint): Removed.
21502
(createRequestCommand): Added an argument 'url'.
21503
(TrackerWatherCommand): Removed interval.
21504
(createCommand): New function.
21505
* src/DownloadEngineFactory.cc
21506
(newTorrentConsoleEngine): Updated according to the changes in
21507
TrackerWatherCommand.
21508
* src/TorrentMan.cc
21509
(DelegatingPeerListProcessor.h): New includes.
21510
(TorrentMan): Added the initialization of announceInterval.
21511
(isStoppedAnnounceReady): New function.
21512
(isCompletedAnnounceReady): New function.
21513
(isDefaultAnnounceReady): New function.
21514
(isAnnounceReady): New function.
21515
(getAnnounceUrl): New function.
21516
(announceStart): New function.
21517
(announceFailure): New function.
21518
(announceSuccess): New function.
21519
(isAllAnnounceFailed): New function.
21520
(resetAnnounce): New function.
21521
(processAnnounceResponse): New function.
21522
(needMorePeerConnection): New function.
21523
(noMoreAnnounce): New function.
21524
* src/TrackerUpdateCommand.h
21525
(getTrackerResponse): int->size_t
21527
(isStoppedAnnounceReady): New function.
21528
(isCompletedAnnounceReady): New function.
21529
(isDefaultAnnounceReady): New function.
21530
(announceInterval): New variable.
21531
(isAnnounceReady): New function.
21532
(getAnnounceUrl): New function.
21533
(announceStart): New function.
21534
(announceFailure): New function.
21535
(announceSuccess): New function.
21536
(isAllAnnounceFailed): New function.
21537
(resetAnnounce): New function.
21538
(processAnnounceResponse): New function.
21539
(needMorePeerConnection): New function.
21540
(noMoreAnnounce): New function.
21541
* src/TrackerWatcherCommand.cc
21542
(TrackerWatherCommand): Removed interval and checkPoint.
21543
(execute): Rewritten.
21544
(createCommand): New function.
21545
(createRequestCommand): Rewritten.
21546
* src/TrackerUpdateCommand.cc
21547
(MetaFileUtil.h): Removed.
21548
(DelegatingPeerListProcessor.h): Removed.
21549
(getTrackerResponse): int->size_t. Use torrentMan's new functions.
21551
2006-10-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21553
Request -> RequestHandle:
21555
* src/HttpResponseCommand.h: Request->RequestHandle
21556
* src/AbstractCommand.cc: Request->RequestHandle
21557
* src/HttpDownloadCommand.cc: Request->RequestHandle
21558
* src/HttpRequestCommand.cc: Request->RequestHandle
21559
* src/FtpInitiateConnectionCommand.h: Request->RequestHandle
21560
* src/AbstractCommand.h: Request->RequestHandle
21561
* src/HttpProxyRequestCommand.h: Request->RequestHandle
21562
* src/HttpResponseCommand.cc: Request->RequestHandle
21563
* src/HttpInitiateConnectionCommand.h: Request->RequestHandle
21564
* src/FtpNegotiateCommand.cc: Request->RequestHandle
21565
* src/FtpTunnelResponseCommand.h: Request->RequestHandle
21566
* src/HttpConnection.h: Request->RequestHandle
21567
* src/HttpProxyResponseCommand.cc: Request->RequestHandle
21568
* src/InitiateConnectionCommandFactory.h: Request->RequestHandle
21569
* src/FtpTunnelResponseCommand.cc: Request->RequestHandle
21570
* src/DownloadCommand.h: Request->RequestHandle
21571
* src/FtpDowndloadCommand.cc: Request->RequestHandle
21572
* src/HttpInitiateConnectionCommand.cc: Request->RequestHandle
21573
* src/HttpRequestCommand.h: Request->RequestHandle
21574
* src/FtpNegotiateCommand.h: Request->RequestHandle
21575
* src/FtpTunnelResponseCommand.cc: Request->RequestHandle
21576
* src/FtpInitiateConnectionCommand.cc: Request->RequestHandle
21577
* src/HttpDownloadCommand.h: Request->RequestHandle
21578
* src/FtpConnection.cc: Request->RequestHandle
21579
* src/InitiateConnectionCommandFactory.cc: Request->RequestHandle
21580
* src/UrlRequestInfo.cc: Request->RequestHandle
21581
* src/HttpProxyResponseCommand.h: Request->RequestHandle
21582
* src/HttpConnection.h: Request->RequestHandle
21583
* src/DownloadCommand.cc: Request->RequestHandle
21584
* src/FtpConnection.h: Request->RequestHandle
21585
* src/FtpDowndloadCommand.h: Request->RequestHandle
21586
* src/HttpProxyRequestCommand.cc: Request->RequestHandle
21587
* src/FtpTunnelRequestCommand.h: Request->RequestHandle
21589
(SharedHandle.h): New include.
21590
(RequestHandle): New type definition.
21591
(Requests): Redefined.
21593
To add MULTITRACKER support:
21595
* src/TrackerWatcherCommand.h
21596
(createRequestCommand): New function.
21597
* src/DownloadEngineFactory.cc
21598
(newTorrentConsoleEngine): Removed req.
21600
(PREF_TRACKER_MAX_TRIES): New definition.
21601
* src/TorrentMan.cc
21602
(TorrentMan): Removed req. Added trackerNumTry.
21603
(~TorrentMan): Removed req.
21604
(setupInternal1): Added announceList.
21605
* src/TorrentRequestInfo.cc
21606
(execute): Set PREF_MAX_TIRES to 1. The max number of tries for
21607
announces is now specified by PREF_TRACKER_MAX_TRIES.
21609
(main): Added PREF_TRACKER_MAX_TRIES.
21611
(Request.h): Removed.
21612
(AnnounceList.h): New include.
21613
(trackerNumTry): New variable.
21615
(announceList): New variable.
21616
* src/TrackerWatcherCommand.cc
21617
(execute): Rewritten.
21618
(createRequestCommand): New function.
21619
* src/TrackerUpdateCommand.cc
21620
(execute): Updated with the use of AnnounceList.
21621
* src/AnnounceList.cc: New class.
21622
* src/AnnounceList.h: New class.
21627
(PREF_MAX_TRIES): max_try->max_tries
21629
To not to decode "+" as space in URL decode:
21632
(urldecode): Removed "+"->space decoding rule. Test case was updated.
21634
2006-10-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21636
To add timeout to async name resolution:
21638
* src/AbstractCommand.h
21639
(nameResolveFinished): New function. This is not elegant way. It needs
21640
to be more refined.
21641
(nameResolverCheck): New variable.
21642
* src/AbstractCommand.cc
21643
(AbstractCommand): Added nameResolverCheck.
21644
(execute): Added the check whether the name resolution has finished.
21645
(setNameResolverCheck): Set nameResolverCheck to true.
21646
(disableNameResolverCheck): Set nameResolverCheck to false.
21647
(nameResolverFinished): New function.
21648
* src/FtpInitiateConnectionCommand.h
21649
(nameResolverFinished): New function.
21650
* src/FtpInitiateConnectionCommand.cc
21651
(FtpInitiateConnectionCommand): Set timeout to PREF_DNS_TIMEOUT.
21652
* src/HttpInitiateConnectionCommand.h
21653
(nameResolverFinished): New function.
21654
* src/HttpInitiateConnectionCommand.cc
21655
(HttpInitiateConnectionCommand): Set timeout to PREF_DNS_TIMEOUT.
21657
(PREF_DNS_TIMEOUT): New definition.
21659
(main): Added PREF_DNS_TIMEOUT.
21661
To add the support for a non-compact response from a tracker:
21663
* src/PeerListProcessor.h: New class.
21664
* src/DefaultPeerListProcessor.h: New class.
21665
* src/DefaultPeerListProcessor.cc: New class.
21666
* src/CompactPeerListProcessor.h: New class.
21667
* src/CompactPeerListProcessor.cc: New class.
21668
* src/DelegatingPeerListProcessor.h: New class.
21669
* src/DelegatingPeerListProcessor.cc: New class.
21670
* src/TorrentMan.cc
21671
(addPeer): New function(overload).
21672
(addPeer): Delete unused peers only when new peer is added.
21674
(PeerListProcessor.h): Included.
21676
(addPeer): New function(overload).
21677
* src/TrackerUpdateCommand.cc
21678
(netinet/in.h): Removed.
21679
(DelegatingPeerListProcessor.h): Included.
21680
(execute): Updated to use DelegatingPeerListProcessor.
21682
To fix the memory leak in TorrentMan::peers:
21684
* src/PeerAbstractCommand.cc
21685
(onAbort): Added peer->resetStatus().
21687
(resetStatus): Made public.
21689
To improve the precision of the speed calculation:
21692
(nextInterval): New variable.
21694
(reset): Added nextInterval.
21695
(isIntervalOver): Use nextInterval instead of CHANGE_INTERVAL_SEC.
21696
(changeSw): Set nextInterval to 15 seconds relative to the current
21700
(showVersion): Updated.
21701
(showUsage): Updated.
21705
2006-09-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21708
(showUsage): Commented out --min-segment-size option.
21709
(main): Commented out --min-segment-size option.
21713
2006-09-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21716
Added an exception to the license which allows linking with OpenSSL.
21718
2006-09-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21720
* src/AbstractCommand.cc
21721
(execute): Check whether the download has finished before checking
21723
Return true if peerStat->getStatus() == REQUEST_IDLE.
21724
Do not exit even if no segment is available.
21727
(PREF_STARTUP_IDLE_TIME): New definition.
21729
* src/PeerInteractionCommand.cc
21730
(executeInternal): Removed max speed limit. Because it performs bad.
21731
(receiveMessages): Added max speed limit. This was better than above,
21732
but still a little bit to be desired. Sometimes the download speed
21733
became much faster than I specified.
21736
(start): New variable.
21737
(accumulatedLength): New variable.
21738
(getAvgSpeed): New function.
21740
(reset): Added start, accumulatedLength.
21741
(update): Added calculation of an average speed.
21742
(getAvgSpeed): New function.
21744
* src/DownloadCommand.h
21748
(main): Added PREF_STARTUP_IDLE_TIME.
21751
(STATUS): Added REQUEST_IDLE.
21752
(getMaxSpeed): Renamed as getMaxDownloadSpeed().
21753
(getAvgDownloadSpeed): New function
21754
(requestIdle): New function.
21757
(SegmentEntryHandle): New type definition.
21758
(SegmentEntries): Now holds SegmentEntryHandle.
21759
(findSlowerSegmentEntry): New funtion.
21760
* src/SegmentMan.cc
21761
(save): Updated according to the changes in SegmentEntries.
21762
(read): Updated according to the changes in SegmentEntries.
21763
(FindSegmentEntryByIndex): Updated according to the changes in
21765
(FindSegmentEntryByCuid): Updated according to the changes in
21767
(checkoutSegment): Updated according to the changes in SegmentEntries.
21768
(onNullBitfield): Updated according to the changes in SegmentEntries.
21769
Renamed uitr as itr.
21770
(findSlowerSegmentEntry): New function.
21771
(getSegment): Updated according to the changes in SegmentEntries.
21772
Added the feature that cancels the segment with slow server and fast
21774
(cancelSegment): Updated according to the changes in SegmentEntries.
21775
(getDownloadLength): Updated according to the changes in
21777
(init): Assigned 0 to bitfield after deleting it.
21779
* src/DownloadCommand.cc
21780
(STARTUP_IDLE_TIME): Removed.
21781
(executeInternal): Use PREF_STARTUP_IDLE_TIME.
21783
* src/PeerChokeCommand.cc
21784
(optUnchokingPeer): Updated according to the changes in Peer.
21785
(ResetDelta): Removed.
21786
(UploadFaster): Updated according to the changes in Peer.
21787
(DownloadFaster): Updated according to the changes in Peer.
21788
(execute): I clarify the meaning of "upload" and "download" here.
21789
"upload" means the transfer from localhost to remote host.
21790
"download" means the transfer from remote host to localhost.
21791
Based on this rule, I swapped orderByUploadRate and
21792
orderByDownloadRate.
21794
* src/PeerInteractionCommand.cc
21795
(PeerInteraction): Removed peerInteraction->setUploadLImit().
21796
(executeInternal): Removed the argument of
21797
peerInteraction->sendMessages().
21798
(receiveMessages): Rewritten download speed limit.
21799
(sendKeepAlive): Removed peerInteraction->sendMessages().
21801
* src/HttpResponseCommand.cc
21802
(handleDefaultEncoding): If file size is unknown in torrent request,
21803
do not call segmentMan->initBitfield() here.
21804
Disabled persistent connection feature in torrent request.
21806
* src/UrlRequestInfo.h
21807
(UrlRequestInfo): Removed const qualifier from option.
21810
(TransferStat): New class.
21811
(deltaDownloadLength): Removed.
21812
(deltaUploadLength): Removed.
21813
(addDeltaDownloadLength): Removed.
21814
(getDeltaDownloadLength): Removed.
21815
(resetDeltaDownloadLength): Removed.
21816
(addDeltaUploadLength): Removed.
21817
(getDeltaUploadLength): Removed.
21818
(resetDeltaUploadLength): Removed.
21819
(addActivePeer): Added peer->activate().
21820
(deleteActivePeer): Added peer->deactivate().
21821
(calculateStat): New function.
21822
* src/TorrentMan.cc
21823
(TorrentMan): Removed deltaDownloadLength and deltaUploadLength.
21824
(calculateStat): New function.
21826
* src/PeerInteraction.h
21827
(uploadLimit): Removed.
21828
(option): New variable.
21829
(setUploadLimit): Removed.
21830
(getUploadSpeed): Removed.
21831
(sendMessages): Removed the argument "currentUploadSpeed".
21832
* src/PeerInteraction.cc
21833
(prefs.h): Included.
21834
(PeerInteraction): Removed uploadLimit. Added option.
21835
(sendMessages): Rewritten upload speed limit.
21836
(sendHandshake): Removed the argument from sendMessages().
21837
(sendBitfield): Removed the argument from sendMessages().
21839
* src/PeerAbstractCommand.cc
21840
(execute): Commented out the portion of upload limit.
21841
(onAbort): Removed peer->resetStatus().
21843
* src/TorrentRequestInfo.cc
21844
(timeoutSpecified): Declared extern.
21845
(execute): Set timeout to 180 if timeout is not specified by.
21848
* src/PieceMessage.cc
21849
(receivedAction): Added peer->updateDownloadLength().
21850
Removed peer->addPeerUpload().
21851
Removed torrentMan->addDeltaDownloadLength().
21852
(send): Added peer->updateUploadLength().
21853
Removed peer->addPeerDownload().
21854
Removed torrentMan->addDeltaUploadLength().
21857
(timeoutSpecified): New variable.
21858
(main): Set timeoutSpecified to false.
21859
If the command-line option "--upload-limit" is specified, then
21860
timeoutSpecified is set to true. This option will remain in the next
21861
release, but be deprecated in the future release.
21863
* src/TorrentRequestInfo.h
21864
(TorrentRequestInfo): Removed const qualifier from op.
21867
(uploadSpeed): New variable.
21868
(PeerStat): Added default value to cuid.
21869
(calculateUploadSpeed): New function.
21870
(updateUploadLength): New function.
21871
(getMaxUploadSpeed): New function.
21872
(getAvgUploadSpeed): New function.
21873
(reset): Added uploadSpeed. Set status to IDLE.
21875
* src/TorrentDownloadEngine.h
21876
(cp): Declared as Time.
21877
(sessionDownloadLengthArray): Removed.
21878
(sessionUploadLengthArray): Removed.
21879
(currentCp): Removed.
21880
(lastCalcStat): New variable
21881
(lastElapsed): Removed.
21882
(sessionDownloadLength): Removed.
21883
(calculateStat): New function.
21884
* src/TorrentDownloadEngine.cc
21885
(initStatistics): Removed lastElapsed, cp[],
21886
sessionDownloadLengthArray[], sessionUploadLengthArray[],
21887
currentCp, sessionDownloadLength.
21888
Added cp.reset() and lastCalcStat.reset().
21889
(calculateSpeed): Changed the name of the argument.
21890
(calculateStatistics): Rewritten.
21891
(calculateStat): New function.
21894
(PeerStat.h): Included.
21895
(peerUpload): Removed.
21896
(peerDownload): Removed.
21897
(peerStat): New variable.
21898
(sessionUploadLength): New variable.
21899
(sessionDownloadLength): New variable.
21900
(deltaUpload): Removed.
21901
(deltaDownload): Removed.
21902
(resetStatus): Made private.
21903
(Peer): Added sessionUploadLength, sessionDownloadLength.
21904
Removed peerUpload, peerDownload.
21905
(updateUploadLength): New function.
21906
(addDeltaUpload): Removed.
21907
(updateDownloadLength): New function.
21908
(resetDeltaUpload): Removed.
21909
(getDeltaUpload): Removed.
21910
(addDeltaDownload): Removed.
21911
(calculateUploadSpeed): New function.
21912
(resetDeltaDownload): Removed.
21913
(getDeltaDownload): Removed.
21914
(calculateDownloadSpeed): New function.
21915
(getSessionUploadLength): New function.
21916
(getSessionDownloadLength): New function.
21917
(activate): New function.
21918
(deactivate): New function.
21919
(addPeerUpload): Removed.
21920
(setPeerUpload): Removed.
21921
(getPeerUpload): Removed.
21922
(addPeerDownload): Removed.
21923
(setPeerDownload): Removed.
21924
(getPeerDownload): Removed.
21927
(resetStatus): Removed resetDeltaUpload() and resetDeltaDownload().
21929
* src/MetalinkRequestInfo.h
21930
(MetalinkRequestInfo): Removed const qualifier from op.
21932
* src/RequestInfo.h
21933
(op): Removed const qualifier.
21934
(RequestInfo): Removed const qualifier from op.
21937
(PREF_MAX_SPEED_LIMIT): Renamed as PREF_MAX_DOWNLOAD_LIMIT.
21938
(PREF_UPLOAD_LIMIT): Renamed as PREF_MAX_UPLOAD_LIMIT.
21940
* src/PeerInteractionCommand.cc
21941
(PeerInteractionCommand): Use PREF_MAX_UPLOAD_LIMIT.
21942
(receiveMessages): Use PREF_MAX_DOWNLOAD_LIMIT.
21944
* src/PeerInteraction.cc
21945
(sendMessages): Use PREF_MAX_UPLOAD_LIMIT.
21948
(showUsage): Updated the description of "--lowest-speed-limit" option.
21949
Added the description of "--max-download-limit" option.
21950
Removed the description of "--upload-limit" option.
21951
Added the description of "--max-upload-limit" option.
21952
(main): Use PREF_MAX_UPLOAD_LIMIT, PREF_MAX_DOWNLOAD_LIMIT.
21953
Added "--max-download-limit" option and "--max-upload-limit" option.
21954
Added the warning message if "--upload-limit" option is used.
21956
* src/DownloadCommand.cc
21957
(executeInternal): Use PREF_MAX_DOWNLOAD_LIMIT.
21959
2006-09-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
21961
To rewrite segment download mechanism for HTTP/FTP download.
21962
Use BitfieldMan to manage segment download.
21963
* src/HttpResponseCommand.h
21964
(executeInternal): Pass the reference of segment.
21965
* src/AbstractCommand.cc
21966
(prepareForRetry): Call segmentMan->cancelSegment here.
21967
(onAbort): Call segmentMan->cancelSegment here.
21968
* src/HttpDownloadCommand.cc
21969
(prepareForNextSegment): New function.
21970
* src/DownloadEngineFactory.cc
21971
(newConsoleEngine): Removed splitter.
21972
(newTorrentConsoleEngine): Removed splitter.
21974
(segment): Renamed from seg.
21975
* src/FtpInitiateConnectionCommand.h
21976
(executeInternal): Pass the reference of segment.
21977
* src/AbstractCommand.h
21978
(executeInternal): Pass the reference of segment.
21980
(PREF_SEGMENT_SIZE): New definition.
21981
* src/HttpProxyRequestCommand.h
21982
(executeInternal): Pass the reference of segment.
21983
* src/HttpResponseCommand.cc
21984
(checkResponse): Allowed status 206 when a request range starts 0.
21985
(handleDefaultEncoding): Rewritten the code related to Segment.
21986
(handleOtherEncoding): Rewritten the code related to Segment.
21988
(SegmentEntry): New class.
21989
(SegmentEntries): New type definition.
21990
(bitfield): New variable.
21991
(usedSegmentEntries): New variable.
21992
(onNullBitfield): New function.
21993
(checkoutSegment): New function.
21994
(segments): Removed.
21995
(splitter): Removed.
21996
(unregisterId): Removed.
21997
(getSegment): New function(overload)
21998
(getDownloadedSize): Removed.
21999
(cancelSegment): New function.
22000
(completeSegment): New function.
22001
(initBitfield): New function.
22002
(hasSegment): New function.
22003
(getDownloadLength): New function.
22004
* src/BitfieldMan.h
22005
(getStartIndex): New function.
22006
(getEndIndex): New function.
22007
(getMissingUnusedIndex): New function(overload).
22008
(getSparseMissingUnusedIndex): New function.
22009
* src/BitfieldMan.cc
22010
(getMissingIndexRandomly): Handle the last byte of bitfield properly.
22011
(getMissingUnusedIndex): New function(overload).
22012
(Range): New class.
22013
(getStartIndex): New function.
22014
(getEndIndex): New function.
22015
(getSparseMissingUnusedIndex): New function.
22016
(isBitSetInternal): Return false if the given index is less than 0.
22017
* src/HttpInitiateConnectionCommand.h
22018
(executeInternal): Pass the reference of segment.
22019
* src/FtpNegotiateCommand.h
22020
(executeInternal): Pass the reference of segment.
22021
* src/FtpNegotiateCommand.cc
22022
(recvSize): Initialize bitfield here.
22023
* src/FtpTunnelResponseCommand.h
22024
(executeInternal): Pass the reference of segment.
22025
* src/HttpConnection.cc
22026
(createRequest): Rewritten range header processing.
22027
* src/DownloadCommand.h
22028
(executeInternal): Pass the reference of segment.
22029
(prepareForRetry): Removed.
22030
(prepareForNextSegment): Added an argument segment. Made it a virtual
22033
(main): Set the initial value of PREF_SEGMENT_SIZE to 1MB.
22034
* src/SegmentMan.cc
22035
(SegmentMan): Added bitfield. Removed splitter.
22036
(~SegmentMan): Added bitfield. Removed splitter.
22037
(unregisterId): Removed.
22038
(getSegment): Rewritten.
22039
(updateSegment): Rewritten.
22042
(finished): Rewritten.
22043
(getDownloadedSize): Removed.
22044
(initBitfield): New function.
22045
(FindSegmentEntryByIndex): New function object.
22046
(FindSegmentEntryByCuid): New function object.
22047
(checkoutSegment): New function.
22048
(onNullBitfield): New function.
22049
(getSegment): New function(overload).
22050
(CancelSegment): New function object.
22051
(cancelSegment): New function.
22052
(completeSegment): New function.
22053
(hasSegment): New function.
22054
(getDownloadLength): New function.
22055
* src/FtpInitiateConnectionCommand.cc
22056
(executeInternal): Load .aria2 file after hostname resolution finishes.
22057
* src/Segment.h: Rewritten.
22058
* src/Segment.cc (operator<<): New function.
22059
* src/HttpDownloadCommand.h
22060
(prepareForNextSegment): New function.
22062
(resetUrl): Made segment null.
22063
* src/DownloadEngine.cc
22064
(~DownloadEngine): Call cleanQueue before deleting segmentMan.
22065
* src/HttpProxyRequestCommand.h
22066
(executeInternal): Pass the reference of segment.
22067
* src/DownloadCommand.cc
22068
(executeInternal): Rewritten the code related to Segment.
22069
(prepareForRetry): Removed.
22070
(prepareForNextSegment): Rewritten.
22071
* src/FtpTunnelResponseCommand.h
22072
(executeInternal): Pass the reference of segment.
22074
To add HTTP 1.1 persistent connection support(experimental)
22075
* src/HttpRequestCommand.cc
22076
(executeInternal): Disable keep alive if it is disabled by
22079
(keepAlive): New variable.
22080
(isKeepAlive): New function.
22081
(setKeepAlive): New function.
22083
(PREF_HTTP_KEEP_ALIVE): New definition.
22084
* src/HttpResponseCommand.cc
22085
(executeInternal): Check the remote server supports keep alive.
22086
* src/HttpConnection.cc
22087
(createRequest): Send "Connection: close" only if keep alive is
22091
Set the initial value(false) of PREF_KEEP_ALIVE to false.
22093
To add max download speed limit:
22095
(PREF_MAX_SPEED_LIMIT): New definition.
22096
* src/PeerInteractionCommand.cc
22097
(executeInternal): Added max download speed limit. Not tested yet.
22099
(PeerStats): New type definition.
22100
(peerStats): New variable.
22101
(registerPeerStat): New function.
22102
(FindPeerStat): New function object.
22103
(getPeerStat): New function.
22104
(calculateDownloadSpeed): New function.
22105
* src/SpeedCalc.h: New class.
22106
* src/SpeedCalc.cc: New class.
22109
Set the initial value of PREF_MAX_SPEED_LIMIT to 0(which means the
22110
download speed is not restricted).
22111
* src/PeerStat.h: New class.
22112
* src/SegmentMan.cc
22113
(registerPeerStat): New function.
22114
(calculateDownloadSpeed): New function.
22115
* src/DownloadCommand.cc
22116
(STARTUP_IDLE_TIME): New definition.
22117
(DownloadCommand): Register peerStat to segmentMan. Call peerStat->
22119
(~DownloadCommand): Call peerStat->downloadStop.
22120
(executeInternal): Added download speed limitter. Rewritten lowest
22123
* src/HttpConnection.cc
22124
(receiveResponse): Fixed: eohIndex[headerBuf] -> headerBuf[eohIndex].
22126
* src/AbstractCommand.cc
22127
(resolveHostname): Throw DlAbortEx if a name resolution failes.
22128
Added hostname to the error message.
22130
* src/ConsoleDownloadEngine.cc
22131
(calculateStatistics): Initialize psize with dlSize.
22133
* src/PieceMessage.cc
22134
(receivedAction): Do not call peerInteraction->abortPiece here.
22135
(onGotWrongPiece): Call peerInteraction->abortPiece here.
22137
* src/BitfieldMan.h
22138
(clearAllUseBit): New function.
22139
(setAllUseBit): New function.
22140
* src/BitfieldMan.cc
22141
(clearAllBit): Do not clear useBitfield here.
22142
(clearAllUseBit): New function.
22143
(setAllUseBit): New function.
22145
(clearAllBlock): Call bitfield->clearAllUseBit().
22147
2006-08-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22149
To make filename URL-decoded:
22150
* src/HttpResponseCommand.h: Updated doc.
22151
* src/HttpResponseCommand.cc
22152
(determinFilename): Made filename URL-decoded.
22153
* src/FtpInitiateConnectionCommand.cc
22154
(executeInternal): Made filename URL-decoded.
22155
* src/Util.h (urldecode): New function.
22156
* src/Util.cc (urldecode): New function.
22158
To fix a bug that caused assertion failure in ares_strerror:
22159
* src/NameResolver.cc (callback): Fixed the bug.
22163
2006-08-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22165
To add --seed-time and --seed-ratio command-line option:
22166
* src/Option.h (getAsDouble): New function.
22167
* src/Option.cc (getAsDouble): New function.
22168
* src/SeedCheckCommand.h: New class.
22169
* src/SeedCheckCommand.cc: New class.
22170
* src/DownloadEngineFactory.cc
22171
(SeedCheckCommand.h): Included.
22172
(UnionSeedCriteria.h): Included.
22173
(TimeSeedCriteria.h): Included.
22174
(ShareRatioSeedCriteria.h): Included.
22175
(newTorrentConsoleEngine): Added the processing of seed option.
22176
* src/SeedCriteria.h: New class.
22177
* src/ShareRatioSeedCriteria.h: New class.
22178
* src/TimeSeedCriteria.h: New class.
22179
* src/UnionSeedCriteria.h: New class.
22181
(PREF_SEED_TIME): New definition.
22182
(PREF_SEED_RATIO): New definition.
22184
(showUsage): Added --seed-time and --seed-ratio option.
22185
(main): Added --seed-time and --seed-ratio option.
22186
Made default log file name "/dev/null".
22187
* src/SharedHandle.h
22188
(SharedHandle): Copy constructor. Made it assignable from the
22189
SharedHandle of the subclasses.
22190
(operator=): Made it assignable from the SharedHandle of the
22192
(getRefCount): New function.
22194
To add notice log level and the switch to write log to stdout. This
22195
switch is configurable per log level.
22197
(notice): New function.
22198
(LEVEL): Added NOTICE. Assigned an explicit value to each log level
22200
* src/LogFactory.cc
22201
(getInstance): The use of NullLogger was removed. A log message with
22202
notice log level was made written to stdout along with log file.
22204
(notice): New function.
22205
* src/SimpleLogger.h
22206
(writeHeader): Added the 'file' argument.
22207
(writeLog): Added the 'file' argument.
22208
(writeFile): New function.
22209
(stdoutField): New variable.
22210
(SimpleLogger): Removed the default constructor.
22211
(SimpleLogger): Made the default value of logfile 0.
22212
(debug): Added 'virtual' keyword.
22213
(info): Added 'virtual' keyword.
22214
(warn): Added 'virtual' keyword.
22215
(error): Added 'virtual' keyword.
22216
(notice): New function.
22217
(setStdout): New function.
22218
* src/SimpleLogger.cc
22219
(WRITE_LOG): Replaced writeLog with writeFile.
22220
(WRITE_LOG_EX): Replaced writeLog with writeFile.
22221
(SimpleLogger): Removed the default constructor.
22222
(setStdout): New function.
22223
(writeLog): Added the handling of NOTICE log level.
22224
(writeFile): New function.
22225
(notice): New function.
22227
* src/TorrentMan.h: Updated doc.
22229
* src/BitfieldMan.h: Updated doc.
22231
* src/TrackerWatcherCommand.cc
22232
(execute): Return true if error occurred in the request to the tracker
22233
and halt is requested.
22235
* src/TrackerUpdateCommand.cc
22236
(execute): Return true if error occurred in the request to the tracker
22237
and halt is requested.
22239
To call onDownloadComplete from TorrentMan::completePiece(), not from
22241
* src/TorrentConsoleDownloadEngine.h
22242
(onSelectiveDownloadingCompletes): Removed.
22243
* src/TorrentConsoleDownloadEngine.cc
22244
(onSelectiveDownloadingCompletes): Removed.
22245
* src/TorrentDownloadEngine.h
22246
(onEndOfRun): Added 'virtual' keyword.
22247
(afterEachIteration): Removed.
22248
(onSelectiveDownloadingCompletes): Removed.
22249
* src/TorrentDownloadEngine.cc
22250
(onEndOfRun): Removed filenameFixed.
22251
(afterEachIteration): Removed.
22252
* src/TorrentMan.cc
22253
(completePiece): Call onDownloadComplete here.
22254
(onDownloadComplete): Added 2 log messages.
22256
2006-08-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22258
To fix compilation problem on gcc4.1.1(patch#1542283 by tizianomueller)
22259
* src/NameResolver.h: Added the prototype declaration of callback().
22261
To support c-ares library:
22262
* src/AbstractCommand.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22263
* src/FeatureConfig.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22264
* src/FtpInitiateConnectionCommand.h:
22265
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22266
* src/AbstractCommand.h: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22267
* src/HttpInitiateConnectionCommand.h:
22268
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22269
* src/NameResolver.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS.
22270
Added thes upport of c-ares's ares_strerror(the idea came from patch
22271
#1542285 by tizianomueller)
22272
* src/HttpInitiateConnectionCommand.cc:
22273
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22274
* src/FtpInitiateConnectionCommand.cc:
22275
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22276
* src/DownloadEngine.h:
22277
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22278
* src/DownloadEngine.cc:
22279
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
22281
To fix the bug that causes compilation failure with metalink-support
22282
disabled(bug#1543587):
22283
* src/main.cc: Fixed with the patch by tizianomueller.
22287
2006-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22290
(main): Added a message to inform users that aria2 is starting to
22292
* src/RequestInfo.cc
22293
(printDownloadAbortMessage): Added a message to inform users that
22294
transfer can be resumed.
22296
* src/FeatureConfig.cc
22297
(FEATURE_ASYNC_DNS): New definition.
22298
(FeatureConfig): Added aysnc DNS entry.
22300
To replace CommandUuid with Command* in SocketEntry and
22303
* src/DownloadEngine.h
22304
(CommandUuids): Removed.
22305
(SocketEntry::commandUuid): Removed.
22306
(SocketEntry::command): New variable.
22307
(SocketEntry::SocketEntry): Updated.
22308
(SocketEntry::operator==): Updated.
22309
(NameResolverEntry::commandUuid): Removed.
22310
(NameResolverEntry::command): New variable.
22311
(NameResolverEntry::NameResolverEntry): Updated.
22312
(NameResolverEntry::operator==): Updated.
22313
(waitData): Changed the argument type.
22314
(addSocketForReadCheck): Changed the argument type.
22315
(deleteSocketForReadCheck): Changed the argument type.
22316
(addSocketForWriteCheck): Changed the argument type.
22317
(deleteSocketForWriteCheck): Changed the argument type.
22318
(addNameResolverCheck): Changed the argument type.
22319
(deleteNameResolverCheck): Changed the argument type.
22320
* src/DownloadEngine.cc
22321
(FindCommand): Removed.
22322
(run): Removed activeUuid. Added activeCommands instead.
22323
(AccumulateActiveUuid): Renamed as AccumulateActiveCommand.
22324
(AccumulateActiveCommand): New function object.
22325
(waitData): Use AccumulateActiveCommand.
22326
(addSocketForReadCheck): Use Command instead of CommandUuid.
22327
(deleteSocketForReadCheck): Use Command instead of CommandUuid.
22328
(addSocketForWriteCheck): Use Command instead of CommandUuid.
22329
(deleteSocketForWriteCheck): Use Command instead of CommandUuid.
22330
(addNameResolverCheck): Use Command instead of CommandUuid.
22331
(deleteNameResolverCheck): Use Command instead of CommandUuid.
22332
* src/AbstractCommand.cc
22333
(disableReadCheckSocket): Updated according to the changes in
22335
(setReadCheckSocket): Updated according to the changes in
22337
(disableWriteCheckSocket): Updated according to the changes in
22339
(setWriteCheckSocket): Updated according to the changes in
22341
(setNameResolverCheck): Updated according to the changes in
22343
(disableNameResolverCheck): Updated according to the changes in
22345
* src/AbstractCommand.cc
22346
(disableReadCheckSocket): Updated according to the changes in
22348
(setReadCheckSocket): Updated according to the changes in
22350
(disableWriteCheckSocket): Updated according to the changes in
22352
(setWriteCheckSocket): Updated according to the changes in
22357
2006-08-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22359
To handle the case where some BitTorrent tracker requires all letters
22360
except for [A-Za-z0-9] is URL encoded.
22363
(torrentUrlencode): New function.
22365
(ctype.h): Included.
22366
(torrentUrlencode): New function.
22367
* src/TrackerWatcherCommand.cc
22368
(execute): Use Util::torrentUrlencode() instead of Util::urlencode().
22370
2006-08-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22372
To add asynchronous DNS support(libares):
22374
* src/AbstractCommand.h
22375
(setNameResolverCheck): New function.
22376
(disableNameResolverCheck): New function
22377
(resolveHostname): New function.
22378
* src/AbstractCommand.cc
22379
(setNameResolverCheck): New function.
22380
(disableNameResolverCheck): New function
22381
(resolveHostname): New function.
22382
* src/FtpInitiateConnectionCommand.h
22383
(nameResolver): New function.
22384
* src/FtpInitiateConnectionCommand.cc
22385
(Util.h): Included.
22386
(FtpInitiateConnectionCommand): Call disableReadCheckSocket,
22387
disableWriteCheckSocket.
22388
(~FtpInitiateConnectionCommand): Call disableNameResolverCheck.
22389
(executeInternal): Added async DNS support.
22390
* src/HttpInitiateConnectionCommand.h
22391
(nameResolver): New function.
22392
* src/HttpInitiateConnectionCommand.cc
22393
(DlRetryEx.h): Included.
22394
(HttpInitiateConnectionCommand): Call disableReadCheckSocket,
22395
disableWriteCheckSocket.
22396
(~HttpInitiateConnectionCommand): Call disableNameResolverCheck.
22397
(executeInternal): Added async DNS support.
22398
* src/NameResolver.h: New class. Note: #include <ares.h> is surrounded
22399
by extern "C" declaration.
22400
* src/NameResolver.cc: New class.
22402
(isNumberAndDotsNotation): New function
22404
(isNumberAndDotsNotation): New function.
22405
* src/DownloadEngine.h
22406
(NameResolver.h): Included.
22407
(NameResolverEntry): New class.
22408
(NameResolverEntries): New type definition.
22409
(addNameResolverCheck): New function.
22410
(deleteNameResolverCheck): New function.
22411
* src/DownloadEngine.cc
22412
(run): Initialize cp with 0.
22413
(SetDescriptor::operator()): Added for NameResolverEntry.
22414
(AccumulateActiveUuid::operator()): Added for NameResolverEntry.
22415
(waitData): Check nameResolver entries.
22416
(updateFdSet): Update fds in nameResolver entries.
22417
(addNameResolverCheck): New function.
22418
(deleteNameResolverCheck): new function.
22420
* src/PeerInteractionCommand.cc
22421
(executeInternal): Fixed wrong socket handling.
22424
(main): Fixed the initial value of PREF_LOWEST_SPEED_LIMIT option to 0.
22427
(fileChecksum): Removed the call to ctx.digestReset().
22429
2006-08-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22431
* po/ru.po: Azamat sent me Russian translation.
22433
* src/FtpNegotiateCommand.cc
22434
(recvGreeting): Call disableWriteCheckSocket just after
22435
socket->setBlockingMode(). This avoids unnecessary CPU-hog loop.
22436
(recvRetr): Recognized status code 125 as a acceptable response code.
22438
Rename Time.h to TimeA2.h to avoid compilation ploblem on
22439
case-insesitive filesystem(BUG#1531057).
22441
* src/Time.h: Renamed as TimeA2.h.
22442
* src/Time.cc: Renamed as TimeA2.cc.
22443
* src/TimeA2.h: New class.
22444
* src/TimeA2.cc: New class.
22445
* src/PeerChokeCommand.h: Replaced Time.h with TimeA2.h.
22446
* src/TrackerWatcherCommand.h: Replaced Time.h with TimeA2.h.
22447
* src/PeerAbstractCommand.h: Replaced Time.h with TimeA2.h.
22448
* src/AbstractCommand.h: Replaced Time.h with TimeA2.h.
22449
* src/PeerInteractionCommand.h: Replaced Time.h with TimeA2.h.
22450
* src/ConsoleDownloadEngine.h: Replaced Time.h with TimeA2.h.
22451
* src/TorrentAutoSaveCommand.h: Replaced Time.h with TimeA2.h.
22452
* src/DownloadCommand.h: Replaced Time.h with TimeA2.h.
22453
* src/TorrentMan.h: Replaced Time.h with TimeA2.h.
22454
* src/TorrentDownloadEngine.h: Replaced Time.h with TimeA2.h.
22455
* src/RequestSlot.h: Replaced Time.h with TimeA2.h.
22456
* src/SleepCommand.h: Replaced Time.h with TimeA2.h.
22457
* src/DownloadEngine.cc: Replaced Time.h with TimeA2.h.
22461
2006-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22463
* src/PeerChokeCommand.h
22464
(PeerChokeCommand): Rearranged the arguments.
22465
* src/PeerChokeCommand.cc
22466
(PeerChokeCommand): Rearranged the arguments.
22468
* src/MetalinkEntry.h
22469
(Checksum.h): Included.
22472
(checksum): New variable.
22473
(operator=): Updated.
22477
(PREF_LOWEST_SPEED_LIMIT): New definition.
22478
(PREF_FOLLOW_TORRENT): New definition.
22479
(PREF_SELECT_FILE): New definition.
22480
(PREF_FOLLOW_METALINK): New definition.
22482
* src/MetalinkResource.h
22483
(TYPE_HTTPS): Added to enum TYPE.
22485
* src/TorrentMan.cc
22486
(~TorrentMan): Rewritten.
22488
* src/MultiDiskWriter.cc
22489
(MultiDiskAdaptor): Updated according to the changes in
22490
MessageDigestContext.
22491
(~MultiDiskAdaptor): Updated according to the changes in
22492
MessageDigestContext.
22493
(hashUpdate): Updated according to the changes in MessageDigestContext.
22494
(sha1Sum): Updated according to the changes in MessageDigestContext.
22497
(fileChecksum): Updated according to the changes in
22498
MessageDigestContext.
22500
(sha1Sum): Updated according to the changes in MessageDigestContext.
22501
(fileChecksum): Updated according to the changes in
22502
MessageDigestContext.
22504
* src/messageDigest.h: Rewritten.
22506
* src/MetalinkEntry.cc
22508
(Supported): Updated.
22509
(dropUnsupportedResource): Fixed a memory leak.
22511
* src/ShaVisitor.cc
22512
(ShaVisitor): Updated according to the changes in MessageDigestContext.
22513
(~ShaVisitor): Updated according to the changes in
22514
MessageDigestContext.
22515
(visit): Updated according to the changes in MessageDigestContext.
22518
(main): Rewritten the portion of download loop. --lowest-speed-limit
22519
command-line option added.
22521
* src/DownloadEngine.h
22522
(SocketEntry): New class.
22523
(SocketEntries): New definition.
22524
(PairFind): Removed.
22525
(SockCmdMap): Removed.
22526
* src/DownloadEngine.cc
22527
(DownloadEngine): Rewritten.
22528
(~DownloadEngine): Rewritten.
22529
(run): Renamed activeCommandUuids as activeUuids.
22530
(SetDescriptor): Rewritten.
22531
(AccumulateActiveCommandUuid): Removed.
22532
(AccumulateActiveUuid): New function object.
22533
(waitData): Rewritten.
22534
(updateFdSet): Rewritten.
22535
(addSocket): Rewritten.
22536
(deleteSocket): Rewritten.
22537
(addSocketForReadCheck): Rewritten.
22538
(deleteSocketForReadCheck): Rewritten.
22539
(addSocketForWriteCheck): Rewritten.
22540
(deleteSocketForWriteCheck): Rewritten.
22542
* src/Xml2MetalinkProcessor.cc
22543
(getEntry): Rewritten the portion of MetalinkEntry creation.
22545
* src/DownloadCommand.cc
22546
(executeInternal): Added the check routine for lowest speed limit.
22548
* src/AbstractDiskWriter.cc
22549
(AbstractDiskWriter): Updated according to the changes in
22550
MessageDigestContext.
22551
(~AbstractDiskWriter): Updated according to the changes in
22552
MessageDigestContext.
22553
(sha1Sum): Updated according to the changes in MessageDigestContext.
22555
* src/RequestInfo.h: New class.
22557
* src/UrlRequestInfo.h: New class.
22558
* src/UrlRequestInfo.cc: New class.
22560
* src/TorrentRequestInfo.h: New class.
22561
* src/TorrentRequestInfo.cc: New class.
22563
* src/MetalinkRequestInfo.h: New class.
22564
* src/MetalinkRequestInfo.cc: New class.
22566
* src/Checksum.h: New class.
22568
* src/DownloadEngineFactory.h: New class.
22569
* src/DownloadEngineFactory.cc: New class.
22571
2006-08-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22574
(getAsBool): New function.
22576
(prefs.h): Included.
22577
(defined): 0-length value is now recognized as undefined.
22578
(getAsInt): Rewritten.
22579
(getAsLLInt): Rewritten.
22580
(getAsBool): New function.
22582
* src/FeatureConfig.h: Rewritten.
22583
* src/FeatureConfig.cc: Rewritten.
22586
(PREF_STDOUT_LOG): New definition.
22587
(PREF_LOG): New definition.
22588
(PREF_DIR): New definition.
22589
(PREF_OUT): New definition.
22590
(PREF_SPLIT): New definition.
22591
(PREF_DAEMON): New definition.
22592
(PREF_REFERER): New definition.
22593
(PREF_TORRENT_FILE): New definition.
22594
(PREF_LISTEN_PORT): New definition.
22595
(PREF_METALINK_FILE): New definition.
22596
(PREF_METALINK_VERSION): New definition.
22597
(PREF_METALINK_LANGUAGE): New definition.
22598
(PREF_METALINK_OS): New definition.
22599
(PREF_METALINK_SERVERS): New definition.
22602
(main): Following command-line parameters are now put into Option
22603
class: stdoutLog, logfile, dir, ufilename, split, daemonMode,
22604
referer, torrentFile, metalinkFile, listenPort, metalinkVersion,
22605
metalinkLanguage, metalinkOs, metalinkServers
22607
To fix the bug that aria2 can not handle http response header properly.
22609
* src/HttpHeader.cc
22610
(put): Made name lowercased.
22611
(defined): Made name lowercased.
22612
(getFirst): Made name lowercased.
22613
(get): Made name lowercased.
22614
(getFirstAsInt): Rewritten.
22615
(getFirstAsLLInt): Rewritten.
22617
2006-07-30 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22619
* src/TorrentMan.h:
22620
(advertisePiece): Updated doc.
22621
(getAdvertisedPieceIndexes): Updated doc.
22622
(removeAdvertisedPiece); New function.
22624
* src/TorrentMan.cc
22625
(FindElapsedHave): New function object.
22626
(removeAdvertisedPiece): New function.
22628
* src/HaveEraseCommand.h: New class.
22629
* src/HaveEraseCommand.cc: New class.
22631
* src/FeatureConfig.h: New class.
22632
* src/FeatureConfig.cc: New class.
22635
(defaultPorts): Removed.
22637
(FeatureConfig.h): Included.
22638
(Request): Removed the statements related to defaultPorts.
22639
(parseUrl): Removed metalinkEnabled. Use FeatureConfig instead.
22640
A default port number is now retrieved from FeatureConfig.
22643
(HaveEraseCommand.h): Included.
22644
(showVersion): Added the output of feature list.
22645
(main): Added HaveEraseCommand to command queue in BitTorrent
22648
* src/PeerInteractionCommand.h
22649
(chokeCheckPoint): Commented out.
22650
(periodicExecPoint): New variable.
22651
* src/PeerInteractionCommand.cc
22652
(executeInternal): Following methods are now called in at least every
22653
0.5 seconds to reduce CPU usage:
22654
detectMessageFlooding(), peerInteraction->checkRequestSlot(),
22655
checkHave(), sendKeepAlive().
22656
(checkLongTimePeerChoking): Commented out.
22658
* src/BitfieldMan.h
22659
(getNthBitIndex): Changed the method signature.
22660
(getMissingIndexRandomly): Changed the method signature.
22661
* src/BitfieldMan.cc
22662
(getNthBitIndex): Rewritten
22663
(getMissingIndexRandomly): Rewritten.
22664
(hasMissingPiece): Rewritten.
22665
(getMissingIndex): Refactored.
22666
(getMissingUnusedIndex); Refactored.
22667
(getMissingIndex): Refactored.
22669
2006-07-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22671
* src/PeerMessage.h
22672
(Piece.h): Included.
22673
(SharedHandle.h): Included.
22674
(invalidate): New variable.
22675
(uploading): New variable.
22676
(isInvalidate): New function.
22677
(isUploading): New function.
22678
(onPush): New function.
22679
(onChoked): New function.
22680
(onCanceled): New function.
22681
(onAbortPiece): New function.
22682
(PeerMessageHandle): New type definition.
22684
* src/PeerMessage.cc
22685
(PeerMessage): Added the initialization for invalidate and uploading.
22687
* src/CancelMessage.h
22688
(CancelMessage): Rewritten.
22690
* src/RejectMessage.h
22691
(RejectMessage): Rewritten.
22694
(operator=): Defined.
22697
(operator=): Defined.
22699
* src/MetalinkResource.h
22700
(operator=): Defined.
22702
* src/AllowedFastMessage.h
22703
(AllowedFastMessage): Rewritten.
22705
* src/HandshakeMessage.h
22706
(HandshakeMessage): New function(overload).
22708
* src/HandshakeMessage.cc
22709
(HandshakeMessage): Rewritten.
22710
(init): New function.
22712
* src/HaveMessage.h
22713
(HaveMessage): Rewritten.
22716
(operator=): Defined the function body here.
22718
(operator=): Removed.
22721
(operator==): Defined here.
22722
(operator!=): Defined here.
22723
(operator<): Defined here.
22724
* src/SocketCore.cc
22725
(operator==): Removed.
22726
(operator<): Removed.
22728
* src/BitfieldMan.h
22729
(operator=): Defined the function body here.
22730
* src/BitfieldMan.cc
22731
(operator=): Removed.
22734
(deleteErrorPeer): Removed.
22735
(deleteUnusedPeer); New function.
22736
* src/TorrentMan.cc
22737
(addPeer): Call deleteUnusedPeer.
22738
(deleteErrorPeer): Removed.
22739
(deleteUnusedPeer): New function.
22741
* src/PeerAbstractCommand.h
22742
(setNoCheck): New function.
22743
(noCheck): New variable.
22744
* src/PeerAbstractCommand.cc
22745
(PeerAbstractCommand): Added the initialization of noCheck.
22746
(execute): Added a check for noCheck.
22747
(setNoCheck): New function.
22750
(stdio.h): Included.
22752
(unistd.h): Included.
22754
* src/DefaultDiskWriter.cc
22755
(unistd.h): Included.
22758
(operator==): Defined the function body here.
22759
(operator!=): Defined the function body here.
22761
(operator==): Removed.
22762
(operator!=): Removed.
22765
(Piece): Defined the function body here(copy constructor).
22766
(operator=): Defined the function body here.
22767
(operator==): Defined the function body here.
22769
(Piece): Removed(copy constructor).
22770
(operator=): Removed.
22771
(operator==): Removed.
22773
* src/PeerMessageUtil.h
22774
(ChokeMessage.h): Removed.
22775
(UnchokeMessage.h): Removed.
22776
(InterestedMessage.h): Removed.
22777
(NotInterestedMessage.h): Removed.
22778
(HaveMessage.h): Removed.
22779
(BitfieldMessage.h): Removed.
22780
(RequestMessage.h): Removed.
22781
(CancelMessage.h): Removed.
22782
(PieceMessage.h): Removed.
22783
(HandshakeMessage.h): Removed.
22784
(KeepAliveMessage.h): Removed.
22785
(PortMessage.h): Removed.
22786
(HaveAllMessage.h): Removed.
22787
(HaveNoneMessage.h): Removed.
22788
(PeerConnection.h): Removed.
22789
(HandshakeMessage.h): Included.
22791
* src/BitfieldMessage.h
22792
(init): New function.
22793
(BitfieldMessage): Rewritten.
22794
(BitfieldMessage): New function(overload).
22796
* src/RequestSlot.h
22797
(operator=): Defined the function body here.
22798
(operator==): Defined the function body here.
22799
* src/RequestSlot.cc
22800
(operator=): Removed.
22801
(operator==): Removed.
22803
To remove the dependency on the PeerMessage subclass from
22806
* src/PeerMessageFactory.h: New class.
22807
* src/PeerMessageFactory.cc: New class.
22808
* src/SimplePeerMessage.cc
22809
(send): If invalidate is true then do nothing.
22810
* src/PeerInteractionCommand.cc
22811
(HandshakeMessage.h): Included.
22812
(KeepAliveMessage.h): Included.
22813
(ChokeMessage.h): Included.
22814
(UnchokeMessage.h): Included.
22815
(HaveMessage.h): Included.
22816
(executeInternal): Call setNoCheck().
22817
Removed setWriteCheckSocket(socket).
22818
* src/PeerInteraction.h
22819
(ChokeMessage.h): Removed.
22820
(UnchokeMessage.h): Removed.
22821
(InterestedMessage.h): Removed.
22822
(NotInterestedMessage.h): Removed.
22823
(HaveMessage.h): Removed.
22824
(BitfieldMessage.h): Removed.
22825
(RequestMessage.h): Removed.
22826
(CancelMessage.h): Removed.
22827
(PieceMessage.h): Removed.
22828
(HandshakeMessage.h): Removed.
22829
(KeepAliveMessage.h): Removed.
22830
(PortMessage.h): Removed.
22831
(HaveAllMessage.h): Removed.
22832
(HaveNoneMessage.h): Removed.
22833
(RejectMessage.h): Removed.
22834
(AllowedFastMessage.h): Removed.
22835
(SuggestPieceMessage.h): Removed.
22836
(PeerMessageFactory.h): Included.
22837
(PeerMessageHandle): Removed typedef of PeerMessageHandle.
22838
(HandshakeMessageHandle): Removed typedef of HandshakeMessageHandle.
22839
(PeerMessageFactory): New variable.
22840
(createPeerMessage): Removed.
22841
(createHandshakeMessage): Removed.
22842
(setPeerMessageCommonProperty): Removed.
22843
(addRequestSlot): New function.
22844
(receiveHandshake): Changed the return value type to PeerMessageHandle.
22845
(getPeerMessageFactory): New function.
22846
(createRequestMessage): Removed.
22847
(createCancelMessage): Removed.
22848
(createPieceMessage): Removed.
22849
(createHaveMessage): Removed.
22850
(createChokeMessage): Removed.
22851
(createUnchokeMessage): Removed.
22852
(createInterestedMessage): Removed.
22853
(createNotInterestedMessage): Removed.
22854
(createBitfieldMessage): Removed.
22855
(createKeepAliveMessage): Removed.
22856
(createHaveAllMessage): Removed.
22857
(createHaveNoneMessage): Removed.
22858
(createRejectMessage): Removed.
22859
(createAllowedFastMessage): Removed.
22860
* src/PeerInteraction.cc
22861
(PeerInteraction): Allocate PeerMessageFactory here.
22862
(~PeerInteraction): Deallocate PeerMessageFactory here.
22863
(sendMessages): Use msg->isUploading() instead of msg->getId() ==
22865
(addMessage): Simplified by using PeerMessage::onPush().
22866
(addRequestSlot): New function.
22867
(rejectAllPieceMessageInQueue): Simplified by using
22868
PeerMessage::onChoked().
22869
(rejectPieceMessageInQueue): Simplified by using
22870
PeerMessage::onCanceled().
22871
(abortPiece): Simplified by using PeerMessage::abortPiece().
22872
(receiveHandshake): Changed the return value type to PeerMessageHandle.
22873
(createHandshakeMessage): Removed.
22874
(createPeerMessage): Removed.
22875
(sendHandshake): Call PeerMessageFactory::createHandshakeMessage().
22876
(setPeerMessageCommonProperty): Removed.
22877
(createRequestMessage): Removed.
22878
(createCancelMessage): Removed.
22879
(createPieceMessage): Removed.
22880
(createHaveMessage): Removed.
22881
(createChokeMessage): Removed.
22882
(createUnchokeMessage): Removed.
22883
(createInterestedMessage): Removed.
22884
(createNotInterestedMessage): Removed.
22885
(createBitfieldMessage): Removed.
22886
(createKeepAliveMessage): Removed.
22887
(createHaveAllMessage): Removed.
22888
(createHaveNoneMessage): Removed.
22889
(createRejectMessage): Removed.
22890
(createAllowedFastMessage): Removed.
22891
* src/PieceMessage.h
22892
(createRejectMessage): New function.
22893
(PieceMessage): Rewritten.
22894
(onChoked): New function.
22895
(onCanceled): New function.
22896
* src/PieceMessage.cc
22897
(send): If invalidate is true then do nothing, just return.
22898
(createRejectMessage): New function.
22899
(onChoked): New function.
22900
(onCanceled): New function.
22901
* src/RequestMessage.h
22902
(RequestMessage): Rewritten.
22903
(onPush): New function.
22904
(onAbortPiece): New function.
22905
* src/RequestMessage.cc
22906
(onPush): New function.
22907
(onAbortPiece): New function.
22909
Update fd_set when a socket is added or deleted in order to improve
22912
* src/DownloadEngine.h
22913
(rfdset): New variable.
22914
(wfdset): New variable.
22915
(updateFdSet): New function.
22916
* src/DownloadEngine.cc
22917
(SetDescriptor::operator()): Use SockCmdMap::value_type.
22918
(AccumulateActiveCommandUuid::operator()): Use SockCmdMap::value_type.
22919
(waitData): Copy rfdset and wfdset.
22920
(updateFdSet): New function.
22921
(addSocket): Call updateFdSet.
22922
(deleteSocket): Call updateFdSet.
22924
2006-07-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22926
To add the support for Metalink3.0 backward compatible links:
22929
(SAFE_CHARS): Added '#'.
22930
(METALINK_MARK): New definition.
22932
(parseUrl): Added the support for Metalink3.0 backward compatible
22937
* src/PeerInteraction.cc
22938
(MsgPushBack): Removed.
22939
(sendMessages): Use STL copy and back_inserter.
22940
(rejectAllPieceMessageInQueue): Use STL copy and back_inserter.
22941
(rejectPieceMessageInQueue): Use STL copy and back_inserter.
22943
(MAX_PEER_LIST_SIZE): Changed to 100 from 250.
22945
2006-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
22947
* src/SharedHandle.h: New class.
22949
To wrap Socket, Command, PeerMessage and Peer with SharedHandle:
22951
* src/HttpResponseCommand.h
22952
(HttpResponseCommand): Wrapped Socket.
22954
(operator==): New function.
22955
(operator!=): New function.
22956
(operator<): New function.
22957
(getSockfd): New function.
22958
(isOpen): New function.
22959
(writeData): New function.
22960
* src/SocketCore.cc
22961
(operator==): New function.
22962
(operator!=): New function.
22963
(operator<): New function.
22964
* src/AbstractCommand.h
22965
(socket): Changed its type to SocketHandle.
22966
(setReadCheckSocket): Replaced Socket with SocketHandle.
22967
(setWriteCheckSocket): Replaced Socket with SocketHandle.
22968
(disableReadCheckSocket): New function.
22969
(disableWriteCheckSocket): New function.
22970
(readCheckTarget): Changed its type to SocketHandle.
22971
(writeCheckTarget): Changed its type to SocketHandle.
22972
(AbstractCommand): Replaced Socket with SocketHandle.
22973
* src/AbstractCommand.cc
22974
(AbstractCommand): Replaced Socket with SocketHandle.
22975
(~AbstractCommand): Removed the deallocation for Socket object.
22976
(disableReadCheckSocket): New function.
22977
(setReadCheckSocket): Replaced Socket with SocketHandle.
22978
(disableWriteCheckSocket): New function.
22979
(setWriteCheckSocket): Replaced Socket with SocketHandle.
22980
* src/HttpDownloadCommand.cc
22981
(DownloadCommand): Replaced Socket with SocketHandle.
22982
* src/PeerAbstractCommand.h
22983
(socket): Changed its type to SocketHandle.
22984
(peer): Changed its type to PeerHandle.
22985
(setReadCheckSocket): Replaced Socket with SocketHandle.
22986
(setWriteCheckSocket): Replaced Socket with SocketHandle.
22987
(disableReadCheckSocket): New function.
22988
(disableWriteCheckSocket): New function.
22989
(readCheckTarget): Changed its type to SocketHandle.
22990
(writeCheckTarget): Changed its type to SocketHandle.
22991
(PeerAbstractCommand): Replaced Socket with SocketHandle.
22992
Replaced Peer with PeerHandle.
22993
* src/HttpRequestCommand.cc
22994
(HttpRequestCommand): Replaced Socket with SocketHandle.
22995
Use disableReadCheckSocket.
22996
* src/PeerInitiateConnectionCommand.h
22997
(PeerInitiateConnectionCommand): Replaced Peer with PeerHandle.
22998
* src/PeerChokeCommand.cc
22999
(UploadFaster::operator()): Replaced Peer with PeerHandle.
23000
(DownloadFaster::operator()): Replaced Peer with PeerHandle.
23001
(execute): Use PeerHandle.
23002
* src/PeerConnection.h
23003
(HandshakeMessage.h): Removed include of HandshakeMessage.h.
23004
(socket): Changed its type to SocketHandle.
23005
(PeerConnection): Replaced Socket with SocketHandle.
23006
* src/PeerConnection.cc
23007
(PeerConnection): Replaced Socket with SocketHandle.
23008
* src/PeerInteractionCommand.h
23009
(PeerInteractionCommand): Replaced socket with SocketHandle.
23010
Replaced Peer with PeerHandle.
23011
* src/PeerInteractionCommand.cc
23012
(PeerInteractionCommand): Replaced Socket with SocketHandle.
23013
Replaced Peer with PeerHandle.
23014
(executeInternal): Use disableWriteCheckSocket.
23015
Use HandshakeMessageHandle.
23016
(receiveMessages): Use PeerMessageHandle.
23017
(prepareForNextPeer): Use PeerHandle.
23018
* src/HttpProxyRequestCommand.h
23019
(HttpProxyRequestCommand): Replaced Socket with SocketHandle.
23020
* src/HttpResponseCommand.cc
23021
(HttpResponseCommand): Replaced Socket with SocketHandle.
23022
* src/TorrentMan.cc
23023
(nullPeer): Added external reference.
23024
(~TorrentMan): Removed the deallocation of the elements of peers.
23025
(addPeer): Rewritten.
23026
(isPeerAvailable): Use nullPeer.
23027
(deleteOldpeers): Replaced with deleteErrorPeer.
23028
(deleteErrorPeer): New function.
23029
(getPeer): Use PeerHandle and nullPeer.
23030
(hasMissingPiece): Replaced Peer with PeerHandle.
23031
(getMissingPieceIndex): Replaced Peer with PeerHandle.
23032
(getMissingFastPieceIndex): Replaced Peer with PeerHandle.
23033
(getMissingFastPiece): Replaced Peer with PeerHandle.
23034
(getMissingPiece): Replaced Peer with PeerHandle.
23035
* src/FtpNegotiateCommand.cc
23036
(FtpNegotiationCommand): Replaced Peer with PeerHandle.
23037
(~FtpNegotiationCommand): Removed the deallocation of Sockets.
23038
(recvGreeting): Use disableWriteCheckSocket.
23039
(recvPasv): Removed the allocation of Socket.
23040
Use disableReadCheckSocket.
23041
(sendRestPasv): Use disableWriteCheckSocket.
23042
(recvRetr): Changed assertion.
23043
* src/PeerInteraction.h
23044
(SharedHandle.h): Included SharedHandle.h.
23045
(PeerMessageHandle): New type definition.
23046
(HandshakeMessageHandle): New type definition.
23047
(MessageQueue): Changed. Now its element is of type PeerMessageHandle.
23048
(peer): Changed its type to PeerHandle.
23049
(createHandshakeMessage): Replaced HandshakeMessage with
23050
HandshakeMessageHandle.
23051
(createPeerMessage): Replaced PeerMessageHandle with PeerMessage.
23052
(PeerInteraction): Replaced Peer with PeerHandle.
23053
Replaced Socket with SocketHandle.
23054
(addMessage): Replaced PeerMessage with PeerMessageHandle.
23055
(receiveMessage): Replaced PeerMessage with PeerMessageHandle.
23056
(receiveHandshake): Replaced HandshakeMessage with
23057
HandshakeMessageHandle.
23058
* src/PeerInteraction.cc
23059
(PeerInteraction): Replaced Peer with PeerHandle.
23060
Replaced Socket with SocketHandle.
23061
(~PeerInteraction): Removed the deallocation of the elements of
23063
(MsgPushBack::operator()): Replaced PeerMessage with PeerMessageHandle.
23064
(isSendingMessageInProgress): Replaced PeerMessage with
23066
(sendMessages): Use PeerMessageHandle. Removed try-catch block.
23067
(addMessage): Replaced PeerMessage with PeerMessageHandle.
23068
(rejectAllPieceMessageInQueue): Use PeerMessageHandle.
23069
(rejectPieceMessageInQueue): Use PeerMessageHandle.
23070
(abortPiece): Use PeerMessageHandle.
23071
(receiveHandshake): Replaced HandshakeMessage with
23072
HandshakeMessageHandle. Removed try-catch block.
23073
(createHandshakeMessage): Replaced HandshakeMessage with
23074
HandshakeMessageHandle.
23075
(receiveMessage): Replaced PeerMessage with PeerMessageHandle.
23076
Removed try-catch block.
23077
(createPeerMessage): Replaced PeerMessage with PeerMessageHandle.
23078
* src/HttpProxyResponseCommand.cc
23079
(HttpProxyRequestCommand): Replaced Socket with SocketHandle.
23080
* src/FtpTunnelResponseCommand.h
23081
(FtpTunnelResponseCommand): Replaced Socket with SocketHandle.
23082
* src/HttpConnection.cc
23083
(HttpConnection): Replaced Socket with SocketHandle.
23084
* src/PeerAbstractCommand.cc
23085
(PeerAbstractCommand): Replaced Socket with SocketHandle.
23086
(~PeerAbstractCommand): Removed the deallocation of socket.
23087
Use disableReadCheckSocket, disableWriteCheckSocket.
23088
(disableReadCheckSocket): New function.
23089
(setReadCheckSocket): Replaced Socket with SocketHandle.
23090
(disableWriteCheckSocket): New function.
23091
(setWriteCheckSocket): Replaced Socket with SocketHandle.
23092
* src/InitiateConnectionCommandFactory.h: Corrected indentation.
23093
* src/FtpTunnelRequestCommand.cc
23094
(FtpTunnelRequestCommand): Replaced Socket with SocketHandle.
23095
(~FtpTunnelRequestCommand): Corrected indentation.
23096
* src/DownloadCommand.h
23097
(DownloadCommand): Replaced Socket with SocketHandle.
23098
* src/PeerListenCommand.cc
23099
(PeerListenCommand): Removed the initialization of socket.
23100
(~PeerListenCommand): Removed the deallocation of socket.
23101
(bindPort): Use SocketHandle.
23102
(execute): Use SocketHandle and PeerHandle.
23103
* src/FtpDowndloadCommand.cc
23104
(FtpDownloadCommand): Replaced Socket with SocketHandle.
23105
(~FtpDownloadCommand): Removed the deallocation of ctrlSocket.
23107
(main): Corrected indentation.
23108
* src/HttpInitiateConnectionCommand.cc
23109
(HttpInitiateConnectionCommand): Replaced Socket with SocketHandle.
23110
(executeInternal): Removed the allocation of socket.
23111
* src/HttpRequestCommand.h
23112
(HttpRequestCommand): Replaced Socket with SocketHandle.
23113
* src/FtpNegotiationCommand.h
23114
(dataSocket): Changed its type to SocketHandle.
23115
(serverSocket): Changed its type to SocketHandle.
23116
(FtpNegotiationCommand): Replaced Socket with SocketHandle.
23118
(MAX_PEER_UPDATE): Removed.
23119
(MAX_PEERS): New definition.
23120
(Peers): The element is now of type PeerHandle.
23121
(addPeer): Replaced Peer with PeerHandle. Removed 'duplicate' argument.
23122
(getPeer): Replaced Peer with PeerHandle.
23123
(deleteOldErrorPeers): Removed.
23124
(deleteErrorPeer): New function.
23125
(hasMissingPiece): Replaced Peer with PeerHandle.
23126
(getMissingPieceIndex): Replaced Peer with PeerHandle.
23127
(getMissingPiece): Replaced Peer with PeerHandle.
23128
(getMissingFastPieceIndex): Replaced Peer with PeerHandle.
23129
(getMissingFastPiece): Replaced Peer with PeerHandle.
23130
(addActivePeer): Replaced Peer with PeerHandle.
23131
(deleteActivePeer): Replaced Peer with PeerHandle.
23132
Added a check for the return value of find.
23133
* src/FtpTunnelResponseCommand.cc
23134
(FtpTunnelResponseCommand): Replaced Socket with SocketHandle.
23135
* src/FtpInitiateConnectionCommand.cc
23136
(executeInternal): Removed the allocation of socket.
23137
* src/DownloadEngine.h
23138
(Sockets): An element is now of type SocketHandle.
23139
(SockCmdMap): A key is of type SocketHandle, a value is of type int.
23140
(CommandUuids): New type definition.
23141
(rsockets): Changed its type to SockCmdMap.
23142
(wsockets): Changed its type to SockCmdMap.
23143
(addSocket): Rewritten.
23144
(deleteSocket): Rewritten.
23145
(addSocketForReadCheck): Rewritten.
23146
(deleteSocketForReadCheck): Rewritten.
23147
(addSocketForWriteCheck): Rewritten.
23148
(deleteSocketForWriteCheck): Rewritten.
23149
(PairFind): New template class.
23150
* src/HttpDownloadCommand.h
23151
(HttpDownloadCommand): Replaced Socket with SocketHandle.
23152
* src/FtpConnection.cc
23153
(FtpConnection): Replaced Socket with SocketHandle.
23154
(sendPort): Removed the allocation of serverSocket. Removed try-catch
23156
* src/InitiateConnectionCommandFactory.cc
23157
(DlAbortEx.h): Included DlAbortEx.h.
23158
(createInitiateConnectionCommand): Throw exception if the protocol of
23159
requested URI is not supported.
23161
(nullPeer): Changed its type to PeerHandle.
23162
(operator==): New function.
23163
(operator!=): New function.
23165
(SharedHandle.h): Included SharedHandle.h.
23166
(operator==): New function.
23167
(operator!=): New function.
23168
(Peer): Added the default constructor.
23169
Use resetStatus() to initialize member variables.
23170
(nullPeer): Removed.
23171
* src/TrackerUpdateCommand.cc
23172
(execute): Brushed up using SharedHandle. Replaced MAX_PEER_UPDATE
23174
* src/PeerListenCommand.h
23175
(socket): Changed its type to SocketHandle.
23177
(CommandUuid): New type definition.
23178
(uuid): New variable.
23179
(uuidGen): New variable.
23180
(Command): Added the initialization of uuid.
23181
(getUuid): New function.
23184
(SocketHandle): New type definition.
23185
* src/DownloadEngine.h
23186
(FindCommand): New function object.
23187
(run): The portion of socket check was rewritten.
23188
(SetDescriptor): New function object.
23189
(AccumulateActiveCommandUuid): New function object.
23190
(waitData): Rewritten.
23191
(addSocket): Rewritten.
23192
(deleteSocket): Rewritten.
23193
(addSocketForReadCheck): Rewritten.
23194
(addSocketForWriteCheck): Rewritten.
23195
(deleteSocketForReadCheck): Rewritten.
23196
(deleteSocketForWriteCheck): Rewritten.
23197
* src/HttpProxyResponseCommand.h
23198
(HttpProxyResponseCommand): Replaced Socket with SocketHandle.
23199
* src/HttpConnection.h
23200
(socket): Changed its type to SocketHandle.
23201
(HttpConnection): Replaced Socket with SocketHandle.
23202
* src/PeerInitiateConnectionCommand.cc
23203
(PeerInitiateConnectionCommand): Replaced Peer with PeerHandle.
23204
(executeInternal): Removed the allocation of socket.
23205
(prepareForNextPeer): Use PeerHandle.
23206
* src/PeerMessage.h
23207
(peer): Changed its type to PeerHandle.
23208
(getPeer): Replaced Peer with PeerHandle.
23209
(setPeer): Replaced Peer with PeerHandle.
23210
* src/DownloadCommand.cc
23211
(DownloadCommand): Replaced Socket with SocketHandle.
23212
* src/FtpConnection.h
23213
(socket): Changed its type to SocketHandle.
23214
(FtpConnection): Replaced Socket with SocketHandle.
23215
(sendPort); Replaced Socket with SocketHandle.
23216
* src/FtpDowndloadCommand.h
23217
(ctrlSocket): Changed its type to SocketHandle.
23218
(FtpDownloadCommand): Replaced Socket with SocketHandle.
23219
* src/HttpProxyRequestCommand.cc
23220
(HttpProxyRequestCommand): Replaced Socket with SocketHandle.
23221
* src/FtpTunnelRequestCommand.h
23222
(FtpTunnelRequestCommand): Replaced Socket with SocketHandle.
23226
* src/PeerChokeCommand.h
23227
(setAllPeerChoked): Removed.
23228
(setAllPeerResetDelta): Removed.
23229
* src/PeerChokeCommand.cc
23230
(setAllPeerChoked): Removed.
23231
(ChokePeer): New function object.
23232
(setAllPeerResetDelta): Removed.
23233
(ResetDelta): New function object.
23234
(orderByDownloadRate): Fixed a bug: use DowloadFaster, not UploadFaster
23235
(execute): Show download speed when the local node is a seeder.
23236
setAllPeerChoked and setAllPeerResetDelta were rewritten
23238
* src/TrackerWatcherCommand.h
23239
(MIN_PEERS): Removed.
23240
* src/TorrentMan.cc
23241
(getPeer): Replaced MAX_PEER_UPDATE with MIN_PEERS.
23243
2006-07-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23245
To fix the bug that .aria2 file is not saved if downloading is stopped
23246
by the errors:it results that aria2 can not resume downloading:
23249
(normalDownload): Added the call to save().
23250
(main): Added the deletion of the elements in 'reserved'.
23254
* src/PeerInteraction.cc
23255
(receiveHandshake): Fixed log.
23257
2006-07-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23259
To improve download performance in BitTorrent:
23261
* src/TorrentMan.cc
23262
(getPeer): Check the number of connections. Return nullPeer if
23263
it is greater than MAX_PEER_UPDATE.
23264
This code was originally here, but was removed in 0.5.1.
23266
2006-07-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23268
To improve the conditional compilation:
23270
* src/MultiDiskWriter.h:
23271
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23272
* src/MultiDiskWriter.cc:
23273
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23275
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23276
Added ENABLE_BITTORRENT around computeFastSet().
23278
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23279
Added ENABLE_BITTORRENT around computeFastSet().
23280
* src/messageDigest.h:
23281
Replaced ENABLE_BITTORRENT with ENABLE_SSL.
23282
* src/ShaVisitor.h:
23283
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23284
* src/ShaVisitor.cc:
23285
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23287
Added ENABLE_BITTORRENT around includes and blocks related to
23289
Added ENABLE_MESSAGE_DIGEST to skip checksum checking when the message
23290
digest support is not available.
23291
* src/AbstractDiskWriter.h:
23292
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23293
* src/AbstractDiskWriter.cc:
23294
Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23295
* src/MetalinkEntry.cc
23296
(check): Added ENABLE_MESSAGE_DIGEST. Return true if the message digest
23297
support is not available.
23299
To add command-line options for Metalink:
23302
Added metalink-version, metalink-language, metalink-os,
23305
To use EXIT_SUCCESS and EXIT_FAILURE with exit():
23307
* src/main.cc: Use these definition.
23311
2006-07-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23313
To add Metalink support(http/ftp only):
23315
* src/AbstractCommand.h
23316
(tryReserved): New function.
23317
* src/AbstractCommand.cc
23318
(execute): Call tryReserved().
23319
(tryReserved): New function.
23321
(Requests): New type definition.
23323
(reserved): New variable.
23325
(fileChecksum): New function.
23326
(toUpper): New function.
23327
(toLower): New function.
23329
(messageDigest.h): Included.
23330
(trim): Trim \r\n\t.
23331
(fileChecksum): New function.
23332
(toUpper): New function.
23333
(toLower): New function.
23335
(normalDownload): New function.
23336
(main): Added 2 command-line options: metalink-file,
23337
metalink-connection. Their usage has not been written yet.
23338
* src/MetalinkProcessor.h: New class.
23339
* src/Xml2MetalinkProcessor.h: New class.
23340
* src/Xml2MetalinkProcessor.cc: New class.
23341
* src/MetalinkEntry.h: New class.
23342
* src/MetalinkEntry.cc: New class.
23343
* src/MetalinkResource.h: New class.
23344
* src/MetalinkResource.cc: New class.
23346
To add md5 message digest checking:
23348
* src/messageDigest.h: Rewritten.
23349
* src/MultiDiskWriter.cc: Updated according to the changes in
23351
* src/ShaVisitor.cc: Updated according to the changes in
23353
* src/Util.cc: Updated according to the changes in messageDigest.h.
23354
* src/AbstractDiskWriter.cc: Updated according to the changes in
23357
To fix a bug that causes segfault when the payload length in peer
23358
message is less than 0:
23360
* src/PeerConnection.cc:
23361
(receiveMessage): Fixed the bug.
23362
* src/PeerMessageUtil.cc
23363
(checkLength): Throw an exception if length is less than or equals to
23366
To add new interfaces to Base64 encoding/decoding:
23369
(part_encode): Changed the method signature.
23370
(encode): New function(overload).
23371
(decode): New function(overload).
23373
(part_encode): Rewritten.
23374
(encode): Rewritten.
23375
(encode): New function(overload).
23377
To prevent a peer to download same piece if there is an error in
23380
* src/PieceMessage.cc
23381
(receivedAction): Call peerInteraction->abortPiece().
23383
2006-06-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23385
To fix the bug that causes same have message is sent many times to
23389
(isNewer): Use Util::difftv().
23391
(difftv): Added a cast to (long long int).
23392
* src/TorrentMan.cc
23393
(advertisePiece): Use push_front.
23394
(getAdvertisedPieceIndexes): A performance improvement was made.
23396
To fix the bug that sends tracker requests without a sleep interval
23397
when the number of connections is less than 15.
23399
* src/TrackerWatcherCommand.cc
23400
(execute): Now the number of connections is not a factor to decide
23401
whether or not a tracker request should be sent or not.
23403
(setTimeInSec): New function.
23405
(setTimeInSec): New function.
23409
* src/ChokeMessage.cc
23410
(receivedAction): Removed peer->snubbing = false
23412
* src/PeerConnection.h
23413
(receiveHandshake): Updated doc.
23416
(getAdvertisedPieceIndexes): Updated the method signature.
23417
* src/TorrentMan.cc
23418
(getAdvertisedPieceIndexes): Updated the method signature.
23421
(getTimeInMicros): Added a cast to (long long int).
23422
(getTimeInMillis): Added a cast to (long long int).
23426
2006-06-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23428
To make a listening socket non-block:
23431
(setNonBlockingMode): New function.
23432
* src/SocketCore.cc
23433
(setNonBlockingMode): New function.
23434
(beginListen): Added a call to setNonBlockingMode().
23435
(acceptConnection): Call setNonBlockingMode().
23436
(setBlockingMode): Updated.
23438
To handle tracker's NAT-checking:
23440
* src/PeerConnection.cc
23441
(receiveHandshake): 'msg' param is filled with received data and
23442
its length is assigned to 'length' param, even if all handshake
23443
message is not yet received.
23444
* src/PeerInteractionCommand.cc
23445
(executeInternal): Use peerInteraction->receiveHandshake(true) when
23446
a new peer connects to localhost.
23447
A call to peerInteraction->sendHandshake() was removed because
23448
it is called from peerInteraction->receiveHandshake(true).
23449
* src/PeerInteraction.h
23450
(quickReplied): New variable.
23451
(receiveHandshake): Added an argument.
23452
* src/PeerInteraction.cc
23453
(PeerInteraction): Added the initialization of quickReplied.
23454
(receiveHandshake): Send handshake message as soon as the info hash
23455
in a handshake message from a peer is correct.
23458
To change the random part of peer id and key parameter:
23461
(key): New variable.
23462
* src/TorrentMan.cc
23463
(setupInternal1): Use Util::randomAlpha() to generate random part
23464
of peer id, which is now "-aria2-"+13 alphabet characters([A-Za-z]).
23465
key is also generated by Util::randomAlpha() and it is now 8 character
23468
(randomAlpha): New function.
23470
(randomAlpha): New function.
23471
* src/TrackerWatcherCommand.cc
23472
(execute): In a tracker request: Use torrentMan->key as key parameter.
23473
Added no_peer_id=1.
23475
Set snubbing flag to false when a choke message is received from a
23478
* src/ChokeMessage.cc
23479
(receivedAction): Set snubbing flag to false.
23481
2006-06-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23483
* src/TorrentMan.cc (setupInternal1): Fixed peerId generation bug.
23485
* src/SimpleLogger.h (writeHeader): New function.
23486
* src/SimpleLogger.cc (writeHeader): New function.
23487
(writeLog): Fixed the bug that causes segfaults if exception message
23488
contains an unescaped "%" character.
23490
* src/TrackerWatcherCommand.cc (execute): Added a short sleep
23491
when a tracker request fails.
23493
* src/Request.cc (parseUrl): Query string is now handled properly.
23497
2006-06-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23499
To add Time class which represents a specific instant in time and
23500
its precision is microseconds. Time checking procedures were rewritten
23503
* src/Time.h: New class.
23504
* src/Time.cc: New class.
23505
* src/AbstractCommand.h
23506
(updateCheckPoint): Removed.
23507
(isTimeoutDetected): Removed.
23508
(checkPoint): Changed the type to Time.
23509
(timeout): New variable.
23510
(setTimeout): New function.
23511
* src/AbstractCommand.cc
23512
(AbstractCommand): Removed the initialization of checkPoint.
23513
Added the initialization of timeout.
23514
(updateCheckPoint): Removed.
23515
(isTimeoutDetected): Removed.
23516
(execute): Use checkPoint.reset() and checkPoint.elapsed().
23517
* src/PeerChokeCommand.h
23518
(checkPoint): Changed the type to Time.
23519
* src/PeerChokeCommand.cc
23520
(PeerChokeCommand): Removed the initialization of checkPoint.
23521
(execute): Rewritten using Time object.
23522
* src/TrackerWatcherCommand.h
23523
(checkPoint): Changed the type to Time.
23524
* src/TrackerWatcherCommand.cc
23525
(TrackerWatcherCommand): Removed the initialization of checkPoint.
23526
(execute): Rewritten.
23527
* src/ConsoleDownloadEngine.h
23528
(cp): Changed the type to Time.
23529
(startup): Changed the type to Time.
23530
* src/ConsoleDownloadEngine.cc
23531
(initStatistics): Use cp.reset(), startup.reset().
23532
(calculateStatistics): Rewritten using Time object.
23533
* src/PeerAbstractCommand.h
23534
(updateCheckPoint): Removed.
23535
(isTimeoutDetected): Removed.
23536
(checkPoint): Changed the type to Time.
23537
* src/PeerAbstractCommand.cc
23538
(PeerAbstractCommand): Removed the initialization of checkPoint.
23539
(updateCheckPoint): Removed.
23540
(isTimeoutDetected): Removed.
23541
(execute): Use checkPoint.reset() and checkPoint.elapsed().
23542
* src/PeerInteractionCommand.cc
23543
(PeerInteractionCommand): Removed the initializations of struct
23545
* src/PeerInteractionCommand.h
23546
(keepAliveCheckPoint): Changed the type to Time.
23547
(chokeCheckPoint): Changed the type to Time.
23548
(freqCheckPoint): Changed the type to Time.
23549
(haveCheckTime): Changed the type to Time.
23550
* src/PeerInteractionCommand.cc
23551
(executeInternal): Rewritten using Time object.
23552
(detectMessageFlooding): Rewritten using Time object.
23553
(checkLongTimePeerChoking): Rewritten using Time object.
23554
(sendKeepAlive): Rewritten using Time object.
23555
(checkHave): Rewritten using Time object.
23556
* src/SleepCommand.h
23557
(checkPoint): Changed the type to Time.
23558
* src/SleepCommand.cc
23559
(SleepCommand): Removed the initialization of checkPoint.
23560
(execute): Rewritten using Time object.
23561
* src/TorrentAutoSaveCommand.h
23562
(checkPoint): Changed the type to Time.
23563
* src/TorrentAutoSaveCommand.cc
23564
(TorrentAutoSaveCommand): Removed the initialization of checkPoint.
23565
(execute): Rewritten.
23566
* src/DownloadCommand.h
23567
(sw): Changed the type to Time.
23568
* src/DownloadCommand.cc
23569
(DownloadCommand): Removed the initialization of sw.
23570
(executeInternal): Rewritten.
23571
* src/RequestSlot.h
23572
(dispatchedTime): Changed the type to Time.
23573
* src/RequestSlot.cc
23574
(RequestSlot): Removed the call to setDispatchedTime().
23575
(setDispatchedTime): Rewirtten.
23576
(isTimeout): Rewritten.
23577
(getLatencyInMillis): Rewritten.
23578
* src/TorrentDownloadEngine.h
23579
(cp): Changed the type to Time[2].
23580
(startup): Changed the type to Time.
23581
* src/TorrentDownloadEngine.cc
23582
(initStatistics): Rewritten.
23583
(calculateStatistics): Rewritten.
23584
* src/DownloadEngine.cc
23587
To detect all attempts to connect to the tracker are failed:
23589
* src/AbstractCommand.cc
23590
(execute): Increment e->segmentMan->errors if a command aborted.
23592
(errors): New variable.
23593
* src/SegmentMan.cc
23594
(SegmentMan): Added the initialization of errors.
23595
(init): Added the initialization of errors.
23596
* src/TrackerWatcherCommand.cc
23597
(execute): If e->segmentMan->errors > 0 then assume that the tracker
23598
request was failed.
23600
To handle snubbed peers:
23602
* src/PeerChokeCommand.cc
23603
(optUnchokingPeer): Snubbed peers don't get unchoked.
23604
(execute): Snubbed peers don't get unchoked.
23605
* src/PeerInteraction.h
23606
(REQUEST_TIME_OUT): Changed the value from 120 to 60.
23607
* src/PeerInteraction.cc
23608
(checkRequestSlot): A peer get marked as "snubbed" if it doesn't send
23609
back the requested 16k block in 60 seconds.
23610
* src/PieceMessage.cc
23611
(receivedAction): A peer's snubbed state is cleard if it sends
23612
the requested 16k block in 60 seconds.
23614
(snubbing): New variable.
23616
(resetStatus): Added snubbed = false.
23618
To fix the bug that causes have message is not sent:
23620
* src/PeerInteractionCommand.cc
23621
(~PeerInteractionCommand): Removed e->torrentMan->unadvertisePiece().
23622
(FLOODING_CHECK_INTERVAL): New definition(temporal).
23623
(detectMessageFlooding): Use FLOODING_CHECK_INTERVAL.
23625
(HaveEntry): New class.
23626
(advertisePiece): Rewritten.
23627
(getAdvertisedPieceIndexes): Rewritten.
23628
(Haves): Changed the type.
23629
(getAdvertisedPieceIndexes): Added an argument.
23634
(DEFAULT_ANNOUNCE_INTERVAL): Changed the value to 1800.
23635
(DEFAULT_ANNOUNCE_MIN_INTERVAL): Changed the value to 1800.
23636
* src/TorrentMan.cc
23637
(getPeer): Don't check the number of connections here.
23638
(setupInternal1): Changed peerId.
23640
* src/PeerInteractionCommand.h
23641
(KEEP_ALIVE_INTERVAL): New definition.
23642
(sendKeepAlive): Use KEEP_ALIVE_INTERVAL.
23645
(main): SA_ONESHOT was replaced with SA_RESETHAND.
23647
* src/DownloadEngine.h: Removed unnecessary header includes.
23649
2006-05-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23651
To fix the bug that causes segfaults if a tracker returns a zero-length
23654
* src/TrackerUpdateCommand.cc
23655
(execute): Added a check to see wether the type of peers is Data*.
23657
2006-05-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23661
To fix compile issue with gcc3:
23663
* src/CancelMessage.h
23664
(ID): Renamed as ID_t
23666
* src/RejectMessage.h
23667
(ID): Renamed as ID_t
23669
* src/SuggestPieceMessage.h
23670
(ID): Renamed as ID_t
23672
* src/AllowedFastMessage.h
23673
(ID): Renamed as ID_t
23675
* src/PortMessage.h
23676
(ID): Renamed as ID_t
23678
* src/HaveNoneMessage.h
23679
(ID): Renamed as ID_t
23681
* src/KeepAliveMessage.h
23682
(ID): Renamed as ID_t
23684
* src/HaveAllMessage.h
23685
(ID): Renamed as ID_t
23687
* src/UnchokeMessage.h
23688
(ID): Renamed as ID_t
23690
* src/BitfieldMessage.h
23691
(ID): Renamed as ID_t
23693
* src/PieceMessage.h
23694
(ID): Renamed as ID_t
23696
* src/RequestMessage.h
23697
(ID): Renamed as ID_t
23699
* src/NotInterestedMessage.h
23700
(ID): Renamed as ID_t
23702
* src/ChokeMessage.h
23703
(ID): Renamed as ID_t
23705
* src/InterestedMessage.h
23706
(ID): Renamed as ID_t
23708
* src/HaveMessage.h
23709
(ID): Renamed as ID_t
23712
2006-05-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23714
* src/PeerAbstractCommand.h
23715
(beforeSocketCheck): Removed.
23716
* src/PeerAbstractCommand.cc
23717
Modified in order to call executeInternal() even if socket check
23718
and upload limit check fail.
23719
* src/PeerInteractionCommand.h
23720
(keepAlive): Removed.
23721
(sendKeepAlive): New function.
23722
(checkHave): New function.
23723
(beforeSocketCheck): Removed.
23724
* src/PeerInteractionCommand.cc
23725
(executeInternal): Use peerInteraction->checkRequestSlot(). Added
23726
calls to checkHave() and sendKeepAlive().
23727
(keepAlive): Renamed to sendKeepAlive().
23728
(sendKeepAlive): New function.
23729
(beforeSocketCheck): Removed.
23730
(checkHave): New function.
23731
* src/BitfieldMan.cc
23732
(getMissingIndex): Don't call getMissingIndexRandomly() if max is 0.
23733
(getMissingUnusedIndex): Don't call getMissingIndexRandomly() if max is
23735
(getMissingIndex): Dont't call getMissingIndexRandomly() if max is 0.
23737
(UsedPieces): Removed.
23738
(Pieces): New type definition.
23739
* src/Piece.h: Updated doc.
23741
(totalLength): Removed.
23743
(updateLatency): Fixed the latency calculation.
23744
* src/TorrentMan.cc
23745
(addPeer): Call deleteOldErrorPeers() only if peers.size() is higher
23746
than or equal to MAX_PEER_LIST_SIZE.
23747
If duplicate is false and peer.size() >= MAX_PEER_LIST_SIZE,
23749
(deleteOldErrorPeers): Rewritten.
23750
(deleteUsedPiece): Fixed the miss use of STL remove.
23751
* src/PeerInteraction.h
23753
(deleteTimeoutRequestSlot): Removed.
23754
(deleteCompletedRequestSlot): Removed.
23755
(checkRequestSlot): New function.
23756
* src/PeerInteraction.cc
23757
(deleteTimeoutRequestSlot): Merged to checkRequestSlot().
23758
(deleteCompletedRequestSlot): Merged to checkRequestSlot().
23759
(checkRequestSlot): New function.
23760
* src/DownloadEngine.cc
23761
(run): Clear activeSockets before calling waitData().
23762
(waitData): Removed a call to activeSockets.clear().
23764
2006-05-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23766
To attempt to handle EINTR:
23768
* src/SocketCore.cc
23769
(isReadable): Added EINTR handling.
23770
(isWritable): Added EINTR handling.
23772
To improve the performance:
23774
* src/AbstractCommand.cc
23775
(isTimeoutDetected): Use Util::difftvsec() instead of Util::difftv().
23776
* src/PeerInteractionCommand.h
23777
(receiveMessage): Renamed as receiveMessages().
23778
(receiveMessages): New function.
23779
* src/PeerInteractionCommand.cc
23780
(executeInternal): receiveMessage loop is moved to new receiveMessages
23781
() function. detectMessageFlooding() is moved here.
23782
(detectMessageFlooding): Use Util::difftvsec() instead of Util::difftv
23783
(). The flooding detection for have message is comment out.
23784
(checkLongTimePeerChoking): Use Util::difftvsec() instead of
23786
(receiveMessage): Renamed as receiveMessages().
23787
(receiveMessages): New function.
23788
(keepAlive): Use Util::difftvsec() instead of Util::difftv().
23789
(beforeSocketCheck): Commented out checkLongTimePeerChoking().
23790
* src/SleepCommand.cc
23791
(execute): Use Util::difftvsec() instead of Util::difftv().
23792
* src/BitfieldMan.h
23793
(getNthBitIndex): New function.
23794
(hasMissingPiece): New function.
23795
(getAllMissingIndexes): New function.
23796
* src/BitfieldMan.cc
23797
(countSetBit): Rewritten.
23798
(getNthBitIndex): New function.
23799
(getMissingIndexRandomly): Rewritten.
23800
(hasMissingPiece): New function.
23801
(getAllMissingIndexes): New function.
23802
* src/TorrentMan.cc
23803
(hasMissingPiece): New function.
23804
(deleteUsedPiece): Rewritten using STL.
23805
* src/PeerInteraction.cc
23806
(getNewPieceAndSendInterest): Use TorrentMan::hasMissingPiece(), which
23807
is a little bit faster then TorrentMan::getMissingPieceIndex().
23808
(addRequests): Updated the number of pending requests.
23809
* src/PeerAbstractCommand.cc
23810
(isTimeoutDetected): Use Util::difftvsec() instead of Util::difftv().
23811
(execute): Returns true if TorrentMan::isHalt() is true.
23812
Corrected the condition of upload limit checking.
23814
(countBit): New function.
23816
(nbits): New variable.
23817
(countBit): New function.
23818
* src/DownloadEngine.h
23819
(SockCmdMap): New type definition.
23820
(waitData): Added an argument.
23821
(addSocket): Added an argument.
23822
(addSocketForReadCheck): Added an argument.
23823
(addSocketForWriteCheck): Added an argument.
23824
* src/DownloadEngine.cc
23825
(run): Executes only commands whose sockets are ready to read or write.
23826
All commands are executed in every 1 second.
23827
(waitData): Calls select() again if it returned
23829
(addSocket): Saves socket and command object pair to the map.
23830
(deleteSocket): Deletes socket and command object pair from the map.
23831
(addSocketForReadCheck): Added an argument.
23832
(addSocketForWriteCheck): Added an argument.
23833
* src/DownloadCommand.cc
23834
(executeInternal): Use Util::difftvsec() instead of Util::difftv().
23836
To send "event=stopped" to the tracker when the application finishes:
23838
* src/PeerChokeCommand.h
23839
(checkPoint): New variable.
23840
* src/PeerChokeCommand.cc
23841
(PeerChokeCommand): Added the initialization of checkPoint.
23842
(execute): The interval check is now done by checkPoint, not
23843
SleepCommand. Return true if TorrentMan::isHalt() is true.
23845
(halt): New function.
23846
(hasMissingPiece): New function.
23847
(isHalt): New function.
23848
(setHalt): New function.
23849
* src/TorrentMan.cc
23850
(TorrentMan): Added the initialization of halt.
23851
* src/TorrentAutoSaveCommand.h
23852
(checkPoint): New variable.
23853
* src/PeerListenCommand.cc
23854
(execute): Returns true if TorrentMan::isHalt() is true.
23856
(setSignalHander): Added flags argument.
23857
(torrentHandler): Just calls TorrentMan::setHalt(true) and returns.
23858
(main): Set SA_ONESHOT flag of the signal hander of SIGINT and SIGTERM.
23859
Removed printDownloadAbortMessage() after torrent downloading loop.
23860
* src/TorrentAutoSaveCommand.cc
23861
(TorrentAutoSaveCommand): Added the initialization of checkPoint.
23862
(execute): Returns true if TorrentMan::isHalt() is true.
23863
The interval check is now done by checkPoint, not SleepCommand.
23864
* src/TrackerWatcherCommand.cc
23865
(execute): If TorrentMan::isHalt(), then create a tracker request with
23867
* src/TrackerUpdateCommand.cc
23868
(prepareForRetry): Do not use SleepCommand here.
23869
(execute): Returns true if TorrentMan::isHalt() is true.
23873
* src/TorrentMan.cc
23874
(getMissingPieceIndex): Updated log message.
23875
* src/PeerInteraction.cc
23876
(createPeerMessag): Updated log message.
23878
2006-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23880
To add the ability to download several pieces in mix in a command and
23881
increase the number of request slots according to request-cancel
23884
* src/PeerInteractionCommand.cc
23885
(executeInternal): The number of messages to be received at a time
23886
is increased from 10 to 50.
23888
(getInstance): Added NullLogger.
23889
* src/NullLogger.h: New class.
23890
* src/BitfieldMan.h
23891
(getMissingIndex): New function.
23892
* src/BitfieldMan.cc
23893
(getMissingIndex): New function.
23895
(checkOutPiece): New function.
23896
(getMissingPieceIndex): New function.
23897
(getMissingFastPieceIndex): New function.
23898
(getMissingFastPiece): New function.
23899
* src/TorrentMan.cc
23900
(updatePiece): Rewritten using STL.
23901
(syncPiece): Rewritten using STL.
23902
(getMissingPiece): Rewritten using getMissingPieceIndex() and
23904
(getMissingPieceIndex): New function.
23905
(getMissingFastPieceIndex): New function.
23906
(getMissingFastPiece): New function.
23907
(checkOutPiece): New function.
23908
* src/PeerInteraction.h
23909
(Pieces): New type definition.
23911
(pieces): New variable.
23912
(getNewPieceAndSendInterest): Added the "piece" argument.
23913
(abortPiece): Added the "piece" argument.
23914
(abortAllPieces): New function.
23915
(isInRequestSlot): New function.
23916
(hasDownloadPiece): Added the "index" argument.
23917
(setDownloadPiece): Removed.
23918
(getDownloadPiece): Added the "index" argument.
23919
(updatePiece): New function.
23920
(createRequestMessage): Added the "index" argument.
23921
* src/PeerInteraction.cc
23922
(onChoked): Rewritten.
23923
(abortPiece): Rewirtten.
23924
(abortAllPieces): New function.
23925
(deleteTimeoutRequestSlot): Rewritten.
23926
Clarified code a little bit.
23927
(deleteCompletedRequestSlot): Rewritten.
23928
(isInRequestSlot): New function.
23929
(syncPiece): Rewritten.
23930
(updatePiece): New function.
23931
(getNewPieceAndSendInterest): Rewritten.
23932
(addRequests): Rewritten.
23933
(getDownloadPiece): Rewritten.
23934
(hasDownloadPiece): Rewritten.
23935
(createRequestMessage): Added the "index" argument.
23937
(BITFIELD_LEN_FROM_PIECES): Enclosed the variable in parentheses.
23938
(DIV_FLOOR): New definition.
23939
* src/PieceMessage.cc
23940
(receivedAction): Update request-piece latency here.
23941
* src/RequestSlot.h
23942
(getLatencyInMillis): New function.
23943
* src/RequestSlot.cc
23944
(isTimeout): Rewritten using getLatencyInMillis.
23945
(getLatencyInMillis): New function.
23947
(operator==): New function.
23948
(getMissingBlockIndex): New function.
23950
(operator==): New function.
23951
(getMissingBlockIndex): New function.
23953
(DEFAULT_LATENCY): New definition.
23954
(latency): New variable.
23955
(updateLatency): New function.
23956
(getLatency): New function.
23958
(resetStatus): Reset latecy.
23959
(updateLatency): New function.
23961
2006-05-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23963
* src/SocketCore.cc
23964
(isReadable): Added secure to the condition.
23965
* src/HttpConnection.cc
23966
(receiveResponse): Fixed a bug that causes no response header
23969
(getFastSet): Fixed the return value type.
23971
2006-05-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
23973
To remove a wait from download loop:
23975
* src/DownloadEngine.cc
23976
(run): Comment out shortSleep.
23978
To rewrite the message handling:
23980
* src/SimplePeerMessage.h: New class.
23981
* src/SimplePeerMessage.cc: New class.
23982
* src/CancelMessage.h: Derived from SimplePeerMessage.
23983
(msg): New variable.
23984
(create): New function.
23986
(getMessage): New function.
23987
(getMessageLength): New function.
23988
* src/CancelMessage.cc
23989
(create): New function.
23990
(receivedAction): Replaced deleteRequestMessageInQueue with
23991
rejectPieceMessageInQueue.
23993
(getMessage): New function.
23994
(getMessageLength): New function.
23995
* src/BitfieldMessage.h: Derived from SimplePeerMessage.
23996
(msg): New variable.
23997
(msgLength): New variable.
23998
(~BitfieldMessage): Deleted msg.
24000
(getMessage): New function.
24001
(getMessageLength): New function.
24002
* src/BitfieldMessage.cc
24003
(create): New function.
24005
(getMessage): New function.
24006
(getMessageLength): New function.
24007
* src/ChokeMessage.h: Derived from SimplePeerMessage.
24008
(msg): New variable.
24009
(sendPredicate): New function.
24010
(onSendComplete): New function.
24012
(getMessage): New function.
24013
(getMessageLength): New function.
24014
(create): New function.
24015
* src/ChokeMessage.cc
24016
(create): New function.
24018
(sendPredicate): New function.
24019
(getMessage): New function.
24020
(getMessageLength): New function.
24021
(onSendComplete): New function.
24022
* src/KeepAliveMessage.h: Derived from SimplePeerMessage.
24023
(msg): New variable.
24025
(getMessage): New function.
24026
(getMessageLength): New function.
24027
* src/KeepAliveMessage.cc
24029
(getMessage): New function.
24030
(getMessageLength): New function.
24031
* src/PortMessage.h
24032
(create): New function.
24033
(receivedAction): Updated log message.
24034
* src/PortMessage.cc: New file.
24035
* src/UnchokeMessage.h: Derived from SimplePeerMessage.
24036
(msg): New variable.
24037
(sendPredicate): New function.
24038
(onSendComplete): New function.
24039
(create): New function.
24041
(getMessage): New function.
24042
(getMessageLength): New function.
24043
* src/UnchokeMessage.cc
24044
(create): New function.
24046
(sendPredicate): New function.
24047
(getMessage): New function.
24048
(getMessageLength): New function.
24049
(onSendComplete): New function.
24050
* src/PieceMessage.h
24051
(leftPieceDataLength): Removed.
24052
(leftDataLength): New variable.
24053
(headerSend): New variable.
24054
(pendingCount): New variable.
24055
(msgHeader): New variable.
24056
(sendPieceData): New function.
24057
(incrementPendingCount): New function.
24058
(isPendingCountMax): New function.
24059
(create): New function.
24060
(getMessageHeader): New function.
24061
(getMessageHeaderLength): New function.
24062
* src/PieceMessage.cc
24063
(create): New function.
24064
(getMessageHeader): New function.
24065
(getMessageHeaderLength): New function.
24067
(sendPieceData): New function.
24068
* src/HaveMessage.h: Derived from SimplePeerMessage.
24069
(msg): New variable.
24070
(create): New function.
24071
(getMessage): New function.
24072
(getMessageLength): New function.
24073
* src/HaveMessage.cc
24074
(create): New function.
24076
(sendPieceData): New function.
24077
(getMessage): New function.
24078
(getMessageLength): New function.
24079
* src/RequestMessage.h: Derived from SimplePeerMessage.
24080
(msg): New variable.
24081
(create): New function.
24083
(getMessage): New function.
24084
(getMessageLength): New function.
24085
* src/RequestMessage.cc
24086
(create): New function.
24087
(receivedAction): Added the handling of fast extension.
24088
Deleted torrentMan->addUploadLength, torrentMan->addDeltaUploadLength.
24090
(getMessage): New function.
24091
(getMessageLength): New function.
24092
* src/InterestedMessage.h: Derived from SimplePeerMessage.
24093
(msg): New variable.
24094
(sendPredicate): New function.
24095
(onSendComplete): New function.
24096
(create): New function.
24097
(getMessage): New function.
24098
(getMessageLength): New function.
24099
* src/InterestedMessage.cc
24100
(create): New function.
24102
(sendPieceData): New function.
24103
(getMessage): New function.
24104
(getMessageLength): New function.
24105
(onSendComplete): New function.
24106
* src/NotInterestedMessage.h: Derived from SimplePeerMessage.
24107
(msg): New variable.
24108
(sendPieceData): New function.
24109
(onSendComplete): New function.
24110
(create): New function.
24112
(getMessage): New function.
24113
(getMessageLength): New function.
24114
* src/NotInterestedMessage.cc
24115
(create): New function.
24117
(sendPredicate): New function.
24118
(getMessage): New function.
24119
(getMessageLength): New function.
24120
(onSendComplete): New function.
24121
* src/AllowedFastMessage.h: New class.
24122
* src/AllowedFastMessage.cc: New class.
24123
* src/RejectMessage.h: New class.
24124
* src/RejectMessage.cc: New class.
24125
* src/SuggestPieceMessage.h: New class.
24126
* src/SuggestPieceMessage.cc: New class.
24127
* src/HaveAllMessage.h: New class.
24128
* src/HaveAllMessage.cc: New class.
24129
* src/HaveNoneMessage.h: New class.
24130
* src/HaveNoneMessage.cc: New class.
24131
* src/HandshakeMessage.h: Derived from SimplePeerMessage.
24132
(msg): New variable.
24133
(reserved): New variable.
24134
(create): New function.
24135
(getId): New function.
24136
(receivedAction): New function.
24137
(getMessage): New function.
24138
(getMessageLength): New function.
24139
(isFastExtensionSupported): New function.
24140
* src/HandshakeMessage.cc
24141
(HandshakeMessage): Moved here from HandshakeMessage.h.
24142
(create): New function.
24143
(getMessage): New function.
24144
(getMessageLength): New function.
24145
(toString): Added the output of reserved field.
24146
(check): Added const qualifier.
24147
(isFastExtensionSupported): New function.
24148
* src/PeerMessageUtil.h
24149
(createChokeMessage): Removed.
24150
(createUnchokeMessage): Removed.
24151
(createInterestedMessage): Removed.
24152
(createNotInterestedMessage): Removed.
24153
(createHaveMessage): Removed.
24154
(createBitfieldMessage): Removed.
24155
(createRequestMessage): Removed.
24156
(createCancelMessage): Removed.
24157
(createPieceMessage): Removed.
24158
(createPortMessage): Removed.
24159
(createChokeMessage): Removed.
24160
(createUnchokeMessage): Removed.
24161
(createInterestedMessage): Removed.
24162
(createNotInterestedMessage): Removed.
24163
(createHaveMessage): Removed.
24164
(createBitfieldMessage): Removed.
24165
(createRequestMessage): Removed.
24166
(createCancelMessage): Removed.
24167
(createPieceMessage): Removed.
24168
(createKeepAliveMessage): Removed.
24169
(createHandshakeMessage): Removed.
24170
(setIntParam): New function.
24171
(createPeerMessageString): New function.
24172
* src/PeerMessageUtil.cc
24173
(createChokeMessage): Removed.
24174
(createUnchokeMessage): Removed.
24175
(createInterestedMessage): Removed.
24176
(createNotInterestedMessage): Removed.
24177
(createHaveMessage): Removed.
24178
(createBitfieldMessage): Removed.
24179
(createRequestMessage): Removed.
24180
(createCancelMessage): Removed.
24181
(createPieceMessage): Removed.
24182
(createPortMessage): Removed.
24183
(createRequestMessage): Removed.
24184
(createCancelMessage): Removed.
24185
(createPieceMessage): Removed.
24186
(createHaveMessage): Removed.
24187
(createChokeMessage): Removed.
24188
(createUnchokeMessage): Removed.
24189
(createInterestedMessage): Removed.
24190
(createNotInterestedMessage): Removed.
24191
(createBitfieldMessage): Removed.
24192
(createKeepAliveMessage): Removed.
24193
(createHandshakeMessage): Removed.
24194
(setIntParam): New function.
24195
(createPeerMessageString): New function.
24196
* src/PeerConnection.h
24198
(torrentMan): Removed.
24199
(createNLengthMessage): Removed.
24200
(setIntParam): Removed.
24201
(writeOutgoingMessageLog): Removed all overloaded functions.
24202
(PeerConnection): Deleted peer and torrentMan from its arguments.
24203
(sendMessage): New function.
24204
(sendHandshake): Removed.
24205
(sendKeepAlive): Removed.
24206
(sendChoke): Removed.
24207
(sendUnchoke): Removed.
24208
(sendInterested): Removed.
24209
(sendNotInterested): Removed.
24210
(sendHave): Removed.
24211
(sendBitfield): Removed.
24212
(sendRequest): Removed.
24213
(sendPiece): Removed.
24214
(sendPieceHeader): Removed.
24215
(sendPieceData): Removed.
24216
(sendCancel): Removed.
24217
(getPeer): Removed.
24218
* src/PeerConnection.cc
24219
(PeerConnection): Deleted peer and torrentMan from its arguments.
24220
(sendHandshake): Removed.
24221
(sendKeepAlive): Removed.
24222
(createNLengthMessage): Removed.
24223
(setIntParam): Removed.
24224
(writeOutgoingMessageLog): Removed all overloaded functions.
24225
(sendChoke): Removed.
24226
(sendUnchoke): Removed.
24227
(sendInterested): Removed.
24228
(sendNotInterested): Removed.
24229
(sendHave): Removed.
24230
(sendBitfield): Removed.
24231
(sendRequest): Removed.
24232
(sendPiece): Removed.
24233
(sendPieceHeader): Removed.
24234
(sendPieceData): Removed.
24235
(sendMessage): New function.
24236
(sendCancel): Removed.
24237
* src/PeerInteractionCommand.cc
24238
(PeerInteractionCommand): Call setUploadLimit.
24239
(executeInternal): Call setUploadLimit.
24240
Added the handling of "inProgress" state of handshake message.
24241
Call sendBitfield() or sendAllowdFast() instead of deprecated
24243
(keepAlive): Call addMessage and sendMessage instead of deprecated
24245
(beforeSocketCheck): Call addMessage instead of deprecated trySendNow()
24247
(PEER_ID_LENGTH): New definition.
24248
(hasAllPieces): New function.
24249
* src/TorrentMan.cc
24250
(getMissingPiece): Added the handling of fast extension.
24251
(cancelPiece): Call updatePiece().
24252
(hasAllPieces): New function.
24253
* src/PeerInteraction.h
24254
(fastSet): New variable.
24255
(getNewPieceAndSendInterest): Changed the return type to void.
24256
(send): Renamed as sendMessages.
24257
(deleteAllRequestSlot): Removed.
24258
(deleteRequestMessageInQueue): Renamed as rejectPieceMessageInQueue.
24259
(cancelAllRequest): Removed all overloaded functions.
24260
(deleteAllRequestSlot): Removed.
24261
(deletePieceMessageInQueue): Renamed as rejectAllPieceMessageInQueue.
24262
(rejectPieceMessageInQueue): New function.
24263
(rejectAllPieceMessageInQueue): New function.
24264
(onChoked): New function.
24265
(isSendingMessageInProgress): New function.
24266
(getCorrespondingRequestSlot): Changed its arguments.
24267
(isInFastSet): New function.
24268
(addFastSetIndex): New function.
24269
(addRequests): New function.
24270
(sendNow): Removed.
24271
(trySendNow): Removed.
24272
(sendBitfield): New function.
24273
(sendAllowdFast): New function.
24274
(createHaveAllMessage): New function.
24275
(createHaveNoneMessage): New function.
24276
(createRejectMessage): New function.
24277
(createAllowedFastMessage): New function.
24278
* src/PeerInteraction.cc
24279
(send): Renamed as sendMessages.
24280
(sendMessages): New function.
24281
(MsgPushBack): New class.
24282
(isSendingMessageInProgress): New function.
24283
(deletePieceMessageInQueue): Renamed as rejectAllPieceMessageInQueue.
24284
(rejectAllPieceMessageInQueue): New function.
24285
Added the handling of fast extension.
24286
(deleteRequestMessageInQueue): Renamed as rejectPieceMessageInQueue.
24287
(rejectPieceMessageInQueue): New function.
24288
Added the handling of fast extension.
24289
(deleteRequestSlot): Replaced for loop with std::find.
24290
(onChoked): New function.
24291
(deleteAllRequestSlot): Removed.
24292
(abortPiece): Rewirtten.
24293
(deleteTimeoutRequestSlot): Updated log messages.
24294
(getCorrespondingRequestSlot): Changed its arguments.
24295
(cancelAllRequest): Removed all overloaded functions.
24296
(receiveHandshake): Added the check to see whether an incoming peer
24297
supports fast extension.
24298
(createHandshakeMessage): Use HandshakeMessage::create instead of
24300
(createPeerMessage): Use create() of each message class instead of
24302
HaveAllMessage, HaveNoneMessage, RejectMessage, SuggestPieceMessage,
24303
AllowedFastMessage were added.
24304
(getNewPieceAndSendInterest): Changed its return value type to void.
24305
Added the handling of fast extension.
24306
(addRequests): New function.
24307
(sendNow): Removed.
24308
(sendHandshake): Rewritten.
24309
(trySendNow): Removed.
24310
(sendBitfield): New function.
24311
(sendAllowdFast): New function.
24312
(isInFastSet): New function.
24313
(addFastSetIndex): New function.
24314
(createRequestMessage): Use RequestMessage::create instead of
24316
(createCancelMessage): Use CancelMessage::create instead of
24318
(createPieceMessage): Use PieceMessage::create instead of
24320
(createHaveMessage): Use HaveMessage::create instead of
24322
(createChokeMessage): Use ChokeMessage::create instead of
24324
(createUnchokeMessage): Use UnchokeMessage::create instead of
24326
(createInterestedMessage): Use InterestedMessage::create instead of
24328
(createNotInterestedMessage): Use NotInterestedMessage::create instead
24329
of PeerMessageUtil.
24330
(createBitfieldMessage): Use BitfieldMessage::create instead of
24332
(createKeepAliveMessage): Use KeepAliveMessage::create instead of
24334
(createHaveAllMessage): New function.
24335
(createHaveNoneMessage): New function.
24336
(createRejectMessage): New function.
24337
(createAllowedFastMessage: New function.
24339
(sha1Sum): New function.
24340
(computeFastSet): New function.
24342
(sha1Sum): New function.
24343
(computeFastSet): New function.
24345
(fastExtensionEnabled): New variable.
24346
(fastSet): New variable.
24347
(setAllBitfield): New function.
24348
(setFastExtensionEnabled): New function.
24349
(isFastExtensionEnabled): New function.
24350
(addFastSetIndex): New function.
24351
(getFastSet): New function.
24352
(isInFastSet): New function.
24353
(countFastSet): New function.
24355
(isInFastSet): New function.
24356
(addFastSetIndex): New function.
24357
(setAllBitfield): New function.
24359
* src/AbstractCommand.cc (execute): Changed the procedure of checking
24361
* src/PeerAbstractCommand.cc
24362
(PeerAbstractCommand): Added the initialization for uploadLimitCheck
24364
(execute): Changed the procedure of checking sockets. The upload speed
24365
checking were added.
24366
(setUploadLimit): New function.
24367
(setUploadLimitCheck): New function.
24368
* src/PeerAbstractCommand.h
24369
(setUploadLimit): New function.
24370
(setUploadLimitCheck): New function.
24371
(uploadLimit): New variable.
24372
(uploadLimitCheck): New variable.
24374
To contact a tracker regularly:
24376
* src/TrackerWatcherCommand.h (interval): New variable.
24377
(checkPoint): New variable.
24378
(TrackerWatcherCommand): Added interval argument.
24379
* src/TrackerWatcherCommand.cc
24380
(TrackerWatcherCommand): Initialized checkPoint.
24381
(execute): Now a tracker is contacted in every specified period.
24382
If peer list is not needed, send request with numwant=0.
24384
* src/TrackerUpdateCommand.cc
24385
(execute): Updated log messages.
24387
* src/DownloadEngine.cc
24388
(~DownloadEngine): Removed two asserts.
24389
(waitData): Uncommented wfds. May be a bug fix.
24391
2006-05-10 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24393
* src/PeerInteractionCommand.h
24394
(checkInactiveConnection): Removed.
24395
* src/PeerInteractionCommand.cc
24396
(executeInternal): Removed following function calls:
24397
detectMessageFlooding(), checkLongTimePeerChoking and
24398
checkInactiveConnection().
24399
(checkInactiveConnection): Removed.
24400
(detectMessageFlooding): Removed function call to
24401
checkInactiveConnection().
24403
* src/PeerMessageUtil.h
24404
(createChokeMessage): New function. Overload.
24405
(createUnchokeMessage): New function. Overload.
24406
(createInterestedMessage): New function. Overload.
24407
(createNotInterestedMessage): New function. Overload.
24408
(createHaveMessage): New function. Overload.
24409
(createBitfieldMessage): New function. Overload.
24410
(createRequestMessage): New function. Overload.
24411
(createCancelMessage): New function. Overload.
24412
(createPieceMessage): New function. Overload.
24413
(createKeepAliveMessage): New function. Overload.
24414
* src/PeerMessageUtil.cc
24415
(createChokeMessage): New function. Overload.
24416
(createUnchokeMessage): New function. Overload.
24417
(createInterestedMessage): New function. Overload.
24418
(createNotInterestedMessage): New function. Overload.
24419
(createHaveMessage): New function. Overload.
24420
(createBitfieldMessage): New function. Overload.
24421
(createRequestMessage): New function. Overload.
24422
(createCancelMessage): New function. Overload.
24423
(createPieceMessage): New function. Overload.
24424
(createKeepAliveMessage): New function. Overload.
24426
* src/SendMessageQueue.cc
24427
(createRequestMessage): Use PeerMessageUtil.
24428
(createCancelMessage): Use PeerMessageUtil.
24429
(createPieceMessage): Use PeerMessageUtil.
24430
(createHaveMessage): Use PeerMessageUtil.
24431
(createChokeMessage): Use PeerMessageUtil.
24432
(createUnchokeMessage): Use PeerMessageUtil.
24433
(createInterestedMessage): Use PeerMessageUtil.
24434
(createNotInterestedMessage): Use PeerMessageUtil.
24435
(createBitfieldMessage): Use PeerMessageUtil.
24436
(createKeepAliveMessage): Use PeerMessageUtil.
24438
* src/SendMessageQueue.h: Renamed to PeerInteraction.h
24439
* src/SendMessageQueue.cc: Renamed to PeerInteraction.cc
24440
* src/PeerInteraction.h: New class.
24441
* src/PeerInteraction.cc: New class.
24443
2006-05-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24445
Each peer message has its own class.
24447
* src/PendingMessages.h: Removed.
24448
* src/PendingMessages.cc: Removed. The sending process was moved to
24449
each message class.
24450
* src/RequestSlotMan.h: Removed.
24451
* src/RequestSlotMan.cc: Removed. All functionarities were moved to
24453
* src/RequestMessage.h: New class.
24454
* src/RequestMessage.cc: New class.
24455
* src/CancelMessage.h: New class.
24456
* src/CancelMessage.cc: New class.
24457
* src/BitfieldMessage.h: New class.
24458
* src/BitfieldMessage.cc: New class.
24459
* src/ChokeMessage.h: New class.
24460
* src/ChokeMessage.cc: New class.
24461
* src/KeepAliveMessage.h: New class.
24462
* src/KeepAliveMessage.cc: New class.
24463
* src/PortMessage.h: New class.
24464
* src/UnchokeMessage.h: New class.
24465
* src/UnchokeMessage.cc: New class.
24466
* src/PieceMessage.h: New class.
24467
* src/PieceMessage.cc: New class.
24468
* src/HaveMessage.h: New class.
24469
* src/HaveMessage.cc: New class.
24470
* src/BitfieldMessage.h: New class.
24471
* src/BitfieldMessage.cc: New class.
24472
* src/NotInterestedMessage.h: New class.
24473
* src/NotInterestedMessage.cc: New class.
24474
* src/InterestedMessage.h: New class.
24475
* src/InterestedMessage.cc: New class.
24476
* src/HandshakeMessage.h (sendMessageQueue): New variable.
24477
(getSendMessageQueue): New function.
24478
(setSendMessageQueue): New function.
24479
* src/HandshakeMessage.cc: New class.
24480
* src/PeerConnection.h (receiveMessage): Changed return value and
24482
(receiveHandshake): Changed return value and arguments.
24483
* src/PeerConnection.cc (receiveMessage): Do not create message class
24485
(receiveHandshake): Do not create handshake class here.
24486
* src/PeerInteractionCommand.h (peerConnection): Removed.
24488
(syncPiece): Removed.
24489
(sendInterest): Removed.
24490
(sendMessages): Removed.
24491
(createRequestPendingMessage): Removed.
24492
(checkPieceHash): Removed.
24493
(erasePieceOnDisk): Removed.
24494
(getNewPieceAndSendInterest): Removed.
24495
(onGotNewPice): Removed.
24496
(onGotWrongPiece): Removed.
24497
* src/PeerInteractionCommand.cc (PeerInteractionCommand):
24498
Removed peerConnection, piece.
24499
(~PeerInteractionCommand): Removed peerConnection.
24500
(executeInternal): Use sendMessageQueue instead of peerConnection.
24501
(syncPiece): Moved to SendMessageQueue.
24502
(decideChoking): Removed PendingMessage.
24503
(receiveMessage): Use sendMessageQueue instead of peerConnection.
24504
The action after receiving peer message was moved to each message
24506
(onGotNewPice): Moved to SendMessageQueue.
24507
(onGotWrongPiece): Moved to SendMessageQueue.
24508
(getNewPieceAndSendInterest): Moved to SendMessageQueue.
24509
(sendInterest): Moved to SendMessageQueue.
24510
(createRequestPendingMessage): Removed.
24511
(sendMessages): Moved to SendMessageQueue.
24512
(onAbort): Use SendMessageQueue::abortPiece()
24513
(keepAlive): Use sendMessageQueue instead of peerConnection.
24514
(beforeSocketCheck): Use sendMessageQueue instead of peerConnection.
24515
(checkPieceHash): Moved to SendMessageQueue.
24516
(erasePieceOnDisk): Moved to SendMessageQueue.
24517
* src/PeerMessageUtil.h
24518
(createBitfieldMessage): Removed.
24519
(createHaveMessage): Changed return value and arguments.
24520
(createBitfieldMessage): Changed return value and arguments.
24521
(createRequestCancelMessage): Removed.
24522
(createPieceMessage): Changed return value and arguments.
24523
(getShortIntParam): New function.
24524
(checkIndex): Changed arguments.
24525
(checkBegin): Changed arguments.
24526
(checkLength): Changed arguments.
24527
(checkPieceOffset): Removed.
24528
(checkRange): New function.
24529
(checkBitfield): Changed arguments.
24530
(createPeerMessage): Removed.
24531
(checkIntegrity): Removed.
24532
(createHandshakeMessage): Changed arguments.
24533
(createChokeMessage): New function.
24534
(createUnchokeMessage): New function.
24535
(createInterestedMessage): New function.
24536
(createNotInterestedMessage): New function.
24537
(createRequestMessage): New function.
24538
(createCancelMessage): New function.
24539
(createPortMessage): New function.
24540
* src/PeerMessageUtil.cc
24541
(createBitfieldMessage): Removed.
24542
(createHaveMessage): Changed return value and arguments.
24543
(createBitfieldMessage): Changed return value and arguments.
24544
(createRequestCancelMessage): Removed.
24545
(createPieceMessage): Changed return value and arguments.
24546
(getShortIntParam): New function.
24547
(checkIndex): Changed arguments.
24548
(checkBegin): Changed arguments.
24549
(checkLength): Changed arguments.
24550
(checkPieceOffset): Removed.
24551
(checkRange): New function.
24552
(checkBitfield): Changed arguments.
24553
(createPeerMessage): Removed.
24554
(checkIntegrity): Removed.
24555
(createHandshakeMessage): Changed arguments.
24556
(createChokeMessage): New function.
24557
(createUnchokeMessage): New function.
24558
(createInterestedMessage): New function.
24559
(createNotInterestedMessage): New function.
24560
(createRequestMessage): New function.
24561
(createCancelMessage): New function.
24562
(createPortMessage): New function.
24563
* src/PeerMessage.h
24568
(bitfield): Removed.
24569
(bitfieldLength): Removed.
24571
(blockLength): Removed.
24572
(inProgress): New variable.
24573
(cuid): New variable.
24574
(peer): New variable.
24575
(sendMessageQueue): New variable.
24576
(logger): New variable.
24577
(setBitfield): Removed.
24578
(getBitfield): Removed.
24579
(setBlock): Removed.
24580
(getBlock): Removed.
24581
(getBitfieldLength): Removed.
24582
(getBlockLength): Removed.
24583
(isInProgress): New function.
24584
(toString): Made pure virtual.
24585
(check): New function.
24586
(send): New function.
24587
(receivedAction): New function.
24588
(getId): Made pure virtual.
24590
(getIndex): Removed.
24591
(setIndex): Removed.
24592
(getBegin): Removed.
24593
(setBegin): Removed.
24594
(getLength): Removed.
24595
(setLength): Removed.
24596
(getCuid): New function.
24597
(setCuid): New function.
24598
(getPeer): New function.
24599
(setPeer): New function.
24600
(getSendMessageQueue): New function.
24601
(setSendMessageQueue): New function.
24603
* src/PeerMessage.cc
24604
(setBitfield): Removed.
24605
(setBlock): Removed.
24606
(toString): Removed.
24608
(getPieceLength): New function.
24609
(getPieceLength): New function.
24610
* src/SendMessageQueue.h
24611
(REQUEST_TIME_OUT): New definition.
24612
(RequestSlots): New definition.
24613
(MessageQueue): New definition.
24614
(requestSlotMan): Removed.
24615
(pendingMessages): Removed.
24616
(requestSlots): New variable.
24617
(messageQueue): New variable.
24618
(torrentMan): New variable.
24619
(peerConnection): New variable.
24620
(peer): New variable.
24621
(piece): New variable.
24622
(getNewPieceAndSendInterest): New function.
24623
(createPeerMessage): New function.
24624
(createHandshakeMessage): New function.
24625
(send): Made private.
24626
(setPeerMessageCommonProperty): New function.
24627
(deleteAllRequestSlot): New function.
24628
(deleteRequestMessageInQueue): New function.
24629
(cancelAllRequest): Made private.
24630
(cancelAllRequest): Made private.
24631
(countRequestSlot): Made private.
24632
(addPendingMessage): Removed.
24633
(deletePendingPieceMessage): Removed.
24634
(deletePendingRequestMessage): Removed.
24635
(addMessage): New function.
24636
(deletePieceMessageInQueue): New function.
24637
(deleteTimeoutRequestSlot): Changed argument.
24638
(deleteCompletedRequestSlot): Changed argument.
24639
(getCorrespoindingRequestSlot): Renamed to getCorrespondingRequestSlot.
24640
(getCorrespondingRequestSlot): New function.
24641
(countPendingMessage): Removed.
24642
(countMessageInQueue): New function.
24643
(getTorrentMan): New function.
24644
(getPeerConnection): New function.
24645
(hasDownloadPiece): New function.
24646
(getDownloadPiece): New function.
24647
(setDownloadPiece): New function.
24648
(syncPiece): New function.
24649
(sendMessages): New function.
24650
(sendNow): New function.
24651
(trySendNow): New function.
24652
(abortPiece): New function.
24653
(sendHandshake): New function.
24654
(receiveMessage): New function.
24655
(receiveHandshake): New function.
24656
(createRequestMessage): New function.
24657
(createCancelMessage): New function.
24658
(createPieceMessage): New function.
24659
(createHaveMessage): New function.
24660
(createChokeMessage): New function.
24661
(createUnchokeMessage): New function.
24662
(createInterestedMessage): New function.
24663
(createNotInterestedMessage): New function.
24664
(createBitfieldMessage): New function.
24665
(createKeepAliveMessage): New function.
24666
* src/SendMessageQueue.cc
24667
(SendMessageQueue): Removed requestSlotMan.
24668
Instantiated peerConnection here.
24669
(~SendMessageQueue): Removed requestSlotMan.
24670
Added deletion of peerConnection and the contents of messageQueue.
24671
(send): Updated according to the change of messageQueue.
24672
(addPendingMessage): Renamed to addMessage.
24673
(addMessage): New function.
24674
(deletePendingPieceMessage): Renamed to deletePieceMessageInQueue.
24675
(deletePieceMessageInQueue): New function.
24676
(deletePendingRequestMessage): Renamed to deleteRequestMessageInQueue.
24677
(deleteRequestMessageInQueue): New function.
24678
(deleteRequestSlot): RequestSlotMan::deleteRequestSlot(...) was moved
24680
(deleteTimeoutRequestSlot): RequestSlotMan::deleteTimeoutRequestSlot
24681
(...) was moved here.
24682
(deleteAllRequestSlot): RequestSlotMan::deleteAllRequestSlot(...) was
24684
(deleteCompletedRequestSlot):
24685
RequestSlotMan::deleteCompletedRequestSlot(...) was moved here.
24686
(getCorrespondingRequestSlot):
24687
RequestSlotMan::getCorrespoindingRequestSlot(...) was moved here.
24688
And renamed to getCorrespondingRequestSlot, correcting a typo.
24689
(countPendingMessage): Renamed to countMessageInQueue.
24690
(countMessageInQueue): New function.
24691
(countRequestSlot): RequestSlotMan::countRequestSlot() was moved here.
24692
(receiveHandshake): New function.
24693
(createHandshakeMessage): New function.
24694
(receiveMessage): New function.
24695
(createPeerMessage): New function.
24696
(syncPiece): New function.
24697
(getNewPieceAndSendInterest): New function.
24698
(sendMessages): New function.
24699
(sendNow): New function.
24700
(trySendNow): New function.
24701
(sendHandshake): New function.
24702
(abortPiece): New function.
24703
(getDownloadPiece): New function.
24704
(getPeerMessageCommonProperty): New function.
24705
(createRequestMessage): New function.
24706
(createCancelMessage): New function.
24707
(createPieceMessage): New function.
24708
(createHaveMessage): New function.
24709
(createChokeMessage): New function.
24710
(createUnchokeMessage): New function.
24711
(createInterestedMessage): New function.
24712
(createNotInterestedMessage): New function.
24713
(createBitfieldMessage): New function.
24714
(createKeepAliveMessage): New function.
24717
To add simple Content-Disposition support:
24719
* src/HttpResponseCommand.h (determinFilename): New function.
24720
* src/HttpResponseCommand.cc (executeInternal):
24721
Use determinFilename(headers) instead of req->getFile() when comparing
24723
(determinFilename): New function.
24724
(handleDefaultEncoding): Use determinFilename(headers) instead of
24726
(handleOtherEncoding): Use determinFilename(headers) instead of
24728
* src/Util.h (getContentDispositionFilename): New function.
24729
* src/Util.cc (getContentDispositionFilename): New function.
24731
* src/LogFactory.h (release): New function.
24732
* src/LogFactory.cc (release): New function.
24734
To fix a bug that causes out-of-bound exception when HTTP status
24737
* src/HttpConnection.cc (receiveResponse): Added a check for header
24740
* src/common.h (Deleter): New class.
24742
* src/SegmentMan.cc
24743
(~SegmentMan): Added deletion of splitter and diskWriter.
24744
* src/DownloadEngine.h
24745
(Commands): Use deque.
24746
(clearQueue): New function.
24747
* src/DownloadEngine.cc
24748
(~DownloadEngine): Added deletion of segmentMan.
24749
(cleanQueue): New function.
24750
* src/TorrentDownloadEngine.h
24751
(TorrentDownloadEngine): The implementation was moved to
24752
TorrentDownloadEngine.cc.
24753
(~TorrentDownloadEngine): The implementation was moved to
24754
TorrentDownloadEngine.cc.
24755
* src/TorrentDownloadEngine.cc
24756
(~TorrentDownloadEngine): Added deletion of torrentMan.
24758
(clearRequest): Removed.
24759
(handler): Added deletion of e.
24760
(torrentHandler): Added deletion of te.
24761
(main): Do not share splitter.
24762
Use Deleter instead of clearRequest.
24763
Deletion of classes were updated.
24765
2006-05-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24767
* src/main.cc (main): Fixed typo.
24768
* src/message.h: Fixed typo.
24770
* po/de.po: Added German translation, thanks to Hermann J. Beckers.
24772
2006-04-29 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24774
To add --select-file command-line option:
24777
(unfoldRange): New function.
24778
(getNum): New function.
24779
(unfoldSubRange): New function
24781
(showUsage): Added help message.
24782
(main): Added --select-file command-line option. Updated the layout of
24785
(Integers): New definition.
24787
* src/SocketCore.cc
24788
(writeData): Removed timeout argument.
24789
(readData): Removed timeout argument.
24790
(peekData): Removed timeout argument.
24792
(writeData): Removed timeout argument.
24793
(readData): Removed timeout argument.
24794
(peekData): Removed timeout argument.
24798
2006-04-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24800
To deploy upload rate based choking algorithm:
24802
* src/PeerInteractionCommand.cc
24803
(PeerInteractionCommand): Add peer to TorrentMan::activePeers to track
24804
peer currently used.
24805
(decideChoking): Deleted the choke/unchoke decision algorithm when
24806
download completes. Simplified.
24807
(receiveMessage): Updated.
24809
(activePeers): New variable.
24810
(addActivePeer): New function.
24811
(getActivePeers): New function.
24812
(deleteActivePeer): New function.
24813
* src/TorrentMan.cc
24814
(addPeer): deleteOldErrorPeers is moved to the begining of the function
24815
* src/PeerAbstractCommand.cc
24816
(onAbort): Use peer->resetStatus().
24818
(PeerChokeCommand.h): Included.
24819
(main): Added the instance of ChokingCommand to the command queue.
24821
(amChoking): Renamed from amChocking
24822
(chokingRequired): New variable.
24823
(optUnchoking): New variable.
24824
(deltaUpload): New variable.
24825
(deltaDownload): New variable.
24826
(addDeltaUpload): New function.
24827
(resetDeltaUpload): New function.
24828
(addDeltaDownload): New function.
24829
(resetDeltaDownload): New function.
24830
(addPeerUpload): Added a call to addDeltaUpload.
24831
(addPeerDownload): Added a call to addDeltaDownload.
24833
(shouldBeChoking): Renamed from shouldChoke.
24834
(resetStatus): New function.
24835
* src/PeerChokeCommand.h: New class.
24836
* src/PeerChokeCommand.cc: New class.
24838
To add lazy upload speed limiter:
24840
* src/TorrentConsoleDownloadEngine.h: Moved the variables for
24841
statistics calculation to TorrentDownloadEngine.
24842
* src/TorrentConsoleDownloadEngine.cc
24843
(sendStatistics): Renamed from printStatistics.
24844
(initStatistics): Removed. Moved to TorrentDownloadEngine.
24845
(calculateSpeed): Removed. Moved to TorrentDownloadEngine.
24846
(calculateStatistics): Removed. Moved to TorrentDownloadEngine.
24847
* src/TorrentDownloadEngine.h: Added the variables for statistics
24849
(sendStatistics): New function as pure virtual function.
24850
(getUploadSpeed): New function.
24851
* src/TorrentDownloadEngine.cc
24852
(initStatistics): New function.
24853
(calculateSpeed): New function.
24854
(calculateStatistics): New function.
24855
* src/SendMessageQueue.h
24856
(uploadLength): New variable.
24857
(send): Added an argument.
24858
(setUploadLimit): New function.
24859
(getUploadLimit): New function.
24860
* src/SendMessageQueue.cc
24861
(send): Added upload speed limiter.
24863
(PREF_UPLOAD_LIMIT): New definition.
24864
* src/PeerInteractionCommand.cc
24865
(PeerInteractionCommand): Set upload speed limit to sendMessageQueue.
24867
(main): Added --upload-limit option
24872
(showUsage): Corrected --listen-port help
24876
* src/TorrentMan.cc
24877
(getPeer): Return nullPeer if connection is grather than
24878
MAX_PEER_UPDATE(15) in order to leave space for incoming peers.
24880
2006-04-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24882
To add some useful information to the exception message:
24884
* src/SocketCore.cc : Updated messages.
24885
* src/SegmentMan.cc :
24886
* src/TorrentMan.cc : Updated messages.
24887
* src/MultiDiskWriter.cc : Updated messages.
24888
* src/Util.cc : Updated messages.
24889
* src/AbstractDiskWriter.cc : Updated messages.
24890
* src/PreAllocationDiskWriter.cc : Updated messages.
24891
* src/message.cc : Added new messages. Updated some messages.
24893
* src/TrackerWatcherCommand.h (MIN_PEERS): New definition.
24894
* src/TrackerWatcherCommand.cc (execute): Use MIN_PEERS.
24895
Updated threshold from 30 to 15.
24897
* src/AbstractDiskWriter.h (filename): New variable.
24898
* src/AbstractDiskWriter.cc (openExistingFile): Assigned filename.
24899
(createFile): Assigned filename.
24901
* src/main.cc: Updated the help message for http-auth-scheme.
24905
2006-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24907
To add TrackerUpdateCommand with which replaces
24908
CompactTrackerResponseProcessor:
24910
* src/TrackerWatcherCommand.h (req): Removed.
24911
* src/TrackerWatcherCommand.cc (execute): Send a request to tracker
24912
if the number of peer connections are less than 30.
24913
* src/ByteArrayDiskWriter.h (readData): Implemented.
24914
* src/SegmentMan.h (diskWriter): New function.
24915
* src/SegmentMan.cc (init): Added a call to diskWriter->closeFile()
24916
* src/main.cc : Removed #include "CompactTrackerResponseProcessor.h"
24917
(main): Use TrackerUpdateCommand.
24918
* src/TorrentMan.h (CompactTrackerResponseProcessor): Removed.
24919
(req): New variable.
24920
(setTrackerResponseProcessor): Removed.
24921
(getTrackerResponseProcessor): Removed.
24922
(processTrackerResponse): Removed.
24923
* src/DownloadEngine.h (diskWriter): Removed.
24924
* src/TorrentDownloadEngine.cc (afterEachIteration): Removed a call
24925
to torrentMan->processTrackerResponse().
24927
To add Util::expandBuffer:
24929
* src/ByteArrayDiskWriter.h (expandBuffer): Removed.
24930
* src/ByteArrayDiskWriter.cc (writeData): Use Util::expandBuffer().
24931
* src/Util.h (expandBuffer): New function.
24933
To fix the bug that causes segmentation fault when "-l ." is specified
24934
in command-line option:
24936
* src/SimpleLogger.h (SimpleLogger): Removed "filename" argument.
24937
(openFile): New function.
24938
(closeFile): New function.
24939
* src/SimpleLogger.cc (SimpleLogger): Removed fopen.
24940
(~SimpleLogger): Call closeFile();
24941
* src/LogFactory.cc (getInstance): Added a call to slogger->openFile().
24942
* src/main.cc (main): Added a check to see logger is configured
24945
To enable HTTP authentication without specifying "--http-auth-scheme"
24947
* src/prefs.h (PREF_HTTP_AUTH_ENABLED): New definition.
24948
* src/HttpConnection.cc (createRequest): Send Authorization header
24949
if PREF_HTTP_AUTH_ENABLED == V_TRUE.
24950
* src/main.cc (main): Preset PREF_HTTP_AUTH_SCHEME to V_TRUE
24951
If "--http-user" is specified, set PREF_HTTP_AUTH_ENABLED to V_TRUE
24953
* src/Peer.cc (shouldChoke): Updated algorithm.
24955
* src/message.h (EX_AUTH_FAILED): New definition.
24956
(EX_FILE_OPEN): New definition.
24957
* src/HttpResponseCommand.cc (checkResponse): Throw DlAbortEx
24959
(handleDefaultEncoding): Added a call to diskWriter->initAndOpenFile()
24960
if req->isTorrent == true.
24962
* src/main.cc (handler): Removed the check to see e->diskWriter != NULL
24963
(torrentHandler): Removed the check to see diskAdaptor != NULL.
24965
* src/AbstractDiskWriter.cc (openExistingFile): Updated messsage.
24966
(createFile): Updated message.
24968
2006-04-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
24970
To add a readout of estimated remaining time to normal HTTP/FTP
24973
* src/ConsoleDownloadEngine.h (startup): New variable.
24974
(startupLength): New variable.
24975
(isStartupLengthSet): New variable.
24976
(avgSpeed): New variable.
24977
(eta): New variable.
24978
* src/ConsoleDownloadEngine.cc (sendStatistics): Added a readout of
24979
estimated remaining time.
24980
(initStatistics): Initialized newly added variables.
24981
(calculateStatistics): Calculate average speed and estimated remaining
24984
To decouple TorrentDownloadEngine from HttpResponseCommand:
24986
* src/TrackerDownloadCommand.h: Removed.
24987
* src/TrackerDownloadCommand.cc: Removed.
24988
* src/TrackerInitCommand.h: Removed.
24989
* src/TrackerInitCommand.cc: Removed.
24990
* src/TrackerUpdateCommand.h: Removed.
24991
* src/TrackerUpdateCommand.cc: Removed.
24992
* src/TrackerWatcherCommand.cc (execute): The construction of request
24993
url written in TrackerInitCommand was moved here. Do not create
24994
tracker request command if torrentMan->trackers != 0.
24995
* src/CompactTrackerResponseProcessor.h: New class.
24996
* src/CompactTrackerResponseProcessor.cc: New class.
24997
* src/message.h (MSG_TRACKER_WARNING_MESSAGE): Updated.
24998
* src/HttpResponseCommand.cc (createHttpDownloadCommand):
24999
Decoupled TorrentDownloadEngine from this.
25000
* src/SegmentMan.h (init): New function.
25001
* src/SegmentMan.cc (init): New function.
25002
* src/TorrentMan.h (responseProcessor): New variable.
25003
(trackers): New variable.
25004
(setTrackerResponseProcessor): New function.
25005
(getTrackerResponseProcessor): New function.
25006
(processTrackerResponse): New function.
25007
* src/TorrentMan.cc (Constructor): Initialized new variable trackers.
25008
(processTrackerResponse): New function.
25009
* src/main.cc (main): Use ByteArrayDiskWriter and
25010
CompactTrackerResponseProcessor.
25011
* src/TorrentDownloadEngine.cc (afterEachIteration): Call torrentMan->
25012
processTrackerResponse().
25014
* src/TorrentConsoleDownloadEngine.cc (printStatistics): Updated a
25017
* src/TorrentDownloadEngine.cc (afterEachIteration): Added log message
25018
which indicates download has completed.
25020
* src/AbstractDiskWriter.cc (Destructor): fd >= 0, not fd >0
25021
(closeFile): fd >= 0, not fd > 0
25023
* src/main.cc (main): Added short cut for show-files.
25024
Added short cut for torrent-file.
25025
Added new command-line option listen-port.
25026
Updated i18n messages.
25028
2006-04-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25030
To add LogFactory which creates singleton logger:
25032
* src/LogFactory.h: New class.
25033
* src/LogFactory.cc: New class.
25034
* src/Command.h (logger): New variable.
25035
(Constructor): Use LogFactory.
25036
* src/AbstractCommand.cc: Use Command::logger
25037
* src/PeerConnection.cc (Constructor): Deleted the argument logger.
25039
* src/SegmentSplitter.h : Made logger protected.
25040
* src/SegmentSplitter.cc (Constructor): Use LogFactory.
25041
* src/SegmentMan.cc (Constructor): Use LogFactory.
25042
* src/DownloadEngine.h : Made logger protected.
25043
* src/DownloadEngine.cc (Constructor): Use LogFactory.
25044
* src/PeerInteractionCommand.cc : Use Command::logger.
25045
* src/HttpResponseCommand.cc : Use Command::logger.
25046
* src/SegmentMan.h : Made logger private.
25047
* src/TorrentMan.h : Made logger private.
25048
* src/TorrentMan.cc : Use LogFactory.
25049
* src/FtpNegotiateCommand.cc : Use Command::logger.
25050
* src/HttpConnection.h (Constructor): Deleted the argument logger.
25051
* src/HttpConnection.cc (Constructor): Deleted the argument logger.
25053
* src/FtpConnection.h (Constructor): Deleted the argument logger.
25054
* src/FtpConnection.cc (Constructor): Deleted the argument logger.
25056
* src/DownloadCommand.cc : Use Command::logger.
25057
* src/PeerAbstractCommand.cc : Use Command::logger.
25058
* src/PeerListenCommand.cc : Use Command::logger.
25059
* src/PeerInitiateConnectionCommand.cc : Use Command::logger.
25060
* src/HttpInitiateConnectionCommand.cc : Use Command::logger.
25061
* src/FtpInitiateConnectionCommand.cc : Use Command::logger.
25062
* src/TrackerWatcherCommand.cc : Use Command::logger.
25063
* src/TrackerUpdateCommand.cc : Use Command::logger.
25064
* src/TrackerDownloadCommand.cc : Use Command::logger.
25065
* src/RequestSlotMan.cc (Constructor): Deleted the argument logger.
25067
* src/SendMessageQueue.h (Constructor): Deleted the argument logger.
25068
* src/SendMessageQueue.cc (Constructor): Deleted the argument logger.
25070
* src/main.cc (main): Use LogFactory.
25071
* src/DiskAdaptor.h (logger): New variable.
25072
* src/DiskAdaptor.cc (Constructor): Use LogFactory.
25073
* src/CopyDiskAdaptor.cc (fixFilename): Added a log message.
25075
2006-04-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25077
* src/TrackerInitCommand.cc (TrackerInitCommand): Added a "key"
25078
parameter to a tracker request.
25080
* src/TorrentMan.cc (readFileEntryFromMetaInfoFile): Bug fix.
25082
* src/TrackerWatcherCommand.cc (execute): Call req->resetTryCount().
25084
* src/main.cc (setSignalHander): New function.
25085
(main): Added a handler for SIGTERM.
25086
(handler): Updated message.
25087
(torrentHandler): Updated message.
25090
2006-04-16 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25092
* src/TorrentConsoleDownloadEngine.cc
25093
(onPartialDownloadingCompletes): Renamed as
25094
onSelectiveDownloadingCompletes.
25095
(onSelectiveDownloadingCompletes): Updated message.
25097
To add DiskAdaptor which abstract DiskWriter family:
25099
* src/PeerConnection.cc: Use diskAdaptor instead of diskWriter.
25100
* src/PeerInteractionCommand.cc: Use diskAdaptor instead of diskWriter.
25101
* src/BitfieldMan.cc (isAllBitSet): bug fix.
25102
* src/TorrentMan.cc : Included CopyDiskAdaptor.h, DirectDiskAdaptor.h,
25103
MultiDiskAdaptor.h.
25104
(readFileEntry): Changed its arguments.
25105
(setup): setupDiskWriter is merged into this function.
25106
(setupDiskWriter): Removed.
25107
(setFileFilter): New function.
25108
(readFileEntryFromMetaInfoFile): Updated according to the changes
25109
made in readFileEntry.
25110
(getFilePath): Removed.
25111
(getTempFilePath): Removed.
25112
(getSegmentFilePath): Updated due to the removal of getFilePath.
25113
(fixFilename): Removed.
25114
(copySingleFile): Removed.
25115
(splitMultiFile): Removed.
25116
(deleteTempFile): Removed.
25117
(setFileEntriesToDownload): Removed.
25118
(isPartialDownloadingMode): Renamed as isSelectiveDownloadingMode.
25119
(isSelectiveDownloadingMode): New function.
25120
(setAllMultiFileRequestedState): Removed.
25121
(finishPartialDownloadingMode): Renamed as
25122
finishSelectiveDownloadingMode.
25123
(finishSelectiveDownloadingMode): New function.
25124
(getPartialTotalLength): Renamed as getSelectedTotalLength.
25125
(getSelectedTotalLength): New function.
25126
(onDownloadComplete): Use diskAdaptor.
25127
* src/MultiDiskWriter.cc (Constructor): Added the argument pieceLength
25129
(setMultiFileEntries): Renamed as setFileEntries.
25130
(setFileEntries): New function.
25131
* src/MultiDiskWriter.h [DiskWriterEntry](enabled): Removed.
25132
(pieceLength): New variable.
25133
* src/main.cc (printDownloadCompeleteMessage): New function.
25134
(torrentHandler): Use diskAdaptor instead of diskWriter.
25135
(main): Renamed torrent-show-files to show-files.
25136
Rewritten file contents listing.
25137
* src/TorrentMan.h (FileEntry): Removed.
25138
(multiFileTopDir): Removed.
25139
(multiFileEntries): Removed.
25140
(diskWriter): Removed.
25141
(diskAdaptor): New variable.
25142
* src/DefaultDiskWriter.h (totalLength): New variable.
25143
* src/DefaultDiskWriter.cc (initAndOpenFile): Added ftruncate.
25144
* src/TorrentDownloadEngine.cc (onEndOfRun): Use diskAdaptor instead of
25146
* src/TorrentConsoleDownloadEngine.h
25147
(partialDownloadLengthDiff): Renamed as selectedDownloadLengthDiff.
25148
(partialTotalLength): Renamed as selectedTotalLength.
25149
* src/AbstractDiskWriter.cc (openFile): If file exists, call
25150
openExistingFile, otherwise call initAndOpenFile.
25151
(closeFile): fd > 0, not fd != 0.
25152
* src/DirectDiskAdaptor.h: New class.
25153
* src/DirectDiskAdaptor.cc: New class.
25154
* src/MultiDiskAdaptor.h: New class.
25155
* src/MultiDiskAdaptor.cc: New class.
25156
* src/CopyDiskAdaptor.h: New class.
25157
* src/CopyDiskAdaptor.cc: New class.
25158
* src/DiskAdaptor.h: New class.
25159
* src/DiskAdaptor.cc: New class.
25161
* src/prefs.h (PREF_TORRENT_SHOW_FILES): Renamed as PREF_SHOW_FILES
25162
(PREF_SHOW_FILES): New definition.
25164
2006-04-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25166
To add the ability to download multi torrent into respective files
25169
* src/DiskWriter.h (openFile): New function.
25171
* src/MultiDiskWriter.h: New class.
25172
* src/MultiDiskWriter.cc: New class.
25173
* src/AbstractDiskWriter.h (seek): Changed its scope from public to
25175
(openFile): New function.
25176
* src/AbstractDiskWriter.cc (openFile): New function.
25177
* src/prefs.h (V_FALSE): New definition.
25178
(PREF_DIRECT_FILE_MAPPING): New definition.
25179
* src/TorrentMan.h (setupDiskWriter): New function.
25180
(setAllMultiFileRequestedState): New function.
25181
(onDownloadComplete): New function.
25182
* src/TorrentMan.cc : Included MultiDiskWriter.h
25183
(setupDiskWriter): New function.
25184
(getFilePath): Updated.
25185
(getTempFilePath): Updated.
25186
(getSegmentFilePath): Updated.
25187
(fixFilename): Updated.
25188
(deleteTempFile): Updated.
25189
(setAllMultiFileRequestedState): New function.
25190
(setFileEntriesToDownload): Use setAllMultiFileRequestedState().
25191
(finishPartialDownloadingMode): Reset requested flags.
25192
(onDownloadComplete): New function.
25193
* src/main.cc: Added --direct-file-mapping option.
25194
Use TorrentMan::setupDiskWriter().
25195
* src/TorrentDownloadEngine.cc (afterEachIteration): Use TorrentMan::
25196
onDownloadComplete().
25201
* src/Util.h (difftvsec): New function.
25202
* src/Util.cc (difftvsec): New function.
25203
* src/TorrentConsoleDownloadEngine.cc (calculateSpeed): Use int for the
25204
type of "elapsed" instead of long long int.
25205
(calculateStatistics): Use Util::difftvsec instead of Util::difftv.
25206
The updates of statistics takes place every 1 seconds.
25207
* src/TorrentConsoleDownloadEngine.h (lastElapsed): Changed its type.
25208
(calculateSpeed): Changed its argument signature.
25210
* src/PeerMessage.cc (toString): Fixed message.
25212
2006-04-06 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25216
* src/TorrentDownloadEngine.cc (afterEachIteration): Added download
25217
completion handling when dealing with
25218
TorrentMan::isPartialDownloadingMode() == true.
25219
* src/TorrentDownloadEngine.h (onPartialDownloadingCompletes):
25221
* src/TorrentConsoleDownloadEngine.h (startup): New variable.
25222
(sessionDownloadLength): New variable.
25223
(avgSpeed): New variable.
25224
(eta): New variable.
25225
* src/TorrentConsoleDownloadEngine.cc (initStatistics): Initialized
25226
new variables: eta, avgSpeed, startup.
25227
(calculateSpeed): Calculate average speed and ETA.
25228
(printStatistics): Added ETA.
25230
* src/Util.h (secfmt): New function.
25231
* src/Util.cc (secfmt): New function.
25233
2006-04-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25235
To detect "keep alive" flooding:
25237
* src/PeerInteractionCommand.h (keepAliveCount): New variable
25238
* src/PeerInteractionCommand.cc (Constructor): Initialized new
25239
variable: keepAliveCount.
25240
(detectMessageFlooding): Added "keep alive" flooding detection.
25241
(receiveMessage): Increase keepAliveCount when "keep alive" message
25244
To add the ability to download only specified files in multi-file
25247
* src/BitfieldMan.h (filterBitfield): New variable.
25248
(filterEnabled): New variable.
25249
(setFilterBit): New function.
25250
(enableFilter): New function.
25251
(disableFilter): New function.
25252
(isFilterEnabled): New function.
25253
(getFilteredTotalLength): New function.
25254
(getCompletedLength): New function.
25255
* src/BitfieldMan.cc (Constructor): Initialized new variable:
25256
filterBitfield, filterEnabled.
25257
(CopyConstructor): Added filterBitfield and filterEnabled.
25258
(operator==): Added filterBitfield and filterEnabled.
25259
(Destructor): Added filterBitfield.
25260
(getMissingIndex): Use filterBitfield.
25261
(getMissingUnusedIndex): Use filterBitfield.
25262
(getFirstMissingUnusedIndex): Use filterBitfield.
25263
(getFirstMissingUnusedIndex): Use filterBitfield.
25264
(getAllMissingIndexes): Use filterBitfield.
25265
(countMissingBlock): Use filterBitfield.
25266
(countBlock): Use filterBitfield.
25267
(setBitInternal): Added new argument on.
25268
(setUseBit): Use setBitInternal.
25269
(unsetUseBit): Use setBitInternal.
25270
(setBit): Use setBitInternal.
25271
(unsetBit): Use setBitInternal.
25272
(isAllBitSet): Use filterBitfield.
25273
(setFilterBit): New function.
25274
(addFilter): New function.
25275
(enableFilter): New function.
25276
(disableFilter): New function.
25277
(clearFilter): New function.
25278
(isFilterEnabled): New function.
25279
(getFilteredTotalLength): New function.
25280
(getCompletedLength): New function.
25282
* src/TorrentMan.h [FileEntry](Constructor): Updated signature.
25283
Initalized newly added variables.
25284
[FileEntry](offset): New variable.
25285
[FileEntry](extracted): New variable.
25286
[FileEntry](requested): New variable.
25287
(readFileEntry): New function.
25288
(option): New variable.
25289
(splitMultiFile): Removed const qualifier.
25290
(fixFilename): Removed const qualifier.
25291
(readFileEntryFromMetaInfoFile): New function.
25292
(finishPartialDownloadingMode): New function.
25293
(isPartialDownloadingMode): New function.
25294
(setFileEntriesToDownload): New function.
25295
(getCompletedLength): New function.
25296
(getPartialTotalLength): New function.
25297
* src/TorrentMan.cc (readFileEntry): New function.
25298
(setup): Use readFileEntry. If no-preallocation option is specified,
25299
use DefaultDiskWriter.
25300
(readFileEntryFromMetaInfoFile): New function.
25301
(fixFilename): Removed const qualifier.
25302
(splitMultiFile): Removed const qualifier.
25303
(setFileEntriesToDownload): New function.
25304
(isPartialDownloadingMode): New function.
25305
(finishPartialDownloadingMode): New function.
25306
(getCompletedLength): New function.
25307
(getPartialTotalLength): New function.
25309
* src/TorrentConsoleDownloadEngine.h (partialDownloadLengthDiff):
25311
(partialTotalLength): New variable.
25312
(downloadLength): New variable.
25313
(totalLength): New variable.
25314
* src/TorrentConsoleDownloadEngine.cc (onPartialDownloadingCompletes):
25316
(initStatistics): Initialized new variables: partialDownloadLengthDiff,
25317
partialTotalLength, downloadLength, totalLength.
25318
(calculate): Calculate downloadLength and totalLength.
25320
* src/prefs.h :New definition PREF_NO_PREALLOCATION
25322
* src/main.cc (addCommand): Changed argument signature.
25323
(main): Added new variable: args. Added new option "torrent-show-files"
25324
"no-preallocation". Usage is not updated yet.
25326
2006-04-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25328
* src/PeerMessage.cc (setBitfield): Fixed invalid memory de-allocation.
25330
2006-04-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25332
Attempt to add the ability to listing file entries in a .torrent file.
25333
This feature is not yet complete.
25335
* src/prefs.h (PREF_TORRENT_SHOW_FILES): New definition
25336
* src/TorrentMan.cc (getMultiFileEntries): New function.
25337
(getName): New function.
25338
* src/TorrentMan.h (getMultiFileEntries): New function.
25339
(getName): New function.
25340
* src/main.cc (main): Use above 2 funtion.
25344
2006-03-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25346
* src/PeerInteractionCommand.cc (checkInactiveConnection): New function
25347
(detectMessageFlooding): Updated threshold value.
25348
(checkLongTimePeerChoking): Updated timeout value.
25349
(getNewPieceAndSendInterest): Added debug log.
25350
* src/PeerInteractionCommand.h (checkInactiveConnection): New function
25352
* src/TorrentMan.cc (deleteOldErrorPeers): Updated.
25353
(getPeer): Updated.
25354
* src/TorrentMan.h: Added MAX_PEER_ERROR.
25356
* src/PeerAbstractCommand.cc (onAbort): Increment error counter.
25358
* src/PeerListenCommand.cc (execute): Close connection if incoming peer
25361
* src/main.cc (main): Updated PREF_PEER_CONNECTION_TIMEOUT to 60.
25363
* src/PendingMessage.cc (processMessage): Not to send piece message
25364
if peer is not interested in the pieces localhost has.
25366
* src/Peer.cc (shouldChoke): Updated.
25368
* src/SendMessageQueue.cc (cancelAllRequest): Fixed.
25370
* src/Util.cc (isPowerOf): New function.
25371
* src/Util.h (isPowerOf): New function.
25372
* src/PeerMessageUtil.cc (checkLength): Added a check for length
25373
whether or not it is power of 2.
25375
2006-03-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25377
Added new class SendMessageQueue that includes PendingMessages and
25380
* src/SendMessageQueue.h: New class.
25381
* src/SendMessageQueue.cc: New class.
25382
* src/PendingMessage.h: Added new member variable blockIndex and its
25384
(createRequestMessage): Updated.
25385
* src/PendingMessage.cc (createRequestMessage): Updated.
25386
* src/PeerInteractionCommand.cc (executeInternal): Updated with
25388
(checkLongTimePeerChoking): Updated with SendMessageQueue.
25389
(receiveMessage): Updated with SendMessageQueue.
25390
(deletePendingPieceMessage): Removed.
25391
(getNewPieceAndSendInterest): Updated with SendMessageQueue.
25392
(sendInterest): Updated with SendMessageQueue.
25393
(createRequestPendingMessage): Updated with SendMessageQueue.
25394
(sendMessages): Updated with SendMessageQueue.
25395
(onAbort): Updated with SendMessageQueue.
25396
(keepAlive): Updated with SendMessageQueue.
25397
(beforeSocketCheck): Updated SendMessageQueue.
25399
* src/PeerInteractionCommand (sendMessages): Shuffle
25400
missingBLockIndexes before using it.
25402
Added its own timeout for peer connection.
25404
* src/PeerAbstractCommand.h: Added member variable timeout and its
25406
* src/prefs.h: Added PREF_PEER_CONNECTION_TIMEOUT.
25407
* src/PeerInteractionCommand.cc (PeerInteractionCommand):
25408
Added setTimeout() call.
25409
(executeInternal): Added setTimeout() call.
25410
* src/PeerAbstractCommand.cc (PeerAbstractCommand):
25412
(isTimeoutDetected): Updated.
25413
* src/main.cc (main): Added PREF_PEER_CONNECTION_TIMEOUT entry to
25416
Added *simple* message flooding checker.
25418
* src/PeerInteractionCommand.cc (executeInternal):
25419
Added detectMessageFlooding() call.
25420
(detectMessageFlooding): New function.
25421
(receiveMessage): Count up CHOKE, UNCHOKE, HAVE message.
25422
(beforeSocketCheck): Added detectMessageFlooding() call.
25423
* src/PeerInteractionCommand.h: Added sendMessageQueue,
25424
chokeUnchokeCount, haveCount, detectMessageFlooding().
25425
Removed deletePendingPieceMessage(), getRequestSlot(),
25426
deleteRequestSlot(), deleteAllRequestSlot().
25428
* src/PeerInteractionCommand.cc (beforeSocketCheck):
25429
Added checkLongTimePeerChoking() call.
25431
* src/RequestSlotMan.h: Renamed deleteTimeoutRequestSlot().
25433
* src/TorrentMan.cc (addPeer): Delete at most MAX_PEER_LIST_SIZE peers
25434
if duplicate == false.
25436
The parameter "uploaded" and "downloaded" in the tracker request are
25437
the size since the client sent the "started" event to the tracker.
25439
* src/TorrentMan.cc (setup): Assigned saved downloaded Size and
25440
uploaded size to preDownloadedSize, preUploadedSize respectively.
25441
* src/TorrentMan.h: Added preDownloadedSize, preUploadedSize,
25442
getSessionDownloadedSize(), getSessionUploadedSize().
25443
* src/TrackerInitCommand.cc (execute): Use getSessionDownloadedSize(),
25444
getSessionUploadedSize() instead of getDownloadedSize(),
25447
* src/PendingMessage.cc (processMessage): Do not send request message
25448
if the peer is choking the client.
25450
* src/TrackerUpdateCommand.cc (execute): Check wtheher minInterval is
25451
less than interval.
25453
2006-03-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25455
* configure.in: Added gnutls support. Added several CPP macros.
25456
* m4/openssl.m4: Added.
25457
* src/SocketCore.{h,cc}: Drop const quarifier from writeData(),
25458
readData(), peekData(). Added gnutls support.
25459
* src/HttpDownloadCommand.cc: Removed SleepCommand.h
25460
* src/TrackerWatcherCommand.{h,cc}: Added. This command creates
25461
TrackerInitCommand periodicaly(TorrentMan::minInterval).
25462
* src/TorrentMan.cc: Remove downloadedSize == 0 check from save().
25463
Instead, added a check for whether setup method has executed
25465
* src/TorrentMan.h: Added member vaiable setupComplete. Updated
25466
DEFAULT_ANNOUNCE_INTERVAL and DEFAULT_ANNOUNCE_MIN_INTERVAL to 300.
25467
* src/Makefile.am: Updated.
25468
* src/messageDigest.h: Added. This is a macro calculating SHA1 digest
25469
using whether OpenSSL or gcrypt, depending on the result of configure
25471
* src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by using
25473
* src/TorrentAutoSaveCommand.h: Removed unused variable cuid.
25474
* src/PeerListenCommand.cc: Added log about port binded successfully.
25476
* src/main.cc: Added gnutls support. Replaced LIB_SSL with
25477
ENABLE_BITTORRENT where they are not related to OpenSSL but BitTorrent.
25478
Removed instantiation of TrackerInitCommand. Instead,
25479
TrackerWatcherCommand is instantiated and pushed to the command queue.
25480
* src/InitiateConnectionCommandFactory.cc: Replaced HAVE_LIBSSL with
25482
* src/Request.cc: Replaced HAVE_LIBSSL with ENABLE_SSL.
25483
* src/RequestSlotMan.cc (deleteCompletedRequestSlot):
25484
If a piece is already acquired by another command, delete the request
25485
slots for the piece.
25486
* src/TrackerUpdateCommand.cc (execute):
25487
Changed log level of MSG_TRACKER_WARNING_MESSAGE from info to warn.
25488
Added a check whether peer list is null.
25489
Fixed the bug that causes sending completed event to the tracker
25491
* src/TrackerInitCommand.cc (execute):
25492
Fixed the bug that causes sending completed event to the tracker
25494
* src/AbstractDiskWriter.{h,cc}: Removed direct dependency on OpenSSL
25495
by using messageDigest.h.
25497
2006-03-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25499
* PeerConnection.cc: Replaced log message "keep-alive" with
25501
* PeerInteractionCommand.{h,cc}: Close connection if peer is choking
25502
localhost long time.
25503
* TorrentMan.cc: When adding new peer with duplicate = true, if the
25504
number of peer list is equal to or grater than MAX_PEER_LIST, delete
25505
at most 100 failure entry from the list. If with duplicate = false,
25506
MAX_PEER_LIST is not checked.
25507
* PeerListenCommand.cc: Fixed the argument order of log message.
25509
2006-03-25 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25511
* Logger.h: Moved enum LEVEL from SimpleLogger.h to here.
25513
* SimpleLogger.h: Moved enum LEVEL to Logger.h.
25514
Implemented warn().
25515
Defined 2 macros(WRITE_LOG, WRITE_LOG_EX) to avoid duplicated code.
25517
2006-03-24 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25519
* Request.h: Added AFTER_COMPLETED event.
25520
* TorrentDownloadEngine.cc: Prints "Download complete" message
25521
instead of downloaded size and progress(%) after download completes.
25522
* PeerInteractionCommand.cc: After download completes, sends unchoke
25523
message to the peer if it is interested in what localhost has
25525
* TorrentMan.cc: In single-file mode, copy temporary file to the final
25526
destination instead of just renaming it.
25527
* TorrentMan.cc: Added deleteTempFile().
25528
* PeerAbstractCommand.cc: do not stop execution after download
25529
completes. This makes localhost a seeder.
25530
* Util.{h,cc}: Added fileCopy().
25531
* PeerListenCommand.cc: do not stop execution after download completes.
25532
This makes localhost a seeder.
25533
* main.cc: Do not call TorrentMan::fixFilename() in torrentHandler.
25534
Added TorrentMan::deleteTempFile() to torrentHandler.
25535
Initialized the variable dir as ".".
25536
* TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120 seconds.
25537
Deleted renameSingleFile().
25538
Added copySingleFile(), deleteTempFile().
25539
* DownloadEngine.h: Added virtual function afterEachIteration().
25540
* TorrentDownloadEngine.cc: Move a call to TorrentMan::fixFilename()
25541
in onEndOfRun() to afterEachIteration().
25542
In onEndOfRun(), changed if condition to check whether filenameFixed is
25544
* Util.cc: Implemented fileCopy() using rangedFileCopy().
25545
In rangedFileCopy(), added try-catch block to properly close file
25547
* TorrentDownloadEngine.cc: Added a member variable filenameFixed.
25548
Added afterEachIteration(), isFilenameFixed().
25549
* Peer.cc: Changed choking strategy.
25550
* PreAllocationDiskWriter.cc: Drop O_DIRECT flag.
25551
* TrackerInitCommand.cc: Send completed event only once.
25552
* DownloadEngine.cc: Added a call to afterEachIteration().
25553
* TrackerUpdateCommand.cc: Do not stop execution after download
25555
* TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to
25556
connect the peers at most MAX_PEER_UPDATE when a peer list is
25557
received from a tracker.
25558
* TrackerUpdateCommand.cc: Implemented above mentioned behavior.
25559
Decreased the number of failure peers to delete to 0(just comment out
25563
2006-03-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25565
* PeerInteractionCommand.cc: added a call to
25566
TorrentMan::unadvertisePiece in Destructor.
25567
* PeerInteractionCommand.cc: make have message sent immediately
25568
if the size of pending message queue is zero.
25569
* TorrentMan.cc: set the maximum size of peer list to 250.
25570
* TorrentMan.h: changed the container type of Peers and UsedPieces
25572
* Util.cc: fixed rangedFileCopy.
25573
* AbstractDiskWriter.{h,cc}: moved digest context initialization
25574
to Constructor. Also, moved digest cleanup to Destructor.
25575
* MetaFileUtil.cc: fixed memory leak
25576
* replaced std::vector with std::deque.
25577
* AbstractCommand.cc: casted timeout value to long long int.
25578
* ChunkedEncoding.cc: fixed memory leak.
25579
* PeerInteractionCommand.cc: casted timeout value to long long int.
25580
* SleepCommand.cc: casted timeout value to long long int.
25581
* Data.cc: fixed memory leak.
25582
* Data.cc: fixed toLLInt().
25583
* BitfieldMan.cc: fixed memory leak.
25584
* TorrentMan.cc: initialized storeDir to ".".
25585
* TorrentMan.cc: fixed memory leak.
25586
* TorrentMan.cc: corrected file paths of splitted files.
25587
* PeerAbstractCommand.cc: casted timeout to long long int.
25588
* main.cc: added delete(req) and delete(te->diskWriter).
25589
* RequestSlot.cc: casted timeout value to long long int.
25590
* Request.cc: fixed memory leak.
25591
* PendingMessage.cc: make HAVE messages sent only when peer does not
25593
* Peer.{h,cc}: added hasPiece(int index).
25594
* main.cc: corrected addCommand.
25596
2006-03-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25598
* BitTorrent protocol support added.
25601
2006-03-17 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25603
* SocketCore.cc: remove the assignment of addrinfo.ai_addr.
25605
2006-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25607
* ChunkedEncoding.{h,cc}: fixed the bug that if chunk data is binary,
25608
decoding did not work properly.
25610
2006-03-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25612
* DownloadEngine.h: included sys/time.h
25613
* DownloadEngine.cc: remove sys/time.h
25614
* Makefile.am (SUBDIRS): Add intl.
25615
* configure.in (AC_CONFIG_FILES): Add intl/Makefile.
25617
2006-03-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25619
* main.cc: correct help message for --http-auth-scheme.
25620
* main.cc: changed e-mail address for bug reports.
25621
* ja.po: added japanese translation.
25623
2006-03-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25625
* SimpleLogger.cc: flush log file instead of stdout.
25627
2006-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25629
* main.cc: Fixed command-line option: max-tries
25630
* HttpResponseCommand.cc: Make the request re-sent only if req->seg.sp
25631
does not equal to seg.sp.
25632
* DownloadCommand.cc: If EOF is got from the server and the total size
25633
of file is not zero, then throw DlRetryEx.
25634
* main.cc: Set the minium value of min-segment-size to 1024.
25635
* HttpResponseCommand.cc: Fixed the bug that http segmented downloading
25636
fails because of a regression since 0.2.0 release.
25638
2006-03-02 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25640
* HttpConnection.cc:
25641
* common.h: defined the user agent name as macro
25642
* DownloadEngine.{h, cc}:
25643
* ConsoleDownloadEngine.{h, cc}: Console output message(size, speed)
25644
is now generated by ConsoleDownloadEngine not by DownloadEngine.
25645
* main.cc: Download complete/abort message is now generated by main.
25646
* Makefile.am (SUBDIRS): Add m4.
25647
(ACLOCAL_AMFLAGS): New variable.
25648
(EXTRA_DIST): New variable.
25649
* configure.in (AC_CONFIG_FILES): Add po/Makefile.in,
25650
* gettext: added gettext functionality
25652
2006-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25654
* AbstractCommand.cc:
25655
* DownloadCommand.{h, cc}: Aborted downloading commands now properly
25656
unregister its cuid from SegmentMan.
25657
* DownloadEngine.cc: .aria2 file was written when a downloading
25658
failed with errors.
25659
* HttpConnection.cc: Added "Proxy-Connection" header to proxy request.
25660
Added "User-Agent" header to CONNECT proxy request.
25661
Fixed "Proxy-Authorization" header. Now proxy authorization works
25664
* SimpleLogger.{h,cc}: Changed the type of msg to const char*.
25665
* ChunkedEncoding.cc: Added #include directive for strings.h
25668
2006-02-28 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25670
* Util.{h,cc}: added startsWith().
25671
* CookieBox.cc: rewrited criteriaFind() using Util::startsWith() and
25673
* SocketCore.cc: struct addrinfo is now zero-initialized.
25674
* common.h: added #include directive of limit.h.
25675
* DownloadEngine.cc: added #include directive of sys/time.h and
25677
* Exception.h: added #include directive of stdio.h.
25678
* AbstractCommand.h: added #include directive of sys/time.h.
25679
* DownloadCommand.h: added #include directive of sys/time.h.
25680
* *.h: added #include directive of common.h to all base classes.
25681
subclasses' one was removed.
25682
* common.h: defined LONG_LONG_MAX and LONG_LONG_MIN if a compiler
25683
does not define these macros.
25685
2006-02-23 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25689
* HttpInitiateConnectionCommand.{h,cc}:
25691
* HttpConnection.{h,cc}: added --http-proxy-method option.
25692
We can now use GET command in http proxy.
25694
2006-02-22 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25696
* SplitSlowestSegmentSplitter.{h,cc}: This class provies algorithm
25697
that splits slowest segment of SegmentMan::commands vector.
25698
This is the default split algorithm of aria2.
25699
* SplitFirstSegmentSplitter.{h,cc}: This class provides algorithm
25700
that splits first segment of SegmentMan::commands vector.
25701
* SegmentSplitter.{h,cc}: Added. This class provides split algorithm.
25702
* DownloadCommand.{h,cc}: Added downloading speed calculation.
25704
* SegmentMan.cc: Added speed field to Segment.h
25705
* main.cc: -s option now affects all URLs in command-line arguemtns.
25706
* HttpResponseCommand.cc: Fixed bug that segment file is not loaded.
25707
* message.h: Change file size related %d to %lld.
25709
2006-02-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25711
* FtpInitiateConnectionCommand.{h,cc}:
25712
* FtpNegotiationCommand.{h,cc}:
25713
* FtpDownloadCommand.{h,cc}:
25714
* FtpConnection.{h,cc}: Added FTP support
25715
* SimpleLogger.cc: Log message now includes time information.
25716
* main.cc: The value of --http-auth-scheme option is chagned from
25718
* main.cc: Added --timeout command-line option.
25719
* main.cc: Added --min-segment-size command-line option.
25720
* main.cc: Added --max-retries command-line option.
25721
* prefs.h: option string constants are now defined in prefs.h
25723
2006-02-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25725
* AbstractCommand.cc: Fixed timeout bug in AbstractCommand
25726
* SegmentMan.cc: Added totalSize entry to .aria2 file. No compatibility
25727
with version 0.1.0's one.
25729
2006-02-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
25731
* configure.in: Added --enable-ssl option to configure script.
25732
* HttpConnection.cc: Make Request-URI an absolute path. Some servers
25733
cannot permit absoluteURI as Request-URI.
25734
* HttpConnection.cc: Added Referer support.
25735
* main.cc: Added referer command-line option.
25736
* main.cc: Added rety-wait command-line option.
25737
* Exception.h: Fixed formating bug in Exception::setMsg()
25738
* SocketCore.{h,cc}:
25741
* InitiateConnectionCommandFactory.cc:
25742
* HttpRequestCommand.cc: Added HTTPS support.
25743
* SocketCore.{h,cc}: Added SocketCore. Socket becomes a handle class
25745
* ChunkedEncoding.cc: Fixed bug in ChunkedEncoding: expanding buffer
25747
* DownloadCommand.cc: Fixed bug in DownloadCommand: In Chunked
25748
Encoding, it wrongly adds to Segment.ds buff length from the socket.
25750
2006-02-17 Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com>