~ubuntu-branches/ubuntu/quantal/aria2/quantal

« back to all changes in this revision

Viewing changes to .pc/ftbfs_kfreebsd.diff/ChangeLog

  • Committer: Bazaar Package Importer
  • Author(s): Kartik Mistry
  • Date: 2010-11-24 12:26:31 UTC
  • mfrom: (1.6.1 upstream) (2.3.8 experimental)
  • Revision ID: james.westby@ubuntu.com-20101124122631-upujekj1ek94h3x2
Tags: 1.10.6-1
* New upstream release:
  + Fixed FTBFS on alpha arch (Closes: #590257)
  + Added IPv6 support (Closes: #448390)
* debian/patches/ftbfs_kfreebsd.diff:
  + Dropped, merged upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2
 
 
3
 
        Release 1.10.0
4
 
 
5
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6
 
 
7
 
        Added hidden select-least-used-host option.
8
 
        * src/CreateRequestCommand.cc
9
 
        * src/OptionHandlerFactory.cc
10
 
        * src/TrackerWatcherCommand.cc
11
 
        * src/prefs.cc
12
 
        * src/prefs.h
13
 
 
14
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
15
 
 
16
 
        Updated doc for --split option.
17
 
        * src/usage_text.h
18
 
 
19
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
20
 
 
21
 
        Updated doc for --min-split-size option.
22
 
        * doc/aria2c.1.txt
23
 
        * src/usage_text.h
24
 
 
25
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
26
 
 
27
 
        Added max-connection-per-server, min-split-size and
28
 
        conditional-get option to -i list option and aria2rpc.
29
 
        * doc/aria2c.1.txt
30
 
        * doc/xmlrpc/aria2rpc
31
 
        * src/download_helper.cc
32
 
 
33
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
34
 
 
35
 
        Fixed double free bug
36
 
        * src/Sqlite3CookieParserImpl.cc
37
 
 
38
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
39
 
 
40
 
        Fixed compile error with OSX g++ 4.0.1
41
 
        * src/FileEntry.h
42
 
        * test/FileEntryTest.cc
43
 
 
44
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
45
 
 
46
 
        Reverted default value of -j from 2 to 5.
47
 
        * doc/aria2c.1.txt
48
 
        * src/OptionHandlerFactory.cc
49
 
 
50
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
51
 
 
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
55
 
 
56
 
2010-07-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
57
 
 
58
 
        Call RequestGroup::setForceHaltRequested(true) from
59
 
        BtStopDownloadCommand to avoid long delay of tracker request.
60
 
        * src/BtStopDownloadCommand.cc
61
 
 
62
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
63
 
 
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
74
 
        * src/PieceStorage.h
75
 
        * src/RequestGroup.cc
76
 
        * src/SegmentMan.cc
77
 
        * src/SegmentMan.h
78
 
        * src/UnknownLengthPieceStorage.cc
79
 
        * src/UnknownLengthPieceStorage.h
80
 
        * test/MockPieceStorage.h
81
 
        * test/SegmentManTest.cc
82
 
 
83
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
84
 
 
85
 
        Removed prepareForRetry from CreateRequestCommand
86
 
        * src/CreateRequestCommand.cc
87
 
        * src/CreateRequestCommand.h
88
 
 
89
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
90
 
 
91
 
        Set PREF_REUSE_URI=V_FALSE for tracker request.
92
 
        * src/TrackerWatcherCommand.cc
93
 
 
94
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
95
 
 
96
 
        Bump up version number to 1.10.0
97
 
        * configure.ac
98
 
        * doc/aria2c.1.txt
99
 
 
100
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
101
 
 
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
110
 
        * src/RequestGroup.h
111
 
 
112
 
2010-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
113
 
 
114
 
        Check status values: 200 and 206.
115
 
        * src/HttpResponse.cc
116
 
 
117
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
118
 
 
119
 
        Reverted previous change and fixed it in a right way.
120
 
        * src/HttpDownloadCommand.cc
121
 
 
122
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
123
 
 
124
 
        Make sure that all decoders are finished to pool socket
125
 
        * src/HttpDownloadCommand.cc
126
 
 
127
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
128
 
 
129
 
        Fixed indent of --conditional-get option.
130
 
        * src/usage_text.h
131
 
 
132
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
133
 
 
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
138
 
        before seeding.
139
 
        * doc/aria2c.1.txt
140
 
        * src/DefaultPieceStorage.cc
141
 
        * src/OptionHandlerFactory.cc
142
 
        * src/prefs.cc
143
 
        * src/prefs.h
144
 
        * src/usage_text.h
145
 
        * src/util.cc
146
 
        * src/util.h
147
 
 
148
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
149
 
 
150
 
        Updated doc of --split option.
151
 
        * doc/aria2c.1.txt
152
 
 
153
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
154
 
 
155
 
        Moved executeHook and executeHookByOptName to util.
156
 
        * src/RequestGroupMan.cc
157
 
        * src/util.cc
158
 
        * src/util.h
159
 
 
160
 
2010-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
161
 
 
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.
171
 
        * doc/aria2c.1.txt
172
 
        * src/HttpHeader.cc
173
 
        * src/HttpHeader.h
174
 
        * src/HttpRequest.cc
175
 
        * src/HttpRequest.h
176
 
        * src/HttpRequestCommand.cc
177
 
        * src/HttpResponse.cc
178
 
        * src/HttpResponseCommand.cc
179
 
        * src/OptionHandlerFactory.cc
180
 
        * src/TimeA2.cc
181
 
        * src/TimeA2.h
182
 
        * src/prefs.cc
183
 
        * src/prefs.h
184
 
        * src/usage_text.h
185
 
        * test/HttpResponseTest.cc
186
 
        * test/TimeTest.cc
187
 
 
188
 
2010-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
189
 
 
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
197
 
        * src/FileEntry.cc
198
 
        * src/FileEntry.h
199
 
        * src/InOrderURISelector.cc
200
 
        * src/InOrderURISelector.h
201
 
        * src/RequestGroupMan.cc
202
 
        * src/RequestGroupMan.h
203
 
        * src/URISelector.h
204
 
        * src/a2algo.h
205
 
        * test/FeedbackURISelectorTest.cc
206
 
        * test/InOrderURISelectorTest.cc
207
 
 
208
 
2010-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
209
 
 
210
 
        Prefer untested server in FeedbackURISelector
211
 
        * src/FeedbackURISelector.cc
212
 
 
213
 
2010-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
214
 
 
215
 
        Documented --min-split-size option in man page.
216
 
        * doc/aria2c.1.txt
217
 
 
218
 
2010-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
219
 
 
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.
226
 
        * src/BitfieldMan.cc
227
 
        * src/BitfieldMan.h
228
 
        * src/DefaultPieceStorage.cc
229
 
        * src/DefaultPieceStorage.h
230
 
        * src/OptionHandlerFactory.cc
231
 
        * src/RequestGroup.cc
232
 
        * src/prefs.cc
233
 
        * src/prefs.h
234
 
        * src/usage_text.h
235
 
        * test/BitfieldManTest.cc
236
 
        * test/SegmentManTest.cc
237
 
 
238
 
2010-07-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
239
 
 
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
247
 
        * src/FileEntry.cc
248
 
        * src/FileEntry.h
249
 
        * src/InOrderURISelector.cc
250
 
        * src/InOrderURISelector.h
251
 
        * src/RequestGroupMan.cc
252
 
        * src/RequestGroupMan.h
253
 
        * src/URISelector.h
254
 
        * test/FeedbackURISelectorTest.cc
255
 
        * test/InOrderURISelectorTest.cc
256
 
 
257
 
2010-07-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
258
 
 
259
 
        Updated doc for options.
260
 
        * doc/aria2c.1.txt
261
 
 
262
 
2010-07-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
263
 
 
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
271
 
        * src/FileEntry.cc
272
 
        * src/FileEntry.h
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
279
 
        * src/prefs.cc
280
 
        * src/prefs.h
281
 
        * src/usage_text.h
282
 
        * test/DownloadHelperTest.cc
283
 
        * test/FileEntryTest.cc
284
 
 
285
 
2010-07-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
286
 
 
287
 
        Set end byte in Range header if start byte > 0 to get more chance
288
 
        to pool socket.
289
 
        * src/DefaultPieceStorage.cc
290
 
        * src/DefaultPieceStorage.h
291
 
        * src/DownloadCommand.cc
292
 
        * src/HttpDownloadCommand.cc
293
 
        * src/HttpRequest.cc
294
 
        * src/HttpRequest.h
295
 
        * src/HttpRequestCommand.cc
296
 
        * src/PieceStorage.h
297
 
        * src/UnknownLengthPieceStorage.h
298
 
        * test/DefaultPieceStorageTest.cc
299
 
        * test/HttpRequestTest.cc
300
 
        * test/MockPieceStorage.h
301
 
 
302
 
2010-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
303
 
 
304
 
        Moved segment empty check before socket check.
305
 
        * src/AbstractCommand.cc
306
 
 
307
 
2010-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
308
 
 
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
320
 
 
321
 
2010-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
322
 
 
323
 
        After change request to faster one, wait at least 10 seconds.
324
 
        * src/FileEntry.cc
325
 
        * src/FileEntry.h
326
 
 
327
 
2010-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
328
 
 
329
 
        Fixed ChunkedDecoder. It does not read trailer and final CRLF.
330
 
        * src/ChunkedDecoder.cc
331
 
        * src/ChunkedDecoder.h
332
 
        * test/ChunkedDecoderTest.cc
333
 
 
334
 
2010-07-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
335
 
 
336
 
        Removed unusable typedefs
337
 
        * src/FileAllocationIterator.h
338
 
        * src/MultiDiskAdaptor.cc
339
 
        * src/MultiFileAllocationIterator.h
340
 
        * src/SingleFileAllocationIterator.h
341
 
 
342
 
2010-07-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
343
 
 
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
350
 
 
351
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
352
 
 
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
357
 
 
358
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
359
 
 
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
368
 
 
369
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
370
 
 
371
 
        Documented that aria2 supports Chromium/Google Chrom cookies file.
372
 
        * doc/aria2c.1.txt
373
 
        * README
374
 
 
375
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
376
 
 
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
383
 
 
384
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
385
 
 
386
 
        Increased DOMAIN_EVICTION_TRIGGER to 2000
387
 
        * src/CookieStorage.cc
388
 
        * test/CookieStorageTest.cc
389
 
 
390
 
2010-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
391
 
 
392
 
        Added Chromium/Google Chrome Cookies file support. Thanks to
393
 
        gotrunks for original patch.
394
 
        * src/CookieStorage.cc
395
 
        * src/Makefile.am
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
402
 
        * test/Makefile.am
403
 
        * test/Sqlite3CookieParserTest.cc
404
 
        * test/Sqlite3MozCookieParserTest.cc: Removed
405
 
        * test/chromium_cookies.sqlite
406
 
 
407
 
2010-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
408
 
 
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.
416
 
        * configure.ac
417
 
        * src/AbstractDiskWriter.cc
418
 
        * src/AbstractDiskWriter.h
419
 
        * src/AbstractSingleDiskAdaptor.cc
420
 
        * src/AdaptiveFileAllocationIterator.cc
421
 
        * src/AdaptiveFileAllocationIterator.h
422
 
        * src/DefaultPieceStorage.cc
423
 
        * src/DiskAdaptor.cc
424
 
        * src/DiskAdaptor.h
425
 
        * src/FallocFileAllocationIterator.cc
426
 
        * src/Makefile.am
427
 
        * src/MultiFileAllocationIterator.cc
428
 
        * src/OptionHandlerFactory.cc
429
 
        * test/FallocFileAllocationIteratorTest.cc
430
 
        * test/Makefile.am
431
 
 
432
 
2010-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
433
 
 
434
 
        Release 1.9.5
435
 
 
436
 
2010-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
437
 
 
438
 
        Fixed compile error without ssl library.
439
 
        * test/Metalink2RequestGroupTest.cc
440
 
 
441
 
2010-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
442
 
 
443
 
        Fixed compiler warning without ssl library.
444
 
        * src/DownloadEngineFactory.cc
445
 
 
446
 
2010-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
447
 
 
448
 
        Bump up version number to 1.9.5
449
 
        * configure.ac
450
 
        * doc/aria2c.1.txt
451
 
 
452
 
2010-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
453
 
 
454
 
        Updated doc for aria2.addUri
455
 
        * doc/aria2c.1.txt
456
 
 
457
 
2010-06-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
458
 
 
459
 
        Don't set previousUri_ to "" on redirect.
460
 
        * src/Request.cc: redirectUri()
461
 
 
462
 
2010-06-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
463
 
 
464
 
        Return given hostname if hostname is numeric host.
465
 
        * src/AbstractCommand.cc: resolveHostname()
466
 
 
467
 
2010-06-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
468
 
 
469
 
        Fixed Peer::updateSeeder() to reflect current bitfield.
470
 
        * src/Peer.cc
471
 
 
472
 
2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
473
 
 
474
 
        Code cleanup
475
 
        * src/util.cc
476
 
 
477
 
2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
478
 
 
479
 
        Removed unused getOverflow(). Added assertion in
480
 
        PiecedSegment::updateWrittenLength() to check updated written
481
 
        length does not exceed piece length.
482
 
        * src/GrowSegment.h
483
 
        * src/PiecedSegment.cc
484
 
        * src/PiecedSegment.h
485
 
        * src/Segment.h
486
 
        * test/SegmentTest.cc
487
 
 
488
 
2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
489
 
 
490
 
        Return null if written length > 0 even if SegmentEntry->cuid
491
 
        equals given cuid.
492
 
        * src/SegmentMan.cc
493
 
 
494
 
2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
495
 
 
496
 
        Fixed compiler warning without bittorrent support
497
 
        * src/RequestGroup.cc
498
 
 
499
 
2010-06-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
500
 
 
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
506
 
        * src/message.h
507
 
 
508
 
2010-06-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
509
 
 
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.
513
 
        * doc/aria2c.1.txt
514
 
        * src/LogFactory.cc
515
 
        * src/LogFactory.h
516
 
        * src/LogFormatter.h
517
 
        * src/Logger.cc
518
 
        * src/Logger.h
519
 
        * src/Makefile.am
520
 
        * src/Makefile.in
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
527
 
        * src/main.cc
528
 
 
529
 
2010-06-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
530
 
 
531
 
        Request ut_metadata in end-game mode(in other words, more
532
 
        aggresively)
533
 
        * src/HandshakeExtensionMessage.cc
534
 
        * src/Peer.cc
535
 
        * src/Peer.h
536
 
        * src/PeerSessionResource.cc
537
 
        * src/PeerSessionResource.h
538
 
        * src/UTMetadataRequestFactory.cc
539
 
        * test/UTMetadataRequestFactoryTest.cc
540
 
 
541
 
2010-06-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
542
 
 
543
 
        Added missing parameter to log message.
544
 
        * src/UTMetadataRequestFactory.cc
545
 
 
546
 
2010-06-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
547
 
 
548
 
        Made test code not use /tmp
549
 
        * test/CookieStorageTest.cc
550
 
        * test/DirectDiskAdaptorTest.cc
551
 
        * test/FallocFileAllocationIteratorTest.cc
552
 
        * test/FileEntryTest.cc
553
 
        * test/FileTest.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
560
 
        * test/UtilTest.cc
561
 
 
562
 
2010-06-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
563
 
 
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
574
 
 
575
 
2010-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
576
 
 
577
 
        Code cleanup
578
 
        * src/PiecedSegment.cc
579
 
 
580
 
2010-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
581
 
 
582
 
        Fixed the bug that corrups file if segment returned from
583
 
        SegmetnMan::getCleanSegmentIfOwnerIsIdle() has writtenLength > 0.
584
 
        * src/DownloadCommand.cc
585
 
        * src/SegmentMan.cc
586
 
        * src/SegmentMan.h
587
 
        * test/SegmentManTest.cc
588
 
 
589
 
2010-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
590
 
 
591
 
        Changed naming standards for class member variable: now it looks
592
 
        like var_ instead of _var.
593
 
 
594
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
595
 
 
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
603
 
 
604
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
605
 
 
606
 
        Removed PeerListProcessor. Its functionality is now moved to
607
 
        bittorrent_helper.h
608
 
        * src/DefaultBtAnnounce.cc
609
 
        * src/Makefile.am
610
 
        * src/PeerListProcessor.h: Removed
611
 
        * src/UTPexExtensionMessage.cc
612
 
        * src/bittorrent_helper.cc
613
 
        * src/bittorrent_helper.h
614
 
        * test/BittorrentHelperTest.cc
615
 
        * test/Makefile.am
616
 
        * test/PeerListProcessorTest.cc: Removed
617
 
 
618
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
619
 
 
620
 
        Included util.h
621
 
        * src/LpdReceiveMessageCommand.cc
622
 
 
623
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
624
 
 
625
 
        Moved non-trivial functions to *.cc file
626
 
        * src/Logger.cc
627
 
        * src/Logger.h
628
 
 
629
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
630
 
 
631
 
        Added separete *.cc files for exception classes.
632
 
        * src/DlAbortEx.cc
633
 
        * src/DlAbortEx.h
634
 
        * src/DlRetryEx.cc
635
 
        * src/DlRetryEx.h
636
 
        * src/DownloadFailureException.cc
637
 
        * src/DownloadFailureException.h
638
 
        * src/FatalException.cc
639
 
        * src/FatalException.h
640
 
        * src/Makefile.am
641
 
        * src/RecoverableException.cc
642
 
        * src/RecoverableException.h
643
 
 
644
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
645
 
 
646
 
        Moved non-trivial functions to *.cc file
647
 
        * src/DownloadContext.cc
648
 
        * src/DownloadContext.h
649
 
        * src/FileEntry.cc
650
 
        * src/FileEntry.h
651
 
 
652
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
653
 
 
654
 
        Removed unused contants
655
 
        * src/bittorrent_helper.cc
656
 
        * src/bittorrent_helper.h
657
 
 
658
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
659
 
 
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
664
 
        * src/DHTSetup.cc
665
 
        * src/FileAllocationCommand.cc
666
 
        * src/TrackerWatcherCommand.cc
667
 
        * src/a2functional.h
668
 
 
669
 
2010-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
670
 
 
671
 
        Removed BDE and bencode
672
 
 
673
 
2010-06-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
674
 
 
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
679
 
        than BDE.
680
 
        * src/ActivePeerConnectionCommand.cc
681
 
        * src/AnnounceList.cc
682
 
        * src/AnnounceList.h
683
 
        * src/BtDependency.cc
684
 
        * src/BtRegistry.cc
685
 
        * src/BtSetup.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
696
 
        * src/Makefile.am
697
 
        * src/Makefile.in
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
708
 
        * src/ValueBase.cc
709
 
        * src/ValueBase.h
710
 
        * src/XmlRpcMethodImpl.cc
711
 
        * src/XmlRpcMethodImpl.h
712
 
        * src/bencode2.cc
713
 
        * src/bencode2.h
714
 
        * src/bittorrent_helper.cc
715
 
        * src/bittorrent_helper.h
716
 
        * src/download_helper.cc
717
 
        * src/magnet.cc
718
 
        * src/magnet.h
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
729
 
        * test/MagnetTest.cc
730
 
        * test/Makefile.am
731
 
        * test/Makefile.in
732
 
        * test/RequestGroupManTest.cc
733
 
        * test/UTMetadataDataExtensionMessageTest.cc
734
 
        * test/UTMetadataPostDownloadHandlerTest.cc
735
 
        * test/UTMetadataRequestExtensionMessageTest.cc
736
 
        * test/ValueBaseTest.cc
737
 
        * test/XmlRpcMethodTest.cc
738
 
 
739
 
2010-06-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
740
 
 
741
 
        Fixed assertion error if updateTransferStatFor is called with peer
742
 
        X before calculateStat() after peer X is added.
743
 
        * src/DefaultPeerStorage.cc
744
 
 
745
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
746
 
 
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
770
 
        * src/DHTPingTask.cc
771
 
        * src/DHTMessageFactoryImpl.h
772
 
        * src/Makefile.am
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
781
 
        * src/Makefile.in
782
 
        * src/DHTBucketRefreshTask.cc
783
 
        * src/DHTNodeLookupTaskCallback.cc
784
 
        * src/DHTPingTask.h
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
795
 
 
796
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
797
 
 
798
 
        Replaced dynamic_pointer_cast with static_pointer_cast
799
 
        * src/DHTSetup.cc
800
 
        * src/DefaultBtMessageReceiver.cc
801
 
        * src/SharedHandle.h
802
 
 
803
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
804
 
 
805
 
        Reverted changes which deleted peerConnection from
806
 
        DefaultBtInteractive.
807
 
        * src/DefaultBtInteractive.cc
808
 
        * src/DefaultBtInteractive.h
809
 
        * src/PeerInteractionCommand.cc
810
 
 
811
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
812
 
 
813
 
        Rewritten DHTRegistry
814
 
        * src/BtSetup.cc
815
 
        * src/DHTRegistry.cc
816
 
        * src/DHTRegistry.h
817
 
        * src/DHTSetup.cc
818
 
        * src/PeerInteractionCommand.cc
819
 
        * src/RequestGroup.cc
820
 
 
821
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
822
 
 
823
 
        Renamed member variables of XmlRpcResponse
824
 
        * src/XmlRpcMethodImpl.cc
825
 
        * src/XmlRpcResponse.cc
826
 
        * src/XmlRpcResponse.h
827
 
        * test/XmlRpcMethodTest.cc
828
 
 
829
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
830
 
 
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
838
 
 
839
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
840
 
 
841
 
        Made DownloadResult struct
842
 
        * src/DownloadResult.h
843
 
        * src/RequestGroup.h
844
 
        * src/RequestGroupMan.h
845
 
        * src/XmlRpcMethodImpl.h
846
 
 
847
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
848
 
 
849
 
        Made DHTMessageEntry struct
850
 
        * src/DHTMessageDispatcherImpl.cc
851
 
        * src/DHTMessageDispatcherImpl.h
852
 
        * src/DHTMessageEntry.cc
853
 
        * src/DHTMessageEntry.h
854
 
 
855
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
856
 
 
857
 
        Made DHTNodeLookupEntry struct
858
 
        * src/DHTAbstractNodeLookupTask.cc
859
 
        * src/DHTIDCloser.h
860
 
        * src/DHTNodeLookupEntry.cc
861
 
        * src/DHTNodeLookupEntry.h
862
 
        * src/DHTPeerLookupTask.cc
863
 
        * test/DHTIDCloserTest.cc
864
 
 
865
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
866
 
 
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
878
 
        * src/Peer.cc
879
 
        * src/Peer.h
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
896
 
        * test/PeerTest.cc
897
 
        * test/UTPexExtensionMessageTest.cc
898
 
 
899
 
2010-06-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
900
 
 
901
 
        Made DHTNode::getIPAddress() return const reference.
902
 
        * src/DHTNode.h
903
 
 
904
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
905
 
 
906
 
        Renamed member variables
907
 
        * src/SocketCore.cc
908
 
        * src/SocketCore.h
909
 
 
910
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
911
 
 
912
 
        Made public member variable in Metalinker private
913
 
        * src/MetalinkParserController.cc
914
 
        * src/Metalinker.cc
915
 
        * src/Metalinker.h
916
 
        * test/MetalinkParserControllerTest.cc
917
 
        * test/MetalinkProcessorTest.cc
918
 
        * test/MetalinkerTest.cc
919
 
 
920
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
921
 
 
922
 
        Renamed member variables
923
 
        * src/SharedHandle.h
924
 
 
925
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
926
 
 
927
 
        Renamed member variables
928
 
        * src/messageDigest.cc
929
 
        * src/messageDigest.h
930
 
 
931
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
932
 
 
933
 
        Made protected member variable private.
934
 
        * src/XmlRpcMethod.h
935
 
        * src/XmlRpcMethodImpl.cc
936
 
 
937
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
938
 
 
939
 
        Made protected member variable private.
940
 
        * src/UTMetadataDataExtensionMessage.cc
941
 
        * src/UTMetadataExtensionMessage.h
942
 
        * src/UTMetadataRejectExtensionMessage.cc
943
 
        * src/UTMetadataRequestExtensionMessage.cc
944
 
 
945
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
946
 
 
947
 
        Renamed member variables
948
 
        * src/TimeSeedCriteria.h
949
 
 
950
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
951
 
 
952
 
        Renamed member variables
953
 
        * src/TimeA2.cc
954
 
        * src/TimeA2.h
955
 
 
956
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
957
 
 
958
 
        Renamed member variables
959
 
        * src/SpeedCalc.cc
960
 
        * src/SpeedCalc.h
961
 
 
962
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
963
 
 
964
 
        Renamed member variables in SegmentMan
965
 
        * src/RequestGroup.cc
966
 
        * src/RequestGroupMan.cc
967
 
        * src/SegmentMan.cc
968
 
        * src/SegmentMan.h
969
 
        * src/XmlRpcMethodImpl.cc
970
 
        * test/BtDependencyTest.cc
971
 
 
972
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
973
 
 
974
 
        Renamed member variables.
975
 
        * src/RequestSlot.cc
976
 
        * src/RequestSlot.h
977
 
 
978
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
979
 
 
980
 
        Renamed member variables.
981
 
        * src/Range.cc
982
 
        * src/Range.h
983
 
 
984
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
985
 
 
986
 
        Renamed member variables.
987
 
        * src/Piece.cc
988
 
        * src/Piece.h
989
 
 
990
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
991
 
 
992
 
        Renamed member variables.
993
 
        * src/PeerStat.h
994
 
 
995
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
996
 
 
997
 
        Renamed member variables.
998
 
        * src/PeerConnection.cc
999
 
        * src/PeerConnection.h
1000
 
 
1001
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1002
 
 
1003
 
        Renamed member variables.
1004
 
        * src/Option.cc
1005
 
        * src/Option.h
1006
 
 
1007
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1008
 
 
1009
 
        Renamed member variables.
1010
 
        * src/Netrc.cc
1011
 
        * src/Netrc.h
1012
 
 
1013
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1014
 
 
1015
 
        Renamed member variables.
1016
 
        * src/LogFactory.cc
1017
 
        * src/LogFactory.h
1018
 
 
1019
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1020
 
 
1021
 
        Renamed member variables.
1022
 
        * src/HttpResponse.cc
1023
 
        * src/HttpResponse.h
1024
 
 
1025
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1026
 
 
1027
 
        Renamed member variables.
1028
 
        * src/HttpRequest.cc
1029
 
        * src/HttpRequest.h
1030
 
 
1031
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1032
 
 
1033
 
        Renamed member variables.
1034
 
        * src/HttpHeader.cc
1035
 
        * src/HttpHeader.h
1036
 
 
1037
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1038
 
 
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
1046
 
 
1047
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1048
 
 
1049
 
        Removed HandleRegistry
1050
 
        * src/HandleRegistry.h
1051
 
        * src/Makefile.am
1052
 
 
1053
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1054
 
 
1055
 
        Renamed member variables.
1056
 
        * src/FtpConnection.cc
1057
 
        * src/FtpConnection.h
1058
 
 
1059
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1060
 
 
1061
 
        Renamed member variables.
1062
 
        * src/FileEntry.cc
1063
 
        * src/FileEntry.h
1064
 
 
1065
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1066
 
 
1067
 
        Renamed member variables.
1068
 
        * src/File.cc
1069
 
        * src/File.h
1070
 
 
1071
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1072
 
 
1073
 
        Made protected member variable private. Added accessor funcs.
1074
 
        * src/BtPostDownloadHandler.cc
1075
 
        * src/DownloadHandler.h
1076
 
        * src/MetalinkPostDownloadHandler.cc
1077
 
 
1078
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1079
 
 
1080
 
        Renamed member variables.
1081
 
        * src/DownloadEngine.cc
1082
 
        * src/DownloadEngine.h
1083
 
 
1084
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1085
 
 
1086
 
        Renamed member variables.
1087
 
        * src/DefaultPieceStorage.cc
1088
 
        * src/DefaultPieceStorage.h
1089
 
 
1090
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1091
 
 
1092
 
        Renamed member variables. Removed unused member variable.
1093
 
        * src/DefaultPeerStorage.cc
1094
 
        * src/DefaultPeerStorage.h
1095
 
        * src/RequestGroup.cc
1096
 
        * test/DefaultPeerStorageTest.cc
1097
 
 
1098
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1099
 
 
1100
 
        Renamed member variables. Removed unused member variable.
1101
 
        * src/DefaultBtRequestFactory.cc
1102
 
        * src/DefaultBtRequestFactory.h
1103
 
        * src/PeerInteractionCommand.cc
1104
 
 
1105
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1106
 
 
1107
 
        Renamed member variables. Removed unused member variables.
1108
 
        * src/DefaultBtMessageReceiver.cc
1109
 
        * src/DefaultBtMessageReceiver.h
1110
 
        * src/PeerInteractionCommand.cc
1111
 
 
1112
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1113
 
 
1114
 
        Renamed member variables
1115
 
        * src/DefaultBtMessageFactory.cc
1116
 
        * src/DefaultBtMessageFactory.h
1117
 
 
1118
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1119
 
 
1120
 
        Renamed member variables
1121
 
        * src/DefaultBtMessageDispatcher.cc
1122
 
        * src/DefaultBtMessageDispatcher.h
1123
 
 
1124
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1125
 
 
1126
 
        Renamed member variables. Removed member variable peerConnection.
1127
 
        * src/DefaultBtInteractive.cc
1128
 
        * src/DefaultBtInteractive.h
1129
 
        * src/PeerInteractionCommand.cc
1130
 
 
1131
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1132
 
 
1133
 
        Renamed member variables
1134
 
        * src/DefaultBtAnnounce.cc
1135
 
        * src/DefaultBtAnnounce.h
1136
 
 
1137
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1138
 
 
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
1149
 
        * src/DHTPingTask.h
1150
 
        * src/DHTReplaceNodeTask.cc
1151
 
        * src/DHTReplaceNodeTask.h
1152
 
 
1153
 
2010-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1154
 
 
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
1170
 
        * src/DHTMessage.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
1182
 
 
1183
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1184
 
 
1185
 
        Removed unused member variable uuid and uuidGen
1186
 
        * src/Command.cc
1187
 
        * src/Command.h
1188
 
 
1189
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1190
 
 
1191
 
        Renamed member variables
1192
 
        * src/ByteArrayDiskWriter.cc
1193
 
        * src/ByteArrayDiskWriter.h
1194
 
 
1195
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1196
 
 
1197
 
        Renamed member variables
1198
 
        * src/BtRuntime.h
1199
 
 
1200
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1201
 
 
1202
 
        Renamed member variables
1203
 
        * src/BtHandshakeMessage.cc
1204
 
        * src/BtHandshakeMessage.h
1205
 
 
1206
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1207
 
 
1208
 
        Renamed member variables
1209
 
        * src/BtBitfieldMessageValidator.h
1210
 
        * src/BtHandshakeMessageValidator.h
1211
 
        * src/BtPieceMessageValidator.h
1212
 
 
1213
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1214
 
 
1215
 
        Renamed member variables
1216
 
        * src/BtAbortOutstandingRequestEvent.h
1217
 
        * src/BtCancelSendingPieceEvent.h
1218
 
 
1219
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1220
 
 
1221
 
        Renamed member variable
1222
 
        * src/BitfieldMan.cc
1223
 
        * src/BitfieldMan.h
1224
 
 
1225
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1226
 
 
1227
 
        Renamed member variable
1228
 
        * src/AsyncNameResolver.cc
1229
 
        * src/AsyncNameResolver.h
1230
 
 
1231
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1232
 
 
1233
 
        Renamed member variable
1234
 
        * src/AnnounceList.cc
1235
 
        * src/AnnounceList.h
1236
 
 
1237
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1238
 
 
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
1245
 
        * src/DiskAdaptor.h
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
1253
 
 
1254
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1255
 
 
1256
 
        Made protected member variable private. Added accessor funcs.
1257
 
        * src/AbstractDiskWriter.cc
1258
 
        * src/AbstractDiskWriter.h
1259
 
 
1260
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1261
 
 
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
1268
 
 
1269
 
2010-06-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1270
 
 
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
1305
 
 
1306
 
2010-06-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1307
 
 
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
1319
 
 
1320
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1321
 
 
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
1341
 
 
1342
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1343
 
 
1344
 
        Made protected member variable private. Added accessor funcs.
1345
 
        * src/CheckIntegrityCommand.cc
1346
 
        * src/FileAllocationCommand.cc
1347
 
        * src/RealtimeCommand.h
1348
 
 
1349
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1350
 
 
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
1361
 
 
1362
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1363
 
 
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
1373
 
 
1374
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1375
 
 
1376
 
        Code cleanup
1377
 
        * src/AbstractCommand.cc
1378
 
 
1379
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1380
 
 
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
1408
 
 
1409
 
2010-06-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1410
 
 
1411
 
        Made protected member variables of Command private. Added accessor
1412
 
        funcs.
1413
 
 
1414
 
2010-06-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1415
 
 
1416
 
        Made public member variables of DownloadEngine private. Added
1417
 
        accessor funcs.
1418
 
 
1419
 
2010-06-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1420
 
 
1421
 
        Release 1.9.4
1422
 
 
1423
 
2010-06-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1424
 
 
1425
 
        Updated Italian translation. Added Korean translation.
1426
 
        Thanks to all translators.
1427
 
        * LINGUAS
1428
 
        * it.po
1429
 
        * ko.po
1430
 
 
1431
 
2010-06-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1432
 
 
1433
 
        Updated po templates.
1434
 
        * po/aria2.pot
1435
 
 
1436
 
2010-06-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1437
 
 
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
1441
 
 
1442
 
2010-06-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1443
 
 
1444
 
        Added log message when cookies are loaded.  Added filename to log
1445
 
        message when serializing session.
1446
 
        * src/MultiUrlRequestInfo.cc
1447
 
 
1448
 
2010-06-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1449
 
 
1450
 
        Treat SIGHUP and SIGTERM signal as emergency shutdown because they
1451
 
        are usually issued by system or other process.
1452
 
        * src/MultiUrlRequestInfo.cc
1453
 
 
1454
 
2010-06-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1455
 
 
1456
 
        Use downloadresultcode::IN_PROGRESS for
1457
 
        RequestGroup::SHUTDOWN_SIGNAL.
1458
 
        * src/RequestGroup.cc
1459
 
 
1460
 
2010-06-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1461
 
 
1462
 
        Call requestForceHalt() instead of _requestGroupMan->forceHalt().
1463
 
        * src/DownloadEngine.cc
1464
 
 
1465
 
2010-06-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1466
 
 
1467
 
        Mentioned RFC 5854 in README and man page.
1468
 
        * README
1469
 
        * doc/aria2c.1.txt
1470
 
 
1471
 
2010-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1472
 
 
1473
 
        Bump up version number to 1.9.4
1474
 
        * configure.ac
1475
 
        * doc/aria2c.1.txt
1476
 
 
1477
 
2010-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1478
 
 
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
1483
 
 
1484
 
2010-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1485
 
 
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
1491
 
 
1492
 
2010-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1493
 
 
1494
 
        Added _logger->info() guard
1495
 
        * src/IteratableChunkChecksumValidator.cc
1496
 
 
1497
 
2010-05-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1498
 
 
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
1506
 
 
1507
 
2010-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1508
 
 
1509
 
        Updated doc
1510
 
        * src/aria2c.1.txt
1511
 
 
1512
 
2010-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1513
 
 
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
1524
 
 
1525
 
2010-05-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1526
 
 
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
1539
 
 
1540
 
2010-05-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1541
 
 
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
1553
 
 
1554
 
2010-05-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1555
 
 
1556
 
        Removed DownloadResult's ctor because it has many args.
1557
 
        * src/DownloadResult.h
1558
 
        * src/RequestGroup.cc
1559
 
        * test/XmlRpcMethodTest.cc
1560
 
 
1561
 
2010-05-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1562
 
 
1563
 
        Code cleanup.
1564
 
        * src/RequestGroupMan.cc
1565
 
        * src/UTMetadataPostDownloadHandler.cc
1566
 
        * src/XmlRpcMethodImpl.cc
1567
 
 
1568
 
2010-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1569
 
 
1570
 
        Store both whole checksum and piece hash in metalink file.
1571
 
        Dispatch whole checksum verification only when piece hash is not
1572
 
        set.
1573
 
        * src/DownloadCommand.cc
1574
 
        * src/Metalink2RequestGroup.cc
1575
 
        * test/Metalink2RequestGroupTest.cc
1576
 
 
1577
 
2010-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1578
 
 
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.
1582
 
        * src/Checksum.h
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
1591
 
 
1592
 
2010-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1593
 
 
1594
 
        Fixed typo in log message
1595
 
        * src/AbstractCommand.cc
1596
 
 
1597
 
2010-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1598
 
 
1599
 
        Release 1.9.3
1600
 
 
1601
 
2010-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1602
 
 
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
1612
 
 
1613
 
2010-05-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1614
 
 
1615
 
        Bump up version number to 1.9.3.
1616
 
        * configure.ac
1617
 
 
1618
 
2010-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1619
 
 
1620
 
        Return const reference.
1621
 
        * src/LpdMessageReceiver.h
1622
 
        * src/LpdReceiveMessageCommand.h
1623
 
 
1624
 
2010-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1625
 
 
1626
 
        Removed useless pathJoin
1627
 
        * src/MetalinkParserController.cc
1628
 
 
1629
 
2010-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1630
 
 
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
1635
 
        * test/Makefile.am
1636
 
        * test/Metalink2RequestGroupTest.cc
1637
 
        * test/metalink4-dosdirtraversal.xml
1638
 
 
1639
 
2010-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1640
 
 
1641
 
        Fixed the bug that if filename in Content-Disposition header
1642
 
        includes ';', aria2 cuts filename after ';'.
1643
 
        * src/util.cc
1644
 
        * test/UtilTest.cc
1645
 
 
1646
 
2010-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1647
 
 
1648
 
        Release 1.9.2
1649
 
 
1650
 
2010-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1651
 
 
1652
 
        Fixed compiler warning on opensolaris.
1653
 
        * src/StringFormat.h
1654
 
        * src/XORCloser.h
1655
 
 
1656
 
2010-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1657
 
 
1658
 
        Updated doc
1659
 
        * test/array_funTest.cc
1660
 
 
1661
 
2010-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1662
 
 
1663
 
        Fixed segmentation fault when running unit tests on opensolaris.
1664
 
        * src/SocketCore.cc
1665
 
        * src/bittorrent_helper.cc
1666
 
 
1667
 
2010-04-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1668
 
 
1669
 
        Updated Russian translation. Thanks to all translators.
1670
 
        * po/ru.po
1671
 
 
1672
 
2010-04-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1673
 
 
1674
 
        Updated po templates.
1675
 
        * po/aria2.pot
1676
 
 
1677
 
2010-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1678
 
 
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
1684
 
        * src/SocketCore.cc
1685
 
 
1686
 
2010-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1687
 
 
1688
 
        Updated doc for --event-poll option.
1689
 
        * doc/aria2c.1.txt
1690
 
 
1691
 
2010-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1692
 
 
1693
 
        Bump up version number to 1.9.2
1694
 
        * configure.ac
1695
 
        * doc/aria2c.1.txt
1696
 
 
1697
 
2010-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1698
 
 
1699
 
        Defined FD_SETSIZE 1024 for MinGW32.
1700
 
        * src/a2netcompat.h
1701
 
 
1702
 
2010-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1703
 
 
1704
 
        Fixed compile error on the system which lacks poll()
1705
 
        * src/DownloadEngineFactory.cc
1706
 
 
1707
 
2010-04-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1708
 
 
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
1712
 
        notification.
1713
 
        * src/SocketCore.cc
1714
 
        * src/SocketCore.h
1715
 
        * src/main.cc
1716
 
 
1717
 
2010-04-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1718
 
 
1719
 
        Added kqueue support. We use poll() for
1720
 
        SocketCore::isReadable()/isWritable() when kqueue is used.
1721
 
        * configure.ac
1722
 
        * src/DownloadEngineFactory.cc
1723
 
        * src/KqueueEventPoll.cc
1724
 
        * src/KqueueEventPoll.h
1725
 
        * src/Makefile.am
1726
 
        * src/Makefile.in
1727
 
        * src/OptionHandlerFactory.cc
1728
 
        * src/main.cc
1729
 
        * src/prefs.cc
1730
 
        * src/prefs.h
1731
 
 
1732
 
2010-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1733
 
 
1734
 
        Added missing timespec.h to SRCS
1735
 
        * src/Makefile.am
1736
 
 
1737
 
2010-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1738
 
 
1739
 
        Fixed the bug that aria2.unpause fails with -s1.
1740
 
        * src/FileEntry.cc
1741
 
        * src/XmlRpcMethodImpl.cc
1742
 
 
1743
 
2010-04-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1744
 
 
1745
 
        Added missing #ifdef HAVE_PORT_ASSOCIATE
1746
 
        * src/DownloadEngineFactory.cc
1747
 
 
1748
 
2010-04-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1749
 
 
1750
 
        Added opensolaris port_associate() support.
1751
 
        * src/DownloadEngineFactory.cc
1752
 
        * src/Makefile.am
1753
 
        * src/OptionHandlerFactory.cc
1754
 
        * src/PortEventPoll.cc
1755
 
        * src/PortEventPoll.h
1756
 
        * src/SocketCore.cc
1757
 
        * src/SocketCore.h
1758
 
        * src/configure.ac
1759
 
        * src/main.cc
1760
 
        * src/prefs.cc
1761
 
        * src/prefs.h
1762
 
 
1763
 
2010-04-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1764
 
 
1765
 
        Fixed the bug that _e is passed where e should be passed.
1766
 
        * src/HttpListenCommand.cc
1767
 
 
1768
 
2010-04-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1769
 
 
1770
 
        Increased _epEvents size if necessary.
1771
 
        * src/EpollEventPoll.cc
1772
 
        * src/EpollEventPoll.h
1773
 
 
1774
 
2010-04-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1775
 
 
1776
 
        Removed EventRType template parameter
1777
 
        * src/EpollEventPoll.cc
1778
 
        * src/EpollEventPoll.h
1779
 
        * src/Event.h
1780
 
        * src/PollEventPoll.cc
1781
 
        * src/PollEventPoll.h
1782
 
 
1783
 
2010-04-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1784
 
 
1785
 
        Use Event in EpollEventPoll
1786
 
        * src/EpollEventPoll.cc
1787
 
        * src/EpollEventPoll.h
1788
 
 
1789
 
2010-04-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1790
 
 
1791
 
        Externalized Event, CommandEvent, ADNSEvent, SocketEntry and
1792
 
        AsyncNameResolverEntry class.
1793
 
        * src/Event.h
1794
 
        * src/Makefile.am
1795
 
        * src/PollEventPoll.cc
1796
 
        * src/PollEventPoll.h
1797
 
 
1798
 
2010-04-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1799
 
 
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
1803
 
        used.
1804
 
        * src/OptionHandlerFactory.cc
1805
 
        * src/a2io.h
1806
 
        * src/prefs.h
1807
 
        * src/SocketCore.h
1808
 
        * src/Makefile.am
1809
 
        * src/main.cc
1810
 
        * src/PollEventPoll.h
1811
 
        * src/SocketCore.cc
1812
 
        * src/DownloadEngineFactory.cc
1813
 
        * src/PollEventPoll.cc
1814
 
        * src/prefs.cc
1815
 
        * configure.ac
1816
 
 
1817
 
2010-04-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1818
 
 
1819
 
        Reverted previous change to DownloadCommand.cc with additional
1820
 
        commentary.
1821
 
        * src/DownloadCommand.cc
1822
 
 
1823
 
2010-04-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1824
 
 
1825
 
        Fixed compile error with openssl 1.1.0 and mingw32.
1826
 
        * src/AsyncNameResolver.cc
1827
 
        * src/LogFactory.cc
1828
 
        * src/Logger.cc
1829
 
        * src/Logger.h
1830
 
        * src/SocketCore.cc
1831
 
        * src/SocketCore.h
1832
 
        * src/a2netcompat.h
1833
 
 
1834
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1835
 
 
1836
 
        Release 1.9.1
1837
 
 
1838
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1839
 
 
1840
 
        Bump up version number to 1.9.0
1841
 
        * doc/aria2c.1.txt
1842
 
 
1843
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1844
 
 
1845
 
        Updated Ukrainian, Russian, Simplified Chinese, German and Greek
1846
 
        translation. Thanks to all translators.
1847
 
        * po/de.po
1848
 
        * po/el.po
1849
 
        * po/ru.po
1850
 
        * po/uk.po
1851
 
        * po/zh_CN.po
1852
 
 
1853
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1854
 
 
1855
 
        Added AC_SEARCH_LIBS for inet_aton on opensolaris.  opensolaris
1856
 
        needs -lnsl for inet_aton.
1857
 
        * configure.ac
1858
 
 
1859
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1860
 
 
1861
 
        Updated po templates.
1862
 
        * po/aria2.pot
1863
 
 
1864
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1865
 
 
1866
 
        Added aria2.pause, aria2.forcePause, aria2.pauseAll,
1867
 
        aria2.forcePauseAll, aria2.unpause, aria2.unpauseAll XML-RPC
1868
 
        method to aria2rpc
1869
 
        * doc/xmlrpc/aria2rpc
1870
 
 
1871
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1872
 
 
1873
 
        Use elapsed time between two mach_absolute_time() calls.
1874
 
        Fixed compile error in Mac OS X.
1875
 
        * src/clock_gettime_osx.cc
1876
 
        * src/timespec.h
1877
 
 
1878
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1879
 
 
1880
 
        Implemented clock_gettime() using mach_absolute_time in Mac OS X.
1881
 
        * configure.ac
1882
 
        * src/Makefile.am
1883
 
        * src/a2time.h
1884
 
        * src/clock_gettime_osx.cc
1885
 
        * src/clock_gettime_osx.h
1886
 
 
1887
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1888
 
 
1889
 
        Implemented clock_gettime() using timeGetTime in mingw.
1890
 
        * configure.ac
1891
 
        * src/Makefile.am
1892
 
        * src/a2time.h
1893
 
        * src/clock_gettime_mingw.cc
1894
 
        * src/clock_gettime_mingw.h
1895
 
        * src/timespec.h
1896
 
        * test/Makefile.am
1897
 
 
1898
 
2010-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1899
 
 
1900
 
        Ensure that std::ofstream is destroyed before renaming.
1901
 
        * src/SessionSerializer.cc
1902
 
        * src/util.cc
1903
 
 
1904
 
2010-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1905
 
 
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
1910
 
 
1911
 
2010-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1912
 
 
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
1918
 
 
1919
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1920
 
 
1921
 
        Defined struct timespec if it is not available.
1922
 
        * src/a2time.h
1923
 
 
1924
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1925
 
 
1926
 
        Added missing serialize_session.meta4 to EXTRA_DIST
1927
 
        * test/Makefile.am
1928
 
 
1929
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1930
 
 
1931
 
        Fixed compile error without BitTorrent support.
1932
 
        * src/Metalink2RequestGroup.cc
1933
 
 
1934
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1935
 
 
1936
 
        Fixed compile error on Mac OS X
1937
 
        * src/TimerA2.h
1938
 
 
1939
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1940
 
 
1941
 
        Added warning for the system which lacks clock_gettime with
1942
 
        CLOCK_MONOTONIC.
1943
 
        * src/MultiUrlRequestInfo.cc
1944
 
        * src/TimerA2.cc
1945
 
        * src/TimerA2.h
1946
 
 
1947
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1948
 
 
1949
 
        Removed redundant method call for DownloadEngine.
1950
 
        * src/DownloadCommand.cc
1951
 
 
1952
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1953
 
 
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
1960
 
 
1961
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1962
 
 
1963
 
        Added nsl to search-libs for getaddrinfo on opensolaris
1964
 
        * configure.ac
1965
 
 
1966
 
2010-04-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1967
 
 
1968
 
        Fixed compile error on opensolaris
1969
 
        * configure.ac
1970
 
        * src/Logger.h
1971
 
        * src/GZipEncoder.h
1972
 
 
1973
 
2010-04-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1974
 
 
1975
 
        Added aria2.pauseAll, aria2.forcePauseAll and aria2.unpauseAll
1976
 
        XML-RPC method.
1977
 
        * doc/aria2c.1.txt
1978
 
        * src/XmlRpcMethodFactory.cc
1979
 
        * src/XmlRpcMethodImpl.cc
1980
 
        * src/XmlRpcMethodImpl.h
1981
 
        * test/XmlRpcMethodTest.cc
1982
 
 
1983
 
2010-04-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1984
 
 
1985
 
        Added aria2.forcePause XML-RPC command.
1986
 
        * src/XmlRpcMethodFactory.cc
1987
 
        * src/XmlRpcMethodImpl.cc
1988
 
        * src/XmlRpcMethodImpl.h
1989
 
 
1990
 
2010-04-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
1991
 
 
1992
 
        Use global::wallclock
1993
 
        * src/DHTBucket.cc
1994
 
        * src/DHTMessageTrackerEntry.cc
1995
 
        * src/DHTMessageTrackerEntry.h
1996
 
        * src/DefaultBtInteractive.cc
1997
 
        * src/Peer.cc
1998
 
        * src/PeerAbstractCommand.cc
1999
 
        * src/PeerStat.h
2000
 
        * src/RequestSlot.h
2001
 
        * src/TimeBasedCommand.cc
2002
 
 
2003
 
2010-04-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2004
 
 
2005
 
        Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
2006
 
        usable to prevent from aria2 from being affected by system time
2007
 
        change.
2008
 
 
2009
 
2010-04-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2010
 
 
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.
2021
 
        * doc/aria2c.1.txt
2022
 
        * src/DownloadContext.cc
2023
 
        * src/FileEntry.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
2031
 
        * src/prefs.cc
2032
 
        * src/prefs.h
2033
 
        * src/usage_text.h
2034
 
 
2035
 
2010-04-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2036
 
 
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
2044
 
        * src/Makefile.am
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
2058
 
        * src/prefs.cc
2059
 
        * src/prefs.h
2060
 
        * src/usage_text.h
2061
 
        * test/Makefile.am
2062
 
        * test/SessionSerializerTest.cc
2063
 
        * test/XmlRpcMethodTest.cc
2064
 
        * test/serialize_session.meta4
2065
 
 
2066
 
2010-04-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2067
 
 
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
2076
 
 
2077
 
2010-04-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2078
 
 
2079
 
        Updated po templates.
2080
 
        * po/aria2.pot
2081
 
 
2082
 
2010-04-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2083
 
 
2084
 
        Bump up version number to 1.9.1
2085
 
        * configure.ac
2086
 
 
2087
 
2010-04-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2088
 
 
2089
 
        Added shutdown and forceShutdown to aria2rpc
2090
 
        * doc/xmlrpc/aria2rpc
2091
 
 
2092
 
2010-04-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2093
 
 
2094
 
        Changed error message.
2095
 
        * src/XmlRpcMethod.cc
2096
 
 
2097
 
2010-04-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2098
 
 
2099
 
        Added bt-tracker-timeout, bt-tracker-connect-timeout,
2100
 
        always-resume, max-resume-failure-tries and http-accept-gzip to -i
2101
 
        list options.
2102
 
        * doc/aria2c.1.txt
2103
 
        * doc/xmlrpc/aria2rpc
2104
 
        * src/download_helper.cc
2105
 
 
2106
 
2010-04-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2107
 
 
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
2114
 
 
2115
 
2010-04-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2116
 
 
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.
2120
 
        * doc/aria2c.1.txt
2121
 
        * src/TimedHaltCommand.cc
2122
 
        * src/XmlRpcMethodFactory.cc
2123
 
        * src/XmlRpcMethodImpl.cc
2124
 
        * src/XmlRpcMethodImpl.h
2125
 
 
2126
 
2010-04-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2127
 
 
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
2134
 
 
2135
 
2010-04-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2136
 
 
2137
 
        Possible fix for chunked encoding with Content-Length.
2138
 
        * src/HttpResponseCommand.cc
2139
 
 
2140
 
2010-04-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2141
 
 
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.
2153
 
        * doc/aria2c.1.txt
2154
 
        * src/HttpRequest.cc
2155
 
        * src/HttpRequest.h
2156
 
        * src/HttpRequestCommand.cc
2157
 
        * src/HttpResponseCommand.cc
2158
 
        * src/OptionHandlerFactory.cc
2159
 
        * src/prefs.cc
2160
 
        * src/prefs.h
2161
 
        * src/usage_text.h
2162
 
        * test/HttpRequestTest.cc
2163
 
 
2164
 
2010-04-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2165
 
 
2166
 
        Made aria2 not send
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
2172
 
        * src/util.cc
2173
 
        * src/util.h
2174
 
 
2175
 
2010-04-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2176
 
 
2177
 
        Added download_helper.{cc,h} to SRCS
2178
 
        * src/Makefile.am
2179
 
        * test/Makefile.am
2180
 
 
2181
 
2010-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2182
 
 
2183
 
        Added --dht-message-timeout option.
2184
 
        * doc/aria2c.1.txt
2185
 
        * src/DHTConstants.h
2186
 
        * src/DHTMessageDispatcherImpl.cc
2187
 
        * src/DHTMessageDispatcherImpl.h
2188
 
        * src/DHTMessageTracker.cc
2189
 
        * src/DHTMessageTracker.h
2190
 
        * src/DHTReplaceNodeTask.h
2191
 
        * src/DHTSetup.cc
2192
 
        * src/DHTTaskFactoryImpl.cc
2193
 
        * src/DHTTaskFactoryImpl.h
2194
 
        * src/OptionHandlerFactory.cc
2195
 
        * src/prefs.cc
2196
 
        * src/prefs.h
2197
 
        * src/usage_text.h
2198
 
        * test/DHTMessageTrackerTest.cc
2199
 
 
2200
 
2010-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2201
 
 
2202
 
        Added --bt-tracker-connect-timeout and --bt-tracker-timeout
2203
 
        option.
2204
 
        * doc/aria2c.1.txt
2205
 
        * src/OptionHandlerFactory.cc
2206
 
        * src/TrackerWatcherCommand.cc
2207
 
        * src/prefs.cc
2208
 
        * src/prefs.h
2209
 
        * src/usage_text.h
2210
 
 
2211
 
2010-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2212
 
 
2213
 
        Documented that specifying --seed-time=0 disables seeding after
2214
 
        download completed.
2215
 
        * doc/aria2c.1.txt
2216
 
 
2217
 
2010-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2218
 
 
2219
 
        Code cleanup
2220
 
        * src/BtSetup.cc
2221
 
 
2222
 
2010-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2223
 
 
2224
 
        Drop connection if same Peer ID has been already seen.
2225
 
        * src/DefaultBtInteractive.cc
2226
 
 
2227
 
2010-03-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2228
 
 
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
2235
 
 
2236
 
2010-03-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2237
 
 
2238
 
        Fixed compile error with g++-4.4 on FreeBSD.
2239
 
        * src/util.h
2240
 
 
2241
 
2010-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2242
 
 
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
2248
 
 
2249
 
2010-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2250
 
 
2251
 
        Documented --always-resume and --max-resume-failure-tries option
2252
 
        and exit status 8 in man page. Fixed typo.
2253
 
        * doc/aria2c.1.txt
2254
 
        * src/OptionHandlerFactory.cc
2255
 
 
2256
 
2010-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2257
 
 
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
2261
 
        resume
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
2276
 
        * src/FileEntry.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
2283
 
        * src/SegmentMan.cc
2284
 
        * src/SegmentMan.h
2285
 
        * src/prefs.cc
2286
 
        * src/prefs.h
2287
 
        * src/usage_text.h
2288
 
        * test/DefaultPieceStorageTest.cc
2289
 
        * test/SegmentManTest.cc
2290
 
 
2291
 
2010-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2292
 
 
2293
 
        Added --remove-control-file option to -i list options.
2294
 
        * doc/aria2c.1.txt
2295
 
        * doc/xmlrpc/aria2rpc
2296
 
        * src/download_helper.cc
2297
 
 
2298
 
2010-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2299
 
 
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.
2306
 
        * doc/aria2c.1.txt
2307
 
        * src/OptionHandlerFactory.cc
2308
 
        * src/RequestGroup.cc
2309
 
        * src/prefs.cc
2310
 
        * src/prefs.h
2311
 
        * src/usage_text.h
2312
 
 
2313
 
2010-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2314
 
 
2315
 
        Removed arrayLength. Defined A2_ARRAY_LEN as macro to calculate
2316
 
        size of array at compile time.
2317
 
        * src/array_fun.h
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
2328
 
 
2329
 
2010-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2330
 
 
2331
 
        Added vbegin() and vend() for fixed sized array.
2332
 
        * src/DownloadHandlerConstants.cc
2333
 
        * src/FeatureConfig.cc
2334
 
        * src/OptionHandlerFactory.cc
2335
 
        * src/ServerStat.cc
2336
 
        * src/TimeA2.cc
2337
 
        * src/XmlRpcMethod.cc
2338
 
        * src/array_fun.h
2339
 
        * src/download_helper.cc
2340
 
        * src/messageDigest.cc
2341
 
        * src/util.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
2358
 
        * test/UtilTest.cc
2359
 
        * test/XmlRpcMethodTest.cc
2360
 
        * test/a2algoTest.cc
2361
 
        * test/array_funTest.cc
2362
 
 
2363
 
2010-03-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2364
 
 
2365
 
        Simplified code using lastByteMask
2366
 
        * src/BitfieldMan.cc
2367
 
        * src/PieceStatMan.cc
2368
 
 
2369
 
2010-03-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2370
 
 
2371
 
        Rewritten lastByteMask
2372
 
        * src/bitfield.h
2373
 
 
2374
 
2010-03-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2375
 
 
2376
 
        Redefined the maximum length of buffer used for HTTP header.
2377
 
        * src/HttpHeaderProcessor.cc
2378
 
 
2379
 
2010-03-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2380
 
 
2381
 
        Code cleanup
2382
 
        * src/SleepCommand.cc
2383
 
 
2384
 
2010-03-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2385
 
 
2386
 
        Do exact match if IP address is specified in --no-proxy.
2387
 
        * src/AbstractCommand.cc
2388
 
 
2389
 
2010-03-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2390
 
 
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
2394
 
        already.
2395
 
        * src/FtpFinishDownloadCommand.cc
2396
 
        * src/FtpFinishDownloadCommand.h
2397
 
 
2398
 
2010-03-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2399
 
 
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
2410
 
        * src/message.h
2411
 
        * test/XmlRpcMethodTest.cc
2412
 
 
2413
 
2010-03-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2414
 
 
2415
 
        Defined cuid_t as int64_t. Removed texts containing "CUID#%D" from
2416
 
        translatable texts because it is used in log and debugging
2417
 
        purpose.
2418
 
        * src/AbstractCommand.cc
2419
 
        * src/ActivePeerConnectionCommand.cc
2420
 
        * src/BtPieceMessage.cc
2421
 
        * src/CUIDCounter.h
2422
 
        * src/CheckIntegrityCommand.cc
2423
 
        * src/CheckIntegrityDispatcherCommand.cc
2424
 
        * src/Command.h
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
2451
 
        * src/SegmentMan.cc
2452
 
        * src/SimpleBtMessage.cc
2453
 
        * src/TrackerWatcherCommand.cc
2454
 
        * src/message.h
2455
 
 
2456
 
2010-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2457
 
 
2458
 
        Use gid_t type for gid.
2459
 
        * src/BtRegistry.cc
2460
 
        * src/BtRegistry.h
2461
 
        * src/DownloadResult.h
2462
 
        * src/RequestGroup.cc
2463
 
        * src/RequestGroup.h
2464
 
        * src/RequestGroupMan.cc
2465
 
        * src/RequestGroupMan.h
2466
 
        * src/XmlRpcMethodImpl.cc
2467
 
 
2468
 
2010-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2469
 
 
2470
 
        Use cuid_t type for cuid.
2471
 
 
2472
 
2010-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2473
 
 
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
2480
 
        * src/DHTMessage.cc
2481
 
        * src/DHTMessage.h
2482
 
        * src/DHTMessageFactoryImpl.cc
2483
 
        * src/DHTQueryMessage.cc
2484
 
        * src/DHTResponseMessage.cc
2485
 
        * src/util.h
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
2494
 
 
2495
 
2010-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2496
 
 
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
2502
 
 
2503
 
2010-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2504
 
 
2505
 
        Lines starting "#" in -i list are treated as comments.
2506
 
        Example:
2507
 
        # this is comment
2508
 
        http://example.org/file
2509
 
        http://example.org/file2
2510
 
          dir=/tmp
2511
 
        # another comment
2512
 
          out=myfile
2513
 
        * doc/aria2c.1.txt
2514
 
        * src/UriListParser.cc
2515
 
        * test/filelist1.txt
2516
 
 
2517
 
2010-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2518
 
 
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.
2523
 
        * doc/aria2c.1.txt
2524
 
        * src/AbstractCommand.cc
2525
 
        * src/OptionHandlerFactory.cc
2526
 
        * src/bitfield.h
2527
 
        * src/usage_text.h
2528
 
        * src/util.cc
2529
 
        * src/util.h
2530
 
        * test/UtilTest.cc
2531
 
        * test/bitfieldTest.cc
2532
 
 
2533
 
2010-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2534
 
 
2535
 
        Reduced interval for metadatagetmode to quickly gather metadata.
2536
 
        * src/BtSetup.cc
2537
 
 
2538
 
2010-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2539
 
 
2540
 
        Release 1.9.0
2541
 
 
2542
 
2010-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2543
 
 
2544
 
        Updated po templates.
2545
 
        * po/aria2.pot
2546
 
 
2547
 
2010-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2548
 
 
2549
 
        Updated doc.
2550
 
        * doc/aria2c.1.txt
2551
 
 
2552
 
2010-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2553
 
 
2554
 
        Documented about Metalink4 and LPD in README
2555
 
        * RADME
2556
 
 
2557
 
2010-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2558
 
 
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
2565
 
 
2566
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2567
 
 
2568
 
        Changed log level from error to info for DHT message send error.
2569
 
        * src/DHTMessageDispatcherImpl.cc
2570
 
 
2571
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2572
 
 
2573
 
        Inspect all xt in magnet to find urn:btih.
2574
 
        * src/bittorrent_helper.cc
2575
 
        * test/BittorrentHelperTest.cc
2576
 
 
2577
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2578
 
 
2579
 
        Use global option for DHTSetup.
2580
 
        * src/DHTSetup.cc
2581
 
        * src/DHTSetup.h
2582
 
        * src/RequestGroup.cc
2583
 
 
2584
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2585
 
 
2586
 
        Added bt-enable-lpt, reuse-uri
2587
 
        and {http,https,ftp,all}-proxy-{user,passwd} options to -i list
2588
 
        options.
2589
 
        * doc/aria2c.1.txt
2590
 
        * doc/xmlrpc/aria2rpc
2591
 
        * src/download_helper.cc
2592
 
 
2593
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2594
 
 
2595
 
        Use global option for PREF_LISTEN_PORT and PREF_BT_LPD_INTERFACE.
2596
 
        * src/BtSetup.cc
2597
 
 
2598
 
2010-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2599
 
 
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.
2603
 
        * doc/aria2c.1.txt
2604
 
        * src/OptionHandlerFactory.cc
2605
 
        * src/OptionHandlerImpl.h
2606
 
        * src/prefs.cc
2607
 
        * src/prefs.h
2608
 
        * src/usage_text.h
2609
 
        * test/OptionHandlerTest.cc
2610
 
 
2611
 
2010-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2612
 
 
2613
 
        Updated Russian and Simplified Chinese translation. Thanks to all
2614
 
        translators.
2615
 
        * po/ru.po
2616
 
        * po/zh_CN.po
2617
 
 
2618
 
2010-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2619
 
 
2620
 
        Updated po templates.
2621
 
        * po/aria2.pot
2622
 
 
2623
 
2010-03-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2624
 
 
2625
 
        For LPD sockets, bind IN_ADDRANY because binding multicast address
2626
 
        fails under Windows.
2627
 
        * src/LpdMessageReceiver.cc
2628
 
        * test/LpdMessageDispatcherTest.cc
2629
 
 
2630
 
2010-03-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2631
 
 
2632
 
        Fixed the bug that error message is not propagated to Exception.
2633
 
        * src/SocketCore.cc
2634
 
 
2635
 
2010-03-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2636
 
 
2637
 
        Documented --bt-lpd-interface option in man page.
2638
 
        * doc/aria2c.1.txt
2639
 
 
2640
 
2010-03-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2641
 
 
2642
 
        Bump up version number to 1.9.0
2643
 
        * configure.ac
2644
 
 
2645
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2646
 
 
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
2651
 
 
2652
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2653
 
 
2654
 
        Added debug logs.
2655
 
        * src/FileEntry.cc
2656
 
        * src/SegmentMan.cc
2657
 
 
2658
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2659
 
 
2660
 
        Fixed unit test error with mingw32 build.
2661
 
        * test/LpdMessageReceiverTest.cc
2662
 
 
2663
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2664
 
 
2665
 
        Updated automake-1.11.1
2666
 
 
2667
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2668
 
 
2669
 
        Fixed compile error and unit test error without openssl and
2670
 
        gnutls.
2671
 
        * src/MetalinkParserController.cc
2672
 
        * test/MetalinkProcessorTest.cc
2673
 
 
2674
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2675
 
 
2676
 
        Fixed unitest fails if openssl doesn't support sha-256.
2677
 
        * src/MetalinkParserStateV4Impl.cc
2678
 
        * test/MetalinkProcessorTest.cc
2679
 
 
2680
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2681
 
 
2682
 
        Wait until message arrives(again)
2683
 
        * test/LpdMessageReceiverTest.cc
2684
 
 
2685
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2686
 
 
2687
 
        Added missing wallclock.h to SRCS.
2688
 
        * src/Makefile.am
2689
 
 
2690
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2691
 
 
2692
 
        Fixed compile error with --disable-bittorrent
2693
 
        * test/Metalink2RequestGroupTest.cc
2694
 
        * test/MetalinkParserControllerTest.cc
2695
 
 
2696
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2697
 
 
2698
 
        Added --reuse-uri option. This option has existed quite long, but
2699
 
        been hidden.
2700
 
        * doc/aria2c.1.txt
2701
 
        * src/OptionHandlerFactory.cc
2702
 
        * src/usage_text.h
2703
 
 
2704
 
2010-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2705
 
 
2706
 
        Ignore filename parameter if it contains directory traversal
2707
 
        directives.
2708
 
        * src/util.cc
2709
 
        * test/UtilTest.cc
2710
 
 
2711
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2712
 
 
2713
 
        urldecode -> percentDecode
2714
 
        * src/FtpConnection.cc
2715
 
        * src/FtpNegotiationCommand.cc
2716
 
        * src/HttpResponse.cc
2717
 
        * src/Request.cc
2718
 
        * src/magnet.cc
2719
 
        * src/util.cc
2720
 
        * src/util.h
2721
 
        * test/UtilTest.cc
2722
 
 
2723
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2724
 
 
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
2735
 
        * src/util.cc
2736
 
        * src/util.h
2737
 
        * test/DHTAnnouncePeerMessageTest.cc
2738
 
        * test/DHTGetPeersMessageTest.cc
2739
 
        * test/DHTGetPeersReplyMessageTest.cc
2740
 
        * test/UTPexExtensionMessageTest.cc
2741
 
        * test/UtilTest.cc
2742
 
 
2743
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2744
 
 
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
2749
 
 
2750
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2751
 
 
2752
 
        url -> uri in Request class.
2753
 
        * src/AbstractCommand.cc
2754
 
        * src/AdaptiveURISelector.cc
2755
 
        * src/DefaultBtAnnounce.cc
2756
 
        * src/FeedbackURISelector.cc
2757
 
        * src/FileEntry.cc
2758
 
        * src/FileEntry.h
2759
 
        * src/HttpRequest.h
2760
 
        * src/HttpResponse.cc
2761
 
        * src/InitiateConnectionCommandFactory.cc
2762
 
        * src/Metalink2RequestGroup.cc
2763
 
        * src/OptionHandlerImpl.h
2764
 
        * src/ProtocolDetector.cc
2765
 
        * src/Request.cc
2766
 
        * src/Request.h
2767
 
        * src/XmlRpcMethodImpl.cc
2768
 
        * test/AuthConfigFactoryTest.cc
2769
 
        * test/FtpConnectionTest.cc
2770
 
        * test/HttpRequestTest.cc
2771
 
        * test/HttpResponseTest.cc
2772
 
        * test/RequestTest.cc
2773
 
 
2774
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2775
 
 
2776
 
        Added getServers XML-RPC method.
2777
 
        * doc/aria2c.1.txt
2778
 
        * src/FileEntry.h
2779
 
        * src/XmlRpcMethodFactory.cc
2780
 
        * src/XmlRpcMethodImpl.cc
2781
 
        * src/XmlRpcMethodImpl.h
2782
 
 
2783
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2784
 
 
2785
 
        Pool request when download finished.
2786
 
        * src/DownloadCommand.cc
2787
 
 
2788
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2789
 
 
2790
 
        Made 'fileIndex' parameter in aria2.changeUri XML-RPC method
2791
 
        1-based.
2792
 
        * doc/aria2c.1.txt
2793
 
        * src/XmlRpcMethodImpl.cc
2794
 
        * test/XmlRpcMethodTest.cc
2795
 
 
2796
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2797
 
 
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
2803
 
 
2804
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2805
 
 
2806
 
        Added aria2.forceRemove XML-RPC method.
2807
 
        * doc/aria2c.1.txt
2808
 
        * src/XmlRpcMethodFactory.cc
2809
 
        * src/XmlRpcMethodImpl.cc
2810
 
        * src/XmlRpcMethodImpl.h
2811
 
 
2812
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2813
 
 
2814
 
        Added debug log.
2815
 
        * src/AbstractCommand.cc
2816
 
 
2817
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2818
 
 
2819
 
        Create CreateRequestCommand to the number of -s/-C when URIs are
2820
 
        added by XML-RPC.
2821
 
        * src/RequestGroup.cc
2822
 
        * src/RequestGroup.h
2823
 
        * src/XmlRpcMethodImpl.cc
2824
 
 
2825
 
2010-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2826
 
 
2827
 
        Added 'status' key to the response of getUri XML-RPC method.
2828
 
        * doc/aria2c.1.txt
2829
 
        * src/XmlRpcMethodImpl.cc
2830
 
 
2831
 
2010-03-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2832
 
 
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
2838
 
        * src/ServerStat.cc
2839
 
        * src/SpeedCalc.cc
2840
 
 
2841
 
2010-03-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2842
 
 
2843
 
        Added changeUri XML-RPC method.  This method removes/adds URIs
2844
 
        dynamically.
2845
 
        * doc/aria2c.1.txt
2846
 
        * src/AbstractCommand.cc
2847
 
        * src/DownloadContext.cc
2848
 
        * src/DownloadContext.h
2849
 
        * src/FileEntry.cc
2850
 
        * src/FileEntry.h
2851
 
        * src/Request.cc
2852
 
        * src/Request.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
2860
 
 
2861
 
2010-03-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2862
 
 
2863
 
        Rewritten copy ctor of RequestSlot to use initialization list.
2864
 
        * src/RequestSlot.h
2865
 
 
2866
 
2010-03-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2867
 
 
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
2879
 
        * src/DHTBucket.cc
2880
 
        * src/DHTGetPeersCommand.cc
2881
 
        * src/DHTMessageTrackerEntry.cc
2882
 
        * src/DHTNode.cc
2883
 
        * src/DHTPeerAnnounceEntry.cc
2884
 
        * src/DHTPeerAnnounceStorage.cc
2885
 
        * src/DHTSetup.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
2893
 
        * src/FileEntry.cc
2894
 
        * src/HttpServerBodyCommand.cc
2895
 
        * src/HttpServerCommand.cc
2896
 
        * src/HttpServerResponseCommand.cc
2897
 
        * src/LpdMessageDispatcher.cc
2898
 
        * src/MultiUrlRequestInfo.cc
2899
 
        * src/Peer.cc
2900
 
        * src/Peer.h
2901
 
        * src/PeerAbstractCommand.cc
2902
 
        * src/PeerStat.h
2903
 
        * src/RequestSlot.cc
2904
 
        * src/RequestSlot.h
2905
 
        * src/SegmentMan.cc
2906
 
        * src/ServerStatMan.cc
2907
 
        * src/SleepCommand.cc
2908
 
        * src/SpeedCalc.cc
2909
 
        * src/SpeedCalc.h
2910
 
        * src/TimeA2.cc
2911
 
        * src/TimeA2.h
2912
 
        * src/TimeBasedCommand.cc
2913
 
        * src/TimeSeedCriteria.h
2914
 
        * src/UTMetadataRequestTracker.h
2915
 
        * src/UTPexExtensionMessage.cc
2916
 
        * src/wallclock.h
2917
 
 
2918
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2919
 
 
2920
 
        Fixed the bug that util::itos(INT64_MIN) fails.
2921
 
        * src/util.cc
2922
 
        * src/util.h
2923
 
        * test/UtilTest.cc
2924
 
 
2925
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2926
 
 
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
2932
 
 
2933
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2934
 
 
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
2943
 
 
2944
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2945
 
 
2946
 
        Don't use hash for Peer::id. Simple concatenation of ip address
2947
 
        and port is enough.
2948
 
        * src/Peer.cc
2949
 
        * test/PeerTest.cc
2950
 
 
2951
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2952
 
 
2953
 
        Enclosed log of DHTMessage::toString() with Logger::info().
2954
 
        * src/DHTMessageDispatcherImpl.cc
2955
 
        * src/DHTMessageReceiver.cc
2956
 
 
2957
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2958
 
 
2959
 
        Rewritten util::toHex().
2960
 
        * src/util.cc
2961
 
 
2962
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2963
 
 
2964
 
        Removed SocketBuffer::feedAndSend(). Renamed
2965
 
        SocketBuffer::feedSendBuffer() as SocketBuffer::pushStr().
2966
 
        * src/FtpConnection.cc
2967
 
        * src/HttpConnection.cc
2968
 
        * src/HttpServer.cc
2969
 
        * src/MSEHandshake.cc
2970
 
        * src/PeerConnection.cc
2971
 
        * src/SocketBuffer.cc
2972
 
        * src/SocketBuffer.h
2973
 
 
2974
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2975
 
 
2976
 
        Removed unused PeerConnection::sendMessage(). Updated doc.
2977
 
        * src/PeerConnection.cc
2978
 
        * src/PeerConnection.h
2979
 
 
2980
 
2010-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
2981
 
 
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
3028
 
 
3029
 
2010-03-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3030
 
 
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
3034
 
        string.
3035
 
        * src/SocketBuffer.cc
3036
 
        * src/SocketBuffer.h
3037
 
 
3038
 
2010-03-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3039
 
 
3040
 
        Removed unused FileEntry::extracted
3041
 
        * src/FileEntry.cc
3042
 
        * src/FileEntry.h
3043
 
 
3044
 
2010-03-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3045
 
 
3046
 
        Wait until data arrives.
3047
 
        * test/LpdMessageReceiverTest.cc
3048
 
 
3049
 
2010-03-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3050
 
 
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
3058
 
        * src/util.cc
3059
 
        * src/util.h
3060
 
        * test/MetalinkParserControllerTest.cc
3061
 
        * test/MetalinkProcessorTest.cc
3062
 
        * test/metalink4.xml
3063
 
 
3064
 
2010-03-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3065
 
 
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
3073
 
        * test/Makefile.am
3074
 
        * test/MetalinkProcessorTest.cc
3075
 
        * test/metalink4-attrs.xml: Removed
3076
 
        * test/metalink4-dirtraversal.xml: Removed
3077
 
 
3078
 
2010-03-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3079
 
 
3080
 
        Added test for Metaurl transaction.
3081
 
        * src/MetalinkParserController.cc
3082
 
        * test/MetalinkParserControllerTest.cc
3083
 
 
3084
 
2010-03-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3085
 
 
3086
 
        Avoid costly BtMessage::toString() if info level log is not
3087
 
        required.
3088
 
        * src/DefaultBtInteractive.cc
3089
 
        * src/Logger.h
3090
 
        * src/SimpleBtMessage.cc
3091
 
 
3092
 
2010-03-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3093
 
 
3094
 
        Reserved vector elements based on profiler results.
3095
 
        * src/DefaultBtInteractive.cc
3096
 
        * src/DefaultBtProgressInfoFile.cc
3097
 
 
3098
 
2010-03-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3099
 
 
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.
3103
 
 
3104
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3105
 
 
3106
 
        Use vector instead of deque for containers which is used for
3107
 
        mostly read-only purpose.
3108
 
 
3109
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3110
 
 
3111
 
        Fixed typo
3112
 
        * test/Makefile.am
3113
 
 
3114
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3115
 
 
3116
 
        Added metalink4-groupbymetaurl.xml to EXTRA_DIST
3117
 
        * test/Makefile.am
3118
 
 
3119
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3120
 
 
3121
 
        Small optimization: In updateTransferStatFor(), don't search peer
3122
 
        ID twice.
3123
 
        * src/DefaultPeerStorage.cc
3124
 
 
3125
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3126
 
 
3127
 
        Use vector instead of deque for MetalinkEntry and MetalinkResource
3128
 
        objects.
3129
 
        * src/Metalink2RequestGroup.cc
3130
 
        * src/Metalink2RequestGroup.h
3131
 
        * src/MetalinkEntry.cc
3132
 
        * src/MetalinkEntry.h
3133
 
        * src/MetalinkHelper.cc
3134
 
        * src/MetalinkHelper.h
3135
 
        * src/Metalinker.cc
3136
 
        * src/Metalinker.h
3137
 
        * src/main.cc
3138
 
        * test/MetalinkEntryTest.cc
3139
 
        * test/MetalinkHelperTest.cc
3140
 
        * test/MetalinkProcessorTest.cc
3141
 
        * test/MetalinkerTest.cc
3142
 
 
3143
 
2010-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3144
 
 
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
3150
 
 
3151
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3152
 
 
3153
 
        Use vector instead of deque for ChunkChecksum.
3154
 
        * src/ChunkChecksum.h
3155
 
        * src/MetalinkParserController.cc
3156
 
        * src/MetalinkParserController.h
3157
 
 
3158
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3159
 
 
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
3168
 
 
3169
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3170
 
 
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
3180
 
        * src/util.cc
3181
 
        * src/util.h
3182
 
        * test/UtilTest.cc
3183
 
 
3184
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3185
 
 
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
3192
 
 
3193
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3194
 
 
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
3202
 
        * src/message.h
3203
 
        * test/BittorrentHelperTest.cc
3204
 
        * test/Makefile.am
3205
 
        * test/MetalinkProcessorTest.cc
3206
 
        * test/metalink3-dirtraversal.xml
3207
 
        * test/test.xml
3208
 
 
3209
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3210
 
 
3211
 
        Removed useless comment
3212
 
        * src/MetalinkParserStateV4Impl.cc
3213
 
 
3214
 
2010-02-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3215
 
 
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
3220
 
        * src/FileEntry.h
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
3236
 
 
3237
 
2010-02-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3238
 
 
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
3248
 
 
3249
 
2010-02-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3250
 
 
3251
 
        Added MetalinkMetaurl class. It corresponds to metalink:metaurl
3252
 
        element.
3253
 
        * src/Makefile.am
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
3266
 
 
3267
 
2010-02-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3268
 
 
3269
 
        Added Metalink4 support. Currently, name attribute of
3270
 
        metalink::metaurl is ignored and multi-file torrent cannot be used
3271
 
        with Metalink4.
3272
 
        * doc/aria2c.1.txt
3273
 
        * src/DownloadHandlerConstants.cc
3274
 
        * src/ExpatMetalinkProcessor.cc
3275
 
        * src/Makefile.am
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
3292
 
        * src/Metalinker.cc
3293
 
        * src/RequestGroup.cc
3294
 
        * src/RequestGroup.h
3295
 
        * src/XML2SAXMetalinkProcessor.cc
3296
 
        * src/messageDigest.cc
3297
 
        * src/util.cc
3298
 
        * src/util.h
3299
 
        * test/Makefile.am
3300
 
        * test/MetalinkEntryTest.cc
3301
 
        * test/MetalinkParserControllerTest.cc
3302
 
        * test/MetalinkProcessorTest.cc
3303
 
        * test/MetalinkerTest.cc
3304
 
        * test/UtilTest.cc
3305
 
        * test/metalink4-attrs.xml
3306
 
        * test/metalink4-dirtraversal.xml
3307
 
        * test/metalink4.xml
3308
 
 
3309
 
2010-02-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3310
 
 
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.
3314
 
        * src/BtSetup.cc
3315
 
        * src/SocketCore.cc
3316
 
        * src/SocketCore.h
3317
 
 
3318
 
2010-02-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3319
 
 
3320
 
        Return SharedHandle<LpdMessage>(new LpdMessage()) if received data
3321
 
        is bad in LpdMessageReceiver.
3322
 
        * src/LpdMessage.h
3323
 
        * src/LpdMessageReceiver.cc
3324
 
        * src/LpdMessageReceiver.h
3325
 
        * src/LpdReceiveMessageCommand.cc
3326
 
        * test/LpdMessageReceiverTest.cc
3327
 
 
3328
 
2010-02-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3329
 
 
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.
3334
 
        * src/BtSetup.cc
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
3342
 
        * src/SocketCore.cc
3343
 
        * src/SocketCore.h
3344
 
        * src/prefs.cc
3345
 
        * src/prefs.h
3346
 
        * src/usage_text.h
3347
 
        * test/LpdMessageDispatcherTest.cc
3348
 
        * test/LpdMessageReceiverTest.cc
3349
 
 
3350
 
2010-02-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3351
 
 
3352
 
        Put the portion of code to get interface addresses in
3353
 
        SocketCore::bindAddress() into newly added getInterfaceAddress().
3354
 
        * src/SocketCore.cc
3355
 
        * src/SocketCore.h
3356
 
 
3357
 
2010-02-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3358
 
 
3359
 
        Rewritten util::parseInt() and parseUInt()
3360
 
        * src/util.cc
3361
 
 
3362
 
2010-02-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3363
 
 
3364
 
        Fixed compile error with mingw32 cross compiler. Defined
3365
 
        a2_sockopt_t as void* for the target systems other than mingw32.
3366
 
        * src/SocketCore.cc
3367
 
        * src/a2netcompat.h
3368
 
 
3369
 
2010-02-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3370
 
 
3371
 
        Removed 'always true' condition
3372
 
        * src/util.cc
3373
 
 
3374
 
2010-02-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3375
 
 
3376
 
        Documented --bt-enable-lpd option in man page.
3377
 
        * doc/aria2c.1.txt
3378
 
 
3379
 
2010-02-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3380
 
 
3381
 
        Added Local Peer Discovery. It is disabled by default. Use
3382
 
        --bt-enable-lpd to enable the function.
3383
 
        * src/BtConstants.h
3384
 
        * src/BtSetup.cc
3385
 
        * src/LpdDispatchMessageCommand.cc
3386
 
        * src/LpdDispatchMessageCommand.h
3387
 
        * src/LpdMessage.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
3394
 
        * src/Makefile.am
3395
 
        * src/OptionHandlerFactory.cc
3396
 
        * src/Peer.cc
3397
 
        * src/Peer.h
3398
 
        * src/PeerInteractionCommand.cc
3399
 
        * src/SocketCore.cc
3400
 
        * src/SocketCore.h
3401
 
        * src/prefs.cc
3402
 
        * src/prefs.h
3403
 
        * src/usage_text.h
3404
 
        * src/util.cc
3405
 
        * src/util.h
3406
 
        * test/LpdMessageDispatcherTest.cc
3407
 
        * test/LpdMessageReceiverTest.cc
3408
 
        * test/Makefile.am
3409
 
 
3410
 
2010-02-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3411
 
 
3412
 
        User-defined custom request headers specified by --header option
3413
 
        now override builtin headers if they have same name.
3414
 
        * src/HttpRequest.cc
3415
 
        * src/HttpRequest.h
3416
 
        * test/HttpRequestTest.cc
3417
 
 
3418
 
2010-02-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3419
 
 
3420
 
        Rewirtten util::isNumber()
3421
 
        * src/util.cc
3422
 
 
3423
 
2010-02-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3424
 
 
3425
 
        Reverted changes in r1893. setlocale(LC_CTYPE, "") is needed
3426
 
        because without it localized error messages are not printed
3427
 
        correctly.
3428
 
        * src/Platform.cc
3429
 
 
3430
 
2010-02-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3431
 
 
3432
 
        Added unit tests for util::getContentDispositionFilename() from
3433
 
        http://greenbytes.de/tech/tc2231/ Fixed the function so that added
3434
 
        tests are passed.
3435
 
        * src/util.cc
3436
 
        * test/UtilTest.cc
3437
 
 
3438
 
2010-02-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3439
 
 
3440
 
        Removed setlocale() for LC_CTYPE. It may affect isxdigit in
3441
 
        util.cc
3442
 
        * src/Platform.cc
3443
 
 
3444
 
2010-02-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3445
 
 
3446
 
        Support RFC2231 "Parameter Value Character Set and Language
3447
 
        Information" in Content-Disposition header.
3448
 
        * src/HttpResponse.cc
3449
 
        * src/util.cc
3450
 
        * src/util.h
3451
 
        * test/UtilTest.cc
3452
 
 
3453
 
2010-02-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3454
 
 
3455
 
        Print CXXFLAGS
3456
 
        * configure.ac
3457
 
 
3458
 
2010-02-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3459
 
 
3460
 
        Small optimization for A2_WOULDBLOCK(e)
3461
 
        * src/SocketCore.cc
3462
 
 
3463
 
2010-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3464
 
 
3465
 
        Removed test file
3466
 
        * test/CookieStorageTest.cc
3467
 
 
3468
 
2010-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3469
 
 
3470
 
        Check both EAGAIN and EWOULDBLOCK
3471
 
        * src/SocketCore.cc
3472
 
 
3473
 
2010-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3474
 
 
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
3480
 
        * src/SocketCore.cc
3481
 
 
3482
 
2010-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3483
 
 
3484
 
        Fixed error code handling so that it can handle Winsock2 error
3485
 
        code.
3486
 
        * src/SocketCore.cc
3487
 
        * src/SocketCore.h
3488
 
 
3489
 
2010-02-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3490
 
 
3491
 
        Bump up version number to 1.9.0a
3492
 
        * configure.ac
3493
 
        * doc/aria2c.1.txt
3494
 
 
3495
 
2010-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3496
 
 
3497
 
        Fixed the bug that aria2 doesn't handle return value if error
3498
 
        occurred before download begins.
3499
 
        * src/MultiUrlRequestInfo.cc
3500
 
        * src/main.cc
3501
 
 
3502
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3503
 
 
3504
 
        Removed SegmentManFactory class.
3505
 
        * src/AbstractSegmentManFactory.h
3506
 
        * src/DefaultSegmentManFactory.cc
3507
 
        * src/DefaultSegmentManFactory.h
3508
 
        * src/Makefile.am
3509
 
        * src/RequestGroup.cc
3510
 
        * src/RequestGroup.h
3511
 
        * src/SegmentManFactory.h
3512
 
 
3513
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3514
 
 
3515
 
        Destroyed digest context after getting calculated hash.
3516
 
        * src/Piece.cc
3517
 
        * src/Piece.h
3518
 
 
3519
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3520
 
 
3521
 
        Removed BitfieldManFactory class.
3522
 
        * src/BitfieldManFactory.cc
3523
 
        * src/BitfieldManFactory.h
3524
 
        * src/DefaultPieceStorage.cc
3525
 
        * src/Makefile.am
3526
 
        * src/PeerSessionResource.cc
3527
 
        * src/Piece.cc
3528
 
        * src/main.cc
3529
 
        * test/DefaultPieceStorageTest.cc
3530
 
 
3531
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3532
 
 
3533
 
        Removed unused methods from BitfieldMan class.  Moved
3534
 
        getFirstMissingIndex to bitfield.h. Updated doc for BitfieldMan
3535
 
        class.
3536
 
        * src/BitfieldMan.cc
3537
 
        * src/BitfieldMan.h
3538
 
        * src/BitfieldManFactory.cc
3539
 
        * src/BitfieldManFactory.h
3540
 
        * src/bitfield.h
3541
 
        * src/main.cc
3542
 
        * test/BitfieldManTest.cc
3543
 
        * test/DefaultPieceStorageTest.cc
3544
 
 
3545
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3546
 
 
3547
 
        Moved getFirstNMissingIndex to bitfield.h and made it return the
3548
 
        number of appended indexes.
3549
 
        * src/BitfieldMan.cc
3550
 
        * src/BitfieldMan.h
3551
 
        * src/Piece.cc
3552
 
        * src/Piece.h
3553
 
        * src/bitfield.h
3554
 
        * test/BitfieldManTest.cc
3555
 
 
3556
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3557
 
 
3558
 
        Added more tests.
3559
 
        * test/BitfieldManTest.cc
3560
 
 
3561
 
2010-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3562
 
 
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
3568
 
        * src/BitfieldMan.h
3569
 
        * src/DefaultBtRequestFactory.cc
3570
 
        * src/Piece.cc
3571
 
        * src/Piece.h
3572
 
        * test/BitfieldManTest.cc
3573
 
 
3574
 
2010-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3575
 
 
3576
 
        Use std::make_pair(...)
3577
 
        * src/DHTMessageTracker.cc
3578
 
 
3579
 
2010-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3580
 
 
3581
 
        Use std::make_pair(...)
3582
 
        * src/bittorrent_helper.cc
3583
 
 
3584
 
2010-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3585
 
 
3586
 
        urlencode(removeFragment(...)) in parseUrl(...)
3587
 
        * src/Request.cc
3588
 
 
3589
 
2010-02-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3590
 
 
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
3598
 
        * src/DHTBucket.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
3605
 
        * src/DHTSetup.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
3618
 
        * src/FileEntry.cc
3619
 
        * src/FtpNegotiationCommand.cc
3620
 
        * src/HandshakeExtensionMessage.cc
3621
 
        * src/HttpListenCommand.cc
3622
 
        * src/HttpServer.cc
3623
 
        * src/HttpSkipResponseCommand.cc
3624
 
        * src/IteratableChunkChecksumValidator.cc
3625
 
        * src/Logger.h
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
3635
 
        * src/SegmentMan.cc
3636
 
        * src/SelectEventPoll.cc
3637
 
        * src/ServerStat.cc
3638
 
        * src/SimpleBtMessage.cc
3639
 
        * src/SocketCore.cc
3640
 
        * src/TrackerWatcherCommand.cc
3641
 
        * src/UTMetadataDataExtensionMessage.cc
3642
 
        * src/UTMetadataRequestFactory.cc
3643
 
        * src/UTMetadataRequestTracker.cc
3644
 
        * src/XmlRpcMethod.cc
3645
 
 
3646
 
2010-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3647
 
 
3648
 
        Changed log level from debug to info
3649
 
        * src/BtDependency.cc
3650
 
        * src/BtPostDownloadHandler.cc
3651
 
 
3652
 
2010-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3653
 
 
3654
 
        Removed unused PeerSessionResource::_latency.
3655
 
        * src/BtConstants.h
3656
 
        * src/BtPieceMessage.cc
3657
 
        * src/Peer.cc
3658
 
        * src/Peer.h
3659
 
        * src/PeerSessionResource.cc
3660
 
        * src/PeerSessionResource.h
3661
 
        * test/PeerSessionResourceTest.cc
3662
 
 
3663
 
2010-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3664
 
 
3665
 
        Fixed the bug that --file-allocation=falloc doesn't work with
3666
 
        single file download.
3667
 
        * src/AbstractSingleDiskAdaptor.cc
3668
 
 
3669
 
2010-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3670
 
 
3671
 
        Release 1.8.2
3672
 
 
3673
 
2010-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3674
 
 
3675
 
        Added Portuguese translation. Updated Ukrainian and Spanish
3676
 
        translation. Thanks to all translators.
3677
 
        * po/LINGUAS
3678
 
        * po/es.po
3679
 
        * po/pt.po
3680
 
        * po/uk.po
3681
 
 
3682
 
2010-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3683
 
 
3684
 
        Remove fragment from redirected URI.
3685
 
        * src/Request.cc
3686
 
        * test/RequestTest.cc
3687
 
 
3688
 
2010-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3689
 
 
3690
 
        Updated po templates.
3691
 
        * po/aria2.pot
3692
 
 
3693
 
2010-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3694
 
 
3695
 
        Drop legacy ifdef for ares support and code cleanup.
3696
 
        * src/AsyncNameResolver.cc
3697
 
        * src/AsyncNameResolver.h
3698
 
 
3699
 
2010-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3700
 
 
3701
 
        Call ares_library_init and ares_library_cleanup if they are
3702
 
        available. Some code cleanups.
3703
 
        * src/Platform.cc
3704
 
 
3705
 
2010-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3706
 
 
3707
 
        Call ares_process_fd() each time after epoll to handle timeout.
3708
 
        * src/EpollEventPoll.cc
3709
 
        * src/EpollEventPoll.h
3710
 
 
3711
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3712
 
 
3713
 
        Suppressed type-cast compiler warning
3714
 
        * src/CookieStorage.cc
3715
 
 
3716
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3717
 
 
3718
 
        Fixed compile error on Mac OS X.
3719
 
        * src/CookieStorage.h
3720
 
 
3721
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3722
 
 
3723
 
        Removed cookietest.txt from Makefile.am
3724
 
        * test/Makefile.am
3725
 
 
3726
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3727
 
 
3728
 
        Updated version number in man page.
3729
 
        * doc/aria2c.1.txt
3730
 
 
3731
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3732
 
 
3733
 
        Rewritten help message for --allow-overwrite option.
3734
 
        * doc/aria2c.1.txt
3735
 
        * src/usage_text.h
3736
 
 
3737
 
2010-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3738
 
 
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,
3742
 
        comment, etc.
3743
 
        * doc/aria2c.1.txt
3744
 
        * src/XmlRpcMethodImpl.cc
3745
 
        * src/XmlRpcMethodImpl.h
3746
 
        * test/XmlRpcMethodTest.cc
3747
 
 
3748
 
2010-01-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3749
 
 
3750
 
        Removed parse(std::istream&) and parse(const std::string&) from
3751
 
        CookieParser.
3752
 
        * src/CookieParser.cc
3753
 
        * src/CookieParser.h
3754
 
        * test/CookieParserTest.cc
3755
 
        * test/cookietest.txt: Removed
3756
 
 
3757
 
2010-01-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3758
 
 
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.
3763
 
        * src/Cookie.h
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
3772
 
 
3773
 
2010-01-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3774
 
 
3775
 
        Removed RequestGroup::initSegmentMan(). Guaranteed that either
3776
 
        both _pieceStorage and _segmentMan are initialized or they are
3777
 
        not.
3778
 
        * src/RequestGroup.cc
3779
 
        * src/RequestGroup.h
3780
 
        * test/BtDependencyTest.cc
3781
 
 
3782
 
2010-01-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3783
 
 
3784
 
        Bump up version number to 1.8.2
3785
 
        * configure.ac
3786
 
 
3787
 
2010-01-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3788
 
 
3789
 
        Replaced "." with A2STR::DOT_C
3790
 
        * src/AbstractCommand.cc
3791
 
        * src/Cookie.cc
3792
 
        * src/DownloadContext.cc
3793
 
        * src/FtpConnection.cc
3794
 
        * src/RequestGroup.cc
3795
 
        * src/util.cc
3796
 
 
3797
 
2010-01-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3798
 
 
3799
 
        Replaced isNumberAndDotsNotation() with isNumericHost().
3800
 
        isNumericHost() can handle IPv6 address.
3801
 
        * src/Cookie.cc
3802
 
        * src/CookieStorage.cc
3803
 
        * src/util.cc
3804
 
        * src/util.h
3805
 
        * test/CookieTest.cc
3806
 
        * test/UtilTest.cc
3807
 
 
3808
 
2010-01-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3809
 
 
3810
 
        Included A2STR.h
3811
 
        * src/CookieStorage.cc
3812
 
 
3813
 
2010-01-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3814
 
 
3815
 
        Rewritten Cookie storage.
3816
 
        * src/Cookie.cc
3817
 
        * src/Cookie.h
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
3826
 
        * test/TestUtil.h
3827
 
        * test/a2functionalTest.cc
3828
 
 
3829
 
2010-01-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3830
 
 
3831
 
        Handle redirected URI which is not properly percent encoded.
3832
 
        * src/Request.cc
3833
 
        * test/RequestTest.cc
3834
 
 
3835
 
2010-01-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3836
 
 
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.
3841
 
 
3842
 
2010-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3843
 
 
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
3850
 
        * src/File.cc
3851
 
        * src/RequestGroupMan.cc
3852
 
        * src/a2io.h
3853
 
        * test/FileTest.cc
3854
 
 
3855
 
2010-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3856
 
 
3857
 
        Fixed compile error with intel compiler
3858
 
        * src/XmlRpcMethodImpl.cc
3859
 
        * src/XmlRpcMethodImpl.h
3860
 
 
3861
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3862
 
 
3863
 
        Release 1.8.1
3864
 
 
3865
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3866
 
 
3867
 
        Updated Swedish, Russian and Italian translations. Thanks to all
3868
 
        translators.
3869
 
        * po/it.po
3870
 
        * po/ru.po
3871
 
        * po/sv.po
3872
 
 
3873
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3874
 
 
3875
 
        Fixed broken OptionParser::findByName().
3876
 
        * src/OptionParser.cc
3877
 
        * test/OptionParserTest.cc
3878
 
 
3879
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3880
 
 
3881
 
        Fixed test error without BitTorrent support.
3882
 
        * test/XmlRpcMethodTest.cc
3883
 
 
3884
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3885
 
 
3886
 
        Fixed compile error without GNUTLS/OpenSSL.
3887
 
        * src/util.cc
3888
 
 
3889
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3890
 
 
3891
 
        Changed compression level to Z_DEFAULT_COMPRESSION.
3892
 
        * src/GZipEncoder.cc
3893
 
 
3894
 
2010-01-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3895
 
 
3896
 
        Added missing command line options: --http-no-cache,
3897
 
        --bt-save-metadata and --bt-metadata-only.
3898
 
        * doc/xmlrpc/aria2rpc
3899
 
 
3900
 
2010-01-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3901
 
 
3902
 
        aria2 now returns gzip compressed XML-RPC response if XML-RPC
3903
 
        client accepts gzip content encoding.
3904
 
        * src/A2STR.cc
3905
 
        * src/A2STR.h
3906
 
        * src/GZipEncoder.cc
3907
 
        * src/GZipEncoder.h
3908
 
        * src/HttpHeader.cc
3909
 
        * src/HttpHeader.h
3910
 
        * src/HttpServer.cc
3911
 
        * src/HttpServer.h
3912
 
        * src/HttpServerBodyCommand.cc
3913
 
        * src/HttpServerCommand.cc
3914
 
        * src/Makefile.am
3915
 
        * src/XmlRpcResponse.cc
3916
 
        * src/XmlRpcResponse.h
3917
 
        * test/GZipEncoderTest.cc
3918
 
        * test/Makefile.am
3919
 
 
3920
 
2010-01-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3921
 
 
3922
 
        Added XML-RPC client sample code in Python.
3923
 
        * doc/aria2c.1.txt
3924
 
 
3925
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3926
 
 
3927
 
        Updated po templates.
3928
 
        * po/aria2.pot
3929
 
 
3930
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3931
 
 
3932
 
        Bump up version number to 1.8.1
3933
 
        * configure.ac
3934
 
 
3935
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3936
 
 
3937
 
        Added version number to man page. Updated copyright year in man
3938
 
        page.
3939
 
        * doc/aria2c.1.txt
3940
 
 
3941
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3942
 
 
3943
 
        Rewritten toTagString
3944
 
        * src/NameMatchOptionHandler.cc
3945
 
        * test/OptionHandlerTest.cc
3946
 
 
3947
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3948
 
 
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.
3956
 
        * doc/aria2c.1.txt
3957
 
        * src/XmlRpcMethodImpl.cc
3958
 
        * test/XmlRpcMethodTest.cc
3959
 
 
3960
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3961
 
 
3962
 
        Added aria2.getSessionInfo XML-RPC method.  This method returns a
3963
 
        struct containing Session ID, which is generated each time when
3964
 
        aria2 is invoked.
3965
 
        * doc/aria2c.1.txt
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
3973
 
 
3974
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3975
 
 
3976
 
        Moved generateRandomKey() from bittorrent_helper to util.
3977
 
        * src/DHTBucket.cc
3978
 
        * src/DHTNode.cc
3979
 
        * src/bittorrent_helper.cc
3980
 
        * src/bittorrent_helper.h
3981
 
        * src/util.cc
3982
 
        * src/util.h
3983
 
 
3984
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3985
 
 
3986
 
        Updated doc about GID.
3987
 
        * doc/aria2c.1.txt
3988
 
 
3989
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
3990
 
 
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
3995
 
        reversed order.
3996
 
        * doc/aria2c.1.txt
3997
 
        * src/XmlRpcMethodImpl.cc
3998
 
        * src/XmlRpcMethodImpl.h
3999
 
        * test/XmlRpcMethodTest.cc
4000
 
 
4001
 
2010-01-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4002
 
 
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.
4010
 
        * doc/aria2c.1.txt
4011
 
        * src/ConsoleStatCalc.cc
4012
 
        * src/ConsoleStatCalc.h
4013
 
        * src/OptionHandlerFactory.cc
4014
 
        * src/main.cc
4015
 
        * src/prefs.cc
4016
 
        * src/prefs.h
4017
 
        * src/usage_text.h
4018
 
 
4019
 
2010-01-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4020
 
 
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.
4024
 
        * doc/aria2c.1.txt
4025
 
        * src/OptionHandlerImpl.h
4026
 
        * src/usage_text.h
4027
 
        * test/OptionHandlerTest.cc
4028
 
 
4029
 
2010-01-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4030
 
 
4031
 
        Code cleanup for proxy URI handling.
4032
 
        * src/AbstractCommand.cc
4033
 
 
4034
 
2010-01-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4035
 
 
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.
4040
 
        * doc/aria2c.1.txt
4041
 
        * src/OptionHandlerFactory.cc
4042
 
        * src/UTMetadataPostDownloadHandler.cc
4043
 
        * src/download_helper.cc
4044
 
        * src/prefs.cc
4045
 
        * src/prefs.h
4046
 
        * src/usage_text.h
4047
 
 
4048
 
2010-01-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4049
 
 
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
4059
 
 
4060
 
2010-01-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4061
 
 
4062
 
        Replaced '/' and '_' with '_' in HTTP/FTP filename.
4063
 
        * src/A2STR.cc
4064
 
        * src/A2STR.h
4065
 
        * src/FtpNegotiationCommand.cc
4066
 
        * src/HttpResponseCommand.cc
4067
 
        * src/util.cc
4068
 
        * src/util.h
4069
 
        * test/UtilTest.cc
4070
 
 
4071
 
2010-01-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4072
 
 
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
4080
 
        * src/util.cc
4081
 
        * src/util.h
4082
 
        * test/UtilTest.cc
4083
 
 
4084
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4085
 
 
4086
 
        Code clean up.
4087
 
        * src/main.cc
4088
 
 
4089
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4090
 
 
4091
 
        Reset GID to 1 when they reach maximum value. Rewritten
4092
 
        CUIDCounter::newID()
4093
 
        * src/CUIDCounter.h
4094
 
        * src/RequestGroup.cc
4095
 
        * src/RequestGroup.h
4096
 
 
4097
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4098
 
 
4099
 
        Documented --http-no-cache option in man page.
4100
 
        * doc/aria2c.1.txt
4101
 
 
4102
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4103
 
 
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
4110
 
        * src/HttpRequest.h
4111
 
        * src/HttpRequestCommand.cc
4112
 
        * src/OptionHandlerFactory.cc
4113
 
        * src/download_helper.cc
4114
 
        * src/prefs.cc
4115
 
        * src/prefs.h
4116
 
        * src/usage_text.h
4117
 
 
4118
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4119
 
 
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
4124
 
        disk.
4125
 
        * src/OptionParser.cc
4126
 
        * src/OptionParser.h
4127
 
 
4128
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4129
 
 
4130
 
        Added following sentance to the help message of --out option:
4131
 
        --out option is ignored when -Z is used.
4132
 
        * doc/aria2c.1.txt
4133
 
        * src/usage_text.h
4134
 
 
4135
 
2010-01-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4136
 
 
4137
 
        Added --bt-save-metadata option to -i list options.
4138
 
        * doc/aria2c.1.txt
4139
 
        * src/download_helper.cc
4140
 
 
4141
 
2010-01-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4142
 
 
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
4149
 
        * src/SocketCore.cc
4150
 
        * src/SocketCore.h
4151
 
        * src/a2netcompat.h
4152
 
        * src/daemon.cc
4153
 
        * src/main.cc
4154
 
 
4155
 
2010-01-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4156
 
 
4157
 
        Fixed typo.
4158
 
        * src/DHTMessageReceiver.cc
4159
 
 
4160
 
2010-01-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4161
 
 
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
4168
 
 
4169
 
2010-01-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4170
 
 
4171
 
        Ignore port message with port=0.
4172
 
        * src/BtPortMessage.cc
4173
 
 
4174
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4175
 
 
4176
 
        Run autoupdate
4177
 
        * configure.ac
4178
 
 
4179
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4180
 
 
4181
 
        Updated autoconf/automake auxiliary files.
4182
 
        * INSTALL
4183
 
        * config.guess
4184
 
        * config.sub
4185
 
        * depcomp
4186
 
        * install-sh
4187
 
        * m4/intldir.m4
4188
 
        * missing
4189
 
        * mkinstalldirs
4190
 
 
4191
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4192
 
 
4193
 
        Removed unused function.
4194
 
        * src/SharedHandle.h
4195
 
 
4196
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4197
 
 
4198
 
        Find pooled socket using all cached addresses.
4199
 
        * src/DNSCache.h
4200
 
        * src/DownloadEngine.cc
4201
 
        * src/DownloadEngine.h
4202
 
        * src/InitiateConnectionCommand.cc
4203
 
 
4204
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4205
 
 
4206
 
        Updated copyright year.
4207
 
        * src/version_usage.cc
4208
 
 
4209
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4210
 
 
4211
 
        Pool connection if _contentEncodingDecoder is used and server
4212
 
        supports persistent connection.
4213
 
        * src/HttpDownloadCommand.cc
4214
 
 
4215
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4216
 
 
4217
 
        Updated doc.
4218
 
        * src/DownloadCommand.cc
4219
 
 
4220
 
2010-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4221
 
 
4222
 
        Untabify. Fixed one line in copyright which is longer than 80
4223
 
        columns.
4224
 
        * src
4225
 
        * test
4226
 
 
4227
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4228
 
 
4229
 
        Release 1.8.0
4230
 
 
4231
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4232
 
 
4233
 
        Updated po templates.
4234
 
        * po/aria2.pot
4235
 
 
4236
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4237
 
 
4238
 
        Documented --bt-save-metadata option in man page.
4239
 
        * doc/aria2c.1.txt
4240
 
 
4241
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4242
 
 
4243
 
        Fixed usage of --bt-save-metadata option.
4244
 
        * src/usage_text.h
4245
 
 
4246
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4247
 
 
4248
 
        Updated po templates.
4249
 
        * po/aria2.pot
4250
 
 
4251
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4252
 
 
4253
 
        Get rid of AI_ADDRCONFIG when --disable-ipv6 opiton is given. It
4254
 
        causes name resolution error when none of network interface has
4255
 
        IPv4 address.
4256
 
        * src/main.cc
4257
 
 
4258
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4259
 
 
4260
 
        Bump up version number to 1.8.0.
4261
 
        * configure.ac
4262
 
 
4263
 
2009-12-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4264
 
 
4265
 
        Use info hash as a filename when saving BitTorrent metadata.
4266
 
        * src/UTMetadataPostDownloadHandler.cc
4267
 
        * test/UTMetadataPostDownloadHandlerTest.cc
4268
 
 
4269
 
2009-12-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4270
 
 
4271
 
        Documented system.multicall XML-RPC method in man page.
4272
 
        * doc/aria2c.1.txt
4273
 
 
4274
 
2009-12-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4275
 
 
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
4279
 
 
4280
 
2009-12-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4281
 
 
4282
 
        Defined method name in XmlRpcMethod subclasses.
4283
 
        * src/XmlRpcMethodFactory.cc
4284
 
        * src/XmlRpcMethodImpl.cc
4285
 
        * src/XmlRpcMethodImpl.h
4286
 
        * test/XmlRpcMethodTest.cc
4287
 
 
4288
 
2009-12-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4289
 
 
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
4297
 
 
4298
 
2009-12-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4299
 
 
4300
 
        Check structure depth when decoding.
4301
 
        * src/bencode.cc
4302
 
        * src/bencode.h
4303
 
        * test/BencodeTest.cc
4304
 
 
4305
 
2009-12-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4306
 
 
4307
 
        Documented tellStopped XML-RPC method in man page.
4308
 
        * doc/aria2c.1.txt
4309
 
 
4310
 
2009-12-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4311
 
 
4312
 
        Added tellStopped XML-RPC method to aria2rpc.
4313
 
        * doc/xmlrpc/aria2rpc
4314
 
 
4315
 
2009-12-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4316
 
 
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
4323
 
 
4324
 
2009-12-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4325
 
 
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
4331
 
        * src/SocketCore.cc
4332
 
        * src/SocketCore.h
4333
 
        * src/a2netcompat.h
4334
 
        * test/AllTest.cc
4335
 
 
4336
 
2009-12-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4337
 
 
4338
 
        Fixed unit test error
4339
 
        * test/UTMetadataPostDownloadHandlerTest.cc
4340
 
 
4341
 
2009-12-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4342
 
 
4343
 
        Defined static string constants for efficiency.
4344
 
        * src/XmlRpcMethodImpl.cc
4345
 
 
4346
 
2009-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4347
 
 
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
4357
 
        * src/message.h
4358
 
        * src/prefs.cc
4359
 
        * src/prefs.h
4360
 
        * src/usage_text.h
4361
 
        * test/UTMetadataDataExtensionMessageTest.cc
4362
 
 
4363
 
2009-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4364
 
 
4365
 
        Added util::saveAs() function. Use it in Signature::save().
4366
 
        * src/Signature.cc
4367
 
        * src/util.cc
4368
 
        * src/util.h
4369
 
 
4370
 
2009-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4371
 
 
4372
 
        Upcase info hash in Magnet URI.
4373
 
        * doc/aria2c.1.txt
4374
 
 
4375
 
2009-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4376
 
 
4377
 
        Refactored RequestGroupMan::changeReservedGroupPosition()
4378
 
        * src/RequestGroupMan.cc
4379
 
 
4380
 
2009-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4381
 
 
4382
 
        Updated the description for aria2.addTorrent XML-RPC method.
4383
 
        * doc/aria2c.1.txt
4384
 
 
4385
 
2009-12-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4386
 
 
4387
 
        Added changePosition to aria2rpc.
4388
 
        * doc/xmlrpc/aria2rpc
4389
 
 
4390
 
2009-12-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4391
 
 
4392
 
        Documented changePosition XML-RPC method in man page.
4393
 
        * doc/aria2c.1.txt
4394
 
 
4395
 
2009-12-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4396
 
 
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
4414
 
 
4415
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4416
 
 
4417
 
        Added getOption and getGlobalOption to aria2rpc.
4418
 
        * doc/xmlrpc/aria2rpc
4419
 
 
4420
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4421
 
 
4422
 
        Documented getOption and getGlobalOption XML-RPC method in man
4423
 
        page
4424
 
        * doc/aria2c.1.txt
4425
 
 
4426
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4427
 
 
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
4433
 
        getOption.
4434
 
        * src/Option.h
4435
 
        * src/XmlRpcMethodFactory.cc
4436
 
        * src/XmlRpcMethodImpl.cc
4437
 
        * src/XmlRpcMethodImpl.h
4438
 
 
4439
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4440
 
 
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
4449
 
 
4450
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4451
 
 
4452
 
        Code cleanup
4453
 
        * src/XmlRpcMethod.cc
4454
 
 
4455
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4456
 
 
4457
 
        Documented about followedBy and belongsTo in man page.
4458
 
        * doc/aria2c.1.txt
4459
 
 
4460
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4461
 
 
4462
 
        Added following 2 keys, followedBy and belongsTo, to the response
4463
 
        of tellStatus.
4464
 
 
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.
4471
 
 
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
4486
 
 
4487
 
2009-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4488
 
 
4489
 
        Assigned BObject in BDE() to avoid segmentation fault when calling
4490
 
        methods of BDE::none().
4491
 
        * src/BDE.cc
4492
 
 
4493
 
2009-12-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4494
 
 
4495
 
        Show info hash in Magnet URI in upper case letters in -S output.
4496
 
        * src/bittorrent_helper.cc
4497
 
        * test/BittorrentHelperTest.cc
4498
 
 
4499
 
2009-12-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4500
 
 
4501
 
        Removed old useless comment
4502
 
        * src/MultiUrlRequestInfo.cc
4503
 
 
4504
 
2009-12-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4505
 
 
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.
4512
 
        * configure.ac
4513
 
 
4514
 
2009-12-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4515
 
 
4516
 
        Release 1.7.2
4517
 
 
4518
 
2009-12-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4519
 
 
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
4524
 
        empty.
4525
 
        * src/RequestGroupMan.cc
4526
 
 
4527
 
2009-12-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4528
 
 
4529
 
        Log listening port for BitTorrent/DHT in notice level.
4530
 
        * src/DHTConnectionImpl.cc
4531
 
        * src/PeerListenCommand.cc
4532
 
 
4533
 
2009-12-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4534
 
 
4535
 
        Updated po templates.
4536
 
        * po/aria2.pot
4537
 
 
4538
 
2009-12-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4539
 
 
4540
 
        Bump up version number to 1.7.2
4541
 
        * configure.ac
4542
 
 
4543
 
2009-12-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4544
 
 
4545
 
        Changed default value of --enable-dht from 'false' to 'true'.
4546
 
        * doc/aria2c.1.txt
4547
 
 
4548
 
2009-12-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4549
 
 
4550
 
        Enabled DHT by default because of Magnet URI support. To disable
4551
 
        DHT, use --enable-dht=false
4552
 
        * src/OptionHandlerFactory.cc
4553
 
 
4554
 
2009-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4555
 
 
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
4561
 
 
4562
 
2009-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4563
 
 
4564
 
        Added --bt-prioritize-piece option to aria2rpc.
4565
 
        * doc/xmlrpc/aria2rpc
4566
 
 
4567
 
2009-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4568
 
 
4569
 
        Refer Magnet URI in --help. Made some cosmetic changes.
4570
 
        * src/version_usage.cc
4571
 
 
4572
 
2009-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4573
 
 
4574
 
        Updated -T and -M option.
4575
 
        * doc/aria2c.1.txt
4576
 
 
4577
 
2009-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4578
 
 
4579
 
        Fixed typo
4580
 
        * doc/aria2c.1.txt
4581
 
 
4582
 
2009-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4583
 
 
4584
 
        Fixed the bug that line separator is missing in horizontal bar.
4585
 
        * doc/xmlrpc/aria2mon
4586
 
 
4587
 
2009-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4588
 
 
4589
 
        Updated usage text for --metalink-file option.
4590
 
        * src/usage_text.h
4591
 
 
4592
 
2009-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4593
 
 
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
4598
 
        * src/a2io.h
4599
 
 
4600
 
2009-12-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4601
 
 
4602
 
        Fixed the bug that aria2 listens wrong port if --interface option
4603
 
        is used.
4604
 
        * src/SocketCore.cc
4605
 
 
4606
 
2009-12-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4607
 
 
4608
 
        Fixed the bug that query parameter in magnet URI is not decoded.
4609
 
        * src/magnet.cc
4610
 
        * test/MagnetTest.cc
4611
 
 
4612
 
2009-12-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4613
 
 
4614
 
        Specified defaultSize as an argument for easy testing.
4615
 
        * src/util.cc
4616
 
        * src/util.h
4617
 
        * test/UtilTest.cc
4618
 
 
4619
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4620
 
 
4621
 
        Release 1.7.1
4622
 
 
4623
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4624
 
 
4625
 
        Bump up version number to 1.7.1
4626
 
        * configure.ac
4627
 
 
4628
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4629
 
 
4630
 
        Fixed the bug --bt-prioritize-piece=tail is not working.
4631
 
        * src/util.cc
4632
 
 
4633
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4634
 
 
4635
 
        Release 1.7.0
4636
 
 
4637
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4638
 
 
4639
 
        Updated po templates.
4640
 
        * po/aria2.pot
4641
 
 
4642
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4643
 
 
4644
 
        Updated help message for --bt-prioritize-piece. Some cosmetic
4645
 
        changes.
4646
 
        * doc/aria2c.1.txt
4647
 
 
4648
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4649
 
 
4650
 
        Set default value for SIZE in --bt-prioritize-piece to 1MiB.
4651
 
        * src/usage_text.h
4652
 
        * src/util.cc
4653
 
        * test/UtilTest.cc
4654
 
 
4655
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4656
 
 
4657
 
        Updated Russian, Ukrainian, German and French translations.
4658
 
        Thanks to all translators involved.
4659
 
        * po/de.po
4660
 
        * po/fr.po
4661
 
        * po/ru.po
4662
 
        * po/uk.po
4663
 
 
4664
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4665
 
 
4666
 
        Mentioned about pkg-config
4667
 
        * README
4668
 
 
4669
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4670
 
 
4671
 
        Fixed typo. Referred --index-out option in BitTorrent notes.
4672
 
        * README
4673
 
 
4674
 
2009-12-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4675
 
 
4676
 
        Store all addresses found by getifaddrs() and getaddrinfo().  In
4677
 
        bind, try all addresses until success
4678
 
        * src/SocketCore.cc
4679
 
        * src/SocketCore.h
4680
 
 
4681
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4682
 
 
4683
 
        Updated po templates.
4684
 
        * po/aria2.pot
4685
 
 
4686
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4687
 
 
4688
 
        Bump up version number to 1.7.0
4689
 
        * configure.ac
4690
 
 
4691
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4692
 
 
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
4702
 
 
4703
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4704
 
 
4705
 
        Documented in man page that if getifaddrs() is missing,
4706
 
        --interface option doesn't accept interface name.
4707
 
        * doc/aria2c.1.txt
4708
 
 
4709
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4710
 
 
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
4715
 
 
4716
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4717
 
 
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
4722
 
 
4723
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4724
 
 
4725
 
        Updated "URI, MAGNET, TORRENT_FILE, METALINK_FILE" section.  Added
4726
 
        text saying DHT is recommended when Magnet URI is provided.
4727
 
        * doc/aria2c.1.txt
4728
 
 
4729
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4730
 
 
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
4735
 
 
4736
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4737
 
 
4738
 
        Added --disable-ipv6 option to disable IPv6.
4739
 
        * doc/aria2c.1.txt
4740
 
        * src/InitiateConnectionCommand.cc
4741
 
        * src/NameResolver.cc
4742
 
        * src/NameResolver.h
4743
 
        * src/OptionHandlerFactory.cc
4744
 
        * src/main.cc
4745
 
        * src/prefs.cc
4746
 
        * src/prefs.h
4747
 
        * src/usage_text.h
4748
 
 
4749
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4750
 
 
4751
 
        Updated usage text for --bt-prioritize-piece option.
4752
 
        * doc/aria2c.1.txt
4753
 
        * src/usage_text.h
4754
 
 
4755
 
2009-12-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4756
 
 
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.
4760
 
        * configure.ac
4761
 
        * m4/aria2_arg.m4
4762
 
 
4763
 
2009-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4764
 
 
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
4777
 
 
4778
 
2009-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4779
 
 
4780
 
        Documented --interface option in man page.
4781
 
        * doc/aria2c.1.txt
4782
 
 
4783
 
2009-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4784
 
 
4785
 
        Try resolved address in the order received from the resolver.
4786
 
        * src/DNSCache.h
4787
 
 
4788
 
2009-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4789
 
 
4790
 
        Added debug logs.
4791
 
        * src/SocketCore.cc
4792
 
 
4793
 
2009-12-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4794
 
 
4795
 
        Fixed type of tail to uint64_t
4796
 
        * src/util.cc
4797
 
 
4798
 
2009-12-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4799
 
 
4800
 
        Added --interface option.  This feature binds sockets to given
4801
 
        interface. You can specify interface name, IP address and
4802
 
        hostname.
4803
 
        * configure.ac
4804
 
        * src/OptionHandlerFactory.cc
4805
 
        * src/SocketCore.cc
4806
 
        * src/SocketCore.h
4807
 
        * src/main.cc
4808
 
        * src/message.h
4809
 
        * src/prefs.cc
4810
 
        * src/prefs.h
4811
 
        * src/usage_text.h
4812
 
 
4813
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4814
 
 
4815
 
        Updated man page for bt-prioritize-piece option in -i list.
4816
 
        * doc/aria2c.1.txt
4817
 
 
4818
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4819
 
 
4820
 
        Added bt-prioritize-piece option to -i list.
4821
 
        * src/download_helper.cc
4822
 
 
4823
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4824
 
 
4825
 
        Removed --http-auth-scheme option from man page.
4826
 
        * doc/aria2c.1.txt
4827
 
 
4828
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4829
 
 
4830
 
        Removed --http-auth-scheme option since it doesn't do nothing.
4831
 
        * src/OptionHandlerFactory.cc
4832
 
        * src/prefs.cc
4833
 
        * src/prefs.h
4834
 
        * src/usage_text.h
4835
 
 
4836
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4837
 
 
4838
 
        Adjusted the number of peer info which get_peers reply message can
4839
 
        carry.
4840
 
        * src/DHTGetPeersReplyMessage.cc
4841
 
 
4842
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4843
 
 
4844
 
        Added extension_message_test_helper.h to aria2c_SOURCES.
4845
 
        * test/Makefile.am
4846
 
 
4847
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4848
 
 
4849
 
        Documented --bt-prioritize-piece option in man page.
4850
 
        * doc/aria2c.1.txt
4851
 
 
4852
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4853
 
 
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
4863
 
        * src/Makefile.am
4864
 
        * src/OptionHandlerFactory.cc
4865
 
        * src/OptionHandlerImpl.h
4866
 
        * src/PriorityPieceSelector.cc
4867
 
        * src/PriorityPieceSelector.h
4868
 
        * src/RequestGroup.cc
4869
 
        * src/prefs.cc
4870
 
        * src/prefs.h
4871
 
        * src/usage_text.h
4872
 
        * src/util.cc
4873
 
        * src/util.h
4874
 
        * test/Makefile.am
4875
 
        * test/MockPieceSelector.h
4876
 
        * test/PriorityPieceSelectorTest.cc
4877
 
        * test/UtilTest.cc
4878
 
 
4879
 
2009-11-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4880
 
 
4881
 
        Fixed typo
4882
 
        * src/HttpRequest.h
4883
 
 
4884
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4885
 
 
4886
 
        In Magnet URI with tr parameter, put each announce URI in separate
4887
 
        tier.
4888
 
        * src/bittorrent_helper.cc
4889
 
        * test/BittorrentHelperTest.cc
4890
 
 
4891
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4892
 
 
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
4913
 
 
4914
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4915
 
 
4916
 
        Updated man page for BitTorrent Magnet URI.
4917
 
        * doc/aria2c.1.txt
4918
 
 
4919
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4920
 
 
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
4930
 
 
4931
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4932
 
 
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
4942
 
 
4943
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4944
 
 
4945
 
        Use createRequestGroupForUri to create the download for torrent
4946
 
        file.
4947
 
        * src/Metalink2RequestGroup.cc
4948
 
        * test/Metalink2RequestGroupTest.cc
4949
 
 
4950
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4951
 
 
4952
 
        Fixed typo
4953
 
        * src/DownloadContext.h
4954
 
 
4955
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4956
 
 
4957
 
        Use createRequestGroupForBitTorrent()
4958
 
        * src/BtPostDownloadHandler.cc
4959
 
 
4960
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4961
 
 
4962
 
        Added remove().
4963
 
        * src/Option.cc
4964
 
        * src/Option.h
4965
 
 
4966
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4967
 
 
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.
4972
 
        * src/main.cc
4973
 
 
4974
 
2009-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4975
 
 
4976
 
        Refer to option value of PREF_OUT only in download_helper.
4977
 
        * src/FtpNegotiationCommand.cc
4978
 
        * src/HttpResponseCommand.cc
4979
 
 
4980
 
2009-11-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4981
 
 
4982
 
        Now addUri XML-RPC method accepts BitTorrent Magnet URI.
4983
 
        * src/download_helper.cc
4984
 
        * src/download_helper.h
4985
 
        * src/XmlRpcMethodImpl.cc
4986
 
 
4987
 
2009-11-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4988
 
 
4989
 
        Updated man page for changeOption XML-RPC method.
4990
 
        * doc/aria2c.1.txt
4991
 
 
4992
 
2009-11-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
4993
 
 
4994
 
        Added --bt-max-peers option to changeOption XML-RPC method.
4995
 
        * src/XmlRpcMethod.cc
4996
 
        * src/XmlRpcMethodImpl.cc
4997
 
        * test/XmlRpcMethodTest.cc
4998
 
 
4999
 
2009-11-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5000
 
 
5001
 
        Added test case for PREF_BT_REQUEST_PEER_SPEED_LIMIT
5002
 
        * test/XmlRpcMethodTest.cc
5003
 
 
5004
 
2009-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5005
 
 
5006
 
        Removed redundant DownloadContext::hasAttribute(...) calls.
5007
 
        * src/ConsoleStatCalc.cc
5008
 
        * src/RequestGroup.cc
5009
 
        * src/XmlRpcMethodImpl.cc
5010
 
 
5011
 
2009-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5012
 
 
5013
 
        Changed the number of tracker request attempt from 5 to 2.
5014
 
        * src/TrackerWatcherCommand.cc
5015
 
 
5016
 
2009-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5017
 
 
5018
 
        Use host and protocol in original URI, because URI selector
5019
 
        selects URI based on original URI, not redirected one.
5020
 
        * src/Request.cc
5021
 
 
5022
 
2009-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5023
 
 
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.
5028
 
        * src/BtRegistry.cc
5029
 
        * src/BtRegistry.h
5030
 
        * src/BtSetup.cc
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
5041
 
 
5042
 
2009-11-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5043
 
 
5044
 
        Updated man page for changeOption XML-RPC method.
5045
 
        * doc/aria2c.1.txt
5046
 
 
5047
 
2009-11-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5048
 
 
5049
 
        Added --bt-request-peer-speed-limit option to changeOption XML-RPC
5050
 
        method.
5051
 
        * src/XmlRpcMethod.cc
5052
 
 
5053
 
2009-11-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5054
 
 
5055
 
        Documented about BitTorrent Magnet URI in man page.
5056
 
        * doc/aria2c.1.txt
5057
 
 
5058
 
2009-11-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5059
 
 
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
5064
 
 
5065
 
2009-11-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5066
 
 
5067
 
        Prepended "[METADATA]" before dn.
5068
 
        * src/bittorrent_helper.cc
5069
 
        * test/BittorrentHelperTest.cc
5070
 
 
5071
 
2009-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5072
 
 
5073
 
        Rewritten Magnet URI parser.
5074
 
        * src/Makefile.am
5075
 
        * src/ProtocolDetector.cc
5076
 
        * src/bittorrent_helper.cc
5077
 
        * src/bittorrent_helper.h
5078
 
        * src/download_helper.cc
5079
 
        * src/magnet.cc
5080
 
        * src/magnet.h
5081
 
        * test/BittorrentHelperTest.cc
5082
 
        * test/MagnetTest.cc
5083
 
        * test/Makefile.am
5084
 
        * test/ProtocolDetectorTest.cc
5085
 
 
5086
 
2009-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5087
 
 
5088
 
        Use hton64
5089
 
        * src/base32.cc
5090
 
 
5091
 
2009-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5092
 
 
5093
 
        Added Base32 encoded BitTorrent Magnet Link support.
5094
 
        * src/Makefile.am
5095
 
        * src/base32.cc
5096
 
        * src/base32.h
5097
 
        * src/bittorrent_helper.cc
5098
 
        * test/Base32Test.cc
5099
 
        * test/BittorrentHelperTest.cc
5100
 
        * test/Makefile.am
5101
 
 
5102
 
2009-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5103
 
 
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
5112
 
        * src/Makefile.am
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
5121
 
        * test/Makefile.am
5122
 
        * test/UTMetadataPostDownloadHandlerTest.cc
5123
 
        * test/UTMetadataRejectExtensionMessageTest.cc
5124
 
 
5125
 
2009-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5126
 
 
5127
 
        In metadataGetMode, don't show SEEDING.
5128
 
        * src/ConsoleStatCalc.cc
5129
 
 
5130
 
2009-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5131
 
 
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
5155
 
 
5156
 
2009-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5157
 
 
5158
 
        Drop connection if ut_metadata reject message is received.
5159
 
        * src/UTMetadataRejectExtensionMessage.cc
5160
 
 
5161
 
2009-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5162
 
 
5163
 
        Set thresholdSpeed to 0 in metadataGetMode because speed doesn't
5164
 
        get high enough in that mode.
5165
 
        * src/ActivePeerConnectionCommand.cc
5166
 
 
5167
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5168
 
 
5169
 
        Added BitTorrent magnet link support to ProtocolDetector.
5170
 
        * src/ProtocolDetector.cc
5171
 
        * src/ProtocolDetector.h
5172
 
        * test/ProtocolDetectorTest.cc
5173
 
 
5174
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5175
 
 
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
5181
 
 
5182
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5183
 
 
5184
 
        Added setEndGamePieceNum() pure virtual function to PieceStorage.
5185
 
        * src/DefaultPieceStorage.h
5186
 
        * src/PieceStorage.h
5187
 
        * src/UnknownLengthPieceStorage.h
5188
 
        * test/MockPieceStorage.h
5189
 
 
5190
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5191
 
 
5192
 
        Added markTotalLengthIsKnown().
5193
 
        * src/DownloadContext.h
5194
 
 
5195
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5196
 
 
5197
 
        Don't add PeerChokeCommand and SeedCheckCommand if metadata is
5198
 
        missing. If metadata is missing, always use DHT when it is ready.
5199
 
        * src/BtSetup.cc
5200
 
 
5201
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5202
 
 
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
5208
 
 
5209
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5210
 
 
5211
 
        Added FromHex()
5212
 
        * src/util.cc
5213
 
        * src/util.h
5214
 
        * test/UtilTest.cc
5215
 
 
5216
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5217
 
 
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
5235
 
 
5236
 
2009-11-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5237
 
 
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.
5241
 
        * src/bencode.cc
5242
 
        * src/bencode.h
5243
 
        * test/BencodeTest.cc
5244
 
 
5245
 
2009-11-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5246
 
 
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.
5250
 
        * src/BtConstants.h
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
5258
 
        * src/Makefile.am
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
5274
 
        * test/Makefile.am
5275
 
        * test/UTMetadataDataExtensionMessageTest.cc
5276
 
        * test/UTMetadataRejectExtensionMessageTest.cc
5277
 
        * test/UTMetadataRequestExtensionMessageTest.cc
5278
 
 
5279
 
2009-11-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5280
 
 
5281
 
        Cancel segment in prepareForRetry() because there is a chance that
5282
 
        the command has segments.
5283
 
        * src/CreateRequestCommand.cc
5284
 
 
5285
 
2009-11-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5286
 
 
5287
 
        Fixed the bug that slow server is not knocked down in favor of
5288
 
        faster one.
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
5296
 
 
5297
 
2009-11-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5298
 
 
5299
 
        Fixed the bug that Request object is not added to
5300
 
        _inFlightRequests in findFasterRequest().
5301
 
        * src/FileEntry.cc
5302
 
 
5303
 
2009-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5304
 
 
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.
5308
 
        * src/BtConstants.h
5309
 
        * src/DefaultBtInteractive.cc
5310
 
        * src/DefaultBtInteractive.h
5311
 
 
5312
 
2009-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5313
 
 
5314
 
        Check socket for reading if there are outstanding requests.
5315
 
        * src/PeerInteractionCommand.cc
5316
 
 
5317
 
2009-11-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5318
 
 
5319
 
        Moved frequently called methods to header file so they get
5320
 
        inlined.
5321
 
        * src/RequestSlot.cc
5322
 
        * src/RequestSlot.h
5323
 
 
5324
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5325
 
 
5326
 
        Copied in_addr instead of just casting from char* which might
5327
 
        violate strict aliasing rules.
5328
 
        * src/AsyncNameResolver.cc
5329
 
 
5330
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5331
 
 
5332
 
        Use dynamic_pointer_cast
5333
 
        * test/BtPieceMessageTest.cc
5334
 
        * test/BtRequestMessageTest.cc
5335
 
        * test/DefaultBtRequestFactoryTest.cc
5336
 
 
5337
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5338
 
 
5339
 
        Added testSetUrl20()
5340
 
        * test/RequestTest.cc
5341
 
 
5342
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5343
 
 
5344
 
        Code cleanup
5345
 
        * src/bittorrent_helper.cc
5346
 
 
5347
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5348
 
 
5349
 
        Use C++ style cast
5350
 
        * src/AsyncNameResolver.cc
5351
 
        * src/Base64.h
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
5361
 
        * src/Platform.cc
5362
 
        * src/RequestGroupMan.cc
5363
 
        * src/SingleFileAllocationIterator.cc
5364
 
        * src/Sqlite3MozCookieParser.cc
5365
 
        * src/XML2SAXMetalinkProcessor.cc
5366
 
        * src/Xml2XmlRpcRequestProcessor.cc
5367
 
        * src/util.cc
5368
 
        * src/util.h
5369
 
 
5370
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5371
 
 
5372
 
        Fixed integer potential alignment problem.
5373
 
        * src/bitfield.h
5374
 
 
5375
 
2009-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5376
 
 
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
5382
 
 
5383
 
2009-11-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5384
 
 
5385
 
        Added util::parseUIntNoThrow(). Use it in Request::parseUrl().
5386
 
        * src/Request.cc
5387
 
        * src/util.cc
5388
 
        * src/util.h
5389
 
        * test/RequestTest.cc
5390
 
 
5391
 
2009-11-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5392
 
 
5393
 
        Rewritten util::uitos()
5394
 
        * src/util.h
5395
 
 
5396
 
2009-11-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5397
 
 
5398
 
        Code cleanup
5399
 
        * src/Request.cc
5400
 
        * src/Request.h
5401
 
 
5402
 
2009-11-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5403
 
 
5404
 
        Rewritten Request::parseUrl()
5405
 
        * src/Request.cc
5406
 
        * test/RequestTest.cc
5407
 
 
5408
 
2009-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5409
 
 
5410
 
        Removed unused macro SAFE_CHARS
5411
 
        * src/Request.cc
5412
 
 
5413
 
2009-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5414
 
 
5415
 
        Updated doc
5416
 
        * src/DHTRoutingTableDeserializer.cc
5417
 
 
5418
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5419
 
 
5420
 
        Release 1.6.3
5421
 
 
5422
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5423
 
 
5424
 
        Removed unused function.
5425
 
        * test/DHTPeerAnnounceStorageTest.cc
5426
 
 
5427
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5428
 
 
5429
 
        Only decrement cols if cols > 0
5430
 
        * src/ConsoleStatCalc.cc
5431
 
 
5432
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5433
 
 
5434
 
        Updated Polish, Catalan, French, Italian, Russian and Japanese
5435
 
        translations. Thanks to all translators.
5436
 
        * po/ca.po
5437
 
        * po/fr.po
5438
 
        * po/it.po
5439
 
        * po/ja.po
5440
 
        * po/pl.po
5441
 
        * po/ru.po
5442
 
 
5443
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5444
 
 
5445
 
        Updated translation template
5446
 
        * po
5447
 
 
5448
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5449
 
 
5450
 
        Fixed compile error without ssl library.
5451
 
        * src/util.cc
5452
 
 
5453
 
2009-11-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5454
 
 
5455
 
        Logged received nodes in get_peers reply message.
5456
 
        * src/DHTAbstractNodeLookupTask.cc
5457
 
        * src/DHTAbstractNodeLookupTask.h
5458
 
 
5459
 
2009-11-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5460
 
 
5461
 
        Fixed the bug that DHTAbstractNodeLookupTask never finishes if
5462
 
        error occurred in DHTMessageDispatcherImpl::sendMessage().
5463
 
        * src/DHTMessageDispatcherImpl.cc
5464
 
 
5465
 
2009-11-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5466
 
 
5467
 
        Don't reuse URI if Request pool is not empty.
5468
 
        * src/CreateRequestCommand.cc
5469
 
 
5470
 
2009-10-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5471
 
 
5472
 
        Removed peerStorage from DHTPeerAnnounceEntry. It is unlikely to
5473
 
        receive get_peers request for torrent which the client is now
5474
 
        downloading.
5475
 
        * src/BtSetup.cc
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
5483
 
 
5484
 
2009-10-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5485
 
 
5486
 
        Fixed the bug that in Windows environment new blank line is
5487
 
        inserted when console readout is updated.
5488
 
        * src/ConsoleStatCalc.cc
5489
 
 
5490
 
2009-10-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5491
 
 
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.
5496
 
        * src/BtSetup.cc
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
5504
 
 
5505
 
2009-10-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5506
 
 
5507
 
        Fixed the bug that when downloading more than one torrent,
5508
 
        listening port is not reported properly to tracker for 2nd or
5509
 
        later torrents.
5510
 
        * src/BtSetup.cc
5511
 
        * src/PeerListenCommand.cc
5512
 
        * src/PeerListenCommand.h
5513
 
        * src/RequestGroup.cc
5514
 
 
5515
 
2009-10-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5516
 
 
5517
 
        Bump up version number to 1.6.3
5518
 
        * configure.ac
5519
 
 
5520
 
2009-10-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5521
 
 
5522
 
        Removed Util.cc from POTFILES.in
5523
 
        * po/POTFILES.in
5524
 
 
5525
 
2009-10-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5526
 
 
5527
 
        Updated man page for previous change.
5528
 
        * doc/aria2c.1.txt
5529
 
 
5530
 
2009-10-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5531
 
 
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
5535
 
        --ftp-passwd.
5536
 
        * src/AuthConfigFactory.cc
5537
 
        * src/Request.cc
5538
 
        * src/Request.h
5539
 
        * test/AuthConfigFactoryTest.cc
5540
 
 
5541
 
2009-10-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5542
 
 
5543
 
        Fixed typo
5544
 
        * doc/aria2c.1.txt
5545
 
 
5546
 
2009-10-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5547
 
 
5548
 
        Fixed typo
5549
 
        * src/usage_text.h
5550
 
 
5551
 
2009-10-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5552
 
 
5553
 
        Added missing bitfield.cc
5554
 
        * src/bitfield.cc
5555
 
 
5556
 
2009-10-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5557
 
 
5558
 
        Renamed Util.{cc,h} as util.{cc,h}
5559
 
        * src/Util.cc
5560
 
        * src/Util.h
5561
 
        * src/util.cc
5562
 
        * src/util.h
5563
 
 
5564
 
2009-10-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5565
 
 
5566
 
        Moved static functions in Util class to namespace util.
5567
 
        * src
5568
 
        * test
5569
 
 
5570
 
2009-10-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5571
 
 
5572
 
        Moved generateRandomData to Util.cc Moved flipBit to bitfield.cc.
5573
 
        Moved generateRandomKey to bittorrent_helper.cc.
5574
 
        * src/DHTBucket.cc
5575
 
        * src/DHTGetPeersMessage.cc
5576
 
        * src/DHTGetPeersReplyMessage.cc
5577
 
        * src/DHTMessage.cc
5578
 
        * src/DHTNode.cc
5579
 
        * src/DHTTokenTracker.cc
5580
 
        * src/DHTUtil.cc: Removed.
5581
 
        * src/DHTUtil.h: Removed.
5582
 
        * src/Makefile.am
5583
 
        * src/Util.cc
5584
 
        * src/Util.h
5585
 
        * src/bitfield.h
5586
 
        * src/bittorrent_helper.cc
5587
 
        * src/bittorrent_helper.h
5588
 
        * test/ARC4Test.cc
5589
 
        * test/BNodeTest.cc
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.
5600
 
        * test/Makefile.am
5601
 
        * test/UtilTest.cc
5602
 
 
5603
 
2009-10-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5604
 
 
5605
 
        Removed the call to trim() because trim() is called for each
5606
 
        element in split().
5607
 
        * src/CookieParser.cc
5608
 
 
5609
 
2009-10-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5610
 
 
5611
 
        Replaced Util::slice() with split()
5612
 
        * src/AbstractCommand.cc
5613
 
        * src/CookieParser.cc
5614
 
        * src/File.cc
5615
 
        * src/HttpHeaderProcessor.cc
5616
 
        * src/HttpRequest.cc
5617
 
        * src/Metalink2RequestGroup.cc
5618
 
        * src/MetalinkParserController.cc
5619
 
        * src/Netrc.cc
5620
 
        * src/NsCookieParser.cc
5621
 
        * src/ParameterizedStringParser.cc
5622
 
        * src/ServerStatMan.cc
5623
 
        * src/UriListParser.cc
5624
 
        * src/Util.cc
5625
 
        * src/Util.h
5626
 
        * src/bittorrent_helper.cc
5627
 
        * test/UtilTest.cc
5628
 
 
5629
 
2009-10-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5630
 
 
5631
 
        Use request->getDir() instead of "/" for embedded user/pass in
5632
 
        URI.
5633
 
        * src/AuthConfigFactory.cc
5634
 
 
5635
 
2009-10-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5636
 
 
5637
 
        Fixed wrong insertion point for BasicCred.
5638
 
        * src/AuthConfigFactory.cc
5639
 
 
5640
 
2009-10-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5641
 
 
5642
 
        Allowed non-regular file in LocalFilePathOptionHandler
5643
 
        * src/OptionHandlerImpl.h
5644
 
        * src/message.h
5645
 
 
5646
 
2009-10-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5647
 
 
5648
 
        Fixed the bug that Netrc::parse() cannot recognize comment line.
5649
 
        * src/Netrc.cc
5650
 
        * src/Util.h
5651
 
        * test/NetrcTest.cc
5652
 
        * test/sample.netrc
5653
 
 
5654
 
2009-10-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5655
 
 
5656
 
        Fixed typo
5657
 
        * src/BtDependency.cc
5658
 
        * src/BtRejectMessage.cc
5659
 
        * src/FtpConnection.cc
5660
 
        * src/HttpHeaderProcessor.h
5661
 
 
5662
 
2009-10-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5663
 
 
5664
 
        Fixed lintian report in man page
5665
 
        * doc/aria2c.1.txt
5666
 
 
5667
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5668
 
 
5669
 
        Release 1.6.2
5670
 
 
5671
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5672
 
 
5673
 
        Updated Ukrainian translation. Thanks to all translators.
5674
 
        * po/uk.po
5675
 
 
5676
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5677
 
 
5678
 
        Updated translation template
5679
 
        * po
5680
 
 
5681
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5682
 
 
5683
 
        Bump up version number to 1.6.2
5684
 
        * configure.ac
5685
 
 
5686
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5687
 
 
5688
 
        Updated licence message in -v output.
5689
 
        * src/version_usage.cc
5690
 
 
5691
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5692
 
 
5693
 
        Replaced aria2 with aria2c in help message.
5694
 
        * src/version_usage.cc
5695
 
 
5696
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5697
 
 
5698
 
        Use PACKAGE_BUGREPORT and PACKAGE_URL.
5699
 
        * src/version_usage.cc
5700
 
 
5701
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5702
 
 
5703
 
        Quoted localedir
5704
 
        * src/Makefile.am
5705
 
 
5706
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5707
 
 
5708
 
        Added AC_FUNC_STRTOD and AC_TYPE_PID_T.  Check function for pow,
5709
 
        utime. Check header for utime.h.
5710
 
        * configure.ac
5711
 
 
5712
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5713
 
 
5714
 
        Use AC_FUNC_FORK. Replaced HAVE_FORK with HAVE_WORKING_FORK.
5715
 
        * configure.ac
5716
 
        * src/daemon.cc
5717
 
 
5718
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5719
 
 
5720
 
        Don't set localedir manually. Leave it to autoconf.
5721
 
        * configure.ac
5722
 
        * src/Makefile.am
5723
 
 
5724
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5725
 
 
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.
5730
 
        * Makefile.am
5731
 
        * configure.ac
5732
 
        * m4/aria2_arg.m4
5733
 
 
5734
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5735
 
 
5736
 
        Removed Makefile.am in m4 directory.
5737
 
        * configure.ac
5738
 
        * m4/ChangeLog
5739
 
        * m4/Makefile.am
5740
 
        * m4/Makefile.in
5741
 
 
5742
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5743
 
 
5744
 
        Removed unused m4 macros.
5745
 
        * m4/intldir.m4
5746
 
        * m4/inttypes.m4
5747
 
        * m4/isc-posix.m4
5748
 
        * m4/libgnutls-extra.m4
5749
 
        * m4/ulonglong.m4
5750
 
 
5751
 
2009-10-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5752
 
 
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
5757
 
 
5758
 
2009-10-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5759
 
 
5760
 
        * Release 1.6.1
5761
 
 
5762
 
2009-10-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5763
 
 
5764
 
        Updated Simplified Chinese translation. Thanks to translators.
5765
 
        * po/zh_CN.po
5766
 
 
5767
 
2009-10-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5768
 
 
5769
 
        Updated translation template
5770
 
        * po
5771
 
 
5772
 
2009-10-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5773
 
 
5774
 
        Bump up version number to 1.6.1
5775
 
        * configure.ac
5776
 
 
5777
 
2009-10-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5778
 
 
5779
 
        Changed interval from 120 to 60 for dropping inactive peer.
5780
 
        * src/DefaultBtInteractive.cc
5781
 
 
5782
 
2009-10-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5783
 
 
5784
 
        Updated man page for --user-agent and --peer-id-prefix option.
5785
 
        * doc/aria2c.1.txt
5786
 
 
5787
 
2009-10-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5788
 
 
5789
 
        Code clean up
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
5797
 
 
5798
 
2009-10-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5799
 
 
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
5811
 
 
5812
 
2009-10-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5813
 
 
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
5821
 
        * src/main.cc
5822
 
        * src/usage_text.h
5823
 
        * test/BittorrentHelperTest.cc
5824
 
 
5825
 
2009-10-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5826
 
 
5827
 
        Fixed memory leak.
5828
 
        * src/DownloadCommand.cc
5829
 
 
5830
 
2009-10-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5831
 
 
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
5836
 
 
5837
 
2009-10-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5838
 
 
5839
 
        Included version number in user-agent string.
5840
 
        * src/OptionHandlerFactory.cc
5841
 
 
5842
 
2009-10-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5843
 
 
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
5861
 
 
5862
 
2009-10-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5863
 
 
5864
 
        Added missing MetalinkParserStateImpl.{cc,h}
5865
 
        * src/MetalinkParserStateImpl.cc
5866
 
        * src/MetalinkParserStateImpl.h
5867
 
 
5868
 
2009-10-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5869
 
 
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
5884
 
        * src/Makefile.am
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
5910
 
 
5911
 
2009-09-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5912
 
 
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
5932
 
        * src/Makefile.am
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
5968
 
        * test/Makefile.am
5969
 
        * test/PeerListProcessorTest.cc
5970
 
        * test/PeerMessageUtilTest.cc: Removed.
5971
 
        * test/UTPexExtensionMessageTest.cc
5972
 
 
5973
 
2009-09-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5974
 
 
5975
 
        Limit the size of values list when sending get_peers reply.
5976
 
        * src/DHTGetPeersReplyMessage.cc
5977
 
 
5978
 
2009-09-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5979
 
 
5980
 
        Updated banner
5981
 
        * doc/xmlrpc/aria2rpc
5982
 
 
5983
 
2009-09-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5984
 
 
5985
 
        Added missing help message for remove command.
5986
 
        * doc/xmlrpc/aria2rpc
5987
 
 
5988
 
2009-09-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5989
 
 
5990
 
        Generated configure and config.h.in
5991
 
 
5992
 
2009-09-23  Ross Smith II  <aria2spam at smithii dot com>
5993
 
 
5994
 
        Add check for fork(), which is missing on MinGW
5995
 
        * src/daemon.cc
5996
 
        * configure.ac
5997
 
 
5998
 
2009-09-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
5999
 
 
6000
 
        Removed unused methods Util::fileCopy(), Util::rangedFileCopy(),
6001
 
        Util::expandBuffer(), Util::unfoldRange(), Util::indexRange() and
6002
 
        Util::httpGMT().
6003
 
        * src/Util.cc
6004
 
        * src/Util.h
6005
 
        * test/UtilTest.cc
6006
 
 
6007
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6008
 
 
6009
 
        * Release 1.6.0
6010
 
 
6011
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6012
 
 
6013
 
        Fixed a path to xmlrpc/README.txt
6014
 
        * doc/Makefile.am
6015
 
 
6016
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6017
 
 
6018
 
        Added XML-RPC in -v Configuration output.
6019
 
        * src/FeatureConfig.cc
6020
 
        * src/FeatureConfig.h
6021
 
        * test/FeatureConfigTest.cc
6022
 
 
6023
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6024
 
 
6025
 
        Updated Bulgarian, Russian, Slovak and Japanese
6026
 
        translations. Thanks to all translators.
6027
 
        * po/bg.po
6028
 
        * po/ja.po
6029
 
        * po/ru.po
6030
 
        * po/sk.po
6031
 
 
6032
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6033
 
 
6034
 
        Removed --retry-wait option from aria2rpc
6035
 
        * doc/xmlrpc/aria2rpc
6036
 
 
6037
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6038
 
 
6039
 
        Removed --retry-wait option from man page.
6040
 
        * doc/aria2c.1.txt
6041
 
 
6042
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6043
 
 
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
6049
 
        * src/prefs.cc
6050
 
        * src/prefs.h
6051
 
 
6052
 
2009-09-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6053
 
 
6054
 
        Removed Retry-After header support. Since the current architecture
6055
 
        doesn't allow sleep for particular URI.
6056
 
        * src/HttpSkipResponseCommand.cc
6057
 
 
6058
 
2009-09-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6059
 
 
6060
 
        Updated the help message for --daemon option.
6061
 
        * doc/aria2c.1.txt
6062
 
        * src/usage_text.h
6063
 
 
6064
 
2009-09-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6065
 
 
6066
 
        Added our own daemon() function for systems which desn't have
6067
 
        daemon(3).
6068
 
        * configure.ac
6069
 
        * src/Makefile.am
6070
 
        * src/daemon.cc
6071
 
        * src/daemon.h
6072
 
        * src/option_processing.cc
6073
 
 
6074
 
2009-09-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6075
 
 
6076
 
        Simplified File::getCurrentDir()
6077
 
        * src/File.cc
6078
 
 
6079
 
2009-09-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6080
 
 
6081
 
        Use exit() instead of _exit
6082
 
        * src/RequestGroupMan.cc
6083
 
 
6084
 
2009-09-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6085
 
 
6086
 
        Replaced "CATEGORY" with "TAGS".
6087
 
        * src/usage_text.h
6088
 
        * doc/aria2c.1.txt
6089
 
 
6090
 
2009-09-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6091
 
 
6092
 
        Updated the help message for --help option.
6093
 
        * src/usage_text.h
6094
 
        * doc/aria2c.1.txt
6095
 
 
6096
 
2009-09-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6097
 
 
6098
 
        Updated man page for added help tags.
6099
 
        * doc/aria2c.1.txt
6100
 
 
6101
 
2009-09-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6102
 
 
6103
 
        Added help category #file. Added #file tag to the options related
6104
 
        to downloaded file.
6105
 
        * src/OptionHandlerFactory.cc
6106
 
        * src/help_tags.h
6107
 
 
6108
 
2009-09-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6109
 
 
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
6113
 
        * src/help_tags.h
6114
 
 
6115
 
2009-09-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6116
 
 
6117
 
        Made MSG_NOT_FILE translatable.
6118
 
        * src/message.h
6119
 
 
6120
 
2009-09-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6121
 
 
6122
 
        Updated man page for --help option.
6123
 
        * doc/aria2c.1.txt
6124
 
 
6125
 
2009-09-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6126
 
 
6127
 
        Updated doc.
6128
 
        * src/XmlRpcMethod.h
6129
 
 
6130
 
2009-09-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6131
 
 
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
6140
 
        * src/help_tags.h
6141
 
        * src/usage_text.h
6142
 
        * src/version_usage.cc
6143
 
 
6144
 
2009-09-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6145
 
 
6146
 
        Documented missing experimental tag and newly added xml-rpc tag in
6147
 
        man page.
6148
 
        * doc/aria2c.1.txt
6149
 
 
6150
 
2009-09-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6151
 
 
6152
 
        Added xml-rpc help tag. Tagged xml-rpc related options with
6153
 
        xml-rpc tag.
6154
 
        * src/OptionHandlerFactory.cc
6155
 
        * src/help_tags.h
6156
 
 
6157
 
2009-09-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6158
 
 
6159
 
        Updated message when a path is not a file. Updated common message
6160
 
        for wrong option.
6161
 
        * src/OptionHandlerException.cc
6162
 
        * src/message.h
6163
 
 
6164
 
2009-09-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6165
 
 
6166
 
        Use File::isFile() instead of File::exists(). Updated message when
6167
 
        a path is not a file.
6168
 
        * src/OptionHandlerImpl.cc
6169
 
        * src/message.h
6170
 
 
6171
 
2009-09-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6172
 
 
6173
 
        Fixed the bug that server performence profile is not updated when
6174
 
        aria2c was terminated by emergency shutdown.
6175
 
        * src/TrackerWatcherCommand.cc
6176
 
 
6177
 
2009-09-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6178
 
 
6179
 
        Use LocalFilePathOptionHandler for -T and -M option.
6180
 
        Updated message of MSG_FILE_NOT_EXIST.
6181
 
        * src/OptionHandlerFactory.cc
6182
 
        * src/message.h
6183
 
 
6184
 
2009-09-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6185
 
 
6186
 
        Added LocalFilePathOptionHandler which check whether the specified
6187
 
        file path does exist or not.
6188
 
        * src/OptionHandlerImpl.cc
6189
 
        * src/message.h
6190
 
 
6191
 
2009-09-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6192
 
 
6193
 
        Updated wiki page URI.
6194
 
        * README
6195
 
        * doc/aria2c.1.txt
6196
 
 
6197
 
2009-09-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6198
 
 
6199
 
        Added README.txt for xmlrpc directory.
6200
 
        * doc/Makefile.am
6201
 
        * doc/xmlrpc/README.txt
6202
 
 
6203
 
2009-09-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6204
 
 
6205
 
        Bump up version number to 1.6.0.
6206
 
        * configure.ac
6207
 
 
6208
 
2009-09-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6209
 
 
6210
 
        Added XML-RPC client scripts written in ruby.
6211
 
        * doc/Makefile.am
6212
 
        * doc/xmlrpc/aria2mon
6213
 
        * doc/xmlrpc/aria2rpc
6214
 
 
6215
 
2009-08-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6216
 
 
6217
 
        Added support for IPv6 literal address in URI. Now aria2 can
6218
 
        handle URI such as http://[::1]/
6219
 
        * src/HttpRequest.cc
6220
 
        * src/HttpRequest.h
6221
 
        * src/Request.cc
6222
 
        * src/Request.h
6223
 
        * test/HttpRequestTest.cc
6224
 
        * test/OptionHandlerTest.cc
6225
 
        * test/RequestTest.cc
6226
 
 
6227
 
2009-08-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6228
 
 
6229
 
        Fixed the bug that HTTP request header for XML-RPC request is not
6230
 
        parsed properly.
6231
 
        * src/HttpHeader.cc
6232
 
        * src/HttpHeaderProcessor.cc
6233
 
 
6234
 
2009-08-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6235
 
 
6236
 
        Fixed the bug that XML-RPC authorization might be done before HTTP
6237
 
        request header is fully received.
6238
 
        * src/HttpServerCommand.cc
6239
 
 
6240
 
2009-08-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6241
 
 
6242
 
        Documented --xml-rpc-listen-all option in man page.
6243
 
        * doc/aria2c.1.txt
6244
 
 
6245
 
2009-08-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6246
 
 
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
6253
 
        * src/SocketCore.cc
6254
 
        * src/SocketCore.h
6255
 
        * src/prefs.cc
6256
 
        * src/prefs.h
6257
 
        * src/usage_text.h
6258
 
 
6259
 
2009-08-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6260
 
 
6261
 
        * Release 1.5.2
6262
 
 
6263
 
2009-08-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6264
 
 
6265
 
        Updated Ukrainian and Russian translations. Thanks to all
6266
 
        translators.
6267
 
        * po/ru.po
6268
 
        * po/uk.po
6269
 
 
6270
 
2009-08-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6271
 
 
6272
 
        Bump up version number to 1.5.2
6273
 
        * configure.ac
6274
 
 
6275
 
2009-08-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6276
 
 
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
6282
 
        * test/test.torrent
6283
 
        * test/utf8.torrent
6284
 
 
6285
 
2009-08-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6286
 
 
6287
 
        Show exact file size along in -S option output.
6288
 
        * src/Util.h
6289
 
        * src/bittorrent_helper.cc
6290
 
        * test/UtilTest.cc
6291
 
 
6292
 
2009-08-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6293
 
 
6294
 
        Avoided unnecessary memory allocation in
6295
 
        BitfieldMan::getCompletedLength().
6296
 
        * src/BitfieldMan.cc
6297
 
 
6298
 
2009-08-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6299
 
 
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
6305
 
        * src/message.h
6306
 
 
6307
 
2009-08-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6308
 
 
6309
 
        Fixed sqlite3.m4 macro so that sqlite3_open_v2 function is
6310
 
        detected properly.
6311
 
        * m4/sqlite3.m4
6312
 
 
6313
 
2009-08-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6314
 
 
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
6320
 
 
6321
 
2009-07-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6322
 
 
6323
 
        * Release 1.5.1
6324
 
 
6325
 
2009-07-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6326
 
 
6327
 
        Bump up version number to 1.5.1
6328
 
        * configure.ac
6329
 
 
6330
 
2009-07-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6331
 
 
6332
 
        Fixed compile error without BitTorrent support
6333
 
        * src/DefaultBtProgressInfoFile.cc
6334
 
        * src/DownloadEngine.cc
6335
 
        * src/DownloadEngine.h
6336
 
 
6337
 
2009-07-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6338
 
 
6339
 
        Added missing '=' in Download Results
6340
 
        * src/RequestGroupMan.cc
6341
 
 
6342
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6343
 
 
6344
 
        Fixed compiler warning
6345
 
        * src/DefaultBtProgressInfoFile.cc
6346
 
 
6347
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6348
 
 
6349
 
        Fixed compiler warning on 32bit systems.
6350
 
        * src/DownloadCommand.cc
6351
 
 
6352
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6353
 
 
6354
 
        Call flush from ServerStatMan::save()
6355
 
        * src/ServerStatMan.cc
6356
 
 
6357
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6358
 
 
6359
 
        Check stream status after file is opened.
6360
 
        * src/CookieStorage.cc
6361
 
 
6362
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6363
 
 
6364
 
        Rewritten Signature::save()
6365
 
        * src/Signature.cc
6366
 
 
6367
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6368
 
 
6369
 
        Rewritten RequestGroupMan::saveServerStat()
6370
 
        * src/RequestGroupMan.cc
6371
 
 
6372
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6373
 
 
6374
 
        Rewritten stream error handling
6375
 
        * src/DHTAutoSaveCommand.cc
6376
 
        * src/DHTRoutingTableDeserializer.cc
6377
 
        * src/DHTRoutingTableSerializer.cc
6378
 
        * src/DHTSetup.cc
6379
 
 
6380
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6381
 
 
6382
 
        Check stream status after file is opened.
6383
 
        * src/DefaultBtProgressInfoFile.cc
6384
 
        
6385
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6386
 
 
6387
 
        Rewritten stream error handling
6388
 
        * src/DefaultBtProgressInfoFile.cc
6389
 
 
6390
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6391
 
 
6392
 
        Make sure that stream is closed before renaming file. Unit test
6393
 
        fails on mingw32 in the previous implementation.
6394
 
        * src/CookieStorage.cc
6395
 
 
6396
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6397
 
 
6398
 
        Fixed the unit test error without sqlite3
6399
 
        * test/CookieStorageTest.cc
6400
 
 
6401
 
2009-07-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6402
 
 
6403
 
        Fixed the undefined reference error
6404
 
        * test/HttpResponseTest.cc
6405
 
 
6406
 
2009-07-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6407
 
 
6408
 
        * Release 1.5.0
6409
 
 
6410
 
2009-07-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6411
 
 
6412
 
        Updated Russian, Italian, Danish, Bulgarian, Japanese and
6413
 
        Ukrainian translations. Thanks to all translators.
6414
 
        * po/ru.po
6415
 
        * po/it.po
6416
 
        * po/da.po
6417
 
        * po/bg.po
6418
 
        * po/ja.po
6419
 
        * po/uk.po
6420
 
 
6421
 
2009-07-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6422
 
 
6423
 
        Added missing src/Logger.cc
6424
 
        * src/Logger.cc
6425
 
 
6426
 
2009-07-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6427
 
 
6428
 
        Rewritten Logger to avoiding constly virtual call.
6429
 
        * src/LogFactory.cc
6430
 
        * src/LogFactory.h
6431
 
        * src/Logger.h
6432
 
        * src/Makefile.am
6433
 
        * src/Makefile.in
6434
 
        * src/NullLogger.h: Removed.
6435
 
        * src/SimpleLogger.cc
6436
 
        * src/SimpleLogger.h
6437
 
 
6438
 
2009-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6439
 
 
6440
 
        Updated doc
6441
 
        * src/main.cc
6442
 
 
6443
 
2009-07-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6444
 
 
6445
 
        Updated debug log message
6446
 
        * src/AbstractCommand.cc
6447
 
        * src/message.h
6448
 
 
6449
 
2009-07-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6450
 
 
6451
 
        Avoid to create zombie process when commands specified in
6452
 
        --on-download-* options are executed. Tested on Linux 2.6, Mac OS
6453
 
        X and NetBSD.   
6454
 
        * src/main.cc
6455
 
 
6456
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6457
 
 
6458
 
        Fixed typo
6459
 
        * src/usage_text.h
6460
 
        * doc/aria2c.1.txt
6461
 
 
6462
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6463
 
 
6464
 
        Documented 'errorCode' of tellStatus in man page.
6465
 
        * doc/aria2c.1.txt
6466
 
 
6467
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6468
 
 
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
6473
 
 
6474
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6475
 
 
6476
 
        Fixed the bug that session download length is not updated when
6477
 
        PeerStat is not fastest one.
6478
 
        * src/SegmentMan.cc
6479
 
 
6480
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6481
 
 
6482
 
        Updated doc.
6483
 
        * doc/aria2c.1.txt
6484
 
 
6485
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6486
 
 
6487
 
        Updated doc.
6488
 
        * src/AbstractCommand.cc
6489
 
 
6490
 
2009-07-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6491
 
 
6492
 
        Handle the case when DownloadContext has no FileEntry.
6493
 
        * src/XmlRpcMethodImpl.cc
6494
 
 
6495
 
2009-07-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6496
 
 
6497
 
        Handle the situation where struct option.name is char *.
6498
 
        * configure.ac
6499
 
        * src/OptionParser.cc
6500
 
 
6501
 
2009-07-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6502
 
 
6503
 
        Code cleanup
6504
 
        * src/AbstractCommand.cc
6505
 
        * src/DownloadCommand.cc
6506
 
 
6507
 
2009-07-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6508
 
 
6509
 
        Use option of each download to create AuthConfig instead of global
6510
 
        option. 
6511
 
        * src/AuthConfigFactory.cc
6512
 
        * src/AuthConfigFactory.h
6513
 
        * src/FtpNegotiationCommand.cc
6514
 
        * src/HttpRequest.cc
6515
 
        * src/HttpRequest.h
6516
 
        * src/HttpRequestCommand.cc
6517
 
        * src/HttpSkipResponseCommand.cc
6518
 
        * src/MultiUrlRequestInfo.cc
6519
 
        * test/AuthConfigFactoryTest.cc
6520
 
        * test/FtpConnectionTest.cc
6521
 
        * test/HttpRequestTest.cc
6522
 
 
6523
 
2009-07-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6524
 
 
6525
 
        Don't call prepareForRetry(1) if all segments are ignored in
6526
 
        SegmentMan.
6527
 
        * src/AbstractCommand.cc
6528
 
        * src/BitfieldMan.cc
6529
 
        * src/BitfieldMan.h
6530
 
        * src/SegmentMan.cc
6531
 
        * src/SegmentMan.h
6532
 
 
6533
 
2009-07-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6534
 
 
6535
 
        Removed FileEntry::getAssociatedUris()
6536
 
        * src/FileEntry.h
6537
 
 
6538
 
2009-07-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6539
 
 
6540
 
        Updated doc: TODO1.5 -> TODO
6541
 
        * src/FileEntry.cc
6542
 
        * src/HttpResponseCommand.cc
6543
 
 
6544
 
2009-07-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6545
 
 
6546
 
        Added assertion fileEntries.size() == 1 if BitTorrent is not
6547
 
        involved.
6548
 
        * src/RequestGroup.cc
6549
 
 
6550
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6551
 
 
6552
 
        Eliminated duplicated filterBitfield initialization code.
6553
 
        * src/BitfieldMan.cc
6554
 
        * src/BitfieldMan.h
6555
 
 
6556
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6557
 
 
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
6562
 
 
6563
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6564
 
 
6565
 
        Added function returning suffix of control file to
6566
 
        DefaultBtProgressInfoFile.
6567
 
        * src/DefaultBtProgressInfoFile.cc
6568
 
        * src/DefaultBtProgressInfoFile.h
6569
 
        * src/RequestGroup.cc
6570
 
 
6571
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6572
 
 
6573
 
        Documented getVersion in man page.
6574
 
        * doc/aria2c.1.txt
6575
 
 
6576
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6577
 
 
6578
 
        Documented type of offset and num for tellWaiting xml-rpc method.
6579
 
        * doc/aria2c.1.txt
6580
 
 
6581
 
2009-07-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6582
 
 
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",
6587
 
        "BitTorrent".
6588
 
        * src/FeatureConfig.h
6589
 
        * src/XmlRpcMethodFactory.cc
6590
 
        * src/XmlRpcMethodImpl.cc
6591
 
        * src/XmlRpcMethodImpl.h
6592
 
        * test/XmlRpcMethodTest.cc
6593
 
 
6594
 
2009-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6595
 
 
6596
 
        Removed TLS1.1 protocol support when aria2 is built with gnutls
6597
 
        for compatibility issue.
6598
 
        * src/SocketCore.cc
6599
 
 
6600
 
2009-07-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6601
 
 
6602
 
        Fixed compile error with openSSL
6603
 
        * src/bittorrent_helper.cc
6604
 
        * src/messageDigest.h
6605
 
 
6606
 
2009-07-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6607
 
 
6608
 
        Removed bad code: setting certificate type priority to key
6609
 
        exchange priority.
6610
 
        * src/SocketCore.cc
6611
 
 
6612
 
2009-07-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6613
 
 
6614
 
        Disconnect seeder if client is also in seed state.
6615
 
        * src/BtBitfieldMessage.cc
6616
 
        * src/BtHaveAllMessage.cc
6617
 
        * src/BtHaveMessage.cc
6618
 
        * src/message.h
6619
 
        * test/BtBitfieldMessageTest.cc
6620
 
        * test/BtHaveAllMessageTest.cc
6621
 
        * test/BtHaveMessageTest.cc
6622
 
        * test/MockPieceStorage.h
6623
 
 
6624
 
2009-07-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6625
 
 
6626
 
        Keep CreateRequestCommand in queue when no segment is available so
6627
 
        that they can pick up pieces which slow BitTorrent peers are
6628
 
        downloading.
6629
 
        * src/AbstractCommand.cc
6630
 
        * src/CreateRequestCommand.cc
6631
 
        * src/CreateRequestCommand.h
6632
 
 
6633
 
2009-07-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6634
 
 
6635
 
        --bt-stop-timeout now only checks download speed.
6636
 
        * src/BtStopDownloadCommand.cc
6637
 
        * src/BtStopDownloadCommand.h
6638
 
        * src/BtSetup.cc
6639
 
        * src/usage_text.h
6640
 
        * doc/aria2c.1.txt
6641
 
 
6642
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6643
 
 
6644
 
        Fixed compile error regarding BUFSIZE.
6645
 
        * src/DownloadCommand.cc
6646
 
        * src/DownloadCommand.h
6647
 
 
6648
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6649
 
 
6650
 
        Documented tellWaiting xml-rpc method in man page.
6651
 
        * doc/aria2c.1.txt
6652
 
 
6653
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6654
 
 
6655
 
        Bump up version number to 1.5.0
6656
 
        * configure.ac
6657
 
 
6658
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6659
 
 
6660
 
        Removed resolved TODO1.5
6661
 
        * src/AbstractCommand.cc
6662
 
        * src/DownloadCommand.cc
6663
 
        * src/RequestGroup.cc
6664
 
 
6665
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6666
 
 
6667
 
        Release pooled and in-flight Request objectsand URIResult objects
6668
 
        in FileEntry after download completed.
6669
 
        * src/DownloadContext.cc
6670
 
        * src/DownloadContext.h
6671
 
        * src/FileEntry.cc
6672
 
        * src/FileEntry.h
6673
 
        * src/RequestGroup.cc
6674
 
 
6675
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6676
 
 
6677
 
        Set manual and source attribute in aria2c.1.txt
6678
 
        * doc/aria2c.1.txt
6679
 
 
6680
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6681
 
 
6682
 
        Documented that the default value of --use-head is 'false' in man
6683
 
        page.
6684
 
        * doc/aria2c.1.txt
6685
 
 
6686
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6687
 
 
6688
 
        Added bt-stop-timeout option to -i list.
6689
 
        * doc/aria2c.1.txt
6690
 
        * src/download_helper.cc
6691
 
 
6692
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6693
 
 
6694
 
        Fixed typo
6695
 
        * doc/aria2c.1.txt
6696
 
        * src/usage_text.h
6697
 
 
6698
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6699
 
 
6700
 
        Removed peer-id-prefix option from -i list.
6701
 
        * doc/aria2c.1.txt
6702
 
        * src/download_helper.cc
6703
 
 
6704
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6705
 
 
6706
 
        Fixed typo
6707
 
        * doc/aria2c.1.txt
6708
 
        * src/usage_text.h
6709
 
 
6710
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6711
 
 
6712
 
        Documented --bt-stop-timeout option in man page.
6713
 
        * doc/aria2c.1.txt
6714
 
 
6715
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6716
 
 
6717
 
        Updated README regarding multi-file torrent web-seeding.
6718
 
        * doc/README.txt
6719
 
 
6720
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6721
 
 
6722
 
        Updated man page regarding multi-file torrent web-seeding.
6723
 
        * doc/aria2c.1.txt
6724
 
 
6725
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6726
 
 
6727
 
        Updated doc
6728
 
        * src/version_usage.cc
6729
 
 
6730
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6731
 
 
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
6734
 
        given to select().
6735
 
        * src/SelectEventPoll.cc
6736
 
        * src/SelectEventPoll.h
6737
 
 
6738
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6739
 
 
6740
 
        Disabled --use-head option by default because --use-head=true
6741
 
        causes problems on some web sites.      
6742
 
        * src/OptionHandlerFactory.cc
6743
 
 
6744
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6745
 
 
6746
 
        Print URL List in -S option for torrent.
6747
 
        * src/bittorrent_helper.cc
6748
 
        * src/bittorrent_helper.h
6749
 
 
6750
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6751
 
 
6752
 
        Allocate buffer in ctor of DownloadCommand.
6753
 
        * src/DownloadCommand.cc
6754
 
        * src/DownloadCommand.h
6755
 
 
6756
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6757
 
 
6758
 
        Removed DiskAdaptor::onDownloadComplete()
6759
 
        * src/DirectDiskAdaptor.cc
6760
 
        * src/DirectDiskAdaptor.h
6761
 
        * src/DiskAdaptor.h
6762
 
        * src/MultiDiskAdaptor.cc
6763
 
        * src/MultiDiskAdaptor.h
6764
 
 
6765
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6766
 
 
6767
 
        Committed missing BtStopDownloadCommand.{cc,h}
6768
 
        * src/BtStopDownloadCommand.cc
6769
 
        * src/BtStopDownloadCommand.h
6770
 
 
6771
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6772
 
 
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.
6776
 
        * src/BtSetup.cc
6777
 
        * src/Makefile.am
6778
 
        * src/OptionHandlerFactory.cc
6779
 
        * src/prefs.cc
6780
 
        * src/prefs.h
6781
 
        * src/usage_text.h
6782
 
 
6783
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6784
 
 
6785
 
        Removed the call to DiskAdaptor::onDownloadComplete() from
6786
 
        BtCheckIntegrityEntry and DefaultPieceStorage.
6787
 
        * src/BtCheckIntegrityEntry.cc
6788
 
        * src/DefaultPieceStorage.cc
6789
 
        
6790
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6791
 
 
6792
 
        Commented out throw statements when number of piece is 0 to
6793
 
        download 0 length torrent.
6794
 
        * src/bittorrent_helper.cc
6795
 
 
6796
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6797
 
 
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
6803
 
        * src/FileEntry.h
6804
 
        * src/RequestGroup.cc
6805
 
 
6806
 
2009-07-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6807
 
 
6808
 
        Generate peer ID after SimpleRandomizer is initialized.
6809
 
        * src/main.cc
6810
 
        * src/option_processing.cc
6811
 
 
6812
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6813
 
 
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
6820
 
 
6821
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6822
 
 
6823
 
        Made URI reusing function work.
6824
 
        * src/CreateRequestCommand.cc
6825
 
        * src/FileEntry.cc
6826
 
        * src/FileEntry.h
6827
 
        * test/FileEntryTest.cc
6828
 
 
6829
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6830
 
 
6831
 
        Add formerly fastest PeerStat's sessionDownloadLength to new
6832
 
        fastest PeerStat and use _fastestPeerStats to calcuate downloaded
6833
 
        bytes in a session.     
6834
 
        * src/PeerStat.cc
6835
 
        * src/SegmentMan.cc
6836
 
 
6837
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6838
 
 
6839
 
        If pipelining is enabled, we can always pool socket.
6840
 
        * src/HttpDownloadCommand.cc
6841
 
 
6842
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6843
 
 
6844
 
        In a single file download, file size becomes known just after
6845
 
        downloading, set total length to FileEntry object when download
6846
 
        completed.      
6847
 
        * src/DownloadCommand.cc
6848
 
 
6849
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6850
 
 
6851
 
        Use std::vector::reserve() for fileEntries and pieceHashes in
6852
 
        bittorrent_helper
6853
 
        * src/bittorrent_helper.cc
6854
 
 
6855
 
2009-07-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6856
 
 
6857
 
        Removed calls to Request::resetUrl() in AbstractCommand.cc.
6858
 
        Removed hidden option PREF_RESET_URI.
6859
 
        * src/AbstractCommand.cc
6860
 
        * src/OptionHandlerFactory.cc
6861
 
        * src/prefs.cc
6862
 
        * src/prefs.h
6863
 
 
6864
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6865
 
 
6866
 
        Removed unused variable/function.
6867
 
        * src/PeerStat.h
6868
 
 
6869
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6870
 
 
6871
 
        Show first URL in Download Results if file path is not available.
6872
 
        * src/FileEntry.h
6873
 
 
6874
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6875
 
 
6876
 
        Throw exception if file path doesn't exist in FTP URL.
6877
 
        * src/InitiateConnectionCommandFactory.cc 
6878
 
 
6879
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6880
 
 
6881
 
        Refactored BitfieldMan::getSparseMissingUnusedIndex()
6882
 
        * src/BitfieldMan.cc
6883
 
 
6884
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6885
 
 
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
6893
 
        * src/Request.h
6894
 
        * src/RequestGroupMan.cc
6895
 
        * src/SegmentMan.cc
6896
 
        * src/SegmentMan.h
6897
 
        * test/SegmentManTest.cc
6898
 
 
6899
 
2009-07-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6900
 
 
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
6907
 
        * src/DNSCache.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
6921
 
        * test/Makefile.am
6922
 
        * test/SimpleDNSCacheTest.cc
6923
 
 
6924
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6925
 
 
6926
 
        Updated doc
6927
 
        * src/download_helper.cc
6928
 
 
6929
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6930
 
 
6931
 
        Refactored fieldMan ctor.
6932
 
        * src/BitfieldMan.cc
6933
 
        * src/BitfieldMan.h
6934
 
 
6935
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6936
 
 
6937
 
        Don't print "No files to download." message if -S is given.
6938
 
        * src/main.cc
6939
 
 
6940
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6941
 
 
6942
 
        Set referer and method to newly created Request object.
6943
 
        * src/CreateRequestCommand.cc
6944
 
        * src/FileEntry.cc
6945
 
        * src/FileEntry.h
6946
 
 
6947
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6948
 
 
6949
 
        Removed ctor of AbstractCommand which doesn't take FileEntry.
6950
 
        * src/AbstractCommand.cc
6951
 
        * src/AbstractCommand.h
6952
 
        * src/CreateRequestCommand.cc
6953
 
 
6954
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6955
 
 
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
6971
 
 
6972
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6973
 
 
6974
 
        Use SegmentMan::getSegment(cuid) for single file download.
6975
 
        * src/AbstractCommand.cc
6976
 
 
6977
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6978
 
 
6979
 
        Fixed bufSize calculation
6980
 
        * src/DownloadCommand.cc
6981
 
 
6982
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6983
 
 
6984
 
        Don't append "/" if base URI ends with "/".
6985
 
        * src/bittorrent_helper.cc
6986
 
        * test/url-list-multiFile.torrent
6987
 
 
6988
 
2009-07-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
6989
 
 
6990
 
        HTTP pipelining is now working. Fixed Segmention fault in
6991
 
        BitfieldMan's copy ctor.        
6992
 
        * src/AbstractCommand.cc
6993
 
        * src/BitfieldMan.cc
6994
 
        * src/BitfieldMan.h
6995
 
        * src/DownloadCommand.cc
6996
 
        * src/HttpDownloadCommand.cc
6997
 
        * src/HttpRequest.cc
6998
 
        * src/SegmentMan.cc
6999
 
        * src/SegmentMan.h
7000
 
        * test/BitfieldManTest.cc
7001
 
        * test/SegmentManTest.cc
7002
 
 
7003
 
2009-06-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7004
 
 
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
7010
 
        * src/FileEntry.cc
7011
 
        * src/FileEntry.h
7012
 
        * src/FtpNegotiationCommand.cc
7013
 
        * src/HttpResponseCommand.cc
7014
 
        * src/Makefile.am
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
7023
 
 
7024
 
2009-06-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7025
 
 
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
7034
 
        * src/FileEntry.cc
7035
 
        * src/FileEntry.h
7036
 
        * src/Request.cc
7037
 
        * src/Request.h
7038
 
        * src/RequestGroup.h
7039
 
        * src/RequestGroupMan.cc
7040
 
        * src/SegmentMan.cc
7041
 
        * src/SegmentMan.h
7042
 
        * test/SegmentManTest.cc
7043
 
 
7044
 
2009-06-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7045
 
 
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
7062
 
        * src/DlAbortEx.h
7063
 
        * src/DlRetryEx.h
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
7071
 
        * src/FileEntry.cc
7072
 
        * src/FileEntry.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
7080
 
        * src/Makefile.am
7081
 
        * src/Makefile.in
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
7094
 
        * src/URIResult.cc
7095
 
        * src/URIResult.h
7096
 
        * src/URISelector.h
7097
 
        * src/XmlRpcMethodImpl.cc
7098
 
        * src/bittorrent_helper.cc
7099
 
        * src/bittorrent_helper.h
7100
 
        * src/download_helper.cc
7101
 
        * src/main.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
7117
 
 
7118
 
2009-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7119
 
        Removed MockBtContext.h
7120
 
        * test/Makefile.am
7121
 
 
7122
 
2009-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7123
 
 
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
7133
 
 
7134
 
2009-06-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7135
 
 
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
7150
 
        * src/BtConstants.h
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
7157
 
        * src/BtRegistry.cc
7158
 
        * src/BtRegistry.h
7159
 
        * src/BtSetup.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
7194
 
        * src/DiskAdaptor.h
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
7204
 
        * src/FileEntry.h
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
7220
 
        * src/HttpRequest.h
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
7234
 
        * src/Makefile.am
7235
 
        * src/Makefile.in
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
7258
 
        * src/SegmentMan.cc
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
7267
 
        * src/Util.cc
7268
 
        * src/Util.h
7269
 
        * src/XmlRpcMethodImpl.cc
7270
 
        * src/bittorrent_helper.cc
7271
 
        * src/bittorrent_helper.h
7272
 
        * src/download_helper.cc
7273
 
        * src/main.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
7305
 
        * test/Makefile.am
7306
 
        * test/Makefile.in
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
7320
 
        * test/UtilTest.cc
7321
 
        * test/XmlRpcMethodTest.cc
7322
 
        
7323
 
2009-06-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7324
 
 
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
7331
 
        * src/BitfieldMan.h
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
7340
 
        * src/FileEntry.cc
7341
 
        * src/FileEntry.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
7357
 
        * src/HttpRequest.h
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
7368
 
        * src/Makefile.am
7369
 
        * src/PieceStorage.h
7370
 
        * src/RequestGroup.cc
7371
 
        * src/RequestGroup.h
7372
 
        * src/RequestGroupMan.cc
7373
 
        * src/SegmentMan.cc
7374
 
        * src/SegmentMan.h
7375
 
        * src/SingleFileDownloadContext.h
7376
 
        * src/StreamFileAllocationEntry.cc
7377
 
        * src/TrackerWatcherCommand.cc
7378
 
        * src/UnknownLengthPieceStorage.cc
7379
 
        * src/UnknownLengthPieceStorage.h
7380
 
        * src/array_fun.h
7381
 
        * src/bitfield.h
7382
 
        * src/download_helper.cc
7383
 
        * test/DownloadContextTest.cc
7384
 
        * test/Makefile.am
7385
 
        * test/MockDownloadContext.h
7386
 
 
7387
 
2009-06-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7388
 
 
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
7395
 
 
7396
 
2009-06-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7397
 
 
7398
 
        Updated CookieStorageTest
7399
 
        * test/CookieStorageTest.cc
7400
 
 
7401
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7402
 
 
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
7410
 
 
7411
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7412
 
 
7413
 
        Added comment
7414
 
        * src/RequestGroup.cc
7415
 
 
7416
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7417
 
 
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
7421
 
        destination.
7422
 
        * src/CookieStorage.cc
7423
 
        * src/CookieStorage.h
7424
 
        * src/MultiUrlRequestInfo.cc
7425
 
 
7426
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7427
 
 
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
7432
 
        changed to /.
7433
 
        * src/File.cc
7434
 
        * src/File.h
7435
 
        * src/OptionHandlerFactory.cc
7436
 
        * src/option_processing.cc
7437
 
 
7438
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7439
 
 
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
7444
 
 
7445
 
2009-06-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7446
 
 
7447
 
        Small performance optimizations.
7448
 
        * src/RequestGroupMan.cc
7449
 
 
7450
 
2009-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7451
 
 
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
7456
 
 
7457
 
2009-06-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7458
 
 
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
7469
 
 
7470
 
2009-06-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7471
 
 
7472
 
        Removed include vector
7473
 
        * src/BtRegistry.h
7474
 
 
7475
 
2009-06-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7476
 
 
7477
 
        Rewritten BtRegistry
7478
 
        * src/BtRegistry.cc
7479
 
        * src/BtRegistry.h
7480
 
        * src/BtSetup.cc
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
7488
 
 
7489
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7490
 
 
7491
 
        Used array_ptr for savedInfoHash, savedBitfield and pieceBitfield.
7492
 
        * src/DefaultBtProgressInfoFile.cc
7493
 
 
7494
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7495
 
 
7496
 
        Throw an exception if position is less than 0.
7497
 
        * src/XmlRpcMethodImpl.cc
7498
 
        * test/XmlRpcMethodTest.cc
7499
 
 
7500
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7501
 
 
7502
 
        Use writeFilePath() in ConsoleStatCalc.cc
7503
 
        * src/ConsoleStatCalc.cc
7504
 
 
7505
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7506
 
 
7507
 
        Receive the return value as const reference from
7508
 
        DownloadContext::getFileEntries().
7509
 
        * src/DefaultPieceStorage.cc
7510
 
        * src/RequestGroupMan.cc
7511
 
        * src/XmlRpcMethodImpl.cc
7512
 
 
7513
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7514
 
 
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
7523
 
 
7524
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7525
 
 
7526
 
        Moved getFirstRequestedFileEntry(), countRequestedFileEntry() and
7527
 
        writeFilePath() function template from RequestGroupMan.cc to
7528
 
        FileEntry.h
7529
 
        * src/FileEntry.h
7530
 
        * src/RequestGroupMan.cc
7531
 
 
7532
 
2009-06-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7533
 
 
7534
 
        Documented 'position' parameter is starting from 0 in man page.
7535
 
        * doc/aria2c.1.txt
7536
 
 
7537
 
2009-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7538
 
 
7539
 
        Updated doc.
7540
 
        * src/MSEHandshake.cc
7541
 
 
7542
 
2009-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7543
 
 
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    
7549
 
 
7550
 
2009-06-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7551
 
 
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
7559
 
 
7560
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7561
 
 
7562
 
        * Release 1.4.1
7563
 
 
7564
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7565
 
 
7566
 
        Fixed compiler warnings on netbsd
7567
 
        * src/DHTConnectionImpl.cc
7568
 
        * src/PeerListenCommand.cc
7569
 
        * src/PeerSessionResource.cc
7570
 
        * src/SegmentMan.cc
7571
 
 
7572
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7573
 
 
7574
 
        Updated Ukrainian translation. Thanks to all translators.
7575
 
        * po/uk.po
7576
 
 
7577
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7578
 
 
7579
 
        Bump up version number to 1.4.1.
7580
 
        * configure.ac
7581
 
 
7582
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7583
 
 
7584
 
        Added unit tests for strjoin, strconcat and strappend.
7585
 
        * test/a2functionalTest.cc
7586
 
 
7587
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7588
 
 
7589
 
        Rewritten strconcat and strappend using operator+ instead of
7590
 
        append().
7591
 
        * src/a2functional.h
7592
 
 
7593
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7594
 
 
7595
 
        Compile bencode.cc and BencodeTest.cc only if BitTorrent support
7596
 
        is enabled.
7597
 
        * src/Makefile.am
7598
 
        * test/Makefile.am
7599
 
 
7600
 
2009-06-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7601
 
 
7602
 
        Added countSeeder() function which counts seeder in the given
7603
 
        iterator range. Use it in ConsoleStatCalc and XmlRpcMethodImpl.
7604
 
        * src/ConsoleStatCalc.cc
7605
 
        * src/Peer.h
7606
 
        * src/XmlRpcMethodImpl.cc
7607
 
        * test/PeerTest.cc
7608
 
 
7609
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7610
 
 
7611
 
        Documented missing seeder in getPeers xml-rpc method.
7612
 
        Documented uploadLength and numSeeders.
7613
 
        * doc/aria2c.1.txt
7614
 
 
7615
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7616
 
 
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
7620
 
        context.
7621
 
        * src/XmlRpcMethodImpl.cc
7622
 
        
7623
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7624
 
 
7625
 
        Use htmlEscape instead of xmlEscape. Removed static function xmlEscape.
7626
 
        * src/XmlRpcResponse.cc
7627
 
 
7628
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7629
 
 
7630
 
        Avoid intermediate object during string concatenation.
7631
 
        * src/HttpRequest.cc
7632
 
 
7633
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7634
 
 
7635
 
        Added strjoin function template. Use it in pathJoin()
7636
 
        * src/Util.h
7637
 
        * src/a2functional.h
7638
 
 
7639
 
2009-06-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7640
 
 
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
7645
 
        * src/AuthConfig.h
7646
 
        * src/BtBitfieldMessage.cc
7647
 
        * src/BtExtendedMessage.cc
7648
 
        * src/BtHandshakeMessage.cc
7649
 
        * src/BtPieceMessage.cc
7650
 
        * src/BtPortMessage.cc
7651
 
        * src/Cookie.cc
7652
 
        * src/DHTAnnouncePeerMessage.cc
7653
 
        * src/DHTAutoSaveCommand.cc
7654
 
        * src/DHTGetPeersReplyMessage.cc
7655
 
        * src/DHTNode.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
7666
 
        * src/File.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
7673
 
        * src/HttpServer.cc
7674
 
        * src/IndexBtMessage.cc
7675
 
        * src/Metalink2RequestGroup.cc
7676
 
        * src/OptionHandlerImpl.h
7677
 
        * src/PStringBuildVisitor.cc
7678
 
        * src/Peer.cc
7679
 
        * src/PeerListenCommand.cc
7680
 
        * src/Piece.cc
7681
 
        * src/RangeBtMessage.cc
7682
 
        * src/Request.cc
7683
 
        * src/Request.h
7684
 
        * src/RequestGroup.cc
7685
 
        * src/RequestGroupMan.cc
7686
 
        * src/ServerStat.cc
7687
 
        * src/ServerStatMan.cc
7688
 
        * src/UTPexExtensionMessage.cc
7689
 
        * src/Util.cc
7690
 
        * src/a2functional.h
7691
 
        * src/download_helper.cc
7692
 
        * src/messageDigest.cc
7693
 
 
7694
 
2009-06-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7695
 
 
7696
 
        Unchoke a peer randomly at first and second choke round in seed
7697
 
        state.
7698
 
        * src/BtSeederStateChoke.cc
7699
 
 
7700
 
2009-06-02  Ross Smith II  <aria2spam at smithii dot com>
7701
 
 
7702
 
        Added (sock_t) to quiet compiler warnings in MinGW
7703
 
        * src/SocketCore.cc
7704
 
        * src/SocketCore.h
7705
 
 
7706
 
2009-06-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7707
 
 
7708
 
        Added missing #ifdef ENABLE_ASYNC_DNS guard.
7709
 
        * src/EpollEventPoll.h
7710
 
 
7711
 
2009-06-01  Ross Smith II  <aria2spam at smithii dot com>
7712
 
 
7713
 
        Added fork() emulation using CreateProcess() in MinGW
7714
 
        * src/RequestGroupMan.cc
7715
 
        
7716
 
2009-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7717
 
 
7718
 
        * Release 1.4.0
7719
 
 
7720
 
2009-06-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7721
 
 
7722
 
        Added utf8.torrent to EXTRA_DIST
7723
 
        * test/Makefile.am
7724
 
 
7725
 
2009-05-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7726
 
 
7727
 
        Fixed docs of aria2.addMetalink xml-rpc method.
7728
 
        * doc/aria2c.1.txt
7729
 
 
7730
 
2009-05-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7731
 
 
7732
 
        Added Slovak translation. Updated Ukrainian and Brazilian
7733
 
        Portuguese translation. Thanks to all translators.
7734
 
        * po/sk.po
7735
 
        * po/uk.po
7736
 
        * po/pt_BR.po
7737
 
        * po/LINGUAS
7738
 
 
7739
 
2009-05-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7740
 
 
7741
 
        Added test case for XmlRpcProcessor to fail to parse malformed
7742
 
        document.
7743
 
        * test/XmlRpcRequestProcessorTest.cc
7744
 
 
7745
 
2009-05-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7746
 
 
7747
 
        Removed *.gmo files in po because they are generated on 'make
7748
 
        dist'
7749
 
        * po/*.gmo
7750
 
 
7751
 
2009-05-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7752
 
 
7753
 
        Documented max-concurrent-downloads of changeGlobalOption method
7754
 
        in man page.
7755
 
        * doc/aria2c.1.txt
7756
 
 
7757
 
2009-05-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7758
 
 
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
7766
 
        
7767
 
2009-05-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7768
 
 
7769
 
        Documented position parameter in man page.
7770
 
        * doc/aria2c.1.txt
7771
 
 
7772
 
2009-05-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7773
 
 
7774
 
        Added 'position' parameter to addUri, addTorrent and addMetalink
7775
 
        xml-rpc method.
7776
 
        * src/RequestGroupMan.cc
7777
 
        * src/RequestGroupMan.h
7778
 
        * src/XmlRpcMethodImpl.cc
7779
 
        * test/XmlRpcMethodTest.cc
7780
 
 
7781
 
2009-05-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7782
 
 
7783
 
        Removed Peer.cc from compile source list when --disable-bittorrent
7784
 
        is specified.  Added #ifdef ENABLE_BITTORRENT guard to methods that
7785
 
        takes Peer.
7786
 
        * src/DefaultPieceStorage.cc
7787
 
        * src/DefaultPieceStorage.h
7788
 
        * src/Makefile.am
7789
 
        * src/PieceStorage.h
7790
 
        * src/UnknownLengthPieceStorage.cc
7791
 
        * src/UnknownLengthPieceStorage.h
7792
 
        * test/MockPieceStorage.h
7793
 
 
7794
 
2009-05-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7795
 
 
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
7807
 
        * src/BNode.cc
7808
 
        * src/BNode.h
7809
 
        * src/BitfieldMan.cc
7810
 
        * src/BitfieldMan.h
7811
 
        * src/BtAbortOutstandingRequestEvent.h
7812
 
        * src/BtExtendedMessage.cc
7813
 
        * src/BtExtendedMessage.h
7814
 
        * src/BtSeederStateChoke.cc
7815
 
        * src/BtSeederStateChoke.h
7816
 
        * src/Cookie.cc
7817
 
        * src/Cookie.h
7818
 
        * src/DHTBucket.cc
7819
 
        * src/DHTBucket.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
7827
 
        * src/DHTMessage.cc
7828
 
        * src/DHTMessage.h
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
7848
 
        * src/DiskAdaptor.h
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
7859
 
        * src/HttpHeader.cc
7860
 
        * src/HttpHeader.h
7861
 
        * src/HttpRequest.cc
7862
 
        * src/HttpRequest.h
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
7879
 
        * src/Peer.cc
7880
 
        * src/Peer.h
7881
 
        * src/PeerSessionResource.cc
7882
 
        * src/PeerSessionResource.h
7883
 
        * src/Piece.cc
7884
 
        * src/Piece.h
7885
 
        * src/PieceStatMan.cc
7886
 
        * src/PieceStatMan.h
7887
 
        * src/Request.cc
7888
 
        * src/Request.h
7889
 
        * src/RequestGroup.cc
7890
 
        * src/RequestGroup.h
7891
 
        * src/RequestGroupMan.cc
7892
 
        * src/RequestGroupMan.h
7893
 
        * src/RequestSlot.cc
7894
 
        * src/RequestSlot.h
7895
 
        * src/SegmentMan.cc
7896
 
        * src/SegmentMan.h
7897
 
        * src/SelectEventPoll.cc
7898
 
        * src/SelectEventPoll.h
7899
 
        * src/ServerStat.cc
7900
 
        * src/ServerStat.h
7901
 
        * src/Signature.cc
7902
 
        * src/Signature.h
7903
 
        * src/URIResult.cc
7904
 
        * src/URIResult.h
7905
 
        * src/UTPexExtensionMessage.cc
7906
 
        * src/UTPexExtensionMessage.h
7907
 
 
7908
 
2009-05-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7909
 
 
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
7916
 
 
7917
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7918
 
 
7919
 
        Rewritten the help message for --allow-overwrite option.
7920
 
        * doc/aria2c.1.txt
7921
 
        * src/usage_text.h
7922
 
 
7923
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7924
 
 
7925
 
        Fixed typo
7926
 
        * doc/aria2c.1.txt
7927
 
        * src/usage_text.h
7928
 
 
7929
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7930
 
 
7931
 
        Updated README for 1.4.0 release. Use new table syntax of
7932
 
        asciidoc.
7933
 
        * README
7934
 
 
7935
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7936
 
 
7937
 
        Documented --xml-rpc-max-request-size option in man page.
7938
 
        * doc/aria2c.1.txt
7939
 
 
7940
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7941
 
 
7942
 
        Moved C_* constants from BtContext to DefaultBtContext.
7943
 
        * src/BtContext.cc: Removed.
7944
 
        * src/BtContext.h
7945
 
        * src/DefaultBtContext.cc
7946
 
        * src/DefaultBtContext.h
7947
 
        * src/Makefile.am
7948
 
 
7949
 
2009-05-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7950
 
 
7951
 
        Use name.utf-8 and path.utf-8 key in higher priority than name and
7952
 
        path key respectively when persing .torrent file.
7953
 
        * src/BtContext.cc
7954
 
        * src/BtContext.h
7955
 
        * src/DefaultBtContext.cc
7956
 
        * test/DefaultBtContextTest.cc
7957
 
        * test/utf8.torrent
7958
 
 
7959
 
2009-05-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7960
 
 
7961
 
        Added --xml-rpc-max-request-size option to limit the size of
7962
 
        XML-RPC request.
7963
 
        
7964
 
2009-05-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7965
 
 
7966
 
        Documented XML-RPC API in man page.
7967
 
        * doc/aria2c.1.txt
7968
 
 
7969
 
2009-05-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7970
 
 
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
7975
 
 
7976
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7977
 
 
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.       
7982
 
        * m4/sqlite3.m4
7983
 
        * src/Makefile.am
7984
 
        * test/Makefile.am
7985
 
 
7986
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7987
 
 
7988
 
        Fixed typo
7989
 
        * configure.ac
7990
 
 
7991
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7992
 
 
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.
7996
 
        * configure.ac
7997
 
 
7998
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
7999
 
 
8000
 
        Use s itself instead of !s.bad()
8001
 
        * src/CookieStorage.cc
8002
 
 
8003
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8004
 
 
8005
 
        Documented --on-download-* option and --save-cookies option in man
8006
 
        page.   
8007
 
        * doc/aria2c.1.txt
8008
 
 
8009
 
2009-05-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8010
 
 
8011
 
        Set possible values for --load-cookie option to "/path/to/file".
8012
 
        * src/OptionHandlerFactory.cc
8013
 
 
8014
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8015
 
 
8016
 
        Added --save-cookies option.
8017
 
        * src/Cookie.cc
8018
 
        * src/Cookie.h
8019
 
        * src/CookieStorage.cc
8020
 
        * src/CookieStorage.h
8021
 
        * src/MultiUrlRequestInfo.cc
8022
 
        * src/OptionHandlerFactory.cc
8023
 
        * src/prefs.cc
8024
 
        * src/prefs.h
8025
 
        * src/usage_text.h
8026
 
        * test/CookieStorageTest.cc
8027
 
        * test/CookieTest.cc
8028
 
 
8029
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8030
 
 
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
8036
 
 
8037
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8038
 
 
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
8043
 
        option.
8044
 
        * src/OptionHandlerFactory.cc
8045
 
        * src/RequestGroupMan.cc
8046
 
        * src/prefs.cc
8047
 
        * src/prefs.h
8048
 
        * src/usage_text.h
8049
 
 
8050
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8051
 
 
8052
 
        Fixed test error
8053
 
        * test/BencodeTest.cc
8054
 
 
8055
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8056
 
 
8057
 
        Added unit tests.
8058
 
        * test/XmlRpcMethodTest.cc
8059
 
 
8060
 
2009-05-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8061
 
 
8062
 
        Made exception message more verbose.
8063
 
        * src/bencode.cc
8064
 
 
8065
 
2009-05-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8066
 
 
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
8069
 
        speed > 1024KiB/s.
8070
 
        * src/ConsoleStatCalc.cc
8071
 
 
8072
 
2009-05-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8073
 
 
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
8080
 
        * src/StatCalc.h
8081
 
 
8082
 
2009-05-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8083
 
 
8084
 
        Added source filename(__FILE__) and line number(__LINE__) to
8085
 
        exception message.      
8086
 
        * src/AbstractCommand.cc
8087
 
        * src/AbstractDiskWriter.cc
8088
 
        * src/AbstractProxyResponseCommand.cc
8089
 
        * src/BDE.h
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
8104
 
        * src/DHTSetup.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
8112
 
        * src/DlAbortEx.h
8113
 
        * src/DlRetryEx.h
8114
 
        * src/DownloadCommand.cc
8115
 
        * src/DownloadEngineFactory.cc
8116
 
        * src/DownloadFailureException.h
8117
 
        * src/Exception.cc
8118
 
        * src/Exception.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
8134
 
        * src/HttpServer.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
8154
 
        * src/Netrc.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
8165
 
        * src/Platform.cc
8166
 
        * src/ReceiverMSEHandshakeCommand.cc
8167
 
        * src/RecoverableException.h
8168
 
        * src/RequestGroup.cc
8169
 
        * src/SimpleLogger.cc
8170
 
        * src/SocketCore.cc
8171
 
        * src/Sqlite3MozCookieParser.cc
8172
 
        * src/UTPexExtensionMessage.cc
8173
 
        * src/Util.cc
8174
 
        * src/XML2SAXMetalinkProcessor.cc
8175
 
        * src/Xml2XmlRpcRequestProcessor.cc
8176
 
        * src/XmlRpcMethodImpl.cc
8177
 
        * src/bencode.cc
8178
 
        * src/download_helper.cc
8179
 
        * src/messageDigest.h
8180
 
        * test/ExceptionTest.cc
8181
 
        * test/TestUtil.cc
8182
 
 
8183
 
2009-05-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8184
 
 
8185
 
        Bump up version number to 1.4.0
8186
 
        * configure.ac
8187
 
 
8188
 
2009-05-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8189
 
 
8190
 
        Added 2files.metalink to EXTRA_DIST
8191
 
        * test/Makefile.am
8192
 
 
8193
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8194
 
 
8195
 
        Added missing 2files.metalink
8196
 
        * test/2files.metalink
8197
 
 
8198
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8199
 
 
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
8205
 
 
8206
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8207
 
 
8208
 
        Defined MSG_CANNOT_PARSE_XML_RPC_REQUEST
8209
 
        * src/ExpatXmlRpcRequestProcessor.cc
8210
 
        * src/Xml2XmlRpcRequestProcessor.cc
8211
 
        * src/message.h
8212
 
 
8213
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8214
 
 
8215
 
        Defined const BDEs to avoid duplicate instantiation.
8216
 
        Defined MSG_GID_NOT_PROVIDED.
8217
 
        * src/XmlRpcMethodImpl.cc
8218
 
        * src/message.h
8219
 
 
8220
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8221
 
 
8222
 
        Code cleanup
8223
 
        * src/Xml2XmlRpcRequestProcessor.cc
8224
 
        * src/Xml2XmlRpcRequestProcessor.h
8225
 
 
8226
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8227
 
 
8228
 
        Defined ENABLE_XML_RPC
8229
 
        * configure.ac
8230
 
        * configure
8231
 
        * config.h.in
8232
 
 
8233
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8234
 
 
8235
 
        Added ExpatXmlRpcRequestProcessor
8236
 
        * src/ExpatXmlRpcRequestProcessor.cc
8237
 
        * src/ExpatXmlRpcRequestProcessor.h
8238
 
        * src/Makefile.am
8239
 
 
8240
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8241
 
 
8242
 
        Added tests for addTorrent and addMetalink command.
8243
 
        * test/TestUtil.cc
8244
 
        * test/TestUtil.h
8245
 
        * test/XmlRpcMethodTest.cc
8246
 
 
8247
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8248
 
 
8249
 
        Corrected the description of --file-allocation option.
8250
 
        * doc/aria2c.1.txt
8251
 
 
8252
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8253
 
 
8254
 
        Added tellAll command.
8255
 
        * src/XmlRpcMethodFactory.cc
8256
 
        * src/XmlRpcMethodImpl.cc
8257
 
        * src/XmlRpcMethodImpl.h
8258
 
 
8259
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8260
 
 
8261
 
        Use gatherProgress() in TellActiveXmlRpcMethod::process().
8262
 
        * src/XmlRpcMethodImpl.cc
8263
 
        
8264
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8265
 
 
8266
 
        Added changeGlobalOption command. Currently,
8267
 
        max-overall-download-limit and max-overall-upload-limit option are
8268
 
        available.
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
8276
 
 
8277
 
2009-05-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8278
 
 
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
8288
 
 
8289
 
2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8290
 
 
8291
 
        Added purgeDownloadResult command.
8292
 
        * src/RequestGroupMan.cc
8293
 
        * src/RequestGroupMan.h
8294
 
        * src/XmlRpcMethodFactory.cc
8295
 
        * src/XmlRpcMethodImpl.cc
8296
 
        * src/XmlRpcMethodImpl.h
8297
 
 
8298
 
2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8299
 
 
8300
 
        Refactored.
8301
 
        * src/XmlRpcMethod.cc
8302
 
 
8303
 
2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8304
 
 
8305
 
        Added XmlRpcResponse class. XmlRpcMethod::execute() now returns
8306
 
        XmlRpcResponse.
8307
 
        * src/HttpServerBodyCommand.cc
8308
 
        * src/Makefile.am
8309
 
        * src/XmlRpcMethod.cc
8310
 
        * src/XmlRpcMethod.h
8311
 
        * src/XmlRpcMethodImpl.cc
8312
 
        * src/XmlRpcResponse.cc
8313
 
        * src/XmlRpcResponse.h
8314
 
        * test/XmlRpcMethodTest.cc
8315
 
 
8316
 
2009-05-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8317
 
 
8318
 
        In XML-RPC option struct, header and index-out option can take
8319
 
        array as value.
8320
 
        * src/XmlRpcMethod.cc
8321
 
 
8322
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8323
 
 
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
8331
 
 
8332
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8333
 
 
8334
 
        Added "seeder" key to getPeers response.
8335
 
        * src/XmlRpcMethodImpl.cc
8336
 
 
8337
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8338
 
 
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
8345
 
 
8346
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8347
 
 
8348
 
        Fixed the bug that POU peers are never choked in seeding.
8349
 
        * src/BtSeederStateChoke.cc
8350
 
        * src/BtSeederStateChoke.h
8351
 
        
8352
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8353
 
 
8354
 
        Added web-seeding URI handling in addTorrent command.
8355
 
        * src/XmlRpcMethodImpl.cc
8356
 
 
8357
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8358
 
 
8359
 
        Added "length" key to getFiles response.
8360
 
        * src/XmlRpcMethodImpl.cc
8361
 
 
8362
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8363
 
 
8364
 
        Moved --no-netrc option from ftp option section to http/ftp option
8365
 
        section.
8366
 
        * doc/aria2c.1.txt
8367
 
        * src/OptionHandlerFactory.cc
8368
 
        
8369
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8370
 
 
8371
 
        Removed garbage "\" character before '
8372
 
        * doc/aria2c.1.txt
8373
 
 
8374
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8375
 
 
8376
 
        Removed garbage "\" character before http.
8377
 
        * doc/aria2c.1.txt
8378
 
 
8379
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8380
 
 
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.
8385
 
        * doc/aria2c.1.txt
8386
 
 
8387
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8388
 
 
8389
 
        Added "downloadSpeed" and uploadSpeed" key in getPeers response.        
8390
 
        * src/DefaultPeerStorage.cc
8391
 
        * src/DefaultPeerStorage.h
8392
 
        * src/PeerStorage.h
8393
 
        * src/XmlRpcMethodImpl.cc
8394
 
        * test/MockPeerStorage.h
8395
 
 
8396
 
2009-05-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8397
 
 
8398
 
        Put a call to Socket::isReadable() in try block.
8399
 
        * src/HttpServerBodyCommand.cc
8400
 
        * src/HttpServerCommand.cc
8401
 
 
8402
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8403
 
 
8404
 
        Fixed segmentation fault error. SocketBuffer::sendResponse() may throw
8405
 
        exception , so it is now in try block.
8406
 
        * src/HttpServerResponseCommand.cc
8407
 
 
8408
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8409
 
 
8410
 
        Added "amChoking" and "peerChoking" key in getPeers response.
8411
 
        * src/XmlRpcMethodImpl.cc
8412
 
 
8413
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8414
 
 
8415
 
        Added test case for zero-length filter.
8416
 
        * test/BitfieldManTest.cc
8417
 
 
8418
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8419
 
 
8420
 
        getFiles command now returns file data for finished/stopped
8421
 
        downloads.      
8422
 
        * src/XmlRpcMethodImpl.cc
8423
 
 
8424
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8425
 
 
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
8433
 
        
8434
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8435
 
 
8436
 
        Fixed segmentation fault error when no file is selected in
8437
 
        multi-file torrent.     
8438
 
        * src/BitfieldMan.cc
8439
 
        
8440
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8441
 
 
8442
 
        Escaped <,>,& character in XML-RPC response.
8443
 
        * src/XmlRpcMethod.cc
8444
 
 
8445
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8446
 
 
8447
 
        Throw DlAbortEx instead of FatalException during parsing options
8448
 
        because we don't want for aria2 to quit when bad option is passed
8449
 
        via XML-RPC.
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
8459
 
 
8460
 
2009-05-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8461
 
 
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() 
8468
 
        * src/BtContext.cc
8469
 
        * src/BtContext.h
8470
 
        * src/DefaultBtContext.cc
8471
 
        * src/DefaultBtContext.h
8472
 
        * src/DefaultPieceStorage.cc
8473
 
        * src/DefaultPieceStorage.h
8474
 
        * src/DiskAdaptor.cc
8475
 
        * src/DiskAdaptor.h
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
8483
 
 
8484
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8485
 
 
8486
 
        Fixed compile error on Mac OS X
8487
 
        * src/HttpServer.cc
8488
 
        * src/XmlRpcMethod.h
8489
 
        * src/XmlRpcMethodImpl.cc
8490
 
 
8491
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8492
 
 
8493
 
        Use std::binary_search instead of std::find
8494
 
        * src/DefaultPieceStorage.cc
8495
 
        
8496
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8497
 
 
8498
 
        Removed unnecessary BDE() call; leave them to implicit conversion.
8499
 
        * src/XmlRpcMethodImpl.cc
8500
 
 
8501
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8502
 
 
8503
 
        Return connections and gid in string
8504
 
        * src/XmlRpcMethodImpl.cc
8505
 
 
8506
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8507
 
 
8508
 
        Renamed addURI as addUri
8509
 
        * src/XmlRpcMethodFactory.cc
8510
 
        * src/XmlRpcMethodImpl.cc
8511
 
        * src/XmlRpcMethodImpl.h        
8512
 
        * test/XmlRpcMethodTest.cc
8513
 
 
8514
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8515
 
 
8516
 
        Renamed addTorrentFile as addTorrent
8517
 
        * src/XmlRpcMethodFactory.cc
8518
 
        * src/XmlRpcMethodImpl.cc
8519
 
        * src/XmlRpcMethodImpl.h        
8520
 
        
8521
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8522
 
 
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
8530
 
        
8531
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8532
 
 
8533
 
        Removed --max-overall-upload-limit and
8534
 
        --max-overall-download-limit option from listRequestOptions.
8535
 
        * src/download_helper.cc
8536
 
        
8537
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8538
 
 
8539
 
        Log incoming host in HttpListenCommand.
8540
 
        * src/HttpListenCommand.cc
8541
 
        
8542
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8543
 
 
8544
 
        Added BASIC authentication for XML-RPC. Added --xml-rpc-user and
8545
 
        --xml-rpc-passwd option.
8546
 
        * src/HttpServer.cc
8547
 
        * src/HttpServer.h
8548
 
        * src/HttpServerCommand.cc
8549
 
        * src/OptionHandlerFactory.cc
8550
 
        * src/prefs.cc
8551
 
        * src/prefs.h
8552
 
        * src/usage_text.h
8553
 
 
8554
 
2009-05-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8555
 
 
8556
 
        Fixed the bug that SocketCore::isReadable() prevents aria2 from
8557
 
        processing 0 length request.    
8558
 
        * src/HttpServerBodyCommand.cc
8559
 
 
8560
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8561
 
 
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
8570
 
        * src/Makefile.am
8571
 
        * src/Makefile.in
8572
 
        * src/OptionHandlerFactory.cc
8573
 
        * src/RequestGroupMan.cc
8574
 
        * src/main.cc
8575
 
        * src/option_processing.cc
8576
 
        * src/prefs.cc
8577
 
        * src/prefs.h
8578
 
        * src/usage_text.h
8579
 
 
8580
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8581
 
 
8582
 
        Added "uris" key to the response of tellStatus command.  Added
8583
 
        "connections" key to the response of tellStatus and tellActive
8584
 
        command.
8585
 
        * src/XmlRpcMethodImpl.cc
8586
 
 
8587
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8588
 
 
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        
8597
 
        
8598
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8599
 
 
8600
 
        Initialized _peerId
8601
 
        * src/Peer.cc
8602
 
 
8603
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8604
 
 
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
8613
 
 
8614
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8615
 
 
8616
 
        Set DownloadResult::IN_PROGRESS for downloads removed by xml-rpc
8617
 
        command.
8618
 
        * src/RequestGroup.cc
8619
 
        * src/RequestGroup.h
8620
 
        * src/RequestGroupMan.cc
8621
 
        * src/XmlRpcMethodImpl.cc
8622
 
        * test/RequestGroupTest.cc
8623
 
 
8624
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8625
 
 
8626
 
        Added more options that can be specified in -i list and xml-rpc
8627
 
        add* command.   
8628
 
        * src/download_helper.h
8629
 
        
8630
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8631
 
 
8632
 
        The available options in -i list should be listed in
8633
 
        listRequestOptions().
8634
 
        * src/download_helper.cc
8635
 
        
8636
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8637
 
 
8638
 
        Added infoHash, pieceLength, numPieces value for tellActiveStatus
8639
 
        command.
8640
 
        * src/XmlRpcMethodImpl.cc
8641
 
        
8642
 
2009-05-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8643
 
 
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
8691
 
        * src/main.cc
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
8701
 
 
8702
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8703
 
 
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
8709
 
 
8710
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8711
 
 
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
8720
 
        
8721
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8722
 
 
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
8731
 
        
8732
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8733
 
 
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
8736
 
        start up.
8737
 
        * src/RequestGroupMan.cc
8738
 
        * src/main.cc
8739
 
        * src/option_processing.cc
8740
 
        
8741
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8742
 
 
8743
 
        Added missing AM_CONDITIONAL
8744
 
        * configure.ac
8745
 
        
8746
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8747
 
 
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.
8753
 
        * src/HttpServer.cc
8754
 
        * src/HttpServer.h
8755
 
        * src/HttpServerBodyCommand.cc
8756
 
        * src/HttpServerBodyCommand.h
8757
 
        * src/HttpServerCommand.cc
8758
 
        * src/HttpServerResponseCommand.cc
8759
 
        * src/Makefile.am
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
8772
 
        * test/Makefile.am
8773
 
        * test/XmlRpcMethodTest.cc
8774
 
 
8775
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8776
 
 
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
8795
 
 
8796
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8797
 
 
8798
 
        * Release 1.3.3
8799
 
 
8800
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8801
 
 
8802
 
        Fixed compile error since r1202.
8803
 
        * src/ExpatMetalinkProcessor.cc
8804
 
 
8805
 
2009-05-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8806
 
 
8807
 
        Updated Ukrainian, Russian and Simplified Chinese
8808
 
        translations. Thanks to all translators.
8809
 
        * po/ru.po
8810
 
        * po/uk.po
8811
 
        * po/zh_CN.po
8812
 
 
8813
 
2009-05-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8814
 
 
8815
 
        Pass reference of Option object instead of pointer.
8816
 
        * src/download_helper.cc
8817
 
        * src/download_helper.h
8818
 
        * src/main.cc
8819
 
        * test/DownloadHelperTest.cc
8820
 
 
8821
 
2009-05-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8822
 
 
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
8829
 
 
8830
 
2009-05-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8831
 
 
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
8839
 
 
8840
 
2009-05-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8841
 
 
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
8848
 
 
8849
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8850
 
 
8851
 
        Removed unused debug log
8852
 
        * src/SocketCore.cc
8853
 
 
8854
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8855
 
 
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.
8859
 
        * configure.ac
8860
 
        
8861
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8862
 
 
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
8869
 
        * src/Makefile.am
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
8878
 
        * test/Makefile.am
8879
 
        * test/PieceStatManTest.cc
8880
 
        * test/RarestPieceSelectorTest.cc
8881
 
        
8882
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8883
 
 
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.
8890
 
        * src/SocketCore.cc
8891
 
        * src/SocketCore.h
8892
 
        * test/AllTest.cc
8893
 
 
8894
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8895
 
 
8896
 
        Avoid std::bad_alloc for negative bencode string length.
8897
 
        * src/bencode.cc
8898
 
        
8899
 
2009-05-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8900
 
 
8901
 
        Supported segmented downloading with chunked transfer encoding and
8902
 
        content-length. 
8903
 
        * src/DownloadCommand.cc
8904
 
        * src/HttpResponseCommand.cc
8905
 
 
8906
 
2009-05-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8907
 
 
8908
 
        Bump up version number to 1.3.3
8909
 
        * configure.ac
8910
 
 
8911
 
2009-05-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8912
 
 
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
8917
 
        
8918
 
2009-05-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8919
 
 
8920
 
        In DefaultBtContext::getActualBasePath(), return first
8921
 
        FileEntry::getPath() for single file torrent.   
8922
 
        * src/DefaultBtContext.cc
8923
 
        * test/DefaultBtContextTest.cc
8924
 
 
8925
 
2009-05-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8926
 
 
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
8937
 
        * src/DiskWriter.h
8938
 
        * src/MultiDiskAdaptor.cc
8939
 
        * src/MultiDiskAdaptor.h
8940
 
        
8941
 
2009-05-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8942
 
 
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
8949
 
        opening file.
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
8965
 
        * src/DiskAdaptor.h
8966
 
        * src/DiskWriter.h
8967
 
        * src/DiskWriterFactory.h
8968
 
        * src/MessageDigestHelper.cc
8969
 
        * src/MultiDiskAdaptor.cc
8970
 
        * src/RequestGroup.cc
8971
 
        * src/UnknownLengthPieceStorage.cc
8972
 
        * src/Util.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
8981
 
        * test/UtilTest.cc
8982
 
        
8983
 
2009-05-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8984
 
 
8985
 
        Fixed the bug that aria2 aborts when --select-file is used.  This
8986
 
        bug was introduced in r1199.
8987
 
        * src/MultiDiskAdaptor.cc
8988
 
        
8989
 
2009-05-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8990
 
 
8991
 
        Code cleanup
8992
 
        * test/MockPieceStorage.cc
8993
 
 
8994
 
2009-05-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
8995
 
 
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
8999
 
        writable mode.
9000
 
        * src/AbstractSingleDiskAdaptor.cc
9001
 
        * src/AbstractSingleDiskAdaptor.h
9002
 
        * src/BtCheckIntegrityEntry.cc
9003
 
        * src/DiskAdaptor.h
9004
 
        * src/MultiDiskAdaptor.h
9005
 
        * src/RequestGroup.cc
9006
 
 
9007
 
2009-05-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9008
 
 
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
9016
 
 
9017
 
2009-05-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9018
 
 
9019
 
        Avoid circular reference between RequestGroup and AdaptiveURISelector
9020
 
        * src/RequestGroupMan.cc
9021
 
        * src/AdaptiveURISelector.cc
9022
 
        * src/AdaptiveURISelector.h
9023
 
 
9024
 
2009-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9025
 
 
9026
 
        * Release 1.3.2
9027
 
 
9028
 
2009-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9029
 
 
9030
 
        Updated README
9031
 
        * README
9032
 
 
9033
 
2009-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9034
 
 
9035
 
        Updated Ukrainian translations. Thanks to Alexander10.
9036
 
        * po/uk.po
9037
 
 
9038
 
2009-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9039
 
 
9040
 
        Code cleanup
9041
 
        * src/MetalinkParserStateMachine.cc
9042
 
        * src/MetalinkParserStateMachine.h
9043
 
 
9044
 
2009-04-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9045
 
 
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
9052
 
        * src/Makefile.am
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
9060
 
 
9061
 
2009-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9062
 
 
9063
 
        Bump up version number to 1.3.2
9064
 
        * configure.ac
9065
 
        
9066
 
2009-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9067
 
 
9068
 
        Added missing file.
9069
 
        * test/Makefile.am
9070
 
        * test/url-list-singleFileEndsWithSlash.torrent
9071
 
 
9072
 
2009-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9073
 
 
9074
 
        Put BDE in aria2 namespace. BDE will also be used to store xml-rpc
9075
 
        request.
9076
 
        * src/AnnounceList.cc
9077
 
        * src/AnnounceList.h
9078
 
        * src/BDE.cc: Added
9079
 
        * src/BDE.h: Added
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
9112
 
        * src/Makefile.am
9113
 
        * src/PeerListProcessor.h
9114
 
        * src/UTPexExtensionMessage.cc
9115
 
        * src/bencode.cc
9116
 
        * src/bencode.h
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
9130
 
        * test/Makefile.am
9131
 
        * test/MockDHTMessageFactory.h
9132
 
        * test/PeerListProcessorTest.cc
9133
 
 
9134
 
2009-04-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9135
 
 
9136
 
        Use url-list (web-seeding) only for single-file torrent.  This is
9137
 
        basically the same behavior with Metalink file with torrent and
9138
 
        URIs.
9139
 
        * src/RequestGroup.cc
9140
 
        * src/DefaultBtContext.cc
9141
 
        * test/DefaultBtContextTest.cc
9142
 
 
9143
 
2009-04-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9144
 
 
9145
 
        Rewritten expr
9146
 
        * src/array_fun.h
9147
 
        * test/array_funTest.cc
9148
 
        
9149
 
2009-04-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9150
 
 
9151
 
        Added forEachMemFunSH(). Use it in BitTorrent event dispatch.
9152
 
        * src/DefaultBtMessageDispatcher.cc
9153
 
        * src/a2algo.h
9154
 
 
9155
 
2009-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9156
 
 
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.
9167
 
        * src/Makefile.am
9168
 
        * src/PeerInteractionCommand.cc
9169
 
        * test/DefaultExtensionMessageFactoryTest.cc
9170
 
        
9171
 
2009-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9172
 
 
9173
 
        Fixed typo in log messages
9174
 
        * src/MSEHandshake.cc
9175
 
 
9176
 
2009-04-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9177
 
 
9178
 
        
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
9182
 
        of pieces.      
9183
 
        * src/bitfield.h
9184
 
        * test/bitfieldTest.cc
9185
 
 
9186
 
2009-04-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9187
 
 
9188
 
        Code cleanup
9189
 
        * src/PeerListProcessor.h
9190
 
 
9191
 
2009-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9192
 
 
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
9202
 
        * src/Makefile.am
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
9216
 
        
9217
 
2009-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9218
 
 
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
9225
 
        * src/Makefile.am
9226
 
        * src/UTPexExtensionMessage.cc
9227
 
        * src/DefaultPeerListProcessor.h: Removed.
9228
 
        * src/DefaultPeerListProcessor.cc: Removed.
9229
 
        * src/DelegatingPeerListProcessor.h: Removed.
9230
 
        * test/Makefile.am
9231
 
        * test/PeerListProcessorTest.cc
9232
 
        * test/DefaultPeerListProcessorTest.cc: Removed.
9233
 
 
9234
 
2009-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9235
 
 
9236
 
        Rewritten RequestGroupMan::calculateStat()
9237
 
        * src/RequestGroupMan.cc
9238
 
        
9239
 
2009-04-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9240
 
 
9241
 
        Removed unnecessary virtual destructor for Request class.
9242
 
        * src/Request.cc
9243
 
        * src/Request.h
9244
 
 
9245
 
2009-04-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9246
 
 
9247
 
        Avoid dynamic_pointer_cast.
9248
 
        * src/DHTGetPeersCommand.cc
9249
 
        * src/DHTGetPeersCommand.h
9250
 
 
9251
 
2009-04-21  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9252
 
 
9253
 
        Rewritten event dispatch in BtMessage. Removed BtEventListener,
9254
 
        BtEvent.        
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.
9264
 
        * src/BtMessage.h
9265
 
        * src/BtPieceMessage.cc
9266
 
        * src/BtPieceMessage.h
9267
 
        * src/BtRequestMessage.cc
9268
 
        * src/BtRequestMessage.h
9269
 
        * src/DefaultBtMessageDispatcher.cc
9270
 
        * src/Makefile.am
9271
 
        * src/a2functional.h
9272
 
        * test/BtPieceMessageTest.cc
9273
 
        * test/BtRequestMessageTest.cc
9274
 
        * test/DefaultBtMessageDispatcherTest.cc
9275
 
        * test/MockBtMessage.h
9276
 
 
9277
 
2009-04-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9278
 
 
9279
 
        Code cleanup
9280
 
        * src/RequestGroupMan.cc
9281
 
 
9282
 
2009-04-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9283
 
 
9284
 
        Code cleanup
9285
 
        * src/DownloadCommand.cc
9286
 
 
9287
 
2009-04-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9288
 
 
9289
 
        Fixed segmentation fault when GZipDecoder::decode() returns 0
9290
 
        byte.
9291
 
        * src/DownloadCommand.cc
9292
 
        * src/bitfield.h
9293
 
        * test/bitfieldTest.cc
9294
 
 
9295
 
        Fixed the bug that causes infinite loop if broken web server
9296
 
        returns chunked response without last "0" chunk-size marker and
9297
 
        closes connection.
9298
 
        * src/DownloadCommand.cc
9299
 
 
9300
 
        Instantiate properly configured HttpDownloadCommand for
9301
 
        non-resumable downlaods.
9302
 
        * src/HttpResponseCommand.cc
9303
 
        
9304
 
2009-04-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9305
 
 
9306
 
        Rewritten array operation functions.
9307
 
        * src/BitfieldMan.cc
9308
 
        * src/array_fun.h
9309
 
        * test/array_funTest.cc
9310
 
 
9311
 
2009-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9312
 
 
9313
 
        Removed unused variable 'query'
9314
 
        * src/Request.cc
9315
 
 
9316
 
2009-04-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9317
 
 
9318
 
        Set conditional HAVE_GETADDRINFO true for mingw32. It was
9319
 
        accidentally set to false in r1162.     
9320
 
        * configure.ac
9321
 
 
9322
 
2009-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9323
 
 
9324
 
        Code cleanup
9325
 
        * src/BNode.cc
9326
 
 
9327
 
2009-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9328
 
 
9329
 
        Increase prefixLength for the bucket which doesn't own local node
9330
 
        ID when splitting bucket.
9331
 
        * src/DHTBucket.cc
9332
 
        * test/DHTBucketTest.cc
9333
 
 
9334
 
2009-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9335
 
 
9336
 
        * Release 1.3.1
9337
 
 
9338
 
2009-04-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9339
 
 
9340
 
        Bump up version number to 1.3.1
9341
 
        * configure.ac
9342
 
 
9343
 
2009-04-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9344
 
 
9345
 
        Removed unused variable checkPoint. Also removed include directive
9346
 
        for TimeA2.h.   
9347
 
        * src/SeedCheckCommand.h
9348
 
 
9349
 
2009-04-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9350
 
 
9351
 
        Fixed the bug that upload limit exceeds the value specified in
9352
 
        --seed-ratio option depending on the timing of the execution of
9353
 
        SeedCheckCommand.       
9354
 
        * src/SeedCheckCommand.cc
9355
 
 
9356
 
2009-04-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9357
 
 
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.
9363
 
        * src/BtSetup.cc
9364
 
        * src/DefaultPeerStorage.cc
9365
 
        * src/ShareRatioSeedCriteria.h
9366
 
        * test/ShareRatioSeedCriteriaTest.cc
9367
 
 
9368
 
2009-04-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9369
 
 
9370
 
        * Release 1.3.0
9371
 
 
9372
 
2009-04-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9373
 
 
9374
 
        Updated Russian, Japanese, Spanish, Ukrainian and Norwegian
9375
 
        Nynorsk translations. Thanks to all translators.        
9376
 
        * po/es.po
9377
 
        * po/ja.po
9378
 
        * po/nn.po
9379
 
        * po/ru.po
9380
 
        * po/uk.po
9381
 
 
9382
 
2009-04-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9383
 
 
9384
 
        Rewritten isInRange()
9385
 
        * src/DHTBucket.cc
9386
 
        * test/DHTBucketTest.cc
9387
 
 
9388
 
2009-03-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9389
 
 
9390
 
        Fixed typo
9391
 
        * doc/aria2c.1.txt
9392
 
 
9393
 
2009-03-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9394
 
 
9395
 
        Removed AC_FUNC_MALLOC and AC_FUNC_REALLOC because 0-byte
9396
 
        malloc/realloc is not used.
9397
 
        * src/configure.ac
9398
 
        
9399
 
2009-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9400
 
 
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
9409
 
        * src/BitfieldMan.h
9410
 
        * src/DefaultBtRequestFactory.cc
9411
 
        * src/DefaultPieceStorage.cc
9412
 
        * src/DefaultPieceStorage.h
9413
 
        * src/LongestSequencePieceSelector.cc
9414
 
        * src/LongestSequencePieceSelector.h
9415
 
        * src/Makefile.am
9416
 
        * src/Piece.cc
9417
 
        * src/Piece.h
9418
 
        * src/PieceSelector.h
9419
 
        * src/RarestPieceSelector.cc
9420
 
        * src/RarestPieceSelector.h
9421
 
        * src/Util.cc
9422
 
        * src/Util.h
9423
 
        * src/bitfield.h
9424
 
        * test/BitfieldManTest.cc
9425
 
        * test/LongestSequencePieceSelectorTest.cc
9426
 
        * test/Makefile.am
9427
 
        * test/RarestPieceSelectorTest.cc
9428
 
        * test/UtilTest.cc
9429
 
        * test/bitfieldTest.cc
9430
 
        
9431
 
2009-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9432
 
 
9433
 
        Made accepted socket non-block.
9434
 
        * src/FtpNegotiationCommand.cc
9435
 
        * src/HttpListenCommand.cc
9436
 
 
9437
 
2009-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9438
 
 
9439
 
        Guarded #ifdef HAVE_POSIX_FALLOCATE
9440
 
        * src/AbstractSingleDiskAdaptor.cc
9441
 
        * src/DefaultPieceStorage.cc
9442
 
        * src/DiskAdaptor.h
9443
 
        * src/DiskAdaptor.h
9444
 
        * src/MultiFileAllocationIterator.cc
9445
 
        
9446
 
2009-03-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9447
 
 
9448
 
        Run
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
9455
 
 
9456
 
2009-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9457
 
 
9458
 
        Documented 'falloc' in man page.
9459
 
        * doc/aria2c.1.txt
9460
 
 
9461
 
2009-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9462
 
 
9463
 
        Updated doc
9464
 
        * src/usage_text.h
9465
 
 
9466
 
2009-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9467
 
 
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.
9477
 
        * configure.ac
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
9488
 
        * src/DiskAdaptor.h
9489
 
        * src/DiskWriter.h
9490
 
        * src/FallocFileAllocationIterator.cc
9491
 
        * src/FallocFileAllocationIterator.h
9492
 
        * src/FileAllocationEntry.cc
9493
 
        * src/FileAllocationEntry.h
9494
 
        * src/Makefile.am
9495
 
        * src/MultiFileAllocationIterator.cc
9496
 
        * src/MultiFileAllocationIterator.h
9497
 
        * src/OptionHandlerFactory.cc
9498
 
        * src/RequestGroup.cc
9499
 
        * src/StreamCheckIntegrityEntry.cc
9500
 
        * src/prefs.cc
9501
 
        * src/prefs.h
9502
 
        * src/usage_text.h
9503
 
        * test/FallocFileAllocationIteratorTest.cc
9504
 
        * test/Makefile.am
9505
 
 
9506
 
2009-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9507
 
 
9508
 
        Removed duplicate enableDirectIO() call.
9509
 
        * src/MultiFileAllocationIterator.cc
9510
 
        
9511
 
2009-03-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9512
 
 
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
9519
 
 
9520
 
2009-03-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9521
 
 
9522
 
        Updated usage doc for --bt-tracker-interval option.
9523
 
        * src/usage_text.h
9524
 
        * doc/aria2c.1.txt
9525
 
 
9526
 
2009-03-22  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9527
 
 
9528
 
        Documented --bt-tracker-interval option in man page.
9529
 
        * doc/aria2c.1.txt
9530
 
 
9531
 
2009-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9532
 
 
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
9542
 
        * src/prefs.cc
9543
 
        * src/prefs.h
9544
 
        * src/usage_text.h
9545
 
        
9546
 
2009-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9547
 
 
9548
 
        Added operator+=, operator-=, operator-
9549
 
        * src/TransferStat.cc
9550
 
        * src/TransferStat.h
9551
 
        
9552
 
2009-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9553
 
 
9554
 
        Refactored RarestPieceSelector to reduce CPU load, especially for
9555
 
        addPieceStats.  
9556
 
        * src/RarestPieceSelector.cc
9557
 
        * src/RarestPieceSelector.h
9558
 
        
9559
 
2009-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9560
 
 
9561
 
        Refactored getMissingIndexRandomly, getFirstMissingIndex,
9562
 
        getAllMissingBlockIndexes to reduce a call to
9563
 
        array_function_base::operator[].
9564
 
        * src/BitfieldMan.cc
9565
 
        
9566
 
2009-03-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9567
 
 
9568
 
        Cached TransferStat/download speed to avoid to sum them up in each
9569
 
        call.   
9570
 
        * src/DefaultPeerStorage.cc
9571
 
        * src/DefaultPeerStorage.h
9572
 
        * src/SegmentMan.cc
9573
 
        * src/SegmentMan.h
9574
 
 
9575
 
2009-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9576
 
 
9577
 
        Typedefed cuid_t as int32_t in Command.h
9578
 
        * src/CUIDCounter.h
9579
 
        * src/Command.cc
9580
 
        * src/Command.h
9581
 
        * src/DownloadEngine.cc
9582
 
        * src/DownloadEngine.h
9583
 
        * src/PeerStat.h
9584
 
        * src/SegmentMan.cc
9585
 
        * src/SegmentMan.h
9586
 
 
9587
 
2009-03-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9588
 
 
9589
 
        Reduced the number of calls to PeerStorage::calculateStat() and
9590
 
        SegmentMan::calculateDownloadSpeed() to lower CPU usage on higher
9591
 
        transfer rate.  
9592
 
        * src/DefaultBtInteractive.cc
9593
 
        * src/DefaultBtMessageDispatcher.cc
9594
 
        * src/DefaultPeerStorage.cc
9595
 
        * src/DefaultPeerStorage.h
9596
 
        * src/DownloadCommand.cc
9597
 
        * src/DownloadEngine.cc
9598
 
        * src/PeerStorage.h
9599
 
        * src/SegmentMan.cc
9600
 
        * src/SegmentMan.h
9601
 
        * test/MockPeerStorage.h
9602
 
        
9603
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9604
 
 
9605
 
        Prepended _dir+"/" after joining path elements in torrent file.
9606
 
        * src/DefaultBtContext.cc
9607
 
        * test/DefaultBtContextTest.cc
9608
 
        
9609
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9610
 
 
9611
 
        Added missing IndexBtMessageValidator.h
9612
 
        * src/Makefile.am
9613
 
 
9614
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9615
 
 
9616
 
        Updated Indonesian, Russian, Italian, Ukrainian and Simplified
9617
 
        Chinese translations. Thank you for contributing our project.
9618
 
        * po/id.po
9619
 
        * po/it.po
9620
 
        * po/ru.po
9621
 
        * po/uk.po
9622
 
        * po/zh_CN.po
9623
 
        
9624
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9625
 
 
9626
 
        Updated README
9627
 
        * README
9628
 
 
9629
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9630
 
 
9631
 
        Bump up version number to 1.3.0
9632
 
        * configure.ac
9633
 
 
9634
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9635
 
 
9636
 
        Updated doc
9637
 
        * src/DefaultBtContext.h
9638
 
 
9639
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9640
 
 
9641
 
        Slice/joinPath for name of single torrent.
9642
 
        * src/DefaultBtContext.cc
9643
 
        * test/DefaultBtContextTest.cc
9644
 
        
9645
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9646
 
 
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
9651
 
        * doc/aria2c.1.txt
9652
 
        
9653
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9654
 
 
9655
 
        Updated TEXT_DRY_RUN
9656
 
        * src/usage_text.h
9657
 
 
9658
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9659
 
 
9660
 
        Changed the default value of --uri-selector option from 'inorder'
9661
 
        to 'feedback'
9662
 
        * src/OptionHandlerFactory.cc
9663
 
        
9664
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9665
 
 
9666
 
        Included current URI in exception message.
9667
 
        * src/AbstractCommand.cc
9668
 
        
9669
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9670
 
 
9671
 
        Renamed ServerStatURISelector as FeedbackURISelector.
9672
 
        * src/FeedbackURISelector.cc
9673
 
        * src/FeedbackURISelector.h
9674
 
        * src/Makefile.am
9675
 
        * src/RequestGroupMan.cc
9676
 
        * src/ServerStatURISelector.cc
9677
 
        * src/ServerStatURISelector.h
9678
 
        * test/FeedbackURISelectorTest.cc
9679
 
        * test/Makefile.am
9680
 
        * test/ServerStatURISelectorTest.cc
9681
 
        
9682
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9683
 
 
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
9688
 
 
9689
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9690
 
 
9691
 
        Changed the default value of --http-auth-challenge option to false.
9692
 
        * src/OptionHandlerFactory.cc
9693
 
 
9694
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9695
 
 
9696
 
        Reuse URIs when all unused URIs run out.
9697
 
        * src/OptionHandlerFactory.cc
9698
 
        * src/RequestGroup.cc
9699
 
        * src/prefs.cc
9700
 
        * src/prefs.h
9701
 
 
9702
 
2009-03-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9703
 
 
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
9759
 
        * src/Makefile.am
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
9770
 
 
9771
 
2009-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9772
 
 
9773
 
        Reverted usage_text.h to r1093 to avoid to lose translated
9774
 
        messages.
9775
 
        * src/usage_text.h
9776
 
 
9777
 
2009-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9778
 
 
9779
 
        BtMessage now holds _id attribute.  MESSAGE_LENGTH that is
9780
 
        declared as non-const previously is now const and defined in class
9781
 
        definition.
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
9805
 
        * src/BtMessage.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
9822
 
        
9823
 
2009-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9824
 
 
9825
 
        Use FileEntry::exists()
9826
 
        * src/MultiDiskAdaptor.cc
9827
 
 
9828
 
2009-03-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9829
 
 
9830
 
        Added exists()
9831
 
        * src/FileEntry.cc
9832
 
        * src/FileEntry.h
9833
 
 
9834
 
2009-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9835
 
 
9836
 
        Added missing prefix dir.
9837
 
        * src/download_helper.cc
9838
 
        
9839
 
2009-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9840
 
 
9841
 
        Removed --direct-file-mapping option and CopyDiskAdaptor.
9842
 
        * src/CopyDiskAdaptor.cc: Removed
9843
 
        * src/CopyDiskAdaptor.h: Removed
9844
 
        * src/DefaultPieceStorage.cc
9845
 
        * src/Makefile.am
9846
 
        * src/OptionHandlerFactory.cc
9847
 
        * src/prefs.cc
9848
 
        * src/prefs.h
9849
 
        * src/usage_text.h
9850
 
        * test/CopyDiskAdaptorTest.cc: Removed
9851
 
        * test/Makefile.am
9852
 
 
9853
 
2009-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9854
 
 
9855
 
        Rewritten isSameFileBeingDownloaded()
9856
 
        * src/RequestGroupMan.cc
9857
 
 
9858
 
2009-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9859
 
 
9860
 
        Removed getName() from DownloadContext. getName() is declared in
9861
 
        BtContext.
9862
 
        * src/BtContext.h
9863
 
        * src/DownloadContext.h
9864
 
        * src/SingleFileDownloadContext.cc
9865
 
        * src/SingleFileDownloadContext.h
9866
 
                
9867
 
        Removed getFilePath() from DiskAdaptor. getFilePath() is declared
9868
 
        in AbstractSingleDiskAdaptor.
9869
 
        * src/AbstractSingleDiskAdaptor.h
9870
 
        * src/DiskAdaptor.h
9871
 
        * src/MultiDiskAdaptor.h
9872
 
        * src/RequestGroup.cc
9873
 
        
9874
 
        Removed setTopDir() and getTopDir() and getTopDirPath() from
9875
 
        MultiDiskAdaptor.
9876
 
        * src/DefaultPieceStorage.cc
9877
 
        * src/MultiDiskAdaptor.cc
9878
 
        * src/MultiDiskAdaptor.h
9879
 
        * test/MultiDiskAdaptorTest.cc
9880
 
        
9881
 
2009-03-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9882
 
 
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
9886
 
        DownloadContext.
9887
 
        * src/BtDependency.cc
9888
 
        * src/BtPostDownloadHandler.cc
9889
 
        * src/CopyDiskAdaptor.cc
9890
 
        * src/DefaultBtContext.cc
9891
 
        * src/DirectDiskAdaptor.cc
9892
 
        * src/FileEntry.cc
9893
 
        * src/FileEntry.h
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
9916
 
        
9917
 
2009-03-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9918
 
 
9919
 
        Fixed compiler warning
9920
 
        * src/download_helper.cc
9921
 
 
9922
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9923
 
 
9924
 
        Throw exception if same infohash torrent is now downloading.
9925
 
        * src/RequestGroup.cc
9926
 
        
9927
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9928
 
 
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
9939
 
        * src/prefs.cc
9940
 
        * src/prefs.h
9941
 
        * src/usage_text.h
9942
 
        
9943
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9944
 
 
9945
 
        Fixed compiler waring
9946
 
        * test/UriListParserTest.cc
9947
 
 
9948
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9949
 
 
9950
 
        Parse options in -i list using OptionParser.
9951
 
        * src/UriListParser.cc
9952
 
        * src/UriListParser.h
9953
 
        
9954
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9955
 
 
9956
 
        Don't reset URI in retry to avoid additional round trips because
9957
 
        of redirects.   
9958
 
        * src/AbstractCommand.cc
9959
 
        * src/OptionHandlerFactory.cc
9960
 
        * src/prefs.cc
9961
 
        * src/prefs.h
9962
 
 
9963
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9964
 
 
9965
 
        Declared hide() in OptionHandler.
9966
 
        * src/NameMatchOptionHandler.h
9967
 
        * src/OptionHandler.h
9968
 
        * src/OptionHandlerImpl.h
9969
 
        
9970
 
2009-03-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9971
 
 
9972
 
        Updated doc
9973
 
        * src/Peer.h
9974
 
 
9975
 
2009-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9976
 
 
9977
 
        Added log message in setStatusInternal()
9978
 
        * src/ServerStat.cc
9979
 
 
9980
 
2009-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9981
 
 
9982
 
        Call ServerStat::setError() in AbstractCommand::onAbort() to
9983
 
        effectively exclude failed server.
9984
 
        * src/AbstractCommand.cc
9985
 
        
9986
 
2009-03-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
9987
 
 
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
10002
 
        * src/Util.cc
10003
 
        * src/Util.h
10004
 
        * src/download_helper.cc
10005
 
        * src/prefs.cc
10006
 
        * src/prefs.h
10007
 
        * src/usage_text.h
10008
 
        * test/DefaultBtContextTest.cc
10009
 
        * test/MultiDiskAdaptorTest.cc
10010
 
        * test/MultiFileAllocationIteratorTest.cc
10011
 
        * test/UtilTest.cc
10012
 
 
10013
 
2009-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10014
 
 
10015
 
        Use Util::pathJoin()
10016
 
        * src/MetalinkParserController.cc
10017
 
        * test/test.xml
10018
 
        
10019
 
2009-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10020
 
 
10021
 
        Use Util::pathJoin()
10022
 
        * src/DefaultBtContext.cc
10023
 
        
10024
 
2009-03-05  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10025
 
 
10026
 
        Added Util::pathJoin()
10027
 
        * src/Util.h
10028
 
        * test/UtilTest.cc
10029
 
 
10030
 
2009-03-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10031
 
 
10032
 
        Applied basename function to remove directory element in
10033
 
        content-disposition value.
10034
 
        Return empty string if content-disposition value is ".." or ".".
10035
 
        * src/Util.cc
10036
 
        * test/UtilTest.cc
10037
 
 
10038
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10039
 
 
10040
 
        Added --max-overall-download-limit in man page.
10041
 
        Updated --max-overall-upload-limit, --max-download-limit option's doc.
10042
 
        * doc/aria2c.1.txt
10043
 
 
10044
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10045
 
 
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
10068
 
        * src/prefs.cc
10069
 
        * src/prefs.h
10070
 
        * src/usage_text.h
10071
 
        * test/DefaultBtMessageDispatcherTest.cc
10072
 
 
10073
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10074
 
 
10075
 
        Documented select-file option in Input File section.
10076
 
        Documented --http-auth-challenge option.
10077
 
        * doc/aria2c.1.txt
10078
 
        
10079
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10080
 
 
10081
 
        Now select-file can be specified in the uri list(-i list).
10082
 
        * src/BtContext.cc
10083
 
        * src/BtContext.h
10084
 
        * src/RequestGroup.cc
10085
 
        * src/Sequence.h
10086
 
        * src/download_helper.cc
10087
 
 
10088
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10089
 
 
10090
 
        Made the upper value of --max-concurrent-downloads options unlimited.
10091
 
        * src/OptionHandlerFactory.cc
10092
 
 
10093
 
2009-02-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10094
 
 
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
10097
 
        is 0.
10098
 
        * src/MultiDiskAdaptor.cc
10099
 
        * test/MultiDiskAdaptorTest.cc
10100
 
 
10101
 
2009-02-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10102
 
 
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
10105
 
        not finished.   
10106
 
        * src/AbstractDiskWriter.cc
10107
 
        * src/AbstractDiskWriter.h
10108
 
        * src/AbstractSingleDiskAdaptor.cc
10109
 
        * src/AbstractSingleDiskAdaptor.h
10110
 
        * src/BtCheckIntegrityEntry.cc
10111
 
        * src/DiskAdaptor.h
10112
 
        * src/DiskWriter.h
10113
 
        * src/MultiDiskAdaptor.cc
10114
 
        * src/MultiDiskAdaptor.h
10115
 
        * src/RequestGroup.cc
10116
 
 
10117
 
2009-02-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10118
 
 
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
10126
 
        of this option.
10127
 
        * src/AuthConfigFactory.cc
10128
 
        * src/HttpSkipResponseCommand.cc
10129
 
        * src/OptionHandlerFactory.cc
10130
 
        * src/prefs.cc
10131
 
        * src/prefs.h
10132
 
        * src/usage_text.h
10133
 
        * test/AuthConfigFactoryTest.cc
10134
 
        * test/HttpRequestTest.cc
10135
 
 
10136
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10137
 
 
10138
 
        * Release 1.2.0
10139
 
 
10140
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10141
 
 
10142
 
        Updated Spanish, Ukrainian, Russian and Japanese translations.
10143
 
        Thanks to all translators.
10144
 
        * po/es.po
10145
 
        * po/ja.po
10146
 
        * po/ru.po
10147
 
        * po/uk.po
10148
 
        
10149
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10150
 
 
10151
 
        Call deleteSocketForReadCheck() before socket is closed.
10152
 
        * src/HttpListenCommand.cc 
10153
 
 
10154
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10155
 
 
10156
 
        Defined virtual destructor for BObject.
10157
 
        * src/bencode.h
10158
 
 
10159
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10160
 
 
10161
 
        Rewritten BDE to make it efficient.
10162
 
        * src/bencode.cc
10163
 
        * src/bencode.h
10164
 
        
10165
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10166
 
 
10167
 
        Removed function throw list.
10168
 
        * src/bencode.cc
10169
 
        * src/bencode.h
10170
 
        * test/BencodeTest.cc
10171
 
        
10172
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10173
 
 
10174
 
        Enclosed all URLs in double quotes in command-line examples.
10175
 
        * doc/aria2c.1.txt
10176
 
        
10177
 
2009-02-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10178
 
 
10179
 
        Updated reference/see also section.
10180
 
        * README
10181
 
        * doc/aria2c.1.txt
10182
 
        
10183
 
2009-02-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10184
 
 
10185
 
        Reorganized man page based on man man-pages.
10186
 
        * doc/aria2c.1.txt
10187
 
 
10188
 
2009-02-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10189
 
 
10190
 
        Removed SERVER PERFORMANCE PROFILE and Configuration file section
10191
 
        because same documents are available in man page.  Added
10192
 
        References section.
10193
 
        * README
10194
 
        
10195
 
2009-02-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10196
 
 
10197
 
        Documented sc_avg_speed, mc_avg_speed and counter in SERVER
10198
 
        PERFORMANCE PROFILE section.
10199
 
        * doc/aria2c.1.txt
10200
 
        
10201
 
2009-02-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10202
 
 
10203
 
        Rewritten the section for configuration file.
10204
 
        * README
10205
 
        * doc/aria2c.1.txt
10206
 
        
10207
 
2009-02-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10208
 
 
10209
 
        Fixed the segmentation fault during execution of choking algorithm
10210
 
        in leecher state because of broken compare operator
10211
 
        implementation.
10212
 
        * src/BtLeecherStateChoke.cc
10213
 
        * src/BtLeecherStateChoke.h
10214
 
 
10215
 
2009-02-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10216
 
 
10217
 
        Open file in binary mode.
10218
 
        * src/CookieStorage.cc
10219
 
        * src/DHTSetup.cc
10220
 
        * src/DHTUtil.cc
10221
 
        * src/Netrc.cc
10222
 
        * src/NsCookieParser.cc
10223
 
        * src/ProtocolDetector.cc
10224
 
        * src/RequestGroupMan.cc
10225
 
        * src/Signature.cc
10226
 
        * src/bencode.cc
10227
 
        * src/download_helper.cc
10228
 
        * src/option_processing.cc
10229
 
        * test/CookieParserTest.cc
10230
 
        * test/DefaultBtProgressInfoFileTest.cc
10231
 
        * test/FileTest.cc
10232
 
        * test/GZipDecoderTest.cc
10233
 
        * test/RequestGroupManTest.cc
10234
 
        * test/SignatureTest.cc
10235
 
        * test/SingleFileAllocationIteratorTest.cc
10236
 
        * test/UriListParserTest.cc
10237
 
 
10238
 
2009-02-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10239
 
 
10240
 
        Removed operator[] because it is ambiguous with built-in []
10241
 
        operator.
10242
 
        * src/array_fun.h
10243
 
        
10244
 
2009-02-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10245
 
 
10246
 
        Fixed compile error
10247
 
        * src/OptionParser.cc
10248
 
        
10249
 
2009-02-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10250
 
 
10251
 
        Added missing call to arrayWrapperConst
10252
 
        * test/array_funTest.cc
10253
 
 
10254
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10255
 
 
10256
 
        Use array_wrapper instead of array_ptr.
10257
 
        * src/DHTRoutingTableDeserializer.cc
10258
 
        
10259
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10260
 
 
10261
 
        Removed template<typename S> array_ptr(const array_ptr<S>& s)
10262
 
        * src/array_fun.h
10263
 
 
10264
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10265
 
 
10266
 
        Added array_wrapper template.
10267
 
        * src/array_fun.h
10268
 
        * test/array_funTest.cc
10269
 
        
10270
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10271
 
 
10272
 
        Use operator T* of array_ptr.
10273
 
        * src/OptionParser.cc
10274
 
        
10275
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10276
 
 
10277
 
        Use localhost instead of 127.0.0.1
10278
 
        * test/FtpConnectionTest.cc
10279
 
        * test/MSEHandshakeTest.cc
10280
 
        
10281
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10282
 
 
10283
 
        Added operator T*
10284
 
        * src/array_fun.h
10285
 
        * test/array_funTest.cc
10286
 
 
10287
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10288
 
 
10289
 
        Use dynamically allocated char array to detect memory access
10290
 
        violation.
10291
 
        * src/DHTRoutingTableDeserializer.cc
10292
 
        
10293
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10294
 
 
10295
 
        Set struct sockaddr_in.sin_len if HAVE_SOCKADDR_IN_SIN_LEN is
10296
 
        defined.
10297
 
        * src/PeerMessageUtil.cc
10298
 
        
10299
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10300
 
 
10301
 
        Renamed HAVE_SOCKADDR_SIN_LEN as HAVE_SOCKADDR_IN_SIN_LEN
10302
 
        * configure.ac
10303
 
        
10304
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10305
 
 
10306
 
        Added a check to see struct sockaddr_in has sin_len member.
10307
 
        * configure.ac
10308
 
        
10309
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10310
 
 
10311
 
        Fixed buffer overrun.
10312
 
        * src/DHTRoutingTableDeserializer.cc
10313
 
        
10314
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10315
 
 
10316
 
        Added LL for long long int constant.
10317
 
        * test/FtpConnectionTest.cc
10318
 
        
10319
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10320
 
 
10321
 
        Casted to unsigned int to suppress compiler warning on netbsd.
10322
 
        * src/BtRuntime.h
10323
 
        
10324
 
2009-02-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10325
 
 
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
10328
 
        type time_t.
10329
 
        * src/SimpleLogger.cc
10330
 
        
10331
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10332
 
 
10333
 
        Added test for FtpConnection::receiveSizeResponse().
10334
 
        * test/FtpConnectionTest.cc
10335
 
        
10336
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10337
 
 
10338
 
        Fix epoll error on the old kernel 2.6.8 or ealier.
10339
 
        * src/EpollEventPoll.cc
10340
 
        
10341
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10342
 
 
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
10346
 
 
10347
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10348
 
 
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
10354
 
 
10355
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10356
 
 
10357
 
        Fixed the bug that the boolean options that don't take arguments
10358
 
        don't work.
10359
 
        * src/OptionHandlerImpl.h
10360
 
        
10361
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10362
 
 
10363
 
        Fixed broken selected file BitTorrent download.
10364
 
        * src/MultiDiskAdaptor.cc
10365
 
        * test/MultiDiskAdaptorTest.cc
10366
 
        * test/MultiFileAllocationIteratorTest.cc
10367
 
 
10368
 
2009-02-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10369
 
 
10370
 
        Fixed #define guard for EpollEventPoll
10371
 
        * src/EpollEventPoll.h
10372
 
 
10373
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10374
 
 
10375
 
        Wait 2 seconds. 1 second is sometimes not enough.
10376
 
        * test/TimeSeedCriteriaTest.cc
10377
 
        
10378
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10379
 
 
10380
 
        Use localhost instead of 127.0.0.1.
10381
 
        * test/DHTConnectionImplTest.cc
10382
 
        
10383
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10384
 
 
10385
 
        Suppressed compiler warning.
10386
 
        * src/AdaptiveURISelector.cc
10387
 
        * src/DefaultPieceStorage.cc
10388
 
        
10389
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10390
 
 
10391
 
        Defined virtual destructor.
10392
 
        * src/MetalinkParserState.h
10393
 
 
10394
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10395
 
 
10396
 
        Give NULL for second argument of getaddrinfo instead of "0".
10397
 
        * src/NameResolver.cc
10398
 
 
10399
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10400
 
 
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
10405
 
        
10406
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10407
 
 
10408
 
        Removed tests giving -1 for unsigned argument.
10409
 
        * test/SingleFileDownloadContextTest.cc
10410
 
 
10411
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10412
 
 
10413
 
        Don't use sha256 in tests because it might not be supported by the
10414
 
        SSL library.
10415
 
        * test/MetalinkProcessorTest.cc
10416
 
        
10417
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10418
 
 
10419
 
        Removed tests giving -1 for unsigned argument.
10420
 
        * test/AlphaNumberDecoratorTest
10421
 
        * test/BitfieldManTest.cc
10422
 
        * test/DefaultBtContextTest.cc
10423
 
        
10424
 
2009-02-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10425
 
 
10426
 
        Fixed compile error without libcares when epoll is available.
10427
 
        * src/EpollEventPoll.cc
10428
 
 
10429
 
2009-02-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10430
 
 
10431
 
        Included fstream instead of iostream.
10432
 
        * test/SignatureTest.cc
10433
 
 
10434
 
2009-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10435
 
 
10436
 
        Removed #include <algorithm>
10437
 
        * test/RequestGroupTest.cc
10438
 
 
10439
 
2009-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10440
 
 
10441
 
        Rewritten AdaptiveURISelector::mayRetryWithIncreasedTimeout()
10442
 
        using RequestGroup::extractURIResult().
10443
 
        * src/AdaptiveURISelector.cc
10444
 
        * src/RequestGroup.cc
10445
 
        * src/RequestGroup.h
10446
 
        * test/RequestGroupTest.cc
10447
 
 
10448
 
2009-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10449
 
 
10450
 
        Added tests for array_ptr.
10451
 
        * test/array_funTest.cc
10452
 
        
10453
 
2009-02-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10454
 
 
10455
 
        Don't send ip parameter to a tracker if ip parameter is empty
10456
 
        string. 
10457
 
        * src/DefaultBtAnnounce.cc
10458
 
 
10459
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10460
 
 
10461
 
        Adjusted line feed.
10462
 
        * src/version_usage.cc
10463
 
        
10464
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10465
 
 
10466
 
        Print tags, possible values when OptionHandlerException is caught.
10467
 
        * src/option_processing.cc
10468
 
        
10469
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10470
 
 
10471
 
        Changed the message for FatalException.
10472
 
        * src/OptionParser.cc
10473
 
        
10474
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10475
 
 
10476
 
        Documented --bt-external-ip option in man page.  Updated man pages
10477
 
        for --proxy-method option.
10478
 
        * doc/aria2c.1.txt
10479
 
 
10480
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10481
 
 
10482
 
        Use GET method for FTP via HTTP proxy.
10483
 
        * src/FtpInitiateConnectionCommand.cc
10484
 
        
10485
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10486
 
 
10487
 
        Changed the default value of --proxy-method option from 'tunnel'
10488
 
        to 'get'. Use 'tunnel' for HTTPS regardless of --proxy-method
10489
 
        option.
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
10497
 
 
10498
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10499
 
 
10500
 
        Initialized _logger
10501
 
        * src/SelectEventPoll.cc
10502
 
        
10503
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10504
 
 
10505
 
        Defined a copy constructor for the same type.
10506
 
        * src/SharedHandle.h
10507
 
 
10508
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10509
 
 
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
10520
 
        * src/array_fun.h
10521
 
        * src/main.cc
10522
 
        * src/option_processing.cc
10523
 
        * test/OptionHandlerTest.cc
10524
 
        * test/OptionParserTest.cc
10525
 
        
10526
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10527
 
 
10528
 
        Fixed configure error with --disable-epoll
10529
 
        * configure.ac
10530
 
        
10531
 
2009-02-07  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10532
 
 
10533
 
        Fixed compile error when HAVE_EPOLL is not defined.
10534
 
        Fixed linker error on bigendian systems.
10535
 
        * src/SocketCore.cc
10536
 
        * src/SocketCore.h
10537
 
        * test/DefaultBtProgressInfoFileTest.cc
10538
 
 
10539
 
2009-02-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10540
 
 
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
10547
 
        * src/prefs.cc
10548
 
        * src/prefs.h
10549
 
        * src/usage_text.h
10550
 
        * test/DefaultBtAnnounceTest.cc
10551
 
 
10552
 
2009-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10553
 
 
10554
 
        Extracted the algorithm to find the longest incremental sequence
10555
 
        as max_sequence template.
10556
 
        * src/LongestSequencePieceSelector.cc
10557
 
        * src/a2algo.h
10558
 
        * test/Makefile.am
10559
 
        * test/a2algoTest.cc
10560
 
 
10561
 
2009-02-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10562
 
 
10563
 
        Removed TEXT_HTTP_SERVER_LISTEN_PORT from translation texts.
10564
 
        * src/usage_text.h
10565
 
 
10566
 
2009-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10567
 
 
10568
 
        Updated doc for --uri-selector, --http-server-listen-port and
10569
 
        --enable-http-server option. Documented --event-poll option.    
10570
 
        * doc/aria2c.1.txt
10571
 
        
10572
 
2009-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10573
 
 
10574
 
        Updated doc for --enable-http-server.
10575
 
        * src/usage_text.h
10576
 
 
10577
 
2009-02-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10578
 
 
10579
 
        Documented --http-server-listen-port and --enable-http-server in
10580
 
        man page.
10581
 
        * doc/aria2c.1.txt
10582
 
 
10583
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10584
 
 
10585
 
        Updated Spanish, Indonesian, Russian, Ukrainian and Italian
10586
 
        translations. Thanks to all translators.
10587
 
        * po/es.po
10588
 
        * po/id.po
10589
 
        * po/it.po
10590
 
        * po/ru.po
10591
 
        * po/uk.po
10592
 
        
10593
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10594
 
 
10595
 
        Bump up version number to 1.2.0
10596
 
        * configure.ac
10597
 
        
10598
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10599
 
 
10600
 
        BtContext::getAnnounceTiers() now returns const reference.
10601
 
        * src/BtContext.h
10602
 
        * src/DefaultBtContext.cc
10603
 
        * src/DefaultBtContext.h
10604
 
        * test/MockBtContext.h
10605
 
 
10606
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10607
 
 
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
10611
 
        
10612
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10613
 
 
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
10621
 
        
10622
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10623
 
 
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
10627
 
        value.
10628
 
        * src/AbstractCommand.cc
10629
 
        * src/AdaptiveURISelector.cc
10630
 
        * src/AdaptiveURISelector.h
10631
 
        * src/FtpNegotiationCommand.cc
10632
 
        * src/RequestGroup.cc
10633
 
        * src/RequestGroup.h
10634
 
 
10635
 
2009-02-01  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10636
 
 
10637
 
        Fixed compiler warning
10638
 
        * test/IteratableChecksumValidatorTest.cc
10639
 
 
10640
 
2009-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10641
 
 
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
10647
 
        peers.
10648
 
        * src/DefaultPieceStorage.cc
10649
 
        * src/DefaultPieceStorage.h
10650
 
        * src/LongestSequencePieceSelector.cc
10651
 
        * src/LongestSequencePieceSelector.h
10652
 
        * src/Makefile.am
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
10660
 
        * test/Makefile.am
10661
 
        * test/SegmentManTest.cc
10662
 
 
10663
 
2009-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10664
 
 
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
10669
 
        
10670
 
2009-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10671
 
 
10672
 
        Choose port for BitTorrent/DHT randomly from the specified range.
10673
 
        * src/DHTConnectionImpl.cc
10674
 
        * src/PeerListenCommand.cc
10675
 
 
10676
 
2009-01-31  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10677
 
 
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.
10683
 
        
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
10701
 
 
10702
 
2009-01-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10703
 
 
10704
 
        Remove leading "--" from help keyword and a substring after "="
10705
 
        from help keyword, so that one can query options by '-h--max-' or
10706
 
        '-hmax-peers=10'.       
10707
 
        * src/option_processing.cc
10708
 
 
10709
 
2009-01-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10710
 
 
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
10723
 
 
10724
 
2009-01-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10725
 
 
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
10730
 
        * src/HttpServer.h
10731
 
        * src/HttpServerCommand.cc
10732
 
        * src/HttpServerCommand.h
10733
 
        * src/HttpServerResponseCommand.cc
10734
 
        
10735
 
2009-01-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10736
 
 
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
10750
 
        * src/HttpHeader.h
10751
 
        * src/HttpHeaderProcessor.cc
10752
 
        * src/HttpHeaderProcessor.h
10753
 
        * src/HttpListenCommand.cc
10754
 
        * src/HttpListenCommand.h
10755
 
        * src/HttpServer.cc
10756
 
        * src/HttpServer.h
10757
 
        * src/HttpServerCommand.cc
10758
 
        * src/HttpServerCommand.h
10759
 
        * src/HttpServerResponseCommand.cc
10760
 
        * src/HttpServerResponseCommand.h
10761
 
        * src/Makefile.am
10762
 
        * src/OptionHandlerFactory.cc
10763
 
        * src/Util.cc
10764
 
        * src/Util.h
10765
 
        * src/help_tags.h
10766
 
        * src/option_processing.cc
10767
 
        * src/prefs.cc
10768
 
        * src/prefs.h
10769
 
        * src/usage_text.h
10770
 
        * test/HttpHeaderProcessorTest.cc
10771
 
        * test/UtilTest.cc
10772
 
 
10773
 
2009-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10774
 
 
10775
 
        Removed.
10776
 
        * src/CheckIntegrityMan.cc
10777
 
        * src/FileAllocationMan.cc
10778
 
        
10779
 
2009-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10780
 
 
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
10792
 
        * src/Makefile.am
10793
 
        * src/Makefile.in
10794
 
        * src/RequestGroup.cc
10795
 
        * src/StatCalc.h
10796
 
        
10797
 
2009-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10798
 
 
10799
 
        Moved setStatusRealtime() from FileAllocationDispatcherCommand to
10800
 
        SequentialDispatcherCommand.
10801
 
        * src/FileAllocationDispatcherCommand.cc
10802
 
        * src/SequentialDispatcherCommand.h
10803
 
        
10804
 
2009-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10805
 
 
10806
 
        Rewritten FileAllocationDispatcherCommand using brand new
10807
 
        SequentialDispatcherCommand.
10808
 
        * src/DownloadEngineFactory.cc
10809
 
        * src/FileAllocationCommand.cc
10810
 
        * src/FileAllocationDispatcherCommand.cc
10811
 
        * src/FileAllocationDispatcherCommand.h
10812
 
        * src/Makefile.am
10813
 
        * src/SequentialDispatcherCommand.h
10814
 
        
10815
 
2009-01-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10816
 
 
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
10827
 
        * src/Makefile.am
10828
 
        * src/SequentialPicker.h
10829
 
        * src/StatCalc.h
10830
 
        * src/StreamCheckIntegrityEntry.cc
10831
 
        * test/Makefile.am
10832
 
        * test/SequentialPickerTest.cc
10833
 
 
10834
 
2009-01-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10835
 
 
10836
 
        Added doc for adaptive URI selector.
10837
 
        * doc/aria2c.1.txt
10838
 
 
10839
 
2009-01-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10840
 
 
10841
 
        Added doc for adaptive URI selector.
10842
 
        * src/usage_text.h
10843
 
 
10844
 
2009-01-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10845
 
 
10846
 
        Added doc for --bt-max-peers option.
10847
 
        * doc/aria2c.1.txt
10848
 
 
10849
 
2009-01-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10850
 
 
10851
 
        Added doc for --bt-hash-check-seed option.
10852
 
        * doc/aria2c.1.txt
10853
 
        
10854
 
2009-01-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10855
 
 
10856
 
        Documented exit codes.
10857
 
        * doc/aria2c.1.txt
10858
 
 
10859
 
2009-01-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10860
 
 
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
10864
 
        * src/BtRuntime.h
10865
 
        * src/DefaultPeerStorage.cc
10866
 
        * src/DefaultPeerStorage.h
10867
 
        * src/OptionHandlerFactory.cc
10868
 
        * src/RequestGroup.cc
10869
 
        * src/option_processing.cc
10870
 
        * src/prefs.cc
10871
 
        * src/prefs.h
10872
 
        * src/usage_text.h
10873
 
        * test/DefaultPeerStorageTest.cc
10874
 
 
10875
 
2009-01-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10876
 
 
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
10883
 
        previous release).
10884
 
        * src/BtCheckIntegrityEntry.cc
10885
 
        * src/OptionHandlerFactory.cc
10886
 
        * src/option_processing.cc
10887
 
        * src/prefs.cc
10888
 
        * src/prefs.h
10889
 
        * src/usage_text.h
10890
 
 
10891
 
2009-01-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10892
 
 
10893
 
        Updated copyright year.
10894
 
        * src/version_usage.cc
10895
 
 
10896
 
2009-01-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10897
 
 
10898
 
        Rewritten the usage text for --bt-request-peer-speed-limit option.
10899
 
        * doc/aria2c.1.txt
10900
 
        * src/usage_text.h
10901
 
 
10902
 
2009-01-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10903
 
 
10904
 
        Made the max value of split option unlimited.
10905
 
        * doc/aria2c.1.txt
10906
 
        * src/OptionHandlerFactory.cc
10907
 
 
10908
 
2009-01-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10909
 
 
10910
 
        Fixed compile warning/error.
10911
 
        * src/DownloadResult.h
10912
 
        * src/HttpDownloadCommand.cc
10913
 
        * src/ServerStat.cc
10914
 
        * test/RequestGroupTest.cc
10915
 
        
10916
 
2009-01-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10917
 
 
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.
10922
 
        * configure.ac
10923
 
        * src/RequestGroupMan.cc
10924
 
        * src/OptionHandlerFactory.cc
10925
 
        * src/EpollEventPoll.h
10926
 
        * src/StreamFileAllocationEntry.cc
10927
 
        * src/a2io.h
10928
 
        * src/SelectEventPoll.h
10929
 
        * src/option_processing.cc
10930
 
        * src/prefs.h
10931
 
        * src/EpollEventPoll.cc
10932
 
        * src/EventPoll.h
10933
 
        * src/SocketCore.h
10934
 
        * src/Makefile.am
10935
 
        * src/main.cc
10936
 
        * src/DownloadEngine.h
10937
 
        * src/SelectEventPoll.cc
10938
 
        * src/DownloadEngine.cc
10939
 
        * src/SocketCore.cc
10940
 
        * src/DownloadEngineFactory.cc
10941
 
        * src/Makefile.in
10942
 
        * src/prefs.cc
10943
 
        * src/usage_text.h
10944
 
 
10945
 
2009-01-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10946
 
 
10947
 
        Included RecoverableException.h from main.cc
10948
 
        * src/main.cc
10949
 
 
10950
 
2009-01-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10951
 
 
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.
10959
 
        
10960
 
        * src/AbstractCommand.cc
10961
 
        * src/DlAbortEx.h
10962
 
        * src/DlRetryEx.h
10963
 
        * src/DownloadCommand.cc
10964
 
        * src/DownloadFailureException.h
10965
 
        * src/DownloadResult.h
10966
 
        * src/FtpNegotiationCommand.cc
10967
 
        * src/HttpSkipResponseCommand.cc
10968
 
        * src/Makefile.am
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
10976
 
        * src/URIResult.cc
10977
 
        * src/URIResult.h
10978
 
        * src/main.cc
10979
 
        * src/option_processing.cc
10980
 
        * test/RequestGroupTest.cc
10981
 
 
10982
 
2009-01-06  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
10983
 
 
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
10994
 
        * src/Makefile.am
10995
 
        * src/Makefile.in
10996
 
        * src/OptionHandlerFactory.cc
10997
 
        * src/RequestGroup.cc
10998
 
        * src/RequestGroup.h
10999
 
        * src/RequestGroupMan.cc
11000
 
        * src/ServerStat.cc
11001
 
        * src/ServerStat.h
11002
 
        * src/ServerStatMan.cc
11003
 
        * src/SpeedCalc.cc
11004
 
        * src/URISelector.h
11005
 
        * src/prefs.cc
11006
 
        * src/prefs.h
11007
 
        * test/RequestGroupManTest.cc
11008
 
        * test/ServerStatManTest.cc
11009
 
        * test/ServerStatTest.cc
11010
 
 
11011
 
2009-01-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11012
 
 
11013
 
        Fixed unit test error.
11014
 
        * test/HttpResponseTest.cc (HttpResponseTest::testRetrieveCookie)
11015
 
 
11016
 
2008-12-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11017
 
 
11018
 
        * Release 1.1.2
11019
 
 
11020
 
2008-12-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11021
 
 
11022
 
        Updated Russian translation. Thanks to the translators.
11023
 
        * po/ru.po
11024
 
 
11025
 
2008-12-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11026
 
 
11027
 
        Added the description of --use-head option to man page.
11028
 
        * doc/aria2c.1.txt
11029
 
 
11030
 
2008-12-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11031
 
 
11032
 
        Bump up version number to 1.1.2
11033
 
        * configure.ac
11034
 
 
11035
 
2008-12-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11036
 
 
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
11041
 
        instead.
11042
 
        * src/OptionHandlerFactory.cc
11043
 
        * src/RequestGroupMan.cc
11044
 
        * src/option_processing.cc
11045
 
        * src/prefs.cc
11046
 
        * src/prefs.h
11047
 
        * src/usage_text.h
11048
 
 
11049
 
2008-12-29  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11050
 
 
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
11054
 
        message.
11055
 
        * src/DefaultBtMessageDispatcher.cc
11056
 
        * test/DefaultBtMessageDispatcherTest.cc
11057
 
 
11058
 
2008-12-25  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11059
 
 
11060
 
        * Release 1.1.1
11061
 
 
11062
 
2008-12-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11063
 
 
11064
 
        Bump up version number to 1.1.1.
11065
 
        * configure.ac
11066
 
 
11067
 
2008-12-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11068
 
 
11069
 
        Fixed the bug that --summary-interval=0 doesn't work. The summary
11070
 
        is printed repeatedly.
11071
 
        * src/ConsoleStatCalc.cc
11072
 
        
11073
 
2008-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11074
 
 
11075
 
        * Release 1.1.0
11076
 
 
11077
 
2008-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11078
 
 
11079
 
        Added ifdef clause for conditional compilation.
11080
 
        * src/main.cc
11081
 
 
11082
 
2008-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11083
 
 
11084
 
        Updated Russian, Simplified Chinese, Ukrainian and Japanese
11085
 
        translations. Thanks to all translators.
11086
 
        * po/ja.po
11087
 
        * po/ru.po
11088
 
        * po/uk.po
11089
 
        * po/zh_CN.po
11090
 
 
11091
 
2008-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11092
 
 
11093
 
        Added the preceding ">>> " before the message "Printing the
11094
 
        contents of file..." to make the output more readable.
11095
 
        * src/main.cc
11096
 
 
11097
 
2008-12-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11098
 
 
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)
11102
 
 
11103
 
2008-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11104
 
 
11105
 
        Made messages in showFiles() translatable.
11106
 
        * po/aria2.pot
11107
 
        * src/main.cc
11108
 
        * src/message.h
11109
 
 
11110
 
2008-12-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11111
 
 
11112
 
        Print the contents of Torrent/Metalink files are printed without
11113
 
        -T/-M options.
11114
 
        * src/main.cc
11115
 
 
11116
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11117
 
 
11118
 
        Escaped '--' with '\--'
11119
 
        * README
11120
 
        
11121
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11122
 
 
11123
 
        Updated "How to build" section in README. Mentioned about
11124
 
        --with-ca-bundle compile option.
11125
 
        * README
11126
 
 
11127
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11128
 
 
11129
 
        Bump up version number to 1.1.0.
11130
 
        * configure.ac
11131
 
 
11132
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11133
 
 
11134
 
        Added a note for --dht-listen-port option.
11135
 
        * doc/aria2c.1.txt
11136
 
 
11137
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11138
 
 
11139
 
        Update doc for --realtime-chunk-checksum option.
11140
 
        * doc/aria2c.1.txt
11141
 
 
11142
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11143
 
 
11144
 
        Update doc for --realtime-chunk-checksum option.
11145
 
        * src/usage_text.h
11146
 
 
11147
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11148
 
 
11149
 
        Updated French, Japanese, Russian and Ukrainian translations.
11150
 
        Thanks to all translators.
11151
 
        * po/fr.po
11152
 
        * po/ja.po
11153
 
        * po/ru.po
11154
 
        * po/uk.po
11155
 
 
11156
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11157
 
 
11158
 
        Renamed aria2c.pot to aria2.pot
11159
 
        * po/aria2.pot
11160
 
        * po/aria2c.pot: Removed.
11161
 
 
11162
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11163
 
 
11164
 
        Removed MetaEntry.h
11165
 
        * src/Makefile.am
11166
 
 
11167
 
2008-12-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11168
 
 
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
11173
 
 
11174
 
2008-12-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11175
 
 
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
11180
 
        
11181
 
2008-12-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11182
 
 
11183
 
        Fixed compiler warning
11184
 
        * src/Cookie.cc
11185
 
 
11186
 
2008-12-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11187
 
 
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
11191
 
        wiki.sf.net.
11192
 
        * src/Cookie.cc
11193
 
        * test/CookieParserTest.cc
11194
 
        * test/CookieStorageTest.cc
11195
 
        * test/CookieTest.cc
11196
 
        * test/NsCookieParserTest.cc
11197
 
        * test/Sqlite3MozCookieParserTest.cc
11198
 
 
11199
 
2008-12-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11200
 
 
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
11208
 
        * src/Request.cc
11209
 
        * src/Request.h
11210
 
        * test/RequestTest.cc
11211
 
 
11212
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11213
 
 
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.
11223
 
        * src/Makefile.am
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.
11232
 
        * test/Makefile.am
11233
 
        * test/MetaFileUtilTest.cc: Removed.
11234
 
 
11235
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11236
 
 
11237
 
        Removed include of MetaEntry.h
11238
 
        * test/DHTMessageTrackerEntryTest.cc
11239
 
 
11240
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11241
 
 
11242
 
        Use BDE instead of Dictionary/List/Data.
11243
 
        * src/AnnounceList.cc
11244
 
        * src/AnnounceList.h
11245
 
        * test/AnnounceListTest.cc
11246
 
 
11247
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11248
 
 
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
11289
 
 
11290
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11291
 
 
11292
 
        Added tests the case where length < 0 is specified.
11293
 
        * test/BencodeTest.cc
11294
 
 
11295
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11296
 
 
11297
 
        Fixed memory leak in decoderawstring()
11298
 
        * src/bencode.cc
11299
 
        
11300
 
2008-12-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11301
 
 
11302
 
        Added missing #ifdef guard.  Added uc() function for String and
11303
 
        removeKey() for Dict.
11304
 
        * src/bencode.cc
11305
 
        * src/bencode.h
11306
 
        * test/BencodeTest.cc
11307
 
 
11308
 
2008-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11309
 
 
11310
 
        Use BDE instead of Dictionary/List/Data.
11311
 
        * src/HandshakeExtensionMessage.cc
11312
 
        * src/HandshakeExtensionMessage.h
11313
 
        * test/HandshakeExtensionMessageTest.cc
11314
 
        
11315
 
2008-12-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11316
 
 
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.
11321
 
        * doc/aria2c.1.txt
11322
 
        * src/DefaultBtMessageDispatcher.cc
11323
 
        * src/DefaultBtMessageDispatcher.h
11324
 
        * src/OptionHandlerFactory.cc
11325
 
        * src/PeerInteractionCommand.cc
11326
 
        * src/option_processing.cc
11327
 
        * src/prefs.cc
11328
 
        * src/prefs.h
11329
 
        * src/usage_text.h
11330
 
 
11331
 
2008-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11332
 
 
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
11345
 
        * src/Util.h
11346
 
        * src/message.h
11347
 
        * test/DefaultBtContextTest.cc
11348
 
        * test/DefaultPeerListProcessorTest.cc
11349
 
 
11350
 
2008-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11351
 
 
11352
 
        Added bencode helper functions and BDE class.
11353
 
        They will replace MetaFileUtil and Dictionary/List/Data classes.
11354
 
        * src/Makefile.am
11355
 
        * src/bencode.cc
11356
 
        * src/bencode.h
11357
 
        * test/BencodeTest.cc
11358
 
        * test/Makefile.am
11359
 
 
11360
 
2008-12-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11361
 
 
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
11366
 
 
11367
 
2008-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11368
 
 
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
11373
 
        * src/Option.cc
11374
 
        * src/Option.h
11375
 
        * src/main.cc
11376
 
        * src/option_processing.cc
11377
 
        * test/OptionTest.cc
11378
 
 
11379
 
2008-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11380
 
 
11381
 
        Documented the default value of --check-certificate option in man
11382
 
        page.
11383
 
        * doc/aria2c.1.txt
11384
 
 
11385
 
2008-12-04  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11386
 
 
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.
11391
 
        * configure.ac
11392
 
        * src/MultiUrlRequestInfo.cc
11393
 
        * src/OptionHandlerFactory.cc
11394
 
        * src/message.h
11395
 
 
11396
 
2008-12-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11397
 
 
11398
 
        Mentioned https tag in help option.
11399
 
        * doc/aria2c.1.txt
11400
 
 
11401
 
2008-12-03  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11402
 
 
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
11407
 
        * src/help_tags.h
11408
 
        * src/option_processing.cc
11409
 
 
11410
 
2008-12-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11411
 
 
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.
11415
 
        * configure.ac
11416
 
 
11417
 
2008-12-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11418
 
 
11419
 
        Fixed typos
11420
 
        * src/usage_text.h
11421
 
 
11422
 
2008-12-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11423
 
 
11424
 
        Fixed typos and updated doc.
11425
 
        * README
11426
 
 
11427
 
2008-12-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11428
 
 
11429
 
        Fixed typos
11430
 
        * doc/aria2c.1.txt
11431
 
 
11432
 
2008-12-02  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11433
 
 
11434
 
        Fixed typos
11435
 
        * src/usage_text.h
11436
 
 
11437
 
2008-11-30  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11438
 
 
11439
 
        Print a message when no files to download.
11440
 
        * src/download_helper.cc
11441
 
        * src/main.cc
11442
 
        * src/message.h
11443
 
 
11444
 
2008-11-28  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11445
 
 
11446
 
        RFC3986 complied Percent-Encoding(urlencode).
11447
 
        Use uppercase hexadecimal digits for encoded text instead of lowercase
11448
 
        ones.
11449
 
        * src/Request.cc
11450
 
        * src/Util.cc
11451
 
        * src/Util.h
11452
 
        * test/BtHandshakeMessageTest.cc
11453
 
        * test/DefaultBtAnnounceTest.cc
11454
 
        * test/DefaultBtContextTest.cc
11455
 
        * test/RequestTest.cc
11456
 
        * test/UtilTest.cc
11457
 
 
11458
 
2008-11-27  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11459
 
 
11460
 
        Fixed the bug that prevents aria2 from downloading 0-length files
11461
 
        via HTTP/FTP.
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
11474
 
 
11475
 
2008-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11476
 
 
11477
 
        Fixed the bug that -pfalse and -ptrue are not recognized properly.
11478
 
        * src/option_processing.cc
11479
 
        
11480
 
2008-11-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11481
 
 
11482
 
        Applied aria2-1.0.1-mingw.patch.
11483
 
        Use SOCKET_ERRNO instead of errno if the code is used both linux and
11484
 
        mingw.
11485
 
        Collected 4th and 5th argument types for getsockopt and setsockopt.
11486
 
        * src/SocketCore.cc
11487
 
        * src/a2netcompat.h
11488
 
        * test/SocketCoreTest.cc
11489
 
 
11490
 
2008-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11491
 
 
11492
 
        * Release 1.0.1
11493
 
 
11494
 
2008-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11495
 
 
11496
 
        Updated Ukrainian and Norwegian Nynorsk translations.
11497
 
        Thanks to all translators.
11498
 
        * po/nn.po
11499
 
        * po/uk.po
11500
 
 
11501
 
2008-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11502
 
 
11503
 
        Don't show download result when -S option is used.
11504
 
        * src/main.cc
11505
 
 
11506
 
2008-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11507
 
 
11508
 
        Bump up version number to 1.0.1
11509
 
        * configure.ac
11510
 
 
11511
 
2008-11-24  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11512
 
 
11513
 
        Closed files after the test cases in MultiDiskWriterTest::
11514
 
        testResetDiskWriterEntries(). This will fix the unit test error
11515
 
        in mingw32 build.
11516
 
        * test/MultiDiskWriterTest.cc
11517
 
 
11518
 
2008-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11519
 
 
11520
 
        Use HEAD method to get file size from HTTP server for segmented
11521
 
        downloading.
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
11524
 
        download.
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
11533
 
 
11534
 
2008-11-23  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11535
 
 
11536
 
        Fixed the bug that causes floating exception when -T option is used and
11537
 
        no URIs are given.
11538
 
        * src/download_helper.cc
11539
 
        * test/DownloadHelperTest.cc
11540
 
 
11541
 
2008-11-22  Ross Smith II  <aria2spam at smithii dot com>
11542
 
 
11543
 
        Applied aria2-1.0.0-mingw-r5.patch to fix numerous compile/unit test 
11544
 
        errors in MinGW:
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)
11557
 
        * src/a2time.h
11558
 
        * src/FtpConnection.cc
11559
 
        * src/RequestGroupMan.cc
11560
 
        * src/SocketCore.cc
11561
 
        * src/strptime.c
11562
 
        * test/CookieParserTest.cc
11563
 
        * test/CopyDiskAdaptorTest.cc
11564
 
        * test/FileTest.cc
11565
 
        * test/FtpConnectionTest.cc
11566
 
        * test/MultiDiskAdaptorTest.cc
11567
 
 
11568
 
2008-11-20  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11569
 
 
11570
 
        Fixed typo in "OPTIONS THAT TAKE AN OPTIONAL ARGUMENT" section.
11571
 
        * doc/aria2c.1.txt
11572
 
 
11573
 
2008-11-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11574
 
 
11575
 
        * Release 1.0.0
11576
 
        
11577
 
2008-11-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11578
 
 
11579
 
        Added '~' to reserved characters.
11580
 
        * src/Util.cc
11581
 
 
11582
 
2008-11-19  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11583
 
 
11584
 
        Do not urlencode Request::url in setUrl() because we want unmodified
11585
 
        URL using Request::getUrl()
11586
 
        * src/Request.cc
11587
 
        * src/Request.h
11588
 
        * test/RequestTest.cc
11589
 
 
11590
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11591
 
 
11592
 
        Updated Ukrainian, Japanese, Bulgarian, Russian and French translations.
11593
 
        Thanks to all translators.
11594
 
        * po/bg.po
11595
 
        * po/fr.po
11596
 
        * po/ja.po
11597
 
        * po/ru.po
11598
 
        * po/uk.po
11599
 
        
11600
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11601
 
 
11602
 
        Bump up version number to 1.0.0
11603
 
        * configure.ac
11604
 
 
11605
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11606
 
 
11607
 
        Added nosqlite3 build to build_test.sh.
11608
 
        Renamed noxml as expat.
11609
 
        * build_test.sh
11610
 
        
11611
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11612
 
 
11613
 
        Updated INPUT FILE section.
11614
 
        * doc/aria2c.1.txt
11615
 
 
11616
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11617
 
 
11618
 
        Excluded testLoad_compat() and testLoad_nonBt_compat() when compiled
11619
 
        on big endian systems because test .aria2 files are made for little
11620
 
        endian systems.
11621
 
        * test/DefaultBtProgressInfoFileTest.cc
11622
 
 
11623
 
2008-11-18  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11624
 
 
11625
 
        Dropped ares support.
11626
 
        * README
11627
 
        * configure.ac
11628
 
        * m4/libares.m4: Removed.
11629
 
        * src/AsyncNameResolver.cc
11630
 
        * src/Makefile.am
11631
 
        * test/Makefile.am
11632
 
 
11633
 
2008-11-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11634
 
 
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
11641
 
        * src/DiskWriter.h
11642
 
        * test/ByteArrayDiskWriterTest.cc
11643
 
        
11644
 
2008-11-17  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11645
 
 
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
11653
 
 
11654
 
2008-11-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11655
 
 
11656
 
        Removed TODO
11657
 
        * TODO
11658
 
 
11659
 
2008-11-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11660
 
 
11661
 
        Added a section that explains how to pass argument to options that
11662
 
        takes optional arguments with its short form.
11663
 
        * doc/aria2c.1.txt
11664
 
        
11665
 
2008-11-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11666
 
 
11667
 
        Added -u for the short form of --max-upload-limit option.
11668
 
        * doc/aria2c.1.txt
11669
 
        * src/option_processing.cc
11670
 
        * src/usage_text.h
11671
 
 
11672
 
2008-11-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11673
 
 
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.
11677
 
        * doc/aria2c.1.txt
11678
 
        * src/option_processing.cc
11679
 
        * src/usage_text.h
11680
 
 
11681
 
2008-11-16  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11682
 
 
11683
 
        Made the default value of --ftp-pasv option set to true and it can take
11684
 
        true/false values.
11685
 
        * src/OptionHandlerFactory.cc
11686
 
        * src/option_processing.cc
11687
 
        * src/usage_text.h
11688
 
        * doc/aria2c.1.txt
11689
 
 
11690
 
2008-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11691
 
 
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
11701
 
 
11702
 
2008-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11703
 
 
11704
 
        Now the default value of --enable-direct-io is true.
11705
 
        * src/OptionHandlerFactory.cc
11706
 
        * doc/aria2c.1.txt
11707
 
        
11708
 
2008-11-15  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11709
 
 
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
11714
 
 
11715
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11716
 
 
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
11721
 
 
11722
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11723
 
 
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
11729
 
 
11730
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11731
 
 
11732
 
        Commented out the code which sets virtual directory path "[MEMORY]"
11733
 
        propagate directory to store to following RequestGroup.
11734
 
        * src/MemoryBufferPreDownloadHandler.cc
11735
 
 
11736
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11737
 
 
11738
 
        Bump up version number to 1.0.0b
11739
 
        * configure.ac
11740
 
 
11741
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11742
 
 
11743
 
        Added input_uris.txt to EXTRA_DIST
11744
 
        * test/Makefile.am
11745
 
 
11746
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11747
 
 
11748
 
        Removed PeerObject.h from Makefile.am
11749
 
        * src/Makefile.am
11750
 
 
11751
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11752
 
 
11753
 
        Avoid slow seeding
11754
 
        * src/PeerInteractionCommand.cc
11755
 
 
11756
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11757
 
 
11758
 
        Updated usage for -i option.
11759
 
        * src/usage_text.h (TEXT_INPUT_FILE)
11760
 
 
11761
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11762
 
 
11763
 
        Added INPUT FILE section to man page.
11764
 
        Escaped fake URLs.
11765
 
        * doc/aria2c.1.txt
11766
 
 
11767
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11768
 
 
11769
 
        Fixed wrong note position for -o option.
11770
 
        * doc/aria2c.1.txt
11771
 
        
11772
 
2008-11-14  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11773
 
 
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
11780
 
        * src/SocketCore.h
11781
 
        * src/VerificationMetalinkParserState.cc
11782
 
        * src/download_helper.h
11783
 
        * src/main.cc
11784
 
        * test/DefaultBtProgressInfoFileTest.cc
11785
 
        * test/DownloadHelperTest.cc
11786
 
 
11787
 
2008-11-13  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11788
 
 
11789
 
        Rewritten URI handling functions. They are now provided as a testable
11790
 
        functions.
11791
 
        * src/Makefile.am
11792
 
        * src/RequestGroup.cc
11793
 
        * src/RequestGroup.h
11794
 
        * src/download_helper.cc
11795
 
        * src/download_helper.h
11796
 
        * src/main.cc
11797
 
        * test/DownloadHelperTest.cc
11798
 
        * test/Makefile.am
11799
 
        * test/input_uris.txt
11800
 
 
11801
 
2008-11-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11802
 
 
11803
 
        Quickly terminate commands when ctrl-c is pressed.
11804
 
        * src/DownloadEngine.cc
11805
 
 
11806
 
2008-11-12  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11807
 
 
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
11815
 
 
11816
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11817
 
 
11818
 
        Added the ability to specify output filename and directory in input
11819
 
        file.
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
11826
 
        downloads.
11827
 
        Example input file:
11828
 
        
11829
 
        http://host/foo-1.1.tar.bz2
11830
 
          out=foo.tar.bz2
11831
 
          dir=/tmp/downloads
11832
 
        http://host/thundermonkey-2.0.tar.bz2
11833
 
 
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
11844
 
        * src/main.cc
11845
 
        * test/Metalink2RequestGroupTest.cc
11846
 
        * test/UriListParserTest.cc
11847
 
        * test/filelist1.txt
11848
 
        
11849
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11850
 
 
11851
 
        Fixed error when SSL library is not found.
11852
 
        * configure.ac
11853
 
 
11854
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11855
 
 
11856
 
        Cross referenced among -s, -C and -j options.
11857
 
        Updated usage of -C and -s options.
11858
 
        * src/usage_text.h
11859
 
        * doc/aria2c.1.txt
11860
 
        
11861
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11862
 
 
11863
 
        Fixed bad cast in 32bit platforms.
11864
 
        * test/DefaultPieceStorageTest.cc
11865
 
        (DefaultPieceStorageTest::testGetCompletedLength)
11866
 
 
11867
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11868
 
 
11869
 
        Fixed unit test fails on 32bit platforms.
11870
 
        * test/CookieParserTest.cc
11871
 
 
11872
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11873
 
 
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
11883
 
        
11884
 
2008-11-11  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11885
 
 
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
11891
 
 
11892
 
2008-11-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11893
 
 
11894
 
        Removed unused code.
11895
 
        * src/DefaultBtAnnounce.cc
11896
 
 
11897
 
2008-11-10  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11898
 
 
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
11904
 
 
11905
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11906
 
 
11907
 
        Bump up version number to 1.0.0a.
11908
 
        * configure.ac
11909
 
 
11910
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11911
 
 
11912
 
        Updated configure.ac
11913
 
        * configure.ac
11914
 
 
11915
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11916
 
 
11917
 
        Added usege for proxy.
11918
 
        * doc/aria2c.1.txt
11919
 
 
11920
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11921
 
 
11922
 
        Added usage for --ca-certificate, --certificate, --private-key and
11923
 
        --check-certificate options.
11924
 
        * doc/aria2c.1.txt
11925
 
 
11926
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11927
 
 
11928
 
        Updated man page
11929
 
        * doc/aria2c.1.txt
11930
 
 
11931
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11932
 
 
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
11941
 
        * src/prefs.cc
11942
 
        * src/prefs.h
11943
 
        * src/usage_text.h
11944
 
        
11945
 
2008-11-09  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11946
 
 
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
11959
 
        * src/SocketCore.h
11960
 
        * src/a2functional.h
11961
 
        * src/message.h
11962
 
        * src/option_processing.cc
11963
 
        * src/prefs.cc
11964
 
        * src/prefs.h
11965
 
        * src/usage_text.h
11966
 
 
11967
 
2008-11-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11968
 
 
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
11972
 
        thing happens:
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
11981
 
        * src/prefs.cc
11982
 
        * src/prefs.h
11983
 
        * src/usage_text.h
11984
 
        
11985
 
2008-11-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
11986
 
 
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
11994
 
        * src/Makefile.am
11995
 
        * src/SocketCore.cc
11996
 
        * src/SocketCore.h
11997
 
        * src/TLSContext.h
11998
 
        * src/message.h 
11999
 
 
12000
 
2008-11-08  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
12001
 
 
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
12005
 
        is true.
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
12011
 
 
12012
 
2008-11-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12013
 
 
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
12030
 
        
12031
 
2008-11-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12032
 
 
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
12040
 
        * src/TimeA2.cc
12041
 
        * src/TimeA2.h
12042
 
        * test/CookieParserTest.cc
12043
 
        * test/FtpConnectionTest.cc
12044
 
        * test/TimeTest.cc
12045
 
 
12046
 
2008-11-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12047
 
 
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
12055
 
        
12056
 
2008-11-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12057
 
 
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
12064
 
        * src/prefs.cc
12065
 
        * src/prefs.h
12066
 
        * src/usage_text.h
12067
 
        
12068
 
2008-11-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12069
 
 
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
12076
 
        instead.
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
12103
 
        * src/Request.cc
12104
 
        * src/option_processing.cc
12105
 
        * src/prefs.cc
12106
 
        * src/prefs.h
12107
 
        * src/usage_text.h
12108
 
        * test/AuthConfigFactoryTest.cc
12109
 
        * test/HttpRequestTest.cc
12110
 
        * test/OptionHandlerTest.cc
12111
 
 
12112
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12113
 
 
12114
 
        Execute choking algorithm when unchoked and interested peer is
12115
 
        disconected.
12116
 
        * src/DefaultPeerStorage.cc
12117
 
 
12118
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12119
 
 
12120
 
        Added testcase for BtNotInterestedMessage from unchoked peer.
12121
 
        * test/BtNotInterestedMessageTest.cc
12122
 
 
12123
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12124
 
 
12125
 
        Execute choking algorithm when BtInterestedMessage arrives from
12126
 
        unchoked peer.
12127
 
        * src/BtInterestedMessage.cc
12128
 
        * src/BtInterestedMessage.h
12129
 
        * src/DefaultBtMessageFactory.cc
12130
 
        * test/BtInterestedMessageTest.cc
12131
 
        * test/MockPeerStorage.h
12132
 
        
12133
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12134
 
 
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
12151
 
        * src/main.cc
12152
 
        * test/FtpConnectionTest.cc
12153
 
        * test/HttpRequestTest.cc
12154
 
        * test/HttpResponseTest.cc
12155
 
 
12156
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12157
 
 
12158
 
        Corrected catched exception type.
12159
 
        * src/ServerStatMan.cc
12160
 
 
12161
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12162
 
 
12163
 
        DNSCache is now part of DownloadEngine.
12164
 
        * src/DNSCache.h
12165
 
        * src/DownloadEngine.cc
12166
 
        * src/DownloadEngine.h
12167
 
        * src/InitiateConnectionCommand.cc
12168
 
        * src/MultiUrlRequestInfo.cc
12169
 
        * test/Makefile.am
12170
 
        * test/Makefile.in
12171
 
        * test/SimpleDNSCacheTest.cc
12172
 
 
12173
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12174
 
 
12175
 
        Removed SingletonHolder of CUIDCounter. CUIDCounter is now part of
12176
 
        DownloadEngine.
12177
 
        * src/ActivePeerConnectionCommand.cc
12178
 
        * src/BtSetup.cc
12179
 
        * src/CUIDCounter.h
12180
 
        * src/DHTSetup.cc
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
12193
 
        * src/main.cc
12194
 
        * test/RequestGroupManTest.cc
12195
 
        
12196
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12197
 
 
12198
 
        Implemented commented code in BtSeederStateChoke
12199
 
        * src/BtSeederStateChoke.cc
12200
 
        * src/Peer.cc
12201
 
        * src/Peer.h
12202
 
        * src/PeerInteractionCommand.cc
12203
 
        * src/PeerSessionResource.cc
12204
 
        * src/PeerSessionResource.h
12205
 
        * test/MockBtMessageDispatcher.h
12206
 
        * test/PeerSessionResourceTest.cc
12207
 
 
12208
 
2008-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12209
 
 
12210
 
        Made BtRegistry non-static object. Now DownloadEngine has a reference to
12211
 
        its object.
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
12224
 
        * src/BtRegistry.h
12225
 
        * src/BtSeederStateChoke.cc
12226
 
        * src/BtSetup.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
12235
 
        * src/DHTSetup.cc
12236
 
        * src/DHTSetup.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
12262
 
        * src/Makefile.am
12263
 
        * src/Makefile.in
12264
 
        * src/PeerChokeCommand.cc
12265
 
        * src/PeerChokeCommand.h
12266
 
        * src/PeerInitiateConnectionCommand.cc
12267
 
        * src/PeerInitiateConnectionCommand.h
12268
 
        * src/PeerInteractionCommand.cc
12269
 
        * src/PeerInteractionCommand.h
12270
 
        * src/PeerObject.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
12307
 
        
12308
 
2008-10-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12309
 
 
12310
 
        Fixed compiler warning.
12311
 
        * test/UtilTest.cc
12312
 
 
12313
 
2008-10-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12314
 
 
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.
12318
 
        * src/Cookie.cc
12319
 
        * src/Cookie.h
12320
 
        * test/CookieParserTest.cc
12321
 
        * test/CookieStorageTest.cc
12322
 
        * test/CookieTest.cc
12323
 
        
12324
 
2008-10-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12325
 
 
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
12334
 
 
12335
 
        Dropped DHT message coming from same ID of localhost.
12336
 
        * src/DHTMessageReceiver.cc
12337
 
 
12338
 
        Rejected adding node whose ID is the same as localhost's.
12339
 
        * src/DHTRoutingTable.cc
12340
 
        * test/BtPortMessageTest.cc
12341
 
        * test/DHTRoutingTableTest.cc
12342
 
        
12343
 
2008-10-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12344
 
 
12345
 
        Pool connection when redirection occurs with Content-Length = 0.
12346
 
        * src/HttpSkipResponseCommand.cc
12347
 
        * src/HttpSkipResponseCommand.h
12348
 
 
12349
 
2008-10-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12350
 
 
12351
 
        Fixed the bug that causes time out when redirection occurs with
12352
 
        content-length 0.
12353
 
        * src/HttpResponseCommand.cc
12354
 
        * src/HttpSkipResponseCommand.cc
12355
 
        * src/HttpSkipResponseCommand.h
12356
 
 
12357
 
2008-10-22 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12358
 
 
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
12361
 
        be printed.
12362
 
        * src/RequestGroupMan.cc
12363
 
        
12364
 
2008-10-22 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12365
 
 
12366
 
        Removed duplicate creation of OptionHandlers.
12367
 
        * src/option_processing.cc
12368
 
        
12369
 
2008-10-22 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12370
 
 
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
12375
 
 
12376
 
2008-10-20 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12377
 
 
12378
 
        Fixed compiler warning.
12379
 
        * test/UtilTest.cc
12380
 
 
12381
 
2008-10-20 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12382
 
 
12383
 
        Included cstdlib. This fixed the compile error with g++-4.3.2.
12384
 
        * src/IteratableChecksumValidator.cc
12385
 
        * src/IteratableChunkChecksumValidator.cc
12386
 
 
12387
 
2008-10-20 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12388
 
 
12389
 
        * Release 0.16.2
12390
 
 
12391
 
2008-10-20 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12392
 
 
12393
 
        Added Serbian translation. Updated Ukrainian translation.
12394
 
        Thanks to all translators.
12395
 
        * po/sr.po
12396
 
        * po/uk.po
12397
 
        * po/LINGUAS
12398
 
 
12399
 
2008-10-20 Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12400
 
 
12401
 
        Bump up version number to 0.16.2
12402
 
        * configure.ac
12403
 
 
12404
 
2008-10-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12405
 
 
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
12410
 
        
12411
 
2008-10-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12412
 
 
12413
 
        Fixed the bug that aria2 aborts when a request larger than 16KiB is
12414
 
        recieved.
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
12421
 
 
12422
 
2008-10-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12423
 
 
12424
 
        * Release 0.16.1
12425
 
 
12426
 
2008-10-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12427
 
 
12428
 
        Replaced '@' with 'at' in AUTHOR and REPORT BUG.
12429
 
        * doc/aria2c.1.txt
12430
 
 
12431
 
2008-10-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12432
 
 
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.
12437
 
        * po/LINGUAS
12438
 
        * po/fr.po
12439
 
        * po/ja.po
12440
 
        * po/uk.po
12441
 
        * po/vi.po
12442
 
        * po/zh_CN.po
12443
 
        * po/zh_TW.po
12444
 
 
12445
 
2008-10-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12446
 
 
12447
 
        Bump up version number to 0.16.1.
12448
 
        * configure.ac
12449
 
 
12450
 
2008-10-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12451
 
 
12452
 
        Updated README.
12453
 
        * README
12454
 
 
12455
 
2008-10-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12456
 
 
12457
 
        Updated man page. Changed doctype of aria2c.1.html to manpage in order
12458
 
        not to replace '--' with em dash character.
12459
 
        * doc/aria2c.1.txt
12460
 
        * doc/makeman
12461
 
        
12462
 
2008-10-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12463
 
 
12464
 
        Added --auto-save-interval=SEC option. A control file(*.aria2) is saved
12465
 
        every SEC seconds.
12466
 
        * src/DownloadEngineFactory.cc
12467
 
        * src/OptionHandlerFactory.cc
12468
 
        * src/option_processing.cc
12469
 
        * src/usage_text.h
12470
 
 
12471
 
2008-10-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12472
 
 
12473
 
        Fixed compile warning on linux-amd64
12474
 
        * src/FtpConnection.cc
12475
 
        * src/IteratableChunkChecksumValidator.cc
12476
 
        * src/MultiDiskAdaptor.cc
12477
 
 
12478
 
        Fixed the bug that unit test fails on linux-amd64
12479
 
        * test/UtilTest.cc
12480
 
 
12481
 
2008-10-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12482
 
 
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
12487
 
        * src/usage_text.h
12488
 
 
12489
 
2008-10-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12490
 
 
12491
 
        Fixed possible underflow.
12492
 
        * src/BitfieldMan.cc (BitfieldMan::getNthBitIndex)
12493
 
 
12494
 
2008-10-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12495
 
 
12496
 
        Fixed the bug that last character in URI is not encoded.
12497
 
        * src/Request.cc
12498
 
        * test/RequestTest.cc
12499
 
 
12500
 
2008-10-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12501
 
 
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().
12505
 
        * src/Request.h
12506
 
        * src/Request.cc
12507
 
        * test/RequestTest.cc
12508
 
 
12509
 
2008-10-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12510
 
 
12511
 
        Added missing m4 macros.
12512
 
        * m4/cppunit.m4
12513
 
        * m4/libgcrypt.m4
12514
 
        * m4/libgnutls-extra.m4
12515
 
        * m4/libgnutls.m4
12516
 
        * m4/libxml2.m4
12517
 
 
12518
 
2008-10-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12519
 
 
12520
 
        Fixed compile error with gcc-4.4(snapshot)
12521
 
        * src/File.cc
12522
 
        * src/FtpConnection.cc
12523
 
        * src/OptionHandlerImpl.h
12524
 
        * src/Util.cc
12525
 
        
12526
 
2008-10-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12527
 
 
12528
 
        Removed assert()
12529
 
        * src/SocketBuffer.cc (SocketBuffer::send)
12530
 
 
12531
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12532
 
 
12533
 
        Changed the type of _numNewConnection to unsigned int.
12534
 
        * src/ActivePeerConnectionCommand.cc
12535
 
        * src/ActivePeerConnectionCommand.h
12536
 
 
12537
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12538
 
 
12539
 
        * Release 0.16.0
12540
 
 
12541
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12542
 
 
12543
 
        Updated doc
12544
 
        * README
12545
 
 
12546
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12547
 
 
12548
 
        Updated French, Simplified Chinese, German, Bulgarian and Japanese
12549
 
        translations. Thanks to all translators.
12550
 
        * po/bg.po
12551
 
        * po/de.po
12552
 
        * po/fr.po
12553
 
        * po/ja.po
12554
 
        * po/zh_CN.po
12555
 
 
12556
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12557
 
 
12558
 
        Bump up version number to 0.16.0.
12559
 
        * configure.ac
12560
 
 
12561
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12562
 
 
12563
 
        Casted entry->maxConnections to int32_t for std::min<T> with T =
12564
 
        int32_t.
12565
 
        Changed the type of count to int32_t.
12566
 
        * src/Metalink2RequestGroup.cc
12567
 
 
12568
 
2008-10-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12569
 
 
12570
 
        Added test for Time::elapsed(time_t).
12571
 
        * test/TimeTest.cc
12572
 
 
12573
 
2008-10-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12574
 
 
12575
 
        Fixed the bug in Time::elapsed(): Util::difftvsec() is used where
12576
 
        Util::difftv() should be used instead.
12577
 
        * src/TimeA2.cc
12578
 
        * src/TimeA2.h
12579
 
 
12580
 
2008-10-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12581
 
 
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
12588
 
        * src/DHTMessage.h
12589
 
        * src/DHTMessageDispatcherImpl.cc
12590
 
        * src/DHTMessageDispatcherImpl.h
12591
 
        * src/DHTUnknownMessage.cc
12592
 
        * src/DHTUnknownMessage.h
12593
 
        * src/SocketCore.cc
12594
 
        * src/SocketCore.h
12595
 
        * test/MockDHTMessage.h
12596
 
 
12597
 
2008-10-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12598
 
 
12599
 
        Changed the type of offset to int.
12600
 
        * src/ParameterizedStringParser.cc
12601
 
 
12602
 
2008-10-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12603
 
 
12604
 
        Made getAsInt() return int32_t
12605
 
        * src/Option.h
12606
 
 
12607
 
2008-10-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12608
 
 
12609
 
        Check the availability of winsock2.h and ws2tcpip.h only for mingw32
12610
 
        build.
12611
 
        * configure.ac
12612
 
 
12613
 
2008-10-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12614
 
 
12615
 
        Use sqlite3_open if sqlite3_open_v2 is not available.
12616
 
        * src/Sqlite3MozCookieParser.cc
12617
 
        * src/Sqlite3MozCookieParser.h
12618
 
        * m4/sqlite3.m4
12619
 
        * test/Sqlite3MozCookieParserTest.cc
12620
 
 
12621
 
2008-10-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12622
 
 
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
12635
 
 
12636
 
2008-10-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12637
 
 
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
12641
 
 
12642
 
2008-10-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12643
 
 
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
12653
 
 
12654
 
2008-09-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12655
 
 
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
12660
 
        * src/File.cc
12661
 
        * src/File.h
12662
 
        * src/SocketCore.cc
12663
 
        * src/SocketCore.h
12664
 
 
12665
 
2008-09-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12666
 
 
12667
 
        Made a socket of incoming peer non-blocking.
12668
 
        * src/PeerListenCommand.cc
12669
 
 
12670
 
2008-09-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12671
 
 
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
12680
 
        
12681
 
2008-09-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12682
 
 
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
12692
 
 
12693
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12694
 
 
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
12707
 
        * src/SocketCore.h
12708
 
 
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
12711
 
        are set.
12712
 
        * src/DownloadCommand.cc
12713
 
        * src/HttpSkipResponseCommand.cc
12714
 
        
12715
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12716
 
 
12717
 
        Updated man page.
12718
 
        * doc/aria2c.1.txt
12719
 
 
12720
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12721
 
 
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
12725
 
        
12726
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12727
 
 
12728
 
        Fixed compile error on OptionHandlerException
12729
 
        * src/Makefile.am
12730
 
        * src/OptionHandlerException.cc
12731
 
        * src/OptionHandlerException.h
12732
 
        
12733
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12734
 
 
12735
 
        Moved message of the error to OptionHandlerException.h
12736
 
        * src/NameMatchOptionHandler.h
12737
 
        * src/OptionHandlerException.h
12738
 
 
12739
 
2008-09-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12740
 
 
12741
 
        When error occurs while aria2 is parsing an command-line option, print
12742
 
        the usage of the option.
12743
 
        * src/Makefile.am
12744
 
        * src/NameMatchOptionHandler.h
12745
 
        * src/OptionHandlerException.h
12746
 
        * src/option_processing.cc
12747
 
 
12748
 
2008-09-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12749
 
 
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
12754
 
        * src/Request.cc
12755
 
        * test/HttpRequestTest.cc
12756
 
        * test/RequestTest.cc
12757
 
 
12758
 
2008-09-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12759
 
 
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
12765
 
        proxy.
12766
 
        * src/Request.cc
12767
 
        * test/RequestTest.cc
12768
 
 
12769
 
2008-09-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12770
 
 
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
12781
 
        * src/prefs.cc
12782
 
        * src/prefs.h
12783
 
        * test/AuthConfigFactoryTest.cc
12784
 
        * test/HttpRequestTest.cc
12785
 
        * test/NetrcAuthResolverTest.cc
12786
 
 
12787
 
2008-09-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12788
 
 
12789
 
        Issue PWD command first and get working directory and use it as a prefix
12790
 
        for CWD command.
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
12800
 
 
12801
 
2008-09-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12802
 
 
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
12806
 
 
12807
 
2008-09-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12808
 
 
12809
 
        Added debug log for socket event.
12810
 
        * src/AbstractCommand.cc
12811
 
        * src/PeerAbstractCommand.cc
12812
 
        
12813
 
2008-09-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12814
 
 
12815
 
        Log microseconds.
12816
 
        * src/SimpleLogger.cc (SimpleLogger::writeLog)
12817
 
 
12818
 
2008-09-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12819
 
 
12820
 
        Replaced HelpItem.cc with OptionHandler.cc.
12821
 
        * po/POTFILES.in
12822
 
        
12823
 
        Updated po files with 'make update-po'
12824
 
        * po/aria2c.pot
12825
 
        * po/*.po
12826
 
 
12827
 
2008-09-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12828
 
 
12829
 
        Removed possible values from the text.
12830
 
        * src/usage_text.h (TEXT_METALINK_PREFERRED_PROTOCOL)
12831
 
 
12832
 
2008-09-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12833
 
 
12834
 
        Removed unused preferences:
12835
 
        PREF_NO_PREALLOCATION
12836
 
        PREF_STDOUT_LOG
12837
 
        PREF_TRACKER_MAX_TRIES
12838
 
        PREF_DIRECT_DOWNLOAD_TIMEOUT
12839
 
        PREF_MIN_SEGMENT_SIZE
12840
 
        * src/option_processing.cc
12841
 
        * src/prefs.cc
12842
 
        * src/prefs.h
12843
 
 
12844
 
2008-09-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12845
 
 
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.
12852
 
        * src/Makefile.am
12853
 
        * src/Makefile.in
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.
12865
 
        * src/main.cc
12866
 
        * src/option_processing.cc
12867
 
        * src/usage_text.h
12868
 
        * src/version_usage.cc
12869
 
        * test/HelpItemTest.cc: Removed.
12870
 
        * test/Makefile.am
12871
 
        * test/Makefile.in
12872
 
        * test/OptionHandlerTest.cc
12873
 
        * test/OptionParserTest.cc
12874
 
        * test/TagContainerTest.cc: Removed.
12875
 
 
12876
 
2008-09-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12877
 
 
12878
 
        Moved `TransferStat stat = ...' to inside the `if' clause.
12879
 
        * src/RequestGroup.cc (RequestGroup::reportDownloadFinished)
12880
 
 
12881
 
2008-09-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12882
 
 
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
12898
 
 
12899
 
2008-09-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12900
 
 
12901
 
        Removed _uploadLength and _downloadLength from PeerSessionResource
12902
 
        and use PeerStat::_sessionUploadLength and
12903
 
        PeerStat::_sessionDownloadLength.
12904
 
        * src/PeerSessionResource.cc
12905
 
        * src/PeerSessionResource.h
12906
 
 
12907
 
2008-09-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12908
 
 
12909
 
        Fixed the bug that prefixLength of split bucket which doesn't include
12910
 
        local node ID is incremented.
12911
 
        * src/DHTBucket.cc
12912
 
        * src/DHTBucket.h
12913
 
        * test/DHTBucketTest.cc
12914
 
 
12915
 
2008-09-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12916
 
 
12917
 
        Added cookies.sqlite to EXTRA_DIST
12918
 
        * test/Makefile.am
12919
 
 
12920
 
2008-09-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12921
 
 
12922
 
        Added Turkish translation. Updated French, German, Russian and
12923
 
        Simplified Chinese translations. Thanks to all translators.
12924
 
        * po/LINGUAS
12925
 
        * po/de.po
12926
 
        * po/fr.po
12927
 
        * po/ru.po
12928
 
        * po/tr.po
12929
 
        * po/zh_CN.po
12930
 
        
12931
 
2008-09-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12932
 
 
12933
 
        Added deliminating text to the beginning of the log so that one can find
12934
 
        where the log starts easily.
12935
 
        * src/main.cc
12936
 
 
12937
 
2008-09-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12938
 
 
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
12942
 
 
12943
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12944
 
 
12945
 
        If establishing conneciton to a server is failed, then mark error on
12946
 
        its ServerStat.
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
12954
 
        * src/message.h
12955
 
 
12956
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12957
 
 
12958
 
        Added the function to get error message from socket.
12959
 
        * src/SocketCore.cc
12960
 
        * src/SocketCore.h
12961
 
 
12962
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12963
 
 
12964
 
        Added convenient method RequestGroupMan::getOrCreateServerStat()
12965
 
        * src/RequestGroupMan.cc
12966
 
        * src/RequestGroupMan.h
12967
 
 
12968
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12969
 
 
12970
 
        If error event is received in epoll, then abort download immediately.
12971
 
        * src/AbstractCommand.cc
12972
 
        * src/Command.cc
12973
 
        * src/Command.h
12974
 
        * src/DownloadEngine.cc
12975
 
        * src/PeerAbstractCommand.cc
12976
 
        
12977
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12978
 
 
12979
 
        Added usage message for --uri-selector, --server-stat-of,
12980
 
        --server-stat-in, --server-stat-timeout options.
12981
 
        * src/HelpItemFactory.cc
12982
 
        * src/usage_text.h
12983
 
 
12984
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12985
 
 
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
12991
 
        
12992
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
12993
 
 
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
13008
 
        * src/Makefile.am
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
13018
 
        * src/SocketCore.h
13019
 
 
13020
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13021
 
 
13022
 
        Call setStatusRealtime() in constructor.
13023
 
        * src/RealtimeCommand.cc
13024
 
        * src/RealtimeCommand.h
13025
 
 
13026
 
2008-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13027
 
 
13028
 
        Call Download::setNoWait(true) to execute newly created command without
13029
 
        a pause.
13030
 
        * src/AbstractCommand.cc
13031
 
 
13032
 
2008-09-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13033
 
 
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
13045
 
        * src/PeerStat.h
13046
 
        * src/RequestGroup.cc
13047
 
        * src/RequestGroup.h
13048
 
        * src/SegmentMan.cc
13049
 
        * src/SegmentMan.h
13050
 
        * src/option_processing.cc
13051
 
        * src/prefs.cc
13052
 
        * src/prefs.h
13053
 
        * src/usage_text.h
13054
 
 
13055
 
2008-09-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13056
 
 
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
13062
 
 
13063
 
2008-09-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13064
 
 
13065
 
        Merged from stable-0.15
13066
 
        * m4/libcares.m4
13067
 
 
13068
 
        Use pkg-config
13069
 
        * m4/sqlite3.m4
13070
 
        
13071
 
2008-09-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13072
 
 
13073
 
        Removed unnecessary if statement.
13074
 
        * src/DefaultPieceStorage.cc (initPieceStorage)
13075
 
        
13076
 
2008-09-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13077
 
 
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
13087
 
        * src/prefs.cc
13088
 
        * src/prefs.h
13089
 
        * src/usage_text.h
13090
 
 
13091
 
2008-09-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13092
 
 
13093
 
        Added help message for -R option.
13094
 
        * src/HelpItemFactory.cc
13095
 
        * src/usage_text.h
13096
 
 
13097
 
2008-09-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13098
 
 
13099
 
        Added the message that the time is in local time zone.
13100
 
        * src/RequestGroup.cc
13101
 
 
13102
 
2008-09-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13103
 
 
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
13111
 
        * test/Makefile.am
13112
 
 
13113
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13114
 
 
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
13119
 
        one.
13120
 
        * src/CopyDiskAdaptor.cc
13121
 
        * src/CopyDiskAdaptor.h
13122
 
        * src/DirectDiskAdaptor.cc
13123
 
        * src/DirectDiskAdaptor.h
13124
 
        * src/DiskAdaptor.h
13125
 
        * src/File.cc
13126
 
        * src/File.h
13127
 
        * src/HttpHeader.cc
13128
 
        * src/HttpHeader.h
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
13140
 
        * src/prefs.cc
13141
 
        * src/prefs.h
13142
 
        * test/CopyDiskAdaptorTest.cc
13143
 
        * test/FileTest.cc
13144
 
        * test/Makefile.am
13145
 
        * test/Makefile.in
13146
 
        * test/MultiDiskAdaptorTest.cc
13147
 
        * test/TestUtil.cc
13148
 
 
13149
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13150
 
 
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
13154
 
        in the end.
13155
 
        * src/MultiDiskAdaptor.cc
13156
 
        * src/MultiDiskAdaptor.h
13157
 
        * src/MultiFileAllocationIterator.cc
13158
 
        * test/MultiDiskAdaptorTest.cc
13159
 
        * test/MultiFileAllocationIteratorTest.cc
13160
 
 
13161
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13162
 
 
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
13171
 
 
13172
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13173
 
 
13174
 
        Added a constuctor that receives struct timeval.
13175
 
        Added operator<.
13176
 
        * src/TimeA2.cc
13177
 
        * src/TimeA2.h
13178
 
        * test/TimeTest.cc
13179
 
 
13180
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13181
 
 
13182
 
        Parse `expires' of Set-Cookie using Time::parseHTTPDate()
13183
 
        * src/CookieParser.cc
13184
 
        * test/CookieParserTest.cc
13185
 
        * test/HttpResponseTest.cc
13186
 
 
13187
 
2008-09-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13188
 
 
13189
 
        Implmented the functions to parse date.
13190
 
        * src/TimeA2.cc
13191
 
        * src/TimeA2.h
13192
 
        * test/TimeTest.cc
13193
 
 
13194
 
2008-09-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13195
 
 
13196
 
        Added "Firefox3 Cookie" feature to FeatureConfig
13197
 
        * src/FeatureConfig.cc
13198
 
        * src/FeatureConfig.h
13199
 
        * test/FeatureConfigTest.cc
13200
 
 
13201
 
2008-09-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13202
 
 
13203
 
        Bump up version number to 0.16.0b
13204
 
        * configure.ac
13205
 
 
13206
 
2008-09-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13207
 
 
13208
 
        Use pkg-config if is is available.
13209
 
        * m4/openssl.m4
13210
 
 
13211
 
2008-09-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13212
 
 
13213
 
        DEFAULT_ANNOUNCE_INTERVAL: unsigned int -> time_t
13214
 
        * src/BtAnnounce.h
13215
 
 
13216
 
2008-09-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13217
 
 
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
13220
 
        is waste of time.
13221
 
        * src/AbstractCommand.cc
13222
 
        * src/RequestGroup.cc
13223
 
        * src/RequestGroup.h
13224
 
 
13225
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13226
 
 
13227
 
        Removed wrong comment.
13228
 
        * src/DefaultPeerStorage.cc
13229
 
 
13230
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13231
 
 
13232
 
        Moved implementation to SimpleRandomizer.cc from SimpleRandomizer.h.
13233
 
        Added return value of getpid() to argument of srand() to achieve more
13234
 
        randomized value.
13235
 
        * src/SimpleRandomizer.cc
13236
 
        * src/SimpleRandomizer.h
13237
 
 
13238
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13239
 
 
13240
 
        Contact tracker frequently when the number of connections are 0 and
13241
 
        download is not finished yet.
13242
 
        * src/ActivePeerConnectionCommand.cc
13243
 
        * src/BtAnnounce.h
13244
 
        * src/DefaultBtAnnounce.cc
13245
 
        * src/DefaultBtAnnounce.h
13246
 
        * test/MockBtAnnounce.h
13247
 
        
13248
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13249
 
 
13250
 
        Moved threshold values to UTPexExtensionMessage.
13251
 
        * src/DefaultBtInteractive.cc
13252
 
        * src/Peer.cc
13253
 
        * src/Peer.h
13254
 
        * src/UTPexExtensionMessage.cc
13255
 
        * src/UTPexExtensionMessage.h
13256
 
        * test/UTPexExtensionMessageTest.cc
13257
 
 
13258
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13259
 
 
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
13265
 
        * src/Peer.cc
13266
 
        * src/Peer.h
13267
 
        * src/PeerListenCommand.cc
13268
 
        
13269
 
2008-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13270
 
 
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
13279
 
        
13280
 
2008-09-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13281
 
 
13282
 
        Made Cookie immutable.
13283
 
        * src/Cookie.cc
13284
 
        * src/Cookie.h
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
13292
 
        
13293
 
2008-09-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13294
 
 
13295
 
        Removed CookieBox, CookieBoxFactory.
13296
 
        * src/CookieBox.cc
13297
 
        * src/CookieBox.h
13298
 
        * src/CookieBoxFactory.cc
13299
 
        * src/CookieBoxFactory.h
13300
 
        * src/Makefile.am
13301
 
 
13302
 
2008-09-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13303
 
 
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
13318
 
        * src/Makefile.am
13319
 
        * src/MultiUrlRequestInfo.cc
13320
 
        * src/Request.cc
13321
 
        * src/Request.h
13322
 
        * src/main.cc
13323
 
        * test/AllTest.cc
13324
 
        * test/CookieStorageTest.cc
13325
 
        * test/CookieTest.cc
13326
 
        * test/HttpRequestTest.cc
13327
 
        * test/HttpResponseTest.cc
13328
 
        * test/Makefile.am
13329
 
        * test/NsCookieParserTest.cc
13330
 
        * test/Sqlite3MozCookieParserTest.cc
13331
 
        * test/nscookietest.txt
13332
 
 
13333
 
2008-08-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13334
 
 
13335
 
        Updated
13336
 
        * test/Cookies.sqlite
13337
 
        * test/nscookietest.txt
13338
 
 
13339
 
2008-08-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13340
 
 
13341
 
        Added tests for CookieStorage::load()
13342
 
        * test/CookieStorageTest.cc
13343
 
 
13344
 
2008-08-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13345
 
 
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
13350
 
        * src/Cookie.cc
13351
 
        * src/Cookie.h
13352
 
        * test/CookieStorageTest.cc
13353
 
        * test/CookieTest.cc
13354
 
 
13355
 
2008-08-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13356
 
 
13357
 
        Fixed the bug that commands are created more than the number of pieces.
13358
 
        * src/RequestGroup.cc
13359
 
        
13360
 
2008-08-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13361
 
 
13362
 
        Fixed infinite loop bug in FTP when SIZE command failed.
13363
 
        * src/FtpNegotiationCommand.cc
13364
 
 
13365
 
2008-08-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13366
 
 
13367
 
        Removed DirectDiskAdaptorTest.h
13368
 
        * test/Makefile.am
13369
 
        
13370
 
2008-08-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13371
 
 
13372
 
        Fixed chunk checksum validation cannot detect trailing garbage data.
13373
 
        BUG#2074141
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
13384
 
        * test/TestUtil.cc
13385
 
        * test/TestUtil.h
13386
 
 
13387
 
2008-08-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13388
 
 
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
13397
 
 
13398
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13399
 
 
13400
 
        Added load-v0001.aria2 and load-nonBt-v0001.aria2 to EXTRA_DIST.
13401
 
        * test/Makefile.am
13402
 
 
13403
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13404
 
 
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
13412
 
 
13413
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13414
 
 
13415
 
        Added ntoh64 and hton64 as inline functions.
13416
 
        * src/Util.cc
13417
 
        * test/UtilTest.cc
13418
 
 
13419
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13420
 
 
13421
 
        Added sqlite3 depenency and Firefox3 cookie support.
13422
 
        * README
13423
 
        
13424
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13425
 
 
13426
 
        State that firefox3 cookie is supported explicitly in the usage.
13427
 
        * src/usage_text.h
13428
 
        
13429
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13430
 
 
13431
 
        Externalized message.
13432
 
        * src/RequestGroupMan.cc
13433
 
        * src/message.h
13434
 
 
13435
 
2008-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13436
 
 
13437
 
        Save temporary file first and rename to the destination on success.
13438
 
        Added test cases.
13439
 
        * src/RequestGroupMan.cc
13440
 
        * test/RequestGroupManTest.cc
13441
 
 
13442
 
2008-08-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13443
 
 
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
13448
 
        
13449
 
2008-08-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13450
 
 
13451
 
        Clear table item.
13452
 
        * src/Dictionary.cc
13453
 
        
13454
 
2008-08-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13455
 
 
13456
 
        Fixed error handling of lseek.
13457
 
        * src/AbstractDiskWriter.cc
13458
 
 
13459
 
2008-08-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13460
 
 
13461
 
        Removed "(1.x/2.x)" from TEXT_LOAD_COOKIES since aria2 can load Firefox3
13462
 
        style cookie file.
13463
 
        * src/usage_text.h
13464
 
 
13465
 
2008-08-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13466
 
 
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.
13470
 
        * src/Util.cc
13471
 
        * src/Util.h
13472
 
        * src/CookieParser.cc
13473
 
        * test/UtilTest.cc
13474
 
        * test/CookieParserTest.cc
13475
 
        
13476
 
2008-08-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13477
 
 
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
13485
 
        
13486
 
2008-08-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13487
 
 
13488
 
        Made parse() const
13489
 
        * src/Sqlite3MozCookieParser.cc
13490
 
        * src/Sqlite3MozCookieParser.h
13491
 
        
13492
 
2008-08-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13493
 
 
13494
 
        Added firefox3 cookie support based on the patch submitted by
13495
 
        tizianomueller.
13496
 
        firefox3 cookie is SQLite3 database. libsqlite3 is required to enable
13497
 
        this functionality.
13498
 
        * configure.ac
13499
 
        * m4/sqlite3.m4
13500
 
        * src/CookieBoxFactory.cc
13501
 
        * src/CookieBoxFactory.h
13502
 
        * src/Makefile.am
13503
 
        * src/Makefile.in
13504
 
        * src/Sqlite3MozCookieParser.cc
13505
 
        * src/Sqlite3MozCookieParser.h
13506
 
        * src/main.cc
13507
 
        * test/CookieBoxFactoryTest.cc
13508
 
        * test/Makefile.am
13509
 
        * test/Makefile.in
13510
 
        * test/Sqlite3MozCookieParserTest.cc
13511
 
        * test/badcookies.sqlite
13512
 
        * test/cookies.sqlite
13513
 
        
13514
 
2008-08-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13515
 
 
13516
 
        Added Danish and Greek translations.
13517
 
        Updated Spanish, Catalan, Norwegian Nynorsk translations.
13518
 
        Great thanks to all translators.
13519
 
        * po/LINGUAS
13520
 
        * po/el.po
13521
 
        * po/da.po
13522
 
        * po/es.po
13523
 
        * po/ca.po
13524
 
        * po/nn.po
13525
 
 
13526
 
2008-08-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13527
 
 
13528
 
        Fixed man page: --follow-bittorrent should be --follow-torrent
13529
 
        * doc/aria2c.1.txt
13530
 
        
13531
 
2008-08-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13532
 
 
13533
 
        Fixed: numCommand is less than the value specified in -C option.
13534
 
        * src/RequestGroup.cc
13535
 
 
13536
 
2008-08-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13537
 
 
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
13545
 
 
13546
 
2008-08-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13547
 
 
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
13551
 
        is saved.
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
13563
 
        * src/prefs.cc
13564
 
        * src/prefs.h
13565
 
        * test/ServerStatManTest.cc
13566
 
 
13567
 
2008-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13568
 
 
13569
 
        Implemented ServerStatMan::removeStaleServerStat() and its test case.
13570
 
        * src/ServerStatMan.cc
13571
 
        * src/ServerStatMan.h
13572
 
        * test/ServerStatManTest.cc
13573
 
 
13574
 
2008-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13575
 
 
13576
 
        Implemented ServerStatMan::load(...) function and its test case.
13577
 
        * src/ServerStat.cc
13578
 
        * src/ServerStat.h
13579
 
        * src/ServerStatMan.cc
13580
 
        * test/ServerStatManTest.cc
13581
 
        * test/ServerStatTest.cc
13582
 
 
13583
 
2008-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13584
 
 
13585
 
        Use time_t instead of int32_t. Use int64_t where milli second is
13586
 
        expected.
13587
 
        * src/TimeA2.cc
13588
 
        * src/TimeA2.h
13589
 
        
13590
 
2008-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13591
 
 
13592
 
        Implemented ServerStatMan::save(...) function and its test case.
13593
 
        * src/ServerStat.cc
13594
 
        * src/ServerStat.h
13595
 
        * src/ServerStatMan.cc
13596
 
        * src/ServerStatMan.h
13597
 
        * test/ServerStatManTest.cc
13598
 
 
13599
 
2008-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13600
 
 
13601
 
        Now aria2 uses name attribute in Metalink as local filename in
13602
 
        BitTorrent downloads. BUG#2033999
13603
 
        * src/BtContext.h
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
13612
 
 
13613
 
2008-08-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13614
 
 
13615
 
        Added AC_C_BIGENDIAN
13616
 
        * src/configure.ac
13617
 
 
13618
 
2008-08-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13619
 
 
13620
 
        Limited numCommand less than or equal to the number of piece.
13621
 
        * src/RequestGroup.cc
13622
 
 
13623
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13624
 
 
13625
 
        Eliminated randomness from the test case. Removed #ifdef __MINGW32
13626
 
        directive.
13627
 
        * test/DefaultPieceStorageTest.cc
13628
 
 
13629
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13630
 
 
13631
 
        Fixed memory leak in test code
13632
 
        * test/AnnounceListTest.cc
13633
 
        * test/DefaultPeerListProcessorTest.cc
13634
 
        * test/DefaultPeerStorageTest.cc
13635
 
        * test/MetaFileUtilTest.cc
13636
 
        
13637
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13638
 
 
13639
 
        Fixed wrong argument passing to BitfieldMan::isBitSet()
13640
 
        * src/DefaultPieceStorage.cc
13641
 
        
13642
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13643
 
 
13644
 
        Initialized _directIOAllowed
13645
 
        * src/MultiDiskAdaptor.cc
13646
 
 
13647
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13648
 
 
13649
 
        Fixed memory leak
13650
 
        * src/GZipDecoder.cc
13651
 
 
13652
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13653
 
 
13654
 
        Fixed memory leak
13655
 
        * src/MetalinkParserStateMachine.cc
13656
 
 
13657
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13658
 
 
13659
 
        Fixed memory leak
13660
 
        * src/Dictionary.cc
13661
 
 
13662
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13663
 
 
13664
 
        Fixed memory leak
13665
 
        * src/IteratableChunkChecksumValidator.h
13666
 
 
13667
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13668
 
 
13669
 
        Fixed unmatched malloc/free.
13670
 
        * src/IteratableChunkChecksumValidator.cc
13671
 
        * src/IteratableChecksumValidator.cc
13672
 
 
13673
 
2008-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13674
 
 
13675
 
        Removed max chunk size check. This change fixes BUG#2040169
13676
 
        * src/ChunkedDecoder.cc
13677
 
        * src/ChunkedDecoder.h
13678
 
        * test/ChunkedDecoderTest.cc
13679
 
 
13680
 
2008-08-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13681
 
 
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
13688
 
        downloads.
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
13699
 
        * src/PeerStat.h
13700
 
        * src/RequestGroup.cc
13701
 
        * src/RequestGroup.h
13702
 
        * src/RequestGroupMan.cc
13703
 
        * src/RequestGroupMan.h
13704
 
        * src/SegmentMan.cc
13705
 
        * src/SegmentMan.h
13706
 
        * src/ServerStat.cc
13707
 
        * src/ServerStat.h
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
13714
 
        * src/prefs.cc
13715
 
        * src/prefs.h
13716
 
        * test/InOrderURISelectorTest.cc
13717
 
        * test/RequestGroupManTest.cc
13718
 
        * test/ServerStatManTest.cc
13719
 
        * test/ServerStatURISelectorTest.cc
13720
 
 
13721
 
2008-08-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13722
 
 
13723
 
        * Release 0.15.1+2
13724
 
 
13725
 
2008-08-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13726
 
 
13727
 
        Bump up version number to 0.15.1+2
13728
 
        * configure.ac
13729
 
        
13730
 
2008-08-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13731
 
 
13732
 
        Fixed the bug that configure --enable-FEATURE actually disables FEATURE.
13733
 
        * m4/aria2_arg.m4
13734
 
 
13735
 
2008-08-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13736
 
 
13737
 
        * Release 0.15.1+1
13738
 
        
13739
 
2008-08-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13740
 
 
13741
 
        Bump up version number to 0.15.1+1
13742
 
        * configure.ac
13743
 
 
13744
 
2008-08-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13745
 
 
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
13750
 
 
13751
 
2008-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13752
 
 
13753
 
        * Release 0.15.1
13754
 
 
13755
 
2008-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13756
 
 
13757
 
        Updated Bulgarian and French translations, thanks to all translators.
13758
 
        * po/bg.po
13759
 
        * po/fr.po
13760
 
 
13761
 
2008-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13762
 
 
13763
 
        Bump up version number to 0.15.1
13764
 
        * configure.ac
13765
 
 
13766
 
2008-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13767
 
 
13768
 
        Avoid repeated call of gettimeofday() when calculating speed.
13769
 
        * src/SpeedCalc.cc
13770
 
        * src/SpeedCalc.h
13771
 
 
13772
 
2008-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13773
 
 
13774
 
        Removed writable check when socket's send buffer is full in BitTorrent
13775
 
        downloads to lower CPU usage.
13776
 
        * src/PeerInteractionCommand.cc
13777
 
 
13778
 
2008-07-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13779
 
 
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
13791
 
 
13792
 
2008-07-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13793
 
 
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
13806
 
        * test/UtilTest.cc
13807
 
 
13808
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13809
 
 
13810
 
        * Release 0.15.0
13811
 
 
13812
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13813
 
 
13814
 
        Reordered src files in POTFILES.in so that usage text appears first.
13815
 
        * po/POTFILES.in
13816
 
        
13817
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13818
 
 
13819
 
        Bump up version number to 0.15.0
13820
 
        * configure.ac
13821
 
 
13822
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13823
 
 
13824
 
        Added Bulgarian translation.
13825
 
        Updated Catalan, Spanish, French and Japanese translations.
13826
 
        Thanks to all translators.
13827
 
        * po/LINGUAS
13828
 
        * po/bg.po
13829
 
        * po/ca.po
13830
 
        * po/es.po
13831
 
        * po/fr.po
13832
 
        * po/ja.po
13833
 
        
13834
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13835
 
 
13836
 
        Updated feature list. Added libz for dependency section.
13837
 
        Added a description about unit testing using CppUnit.
13838
 
        * README
13839
 
 
13840
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13841
 
 
13842
 
        Added a test for libz. Quoted where it is necessary.
13843
 
        * build_test.sh
13844
 
        
13845
 
2008-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13846
 
 
13847
 
        Added GZip to `Enabled Features' list.
13848
 
        * src/FeatureConfig.cc
13849
 
        * src/FeatureConfig.h
13850
 
        * test/FeatureConfigTest.cc
13851
 
 
13852
 
2008-07-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13853
 
 
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
13858
 
        * src/SegmentMan.h
13859
 
        * test/SegmentManTest.cc
13860
 
 
13861
 
2008-07-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13862
 
 
13863
 
        Cache last calculated average download/upload speed.
13864
 
        PeerStat::getAvgDownloadSpeed(), PeerStat::getAvgUploadSpeed() return
13865
 
        cached value.
13866
 
        Now SpeedCalc::changeSw() is called from SpeedCalc::calculateSpeed()
13867
 
        * src/PeerStat.h
13868
 
        * src/SpeedCalc.cc
13869
 
        * src/SpeedCalc.h
13870
 
 
13871
 
2008-07-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13872
 
 
13873
 
        Call parseUrl directly.
13874
 
        * src/Request.cc (resetUrl)
13875
 
        
13876
 
2008-07-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13877
 
 
13878
 
        Supported absolute/relative path in Location header field.
13879
 
        * src/AbstractCommand.cc: Call resetUrl() when DlRetryEx is caught.
13880
 
        * src/HttpHeader.cc
13881
 
        * src/HttpHeader.h
13882
 
        * src/HttpResponse.cc
13883
 
        * src/HttpSkipResponseCommand.cc
13884
 
        * src/Request.cc
13885
 
        * test/HttpHeaderTest.cc
13886
 
        * test/HttpResponseTest.cc
13887
 
        * test/RequestTest.cc
13888
 
 
13889
 
2008-07-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13890
 
 
13891
 
        Changed help text for --load-cookie option.
13892
 
        * doc/aria2c.1.txt
13893
 
        * src/usage_text.h
13894
 
 
13895
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13896
 
 
13897
 
        Regenerated test/Makefile.in to remove stale ChangeLog.
13898
 
        * test/Makefile.in
13899
 
 
13900
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13901
 
 
13902
 
        Updated po files.
13903
 
        * po/aria2c.pot
13904
 
        * po/*.po
13905
 
        * po/*.gmo
13906
 
 
13907
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13908
 
 
13909
 
        Bump up version number to 0.15.0b
13910
 
        * configure.ac
13911
 
 
13912
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13913
 
 
13914
 
        Externalize messages.
13915
 
        * src/RequestGroupMan.cc
13916
 
        * src/message.h: Added MSG_SIGNATURE_SAVED, MSG_SIGNATURE_NOT_SAVED.
13917
 
 
13918
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13919
 
 
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
13924
 
        
13925
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13926
 
 
13927
 
        Supplied missing EAI_SYSTEM. Thanks ggknauf for the patch.
13928
 
        * src/gai_strerror.h
13929
 
        
13930
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13931
 
 
13932
 
        Fixed compile error. Thanks gknauf for the patch.
13933
 
        * src/asctime_r.c
13934
 
 
13935
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13936
 
 
13937
 
        Included asctime_r.h from a2time.h.
13938
 
        * src/a2time.h
13939
 
 
13940
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13941
 
 
13942
 
        Added a message "aria2 doesn't verify signature" to log message when
13943
 
        signature file is saved.
13944
 
        * src/RequestGroupMan.cc
13945
 
        
13946
 
2008-07-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13947
 
 
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
13951
 
        will not be saved.
13952
 
        * src/RequestGroupMan.cc
13953
 
        * src/Signature.cc
13954
 
        * test/SignatureTest.cc
13955
 
 
13956
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13957
 
 
13958
 
        Updated the descriptions for --bt-seed-unverified.
13959
 
        * doc/aria2c.1
13960
 
        * doc/aria2c.1.html
13961
 
        * doc/aria2c.1.txt      
13962
 
 
13963
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13964
 
 
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
13971
 
        * src/prefs.cc
13972
 
        * src/prefs.h
13973
 
        * src/usage_text.h
13974
 
 
13975
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
13976
 
 
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
13982
 
        * src/Makefile.am
13983
 
        * src/Makefile.in
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
13991
 
        * src/Signature.cc
13992
 
        * src/Signature.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
14000
 
        * test/test.xml
14001
 
        
14002
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14003
 
 
14004
 
        Close DiskAdaptor after renaming file.
14005
 
        * src/RequestGroup.cc
14006
 
 
14007
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14008
 
 
14009
 
        Corrected indentation
14010
 
        * src/DefaultBtProgressInfoFile.cc
14011
 
        
14012
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14013
 
 
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
14019
 
        
14020
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14021
 
 
14022
 
        Added the test for the previous change in DefaultBtContext.cc
14023
 
        * test/DefaultBtContextTest.cc
14024
 
        
14025
 
2008-07-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14026
 
 
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
14030
 
 
14031
 
2008-07-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14032
 
 
14033
 
        Updated the descriptions for -j, -s. Added --bt-seed.
14034
 
        * doc/aria2c.1
14035
 
        * doc/aria2c.1.html
14036
 
        * doc/aria2c.1.txt      
14037
 
        
14038
 
2008-07-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14039
 
 
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
14046
 
        * src/prefs.cc
14047
 
        * src/prefs.h
14048
 
        * src/usage_text.h
14049
 
 
14050
 
2008-07-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14051
 
 
14052
 
        Updated DESCRIPTION of man page.
14053
 
        * doc/aria2c.1
14054
 
        * doc/aria2c.1.html
14055
 
        * doc/aria2c.1.txt
14056
 
 
14057
 
2008-07-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14058
 
 
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 
14062
 
 
14063
 
2008-07-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14064
 
 
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
14068
 
        `struct stat'.
14069
 
        * src/AbstractDiskWriter.cc
14070
 
        * src/File.cc
14071
 
        * src/File.h
14072
 
        * src/a2io.h
14073
 
        
14074
 
2008-07-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14075
 
 
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
14079
 
        * src/a2io.h
14080
 
 
14081
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14082
 
 
14083
 
        Code cleanup.
14084
 
        * src/PeerAbstractCommand.cc
14085
 
        * src/PeerAbstractCommand.h
14086
 
        
14087
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14088
 
 
14089
 
        Removed TransferEncoding.
14090
 
        * src/DownloadCommand.cc
14091
 
        * src/DownloadCommand.h
14092
 
        * src/HttpResponseCommand.cc
14093
 
        
14094
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14095
 
 
14096
 
        Updated po files.
14097
 
        * po/aria2c.pot
14098
 
        * po/*.po
14099
 
        * po/*.gmo
14100
 
 
14101
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14102
 
 
14103
 
        Rewritten ChunkedEncoding class as ChunkedDecoder class.
14104
 
        * src/A2STR.cc
14105
 
        * src/A2STR.h
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
14118
 
        * src/Makefile.am
14119
 
        * src/TransferEncoding.h: Removed
14120
 
        * test/ChunkedDecoderTest.cc
14121
 
        * test/ChunkedEncodingTest.cc: Removed
14122
 
        * test/HttpResponseTest.cc
14123
 
        * test/Makefile.am
14124
 
 
14125
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14126
 
 
14127
 
        Use append instead of insert.
14128
 
        * src/GZipDecoder.cc
14129
 
 
14130
 
2008-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14131
 
 
14132
 
        Updated doc
14133
 
        * src/Decoder.h
14134
 
 
14135
 
2008-06-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14136
 
 
14137
 
        Updated usage text for -s option.
14138
 
        * src/usage_text.h
14139
 
        
14140
 
2008-06-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14141
 
 
14142
 
        Fixed the bug that UTF-8 encoded URL is not URL-encoded properly.
14143
 
        * src/Request.cc
14144
 
        
14145
 
2008-06-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14146
 
 
14147
 
        Cleaned up configure.ac.
14148
 
        * configure.ac
14149
 
        
14150
 
2008-06-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14151
 
 
14152
 
        Use ARIA2_ARG_WITH and ARIA2_ARG_ENABLE instead of AC_ARG_WITH and
14153
 
        AC_ARG_ENABLE.
14154
 
        * configure.ac
14155
 
        
14156
 
2008-06-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14157
 
 
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.
14163
 
        * README
14164
 
        * README.html
14165
 
        * configure.ac
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.
14168
 
        * m4/libz.m4
14169
 
        * src/Decoder.h
14170
 
        * src/DownloadCommand.cc
14171
 
        * src/DownloadCommand.h
14172
 
        * src/Exception.h
14173
 
        * src/GZipDecoder.cc
14174
 
        * src/GZipDecoder.h
14175
 
        * src/HttpHeader.cc
14176
 
        * src/HttpHeader.h
14177
 
        * src/HttpRequest.cc
14178
 
        * src/HttpRequest.h
14179
 
        * src/HttpResponse.cc
14180
 
        * src/HttpResponse.h
14181
 
        * src/HttpResponseCommand.cc
14182
 
        * src/Makefile.am
14183
 
        * test/GZipDecoderTest.cc
14184
 
        * test/HttpRequestTest.cc
14185
 
        * test/HttpResponseTest.cc
14186
 
        * test/Makefile.am
14187
 
        * test/Makefile.in
14188
 
        * test/gzip_decode_test.gz
14189
 
 
14190
 
2008-06-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14191
 
 
14192
 
        Clarified usage of -j option.
14193
 
        * src/usage_text.h
14194
 
 
14195
 
2008-06-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14196
 
 
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
14203
 
 
14204
 
2008-06-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14205
 
 
14206
 
        Use digits to find first byte of file size, which makes the intention
14207
 
        of the code clearer.
14208
 
        * src/FtpConnection.cc
14209
 
 
14210
 
        Don't call validateTotalLength() when size is 0.
14211
 
        * src/FtpNegotiationCommand.cc
14212
 
        
14213
 
2008-06-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14214
 
 
14215
 
        Updated po files.
14216
 
        * po/aria2c.pot
14217
 
        * po/*.gmo
14218
 
        * po/*.po
14219
 
 
14220
 
2008-06-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14221
 
 
14222
 
        Clarified usage text for --split option.
14223
 
        * src/usage_text.h
14224
 
 
14225
 
2008-06-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14226
 
 
14227
 
        Bump up version number to 0.15.0dev. "dev" means "development"
14228
 
        version, which means I started the development of the next release! 
14229
 
        * src/configure.ac
14230
 
 
14231
 
2008-06-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14232
 
 
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
14238
 
 
14239
 
2008-06-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14240
 
 
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
14249
 
 
14250
 
2008-06-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14251
 
 
14252
 
        * Release 0.14.0+1
14253
 
 
14254
 
2008-06-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14255
 
 
14256
 
        Bump up version number to 0.14.0+1
14257
 
        * src/configure.ac
14258
 
 
14259
 
2008-06-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14260
 
 
14261
 
        Fixed the code that refers static member variable from non-static
14262
 
        context.
14263
 
        * src/DefaultPeerStorage.cc
14264
 
 
14265
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14266
 
 
14267
 
        * Release 0.14.0
14268
 
 
14269
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14270
 
 
14271
 
        Added build test script
14272
 
        * build_test.sh
14273
 
        
14274
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14275
 
 
14276
 
        Updated ja.po
14277
 
        * src/ja.po
14278
 
 
14279
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14280
 
 
14281
 
        Bump up version number to 0.14.0
14282
 
        * src/configure.ac
14283
 
 
14284
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14285
 
 
14286
 
        Updated ja.po and fr.po. Great thanks for french translators and
14287
 
        Sebastien WILLEMIJNS.
14288
 
        * po/fr.po
14289
 
        * po/ja.po      
14290
 
 
14291
 
2008-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14292
 
 
14293
 
        Added configure option to enable/disable epoll support.
14294
 
        * configure.ac
14295
 
 
14296
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14297
 
 
14298
 
        Updated man page.
14299
 
        * doc/aria2c.1.txt
14300
 
        * doc/aria2c.1
14301
 
        * doc/aria2c.1.html
14302
 
 
14303
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14304
 
 
14305
 
        Added missing default value '5' to the usage of --split option.
14306
 
        * src/HelpItemFactory.cc
14307
 
 
14308
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14309
 
 
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
14317
 
        * src/Piece.cc
14318
 
        * src/Piece.h
14319
 
        * test/BitfieldManTest.cc
14320
 
        * test/DefaultBtRequestFactoryTest.cc
14321
 
        * test/MockBtRequestFactory.h
14322
 
        
14323
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14324
 
 
14325
 
        Made _epEvents a member variable.
14326
 
        * src/DownloadEngine.cc
14327
 
        * src/DownloadEngine.h
14328
 
 
14329
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14330
 
 
14331
 
        Cancel download if http redirect is bounded more than 20 times.
14332
 
        * src/AbstractCommand.cc
14333
 
        * src/HttpSkipResponseCommand.cc
14334
 
        * src/Request.cc
14335
 
        * src/Request.h
14336
 
        * test/RequestTest.cc
14337
 
 
14338
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14339
 
 
14340
 
        Fixed unhandled exception(removed keyword `new').
14341
 
        * src/SocketCore.cc (initEPOLL)
14342
 
 
14343
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14344
 
        
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
14351
 
 
14352
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14353
 
 
14354
 
        Updated po files.
14355
 
        * po/aria2c.pot
14356
 
        * po/*.po
14357
 
        * po/*.gmo
14358
 
 
14359
 
2008-06-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14360
 
 
14361
 
        Moved the call setWriteCheckSocket inside the previous clause to reduce
14362
 
        the number of socket to watch out.
14363
 
        * src/PeerInteractionCommand.cc
14364
 
 
14365
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14366
 
 
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
14377
 
        
14378
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14379
 
 
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
14385
 
        SocketCore.h.
14386
 
        * src/AsyncNameResolver.cc
14387
 
        * src/AsyncNameResolver.h
14388
 
        * src/DownloadEngine.cc
14389
 
        * src/DownloadEngine.h
14390
 
        * src/SocketCore.cc
14391
 
        * src/SocketCore.h
14392
 
        * src/a2netcompat.h
14393
 
 
14394
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14395
 
 
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.
14401
 
        
14402
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14403
 
 
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
14407
 
        MinGW.
14408
 
        * src/common.h: Changed off_t to 64 bit in MinGW.
14409
 
 
14410
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14411
 
 
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
14415
 
        directives.
14416
 
        
14417
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14418
 
 
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.
14423
 
 
14424
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14425
 
 
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.
14435
 
        
14436
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14437
 
 
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.
14441
 
        
14442
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14443
 
 
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
14450
 
        anyway.
14451
 
        * src/asctime_r.h
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
14458
 
        
14459
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14460
 
 
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
14465
 
 
14466
 
2008-06-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14467
 
 
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
14477
 
 
14478
 
2008-06-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14479
 
 
14480
 
        Commented out -lprofiler
14481
 
        * src/Makefile.am
14482
 
 
14483
 
2008-06-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14484
 
 
14485
 
        Bump up version number to 0.14.0b.
14486
 
        * src/configure.ac
14487
 
        
14488
 
2008-06-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14489
 
 
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
14494
 
        
14495
 
2008-06-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14496
 
 
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
14500
 
        it.
14501
 
        * src/DefaultPeerStorage.cc
14502
 
        * test/DefaultPeerStorageTest.cc
14503
 
        
14504
 
2008-06-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14505
 
 
14506
 
        Returns cached data only when the previous receiveHandshake() is called
14507
 
        with peek = true.
14508
 
        * src/PeerConnection.cc (receiveHandshake)
14509
 
        * src/PeerConnection.h (receiveHandshake)
14510
 
 
14511
 
2008-06-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14512
 
 
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
14518
 
        * src/usage_text.h
14519
 
 
14520
 
2008-06-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14521
 
 
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.
14529
 
        * src/main.cc
14530
 
 
14531
 
2008-06-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14532
 
 
14533
 
        Included missing iosfwd or ostream header.
14534
 
        * src/RequestGroupMan.cc
14535
 
        * src/TaggedItem.cc
14536
 
        * src/TaggedItem.h
14537
 
        * src/Util.cc
14538
 
 
14539
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14540
 
 
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.
14544
 
        
14545
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14546
 
 
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
14554
 
        * src/prefs.cc
14555
 
        * src/prefs.h
14556
 
        * src/usage_text.h
14557
 
        
14558
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14559
 
 
14560
 
        Fixed the bug that aria2 aborts when a path to a directory is given
14561
 
        in command-line.
14562
 
        * src/ProtocolDetector.cc
14563
 
        
14564
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14565
 
 
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
14571
 
 
14572
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14573
 
 
14574
 
        Fixed the bug that HTTP downloads don't start with old libraries.
14575
 
        * src/HttpHeaderProcessor.cc
14576
 
        
14577
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14578
 
 
14579
 
        Use empty() instead of size() > 0.
14580
 
        * src/HttpConnection.cc
14581
 
        
14582
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14583
 
 
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
14589
 
 
14590
 
2008-06-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14591
 
 
14592
 
        Returns cached data without checking whether socket is readable
14593
 
        if the cache is available.
14594
 
        * src/PeerConnection.cc (receiveHandshake)
14595
 
 
14596
 
2008-06-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14597
 
 
14598
 
        Included stdint.h
14599
 
        * src/common.h
14600
 
 
14601
 
2008-06-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14602
 
 
14603
 
        Removed duplicate HAVE_GETTIMEOFDAY
14604
 
        * src/Makefile.am
14605
 
        * src/Makefile.in
14606
 
        
14607
 
2008-06-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14608
 
 
14609
 
        Use interval as a minInterval when minInterval is not supplied.
14610
 
        * src/DefaultBtAnnounce.cc
14611
 
 
14612
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14613
 
 
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
14618
 
 
14619
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14620
 
 
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
14625
 
        * src/BtRuntime.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
14636
 
 
14637
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14638
 
 
14639
 
        Always Connect to _numNewConnection 
14640
 
        * src/ActivePeerConnectionCommand.cc 
14641
 
 
14642
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14643
 
 
14644
 
        Made `begin' unsigned int.
14645
 
        * src/GrowSegment.h
14646
 
        * src/Piece.cc
14647
 
        * src/Piece.h
14648
 
        * src/PiecedSegment.cc
14649
 
        * src/PiecedSegment.h
14650
 
        * src/Segment.h
14651
 
        
14652
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14653
 
 
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
14666
 
        * src/Piece.cc
14667
 
        * src/Piece.h
14668
 
        * src/PiecedSegment.cc
14669
 
        * src/PiecedSegment.h
14670
 
        * src/Segment.h
14671
 
        * test/PieceTest.cc
14672
 
        
14673
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14674
 
 
14675
 
        Try to keep the ordering of outgoing piece message.
14676
 
        * src/DefaultBtMessageDispatcher.cc
14677
 
        (DefaultBtMessageDispatcher::sendMessages)
14678
 
 
14679
 
2008-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14680
 
 
14681
 
        Fixed busy loop when error/hup epoll events occur.
14682
 
        * src/AbstractCommand.cc
14683
 
        * src/PeerAbstractCommand.cc
14684
 
 
14685
 
2008-06-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14686
 
 
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
14696
 
        * src/prefs.cc
14697
 
        * src/prefs.h
14698
 
        * src/usage_text.h
14699
 
 
14700
 
2008-06-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14701
 
 
14702
 
        Removed repeated call of getTopDirPath(). Instead, call it once and
14703
 
        cache the result.
14704
 
        * src/MultiDiskAdaptor.cc
14705
 
        * src/MultiDiskAdaptor.h
14706
 
        (mkdir, openFile, initAndOpenFile, openExistingFile)
14707
 
 
14708
 
2008-06-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14709
 
 
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
14713
 
        it is undefined.
14714
 
        * src/Util.cc (ULLONG_MAX)
14715
 
 
14716
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14717
 
 
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
14721
 
        defined in a2io.h.
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.
14725
 
        * configure.ac
14726
 
        * src/AbstractCommand.cc
14727
 
        * src/AsyncNameResolver.cc
14728
 
        * src/AsyncNameResolver.h
14729
 
        * src/Command.cc
14730
 
        * src/Command.h
14731
 
        * src/DownloadEngine.cc
14732
 
        * src/DownloadEngine.h
14733
 
        * src/PeerAbstractCommand.cc
14734
 
        * src/SocketCore.cc
14735
 
        * src/SocketCore.h
14736
 
        * src/a2io.h
14737
 
 
14738
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14739
 
 
14740
 
        * test/MetalinkEntryTest.cc: Added missing `defined' keyword to #if
14741
 
        directive.
14742
 
        
14743
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14744
 
 
14745
 
        Do not do write operation to /dev/null file.
14746
 
        * src/LogFactory.cc
14747
 
        * src/SimpleLogger.cc
14748
 
 
14749
 
        Replaced vasprintf with vsnprintf
14750
 
        * src/SimpleLogger.cc (SimpleLogger::writeLog)
14751
 
 
14752
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14753
 
 
14754
 
        * src/BtRequestMessage.cc
14755
 
        (BtRequestMessage::onQueue): Given piece to RequestSlot. This is a fix
14756
 
        for segmentation fault caused by previous commit.
14757
 
 
14758
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14759
 
 
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)
14767
 
        
14768
 
        Made RequestSlot have a reference to Piece object to avoid find
14769
 
        Piece repeatedly.
14770
 
        * src/DefaultBtMessageDispatcher.cc
14771
 
        (class FindStaleRequestSlot, class ProcessStaleRequestSlot)
14772
 
        * src/RequestSlot.cc
14773
 
        * src/RequestSlot.h
14774
 
        (RequestSlot::getPiece)
14775
 
        * test/DefaultBtMessageDispatcherTest.cc
14776
 
 
14777
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14778
 
 
14779
 
        * src/TimeA2.cc
14780
 
        * src/TimeA2.h
14781
 
        (Time::difference): New function.
14782
 
        (Time::elapsed): Done optimization.
14783
 
 
14784
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14785
 
 
14786
 
        * src/HelpItemFactory.cc: Added missing `defined' keyword to #if
14787
 
        directive.
14788
 
 
14789
 
2008-05-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14790
 
 
14791
 
        * src/option_processing.cc: Added missing `defined' keyword to #if
14792
 
        directive.
14793
 
 
14794
 
2008-05-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14795
 
 
14796
 
        Bump up version number to 0.13.2+1
14797
 
        * src/configure.ac
14798
 
 
14799
 
2008-05-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14800
 
 
14801
 
        Refactored broken outstanding piece handling.
14802
 
        * src/DefaultPieceStorage.cc
14803
 
        * src/DefaultPieceStorage.h
14804
 
        * src/Piece.cc
14805
 
        * src/Piece.h
14806
 
 
14807
 
2008-05-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14808
 
 
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.
14811
 
        * src/BtContext.cc
14812
 
        * src/BtContext.h
14813
 
        * src/CookieBoxFactory.cc
14814
 
        * src/CookieBoxFactory.h
14815
 
        * src/CookieParser.cc
14816
 
        * src/CookieParser.h
14817
 
        * src/DefaultBtContext.cc
14818
 
        
14819
 
2008-05-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14820
 
 
14821
 
        * src/RequestGroup.cc
14822
 
        (RequestGroup::createInitialCommand): Use empty() instead of size().
14823
 
 
14824
 
2008-05-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14825
 
 
14826
 
        * Release 0.13.2
14827
 
 
14828
 
2008-05-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14829
 
 
14830
 
        Updated fr.po(thanks to Sebastien) and ja.po. ThanksDone make update-po
14831
 
        * po/fr.po
14832
 
        * po/ja.po
14833
 
        * po/aria2c.pot
14834
 
        * po/*.po
14835
 
        * po/*.gmo
14836
 
 
14837
 
2008-05-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14838
 
 
14839
 
        Bump up version number to 0.13.2
14840
 
        * src/configure.ac
14841
 
 
14842
 
2008-05-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14843
 
 
14844
 
        Refactord.
14845
 
        * src/RequestGroupMan.cc
14846
 
        (removeStoppedGroup)
14847
 
        (fillRequestGroupFromReserver)
14848
 
 
14849
 
2008-05-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14850
 
 
14851
 
        Fixed compile error on Ubuntu.
14852
 
        * src/BtPieceMessage.cc
14853
 
        * src/MessageDigestHelper.cc
14854
 
        * src/Util.cc
14855
 
 
14856
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14857
 
 
14858
 
        Fixed compile error when configured with --disable-bittorrent
14859
 
        * test/DownloadHandlerFactoryTest.cc
14860
 
        
14861
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14862
 
 
14863
 
        Done make update-po
14864
 
        * po/aria2c.pot
14865
 
        * po/*.po
14866
 
        * po/*.gmo
14867
 
 
14868
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14869
 
 
14870
 
        Bump up version number to 0.13.2rc.
14871
 
        * src/configure.ac
14872
 
        
14873
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14874
 
 
14875
 
        Made option name bold. Updated SYNOPSIS to make it more readable.
14876
 
        * doc/aria2c.1.txt
14877
 
        * doc/aria2c.1
14878
 
        * doc/aria2c.1.html
14879
 
        * src/version_usage.cc
14880
 
 
14881
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14882
 
 
14883
 
        Refactored. Use std::string instead of size and char*.
14884
 
        * Data.cc
14885
 
        * Data.h
14886
 
        * test/Data.cc
14887
 
 
14888
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14889
 
 
14890
 
        Added trimSelf(). Rewritten trim() to use trimSelf().
14891
 
        * Util.cc
14892
 
        * Util.h
14893
 
 
14894
 
2008-05-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14895
 
 
14896
 
        * src/ChunkChecksum.h (getChecksum): Return const reference.
14897
 
 
14898
 
2008-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14899
 
 
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
14904
 
 
14905
 
2008-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14906
 
 
14907
 
        Fixed compile error when configured with --without-gnutls
14908
 
        --without-openssl
14909
 
        * src/main.cc
14910
 
        * test/DefaultBtProgressInfoFileTest.cc
14911
 
        * test/SegmentManTest.cc
14912
 
 
14913
 
2008-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14914
 
 
14915
 
        Fixed compile error with OpenSSL.
14916
 
        * src/IteratableChunkChecksumValidator.cc
14917
 
        * src/LibsslDHKeyExchange.h
14918
 
        * src/MessageDigestHelper.cc
14919
 
 
14920
 
2008-05-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14921
 
 
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
14926
 
        * doc/aria2c.1.txt
14927
 
        * doc/aria2c.1.html
14928
 
        * doc/aria2c.1          
14929
 
        
14930
 
2008-05-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14931
 
 
14932
 
        Returns const reference:
14933
 
        DownloadContext::getPieceHash, DownloadContext::getName,
14934
 
        DownloadContext::getPieceHashAlgo, DownloadContext::getDir,
14935
 
        BtContext::getInfoHashAsString,
14936
 
        * src/BtContext.h
14937
 
        * src/DefaultBtContext.cc
14938
 
        * src/DefaultBtContext.h
14939
 
        * src/DownloadContext.h
14940
 
        * src/SingleFileDownloadContext.h
14941
 
        * test/MockBtContext.h
14942
 
 
14943
 
2008-05-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14944
 
 
14945
 
        * src/RequestGroup.h (getDir): Removed.
14946
 
        
14947
 
2008-05-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14948
 
 
14949
 
        Returns const reference. The internal urlencode function was optimized
14950
 
        a little bit.
14951
 
        * src/Request.cc
14952
 
        * src/Request.h
14953
 
        * src/HttpRequest.cc
14954
 
        * src/HttpRequest.h
14955
 
 
14956
 
2008-05-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14957
 
 
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
14962
 
        * src/Option.cc
14963
 
        * src/OptionHandlerFactory.cc
14964
 
        * src/option_processing.cc
14965
 
        * src/prefs.cc
14966
 
        * src/prefs.h
14967
 
 
14968
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14969
 
 
14970
 
        Return const reference.
14971
 
        * src/DownloadHandlerConstants.cc
14972
 
        * src/DownloadHandlerConstants.h
14973
 
        (getMetalinkExtensions)
14974
 
        (getMetalinkContentTypes)
14975
 
        (getBtExtensions)
14976
 
        (getBtContentTypes)
14977
 
        
14978
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14979
 
 
14980
 
        * src/HttpHeader.cc (get): Rewritten.
14981
 
 
14982
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14983
 
 
14984
 
        Make HttpHeader::getFirst(...) return const reference.
14985
 
        * src/HttpHeader.cc
14986
 
        * src/HttpHeader.h
14987
 
 
14988
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
14989
 
 
14990
 
        Use Option::getAsBool(...) instead of Option::get(...) and compare
14991
 
        it with V_TRUE.
14992
 
        * src/DefaultPieceStorage.cc
14993
 
        * src/DownloadCommand.cc
14994
 
        * src/FtpNegotiationCommand.cc
14995
 
        * src/HttpRequest.cc
14996
 
        * src/InitiateConnectionCommand.cc
14997
 
        * src/RequestGroup.cc
14998
 
        
14999
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15000
 
 
15001
 
        Made Option::get(...) return const reference of std::string.
15002
 
        * src/Option.cc
15003
 
        * src/Option.h
15004
 
 
15005
 
2008-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15006
 
 
15007
 
        Replaced std:copy with insert.
15008
 
        * src/DefaultBtMessageDispatcher.cc
15009
 
        * src/DefaultPieceStorage.cc
15010
 
        * src/DownloadEngineFactory.cc
15011
 
        * src/RequestGroup.cc
15012
 
 
15013
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15014
 
 
15015
 
        Included SocketCore.h to fix compiler warning.
15016
 
        * src/InitiateConnectionCommand.cc
15017
 
 
15018
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15019
 
 
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
15029
 
 
15030
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15031
 
 
15032
 
        Don't pool connection if HTTP proxy is enabled.
15033
 
        * src/FtpFinishDownloadCommand.cc
15034
 
        * src/FtpNegotiationCommand.cc
15035
 
        * src/HttpSkipResponseCommand.cc
15036
 
 
15037
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15038
 
 
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
15050
 
 
15051
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15052
 
 
15053
 
        Sort RequestSlot in ascending order and manipulate them using
15054
 
        lower_bound.
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.
15073
 
        
15074
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15075
 
 
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.
15082
 
 
15083
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15084
 
 
15085
 
        Added the debug log message.
15086
 
        * src/BtPieceMessage.cc (doReceivedAction)
15087
 
 
15088
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15089
 
 
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
15093
 
 
15094
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15095
 
 
15096
 
        Call subtractPieceStats from ~PeerInteractionCommand only when the
15097
 
        peer has at least one completed piece.
15098
 
        * src/Peer.cc
15099
 
        * src/Peer.h
15100
 
        * src/PeerInteractionCommand.cc
15101
 
        * src/PeerSessionResource.cc
15102
 
        * src/PeerSessionResource.h
15103
 
 
15104
 
2008-05-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15105
 
 
15106
 
        Removed unnecessary sorting
15107
 
        * src/DefaultPieceStorage (DefaultPieceStorage)
15108
 
        
15109
 
2008-05-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15110
 
 
15111
 
        Rewritten the portion of the code that mangaes allowed fast indexes.
15112
 
        * src/PeerSessionResource.cc
15113
 
        * src/PeerSessionResource.h
15114
 
        
15115
 
2008-05-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15116
 
 
15117
 
        Removed the invalid string including '\r' from ru.po and
15118
 
        did make update-po.
15119
 
 
15120
 
2008-05-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15121
 
 
15122
 
        Added --log-level and --summary-interval to man page.
15123
 
        * doc/aria2c.1.txt
15124
 
        * doc/aria2c.1.html
15125
 
        * doc/aria2c.1  
15126
 
 
15127
 
2008-05-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15128
 
 
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
15133
 
        * src/LogFactory.h
15134
 
        * src/Logger.h
15135
 
        * src/OptionHandlerFactory.cc
15136
 
        * src/SimpleLogger.cc
15137
 
        * src/SimpleLogger.h
15138
 
        * src/main.cc
15139
 
        * src/option_processing.cc
15140
 
        * src/prefs.h
15141
 
        * src/usage_text.h
15142
 
 
15143
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15144
 
 
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.
15152
 
        
15153
 
        The progress readout is now cut so that all fits in the one line of
15154
 
        console.
15155
 
        * src/ConsoleStatCalc.cc
15156
 
        * src/ConsoleStatCalc.h
15157
 
        * src/HelpItemFactory.cc
15158
 
        * src/OptionHandlerFactory.cc
15159
 
        * src/RequestGroupMan.cc
15160
 
        * src/RequestGroupMan.h
15161
 
        * src/main.cc
15162
 
        * src/option_processing.cc
15163
 
        * src/prefs.h
15164
 
        * src/usage_text.h
15165
 
 
15166
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15167
 
 
15168
 
        Call updateFdSet() to initialize rfdset, wfdset fdmax.
15169
 
        * src/DownloadEngine.cc (DownloadEngine)
15170
 
 
15171
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15172
 
 
15173
 
        Use free() to deallocate memory for _buffer if HAVE_POSIX_MEMALIGN is
15174
 
        defined.
15175
 
        * src/SingleFileAllocationIterator.cc (~SingleFileAllocationIterator)
15176
 
 
15177
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15178
 
 
15179
 
        Use erase+lower_bound+insert instead of sort.
15180
 
        * src/DefaultPieceStorage.cc (addPieceStats) 
15181
 
 
15182
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15183
 
 
15184
 
        Use A2STR::SHARP_C and A2STR::EQUAL_C.
15185
 
        * src/A2STR.cc
15186
 
        * src/A2STR.h
15187
 
        * src/OptionParser.cc (parse)
15188
 
 
15189
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15190
 
 
15191
 
        Defined fake filename `[tracker.announce]' as static const std::string.
15192
 
        * src/TrackerWatcherCommand.cc (createRequestGroup)
15193
 
 
15194
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15195
 
 
15196
 
        Defined default filename `index.html' as static const std::string
15197
 
        * src/SingleFileDownloadContext.cc
15198
 
        * src/SingleFileDownloadContext.h
15199
 
 
15200
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15201
 
 
15202
 
        Defined "[MEMORY]" as static const std::string.
15203
 
        * src/MemoryBufferPreDownloadHandler.cc (execute)
15204
 
 
15205
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15206
 
 
15207
 
        Defined control file's version number as static const std::string.
15208
 
        * src/DefaultBtProgressInfoFile.cc
15209
 
        * src/DefaultBtProgressInfoFile.h
15210
 
 
15211
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15212
 
 
15213
 
        Use Request::METHOD_GET
15214
 
        * src/RequestGroup.cc (createNextCommandWithAdj)
15215
 
 
15216
 
2008-05-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15217
 
 
15218
 
        Defined "OK", "ERR", "INPR" as static const std::string
15219
 
        * src/RequestGroupMan.cc (showDownloadResults)
15220
 
 
15221
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15222
 
 
15223
 
        Defined default client used in extended handshake as static const
15224
 
        std::string
15225
 
        * src/DefaultBtInteractive.cc (addHandshakeExtendedMessageToQueue)
15226
 
 
15227
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15228
 
 
15229
 
        Defined AUTH_HEADER, PROXY_AUTH_HEADER as static const std::string
15230
 
        * src/HttpConnection.cc (eraseConfidentialInfo)
15231
 
 
15232
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15233
 
 
15234
 
        Defined default ftp user and password as static const std::string
15235
 
        * src/AuthConfigFactory.cc
15236
 
        * src/AuthConfigFactory.h
15237
 
 
15238
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15239
 
 
15240
 
        Defined strings used in netrc as static const std::string
15241
 
        * src/Netrc.cc
15242
 
        * src/Netrc.h
15243
 
 
15244
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15245
 
 
15246
 
        Defined HTTP status as static const std::string
15247
 
        * src/AbstractProxyResponseCommand.cc
15248
 
        * src/HttpHeader.cc
15249
 
        * src/HttpHeader.h
15250
 
        * src/HttpResponse.cc
15251
 
        * src/HttpResponseCommand.cc
15252
 
        * src/HttpSkipResponseCommand.cc
15253
 
 
15254
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15255
 
 
15256
 
        Defined "\r\n", "A", "I" as static const std::string
15257
 
        * src/A2STR.cc
15258
 
        * src/A2STR.h
15259
 
        * src/FtpConnection.cc
15260
 
        * src/FtpConnection.h
15261
 
 
15262
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15263
 
 
15264
 
        Added COLON_C(".") and used it in Request::parseUrl()
15265
 
        * src/A2STR.cc
15266
 
        * src/A2STR.h
15267
 
        * src/Request.cc (parseUrl)
15268
 
 
15269
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15270
 
 
15271
 
        Changed the type of padName from `const std::string&' to `const char*'.
15272
 
        * src/MSEHandshake.cc (verifyPadLength)
15273
 
 
15274
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15275
 
 
15276
 
        Defined "sha1" as static const std::string.
15277
 
        * src/MetalinkParserController.cc
15278
 
        * src/MetalinkParserController.h
15279
 
 
15280
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15281
 
 
15282
 
        Defined message digest algorithm name as static const std::string
15283
 
        * src/DHTTokenTracker.cc
15284
 
        * src/DHTUtil.cc
15285
 
        * src/DefaultBtContext.cc
15286
 
        * src/MSEHandshake.cc
15287
 
        * src/MessageDigestHelper.cc
15288
 
        * src/Peer.cc
15289
 
        * src/messageDigest.cc
15290
 
        * src/messageDigest.h
15291
 
 
15292
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15293
 
 
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
15309
 
 
15310
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15311
 
 
15312
 
        Use A2STR::SLASH_C, A2STR::DOT_C instead of "/", "." respectively.
15313
 
        * src/A2STR.cc
15314
 
        * src/A2STR.h
15315
 
        * src/File.cc
15316
 
 
15317
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15318
 
 
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
15323
 
 
15324
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15325
 
 
15326
 
        Made string literals for torrent file processing static const
15327
 
        std::string.
15328
 
        * src/BtContext.cc
15329
 
        * src/BtContext.h
15330
 
        * src/DefaultBtContext.cc
15331
 
        * src/DefaultBtContext.h
15332
 
 
15333
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15334
 
 
15335
 
        Made string literal for tracker response static const std::string
15336
 
        * src/BtAnnounce.cc
15337
 
        * src/BtAnnounce.h
15338
 
        * src/DefaultBtAnnounce.cc
15339
 
 
15340
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15341
 
 
15342
 
        Use DHTMessage::T instead of "t".
15343
 
        * src/DHTMessageTracker.cc (messageArrived)
15344
 
 
15345
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15346
 
 
15347
 
        Made keyName static const. Made trimmed charset static const
15348
 
        std::string.
15349
 
        * src/Util.cc (getContentDispositionFilename)
15350
 
 
15351
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15352
 
 
15353
 
        Made USER_AGENT const. Made "/" static const std::string.
15354
 
        * src/A2STR.cc
15355
 
        * src/A2STR.h
15356
 
        * src/HttpRequest.cc
15357
 
        * src/HttpRequest.h
15358
 
 
15359
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15360
 
 
15361
 
        Made string listeral to static const std::string:
15362
 
        "Content-Range", "Content-Length"
15363
 
        * src/HttpHeader.cc
15364
 
        * src/HttpHeader.h
15365
 
 
15366
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15367
 
 
15368
 
        Made string listeral to static const std::string.
15369
 
        * src/HttpConnection.cc
15370
 
        * src/HttpHeader.cc
15371
 
        * src/HttpHeader.h
15372
 
        * src/HttpResponse.cc
15373
 
 
15374
 
2008-05-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15375
 
 
15376
 
        Made string listeral to static const std::string.
15377
 
        * src/A2STR.cc
15378
 
        * src/A2STR.h
15379
 
        * src/SimpleLogger.cc
15380
 
        * src/SimpleLogger.h
15381
 
 
15382
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15383
 
 
15384
 
        Made string literal to static const std::string.
15385
 
        Rewritten CookieParser::setField.
15386
 
        * src/A2STR.cc
15387
 
        * src/A2STR.h
15388
 
        * src/CookieBoxFactory.cc
15389
 
        * src/CookieBoxFactory.h
15390
 
        * src/CookieParser.cc
15391
 
        * src/CookieParser.h
15392
 
 
15393
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15394
 
 
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
15410
 
        * src/DHTMessage.h
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
15423
 
 
15424
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15425
 
 
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)
15433
 
 
15434
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15435
 
 
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
15439
 
        constant.
15440
 
        Made "started", "stopped", "completed" static const variable in
15441
 
        AnnounceList class.
15442
 
        
15443
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15444
 
 
15445
 
        Updated translations. Great thanks to translators.
15446
 
        * po/ca.po
15447
 
        * po/de.po
15448
 
        * po/fr.po
15449
 
        * po/it.po
15450
 
        * po/ja.po
15451
 
        * po/ru.po
15452
 
        * po/zh_CN.po
15453
 
 
15454
 
2008-05-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15455
 
 
15456
 
        Updated man page; categorized options and fixed typo.
15457
 
        * doc/aria2c.1.txt
15458
 
        * doc/aria2c.1.html
15459
 
        * doc/aria2c.1
15460
 
 
15461
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15462
 
 
15463
 
        Removed const ref
15464
 
        * src/MetalinkEntry.cc (AddProtocolPreference)
15465
 
        * src/RequestGroup.cc (FindServerHostByHostname)
15466
 
 
15467
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15468
 
 
15469
 
        Rewritten Accept-Features handling.
15470
 
        * src/HttpRequestCommand.cc (createHttpRequest)
15471
 
        * src/a2functional.h
15472
 
 
15473
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15474
 
 
15475
 
        Changed method signature:
15476
 
        DHTAbstractNodeLookupTask::toEntries
15477
 
        * src/DHTAbstractNodeLookupTask.cc
15478
 
        * src/DHTAbstractNodeLookupTask.h
15479
 
 
15480
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15481
 
 
15482
 
        Changed method signature:
15483
 
        BtContext::computeFastSet, DefaultBtContext::extractUrlList
15484
 
        * src/BtContext.h
15485
 
        * src/DefaultBtContext.cc
15486
 
        * src/DefaultBtContext.h
15487
 
        * src/DefaultBtInteractive.cc
15488
 
        * test/DefaultBtContextTest.cc
15489
 
        * test/MockBtContext.h
15490
 
 
15491
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15492
 
 
15493
 
        Changed method signature:
15494
 
        MultiFileAllocationIterator::makeDiskWriterEntries
15495
 
        * src/MultiFileAllocationIterator.cc
15496
 
        * src/MultiFileAllocationIterator.h
15497
 
 
15498
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15499
 
 
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
15510
 
        * src/Metalinker.h
15511
 
        * src/main.cc
15512
 
        * test/MetalinkHelperTest.cc
15513
 
        * test/MetalinkerTest.cc
15514
 
        
15515
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15516
 
 
15517
 
        Changed method sinature:
15518
 
        RequestGroup::getURIs
15519
 
        * src/RequestGroup.cc
15520
 
        * src/RequestGroup.h
15521
 
        * test/Metalink2RequestGroupTest.cc
15522
 
 
15523
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15524
 
 
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
15537
 
 
15538
 
2008-05-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15539
 
 
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
15549
 
 
15550
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15551
 
 
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
15562
 
 
15563
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15564
 
 
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
15579
 
        * src/main.cc
15580
 
        * test/BtPostDownloadHandlerTest.cc
15581
 
        * test/Metalink2RequestGroupTest.cc
15582
 
        * test/MetalinkPostDownloadHandlerTest.cc
15583
 
        
15584
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15585
 
 
15586
 
        Rewritten AccRequestGroup
15587
 
        * src/main.cc
15588
 
 
15589
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15590
 
 
15591
 
        Rewritten.
15592
 
        * src/TaggedItem.cc (toTagString)
15593
 
 
15594
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15595
 
 
15596
 
        Rewritten Accept-Features handling.
15597
 
        * src/HttpRequestCommand.cc (createHttpRequest)
15598
 
 
15599
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15600
 
 
15601
 
        Rewritten accept types handling.
15602
 
        * HttpRequest.cc (createRequest)
15603
 
 
15604
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15605
 
 
15606
 
        Rewritten
15607
 
        * src/FeatureConfig.cc (featureSummary)
15608
 
 
15609
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15610
 
 
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
15619
 
 
15620
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15621
 
 
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
15633
 
 
15634
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15635
 
 
15636
 
        Changed method signature:
15637
 
        NameResolver::resolve
15638
 
        * src/DHTEntryPointNameResolveCommand.cc
15639
 
        * src/InitiateConnectionCommand.cc
15640
 
        * src/NameResolver.cc
15641
 
        * src/NameResolver.h
15642
 
 
15643
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15644
 
 
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
15653
 
        
15654
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15655
 
 
15656
 
        Changed method signature:
15657
 
        SegmentMan::getInFlightSegment
15658
 
        * src/AbstractCommand.cc
15659
 
        * src/SegmentMan.cc
15660
 
        * src/SegmentMan.h
15661
 
        * test/SegmentManTest.cc
15662
 
 
15663
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15664
 
 
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
15673
 
 
15674
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15675
 
 
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
15682
 
        * src/BtSetup.cc
15683
 
        * src/BtSetup.h
15684
 
        * src/CheckIntegrityCommand.cc
15685
 
        * src/CheckIntegrityEntry.h
15686
 
        * src/ChecksumCheckIntegrityEntry.cc
15687
 
        * src/ChecksumCheckIntegrityEntry.h
15688
 
        * src/DHTSetup.cc
15689
 
        * src/DHTSetup.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
15703
 
        
15704
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15705
 
 
15706
 
        Changed method signature:
15707
 
        BNode::findClosestKNodes, BNode:: enumerateBucket,
15708
 
        DHTBucket::getGoodNodes,
15709
 
        DHTRoutingTable::getClosestKNodes, DHTRoutingTable::getBuckets
15710
 
        * src/BNode.cc
15711
 
        * src/BNode.h
15712
 
        * src/DHTAbstractNodeLookupTask.cc
15713
 
        * src/DHTAutoSaveCommand.cc
15714
 
        * src/DHTBucket.cc
15715
 
        * src/DHTBucket.h
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
15724
 
 
15725
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15726
 
 
15727
 
        In piece selection functions, Pass std::deque<...> by reference rather
15728
 
        than returning it.
15729
 
        * src/BitfieldMan.cc
15730
 
        * src/BitfieldMan.h
15731
 
        * src/DefaultBtRequestFactory.cc
15732
 
        * src/DefaultPieceStorage.cc
15733
 
        * src/Piece.cc
15734
 
        * src/Piece.h
15735
 
        * test/BitfieldManTest.cc
15736
 
 
15737
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15738
 
 
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
15752
 
 
15753
 
2008-05-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15754
 
 
15755
 
        Rewritten readData and writeData.
15756
 
        * src/MultiDiskAdaptor.cc
15757
 
        * src/MultiDiskAdaptor.h
15758
 
 
15759
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15760
 
 
15761
 
        Move \n out of the message "Usage: ...".
15762
 
        * src/version_usage.cc
15763
 
 
15764
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15765
 
 
15766
 
        Bump up version number to 0.13.2b.
15767
 
        * configure.ac
15768
 
 
15769
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15770
 
 
15771
 
        Added const qualifier to argument Exception& e.
15772
 
        * src/Logger.h
15773
 
        * src/SimpleLogger.cc
15774
 
        * src/SimpleLogger.h
15775
 
        
15776
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15777
 
 
15778
 
        Pool connection when CWD, SIZE command fails.
15779
 
        * src/FtpNegotiationCommand.cc
15780
 
        * src/FtpNegotiationCommand.h
15781
 
 
15782
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15783
 
 
15784
 
        Renamed HttpNullDownloadCommand as HttpSkipResponseCommand
15785
 
        * src/HttpResponseCommand.cc
15786
 
        * src/HttpSkipResponseCommand.cc
15787
 
        * src/HttpSkipResponseCommand.h
15788
 
 
15789
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15790
 
 
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
15799
 
 
15800
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15801
 
 
15802
 
        Print usage when no URL is specifed or bad command-line option is
15803
 
        specified.
15804
 
        * src/HelpItemFactory.cc
15805
 
        * src/help_tags.h
15806
 
        * src/option_processing.cc
15807
 
 
15808
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15809
 
 
15810
 
        Removed duplicate log message.
15811
 
        * src/AbstractCommand.cc (asyncResolveHostname)
15812
 
 
15813
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15814
 
 
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.
15819
 
        * doc/aria2c.1.txt
15820
 
        * doc/aria2c.1.html
15821
 
        * doc/aria2c.1.txt
15822
 
 
15823
 
2008-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15824
 
 
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
15827
 
        command-line.
15828
 
        * src/version_usage.cc
15829
 
 
15830
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15831
 
 
15832
 
        Changed the default value of -j option to 1.
15833
 
        * src/HelpItemFactory.cc
15834
 
        * src/option_processing.cc
15835
 
        * src/usage_text.h
15836
 
 
15837
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15838
 
 
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.
15841
 
        * src/Command.cc
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
15851
 
        * src/Makefile.am
15852
 
        * src/Makefile.in
15853
 
        * src/OptionHandlerFactory.cc
15854
 
        * src/option_processing.cc
15855
 
        * src/prefs.h
15856
 
        * src/usage_text.h
15857
 
 
15858
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15859
 
 
15860
 
        Call Command::transitStatus() before calling Command::execute(),
15861
 
        so that the status change made in execute() is not cleared.
15862
 
        * src/DownloadEngine.cc
15863
 
 
15864
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15865
 
 
15866
 
        Removed forward declaration of SocketCore class.
15867
 
        * src/HttpDownloadCommand.h
15868
 
        
15869
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15870
 
 
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
15876
 
 
15877
 
2008-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15878
 
 
15879
 
        Fixed infinite loop in checksum checking.
15880
 
        * src/IteratableChecksumValidator.cc
15881
 
 
15882
 
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15883
 
 
15884
 
        Set _supportsPersistentConnection to true by default.
15885
 
        * src/Request.cc
15886
 
        * src/RequestGroup.cc
15887
 
        * test/HttpRequestTest.cc
15888
 
        * test/RequestTest.cc
15889
 
 
15890
 
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15891
 
 
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
15896
 
 
15897
 
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15898
 
 
15899
 
        Fixed misuse of multimap::find()
15900
 
        * src/HttpHeader.cc
15901
 
        * test/HttpHeaderTest.cc
15902
 
        
15903
 
2008-05-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15904
 
 
15905
 
        Rewritten name resolver. Now async DNS can be disabled by --async-dns
15906
 
        option.
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
15925
 
        * src/Makefile.am
15926
 
        * src/Makefile.in
15927
 
        * src/NameResolver.cc
15928
 
        * src/NameResolver.h
15929
 
        * src/OptionHandlerFactory.cc
15930
 
        * src/SocketCore.cc
15931
 
        * src/SocketCore.h
15932
 
        * src/Util.cc
15933
 
        * src/Util.h
15934
 
        * src/option_processing.cc
15935
 
        * src/prefs.h
15936
 
        * src/usage_text.h
15937
 
 
15938
 
2008-05-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15939
 
 
15940
 
        Updated man page: --quiet, --header were added.
15941
 
        --metalink-servers and --enable-http-keep-alive option were updated.
15942
 
        * doc/aria2c.1
15943
 
        * doc/aria2c.1.html
15944
 
        * doc/aria2c.1.txt
15945
 
 
15946
 
2008-05-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15947
 
 
15948
 
        Enable HTTP keep-alive by default.
15949
 
        * src/HelpItemFactory.cc
15950
 
        * src/option_processing.cc
15951
 
        * src/usage_text.h
15952
 
 
15953
 
2008-05-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15954
 
 
15955
 
        Disable http keep-alive if the remote server is not HTTP/1.1.
15956
 
        * src/HttpConnection.cc
15957
 
 
15958
 
2008-05-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15959
 
 
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
15966
 
 
15967
 
2008-05-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15968
 
 
15969
 
        const SharedHandle<Request> -> const SharedHandle<Request>&
15970
 
        * src/FtpDowndloadCommand.cc
15971
 
        * src/FtpDowndloadCommand.h
15972
 
        * src/HttpDownloadCommand.cc
15973
 
        * src/HttpDownloadCommand.h
15974
 
 
15975
 
2008-05-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15976
 
 
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
15990
 
        
15991
 
2008-05-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15992
 
 
15993
 
        Change the default value of --metalink-servers option from `5' to `1'.
15994
 
        * src/HelpItemFactory.cc
15995
 
        * src/option_processing.cc
15996
 
        * src/usage_text.h
15997
 
        
15998
 
2008-05-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
15999
 
 
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
16008
 
        
16009
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16010
 
 
16011
 
        Bump up version number to 0.13.2a
16012
 
        * configure.ac
16013
 
 
16014
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16015
 
 
16016
 
        Updated configure.ac using the result of autoscan.
16017
 
        * configure.ac
16018
 
 
16019
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16020
 
 
16021
 
        Fixed compilation error without gcrypt/openssl.
16022
 
        * src/DownloadCommand.cc
16023
 
        * src/DownloadCommand.h
16024
 
 
16025
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16026
 
 
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
16030
 
        enabled.
16031
 
        * src/FeatureConfig.cc
16032
 
        * src/FeatureConfig.h
16033
 
        * src/main.cc
16034
 
        * src/messageDigest.cc
16035
 
        * src/messageDigest.h
16036
 
        * src/version_usage.cc
16037
 
        * test/FeatureConfigTest.cc
16038
 
 
16039
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16040
 
 
16041
 
        Masked user ID in log.
16042
 
        * src/FtpConnection.cc (sendUser)
16043
 
 
16044
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16045
 
 
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
16052
 
        * src/Request.cc
16053
 
        * src/Request.h
16054
 
        * test/HttpRequestTest.cc
16055
 
        * test/RequestTest.cc
16056
 
 
16057
 
2008-04-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16058
 
 
16059
 
        Rewritten Exception class. Throw exception object, not its pointer and
16060
 
        catch by reference, so that remove problematic delete operator for
16061
 
        catched exception.
16062
 
        * src/Exception.cc
16063
 
        * src/Exception.h
16064
 
        * test/ExceptionTest.cc
16065
 
        * src/*: All files throwing/catching exception.
16066
 
        * test/*: All files throwing/catching exception.
16067
 
 
16068
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16069
 
 
16070
 
        Now auto protocol detection is enabled without -Z option.
16071
 
        But there is a important difference between with/without -Z optoin.
16072
 
 
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
16077
 
        (2) file1.torrent
16078
 
        (3) file2.metalink
16079
 
 
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
16083
 
        (2) file1.torrent
16084
 
        (3) file2.metalink
16085
 
        (4) http://mirror/file
16086
 
 
16087
 
        I think usually user don't mix multi-source URLs and torrent files, so
16088
 
        there is no big problem here.
16089
 
        * src/main.cc
16090
 
 
16091
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16092
 
 
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
16118
 
 
16119
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16120
 
 
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
16129
 
        * src/Request.cc
16130
 
        * src/SimpleLogger.cc
16131
 
        * src/StringFormat.cc
16132
 
        * src/StringFormat.h
16133
 
        * src/Util.cc
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.
16138
 
 
16139
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16140
 
 
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)
16144
 
 
16145
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16146
 
 
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
16155
 
        value.
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
16160
 
        default.
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
16164
 
        it.
16165
 
        * test/HttpRequestTest.cc
16166
 
 
16167
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16168
 
 
16169
 
        Added comment
16170
 
        * src/RequestGroup.cc (createNextCommand)
16171
 
 
16172
 
2008-04-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16173
 
 
16174
 
        Capitalized METHOD_GET and METHOD_HEAD
16175
 
        * src/Request.cc
16176
 
 
16177
 
2008-04-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16178
 
 
16179
 
        Added getDownloadResults() method
16180
 
        * src/RequestGroupMan.cc
16181
 
        * src/RequestGroupMan.h
16182
 
 
16183
 
2008-04-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16184
 
 
16185
 
        Fixed the bug that aria2 exits when commands is empty() but
16186
 
        _routineCommands are not.
16187
 
        * src/DownloadEngine.cc
16188
 
 
16189
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16190
 
 
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
16197
 
        
16198
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16199
 
 
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
16204
 
        * src/LogFactory.h
16205
 
        * src/MultiUrlRequestInfo.cc
16206
 
        * src/MultiUrlRequestInfo.h
16207
 
        * src/NullStatCalc.h: New class. This class prints nothing.
16208
 
        * src/OptionHandlerFactory.cc
16209
 
        * src/main.cc
16210
 
        * src/option_processing.cc
16211
 
        * src/prefs.h
16212
 
        * src/usage_text.h
16213
 
 
16214
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16215
 
 
16216
 
        Add HTTP tag to --header option. Removed ADVANCED tag instead.
16217
 
        * src/HelpItemFactory.cc (createHelpItems): 
16218
 
 
16219
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16220
 
 
16221
 
        Fixed compilation error in ExpatMetalinkProcessor.cc
16222
 
        * src/ExpatMetalinkProcessor.cc
16223
 
 
16224
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16225
 
 
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.
16230
 
 
16231
 
        * src/AbstractCommand.cc
16232
 
        * src/DownloadEngine.cc
16233
 
        * src/DownloadEngine.h
16234
 
        * src/HttpDownloadCommand.cc
16235
 
        * src/HttpInitiateConnectionCommand.cc
16236
 
        * src/HttpResponseCommand.cc
16237
 
 
16238
 
2008-04-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16239
 
 
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
16247
 
        * src/Request.cc
16248
 
        * src/Request.h
16249
 
        * src/RequestGroup.cc
16250
 
        * test/HttpRequestTest.cc
16251
 
        * test/HttpResponseTest.cc
16252
 
        * test/RequestTest.cc
16253
 
 
16254
 
2008-04-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16255
 
 
16256
 
        Added missing setUserHeaders call
16257
 
        * src/HttpRequestCommand.cc
16258
 
 
16259
 
2008-04-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16260
 
 
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)
16265
 
 
16266
 
2008-04-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16267
 
 
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
16273
 
        * src/HttpHeader.h
16274
 
        * src/HttpHeaderProcessor.cc
16275
 
        * src/HttpHeaderProcessor.h
16276
 
        * src/HttpResponse.cc
16277
 
        * src/HttpResponse.h
16278
 
        * test/HttpHeaderProcessorTest.cc
16279
 
        * test/HttpResponseTest.cc
16280
 
 
16281
 
2008-04-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16282
 
 
16283
 
        Added --header option. You can specify any number of additional HTTP headers
16284
 
        like:
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
16293
 
        * src/prefs.h
16294
 
        * src/usage_text.h
16295
 
        * test/HttpRequestTest.cc (testUserHeaders)
16296
 
 
16297
 
2008-04-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16298
 
 
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
16324
 
 
16325
 
2008-04-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16326
 
 
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
16334
 
 
16335
 
2008-04-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16336
 
 
16337
 
        Fixed type in man page.
16338
 
        * doc/aria2c.1.txt
16339
 
 
16340
 
2008-04-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16341
 
 
16342
 
        Merged Ross's 0.13.1+1 Cygwin compile fix patch.
16343
 
        * src/SimpleLogger.{cc, h}
16344
 
 
16345
 
2008-04-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16346
 
 
16347
 
        Implemented auto protocol detection.
16348
 
        Now you can do:
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.
16355
 
 
16356
 
        Same thing goes with -i option. Assume your uris.txt contans:
16357
 
        http://host/file
16358
 
        file1.torrent
16359
 
        file2.metalink
16360
 
        Then you can do: aria2c -i uris.txt
16361
 
        (Note: -Z option is not needed if -i option is given.)
16362
 
        
16363
 
        * src/main.cc
16364
 
        * src/ProtocolDetector.{cc, h}
16365
 
        * test/ProtocolDetectorTest.cc
16366
 
        
16367
 
2008-04-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16368
 
 
16369
 
        Fixed compile error without gnutls/libgcrypt/libgpg-error and openSSL
16370
 
        installed
16371
 
        * src/ARC4Encryptor.h
16372
 
        * src/ARC4Decryptor.h
16373
 
 
16374
 
2008-04-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16375
 
 
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
16382
 
 
16383
 
2008-04-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16384
 
 
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
16393
 
        * src/Peer.{cc, h}
16394
 
        * src/BtLeecherStateChoke.{cc, h}
16395
 
        * src/BtSetup.cc
16396
 
        * src/BtSeederStateChoke.{cc, h}
16397
 
        * src/PeerStorage.h
16398
 
        * test/MockPeerStorage.h
16399
 
        * test/MockBtMessageDispatcher.h
16400
 
 
16401
 
2008-04-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16402
 
 
16403
 
        Fixed compilation error on x84-64 platform.
16404
 
        * src/AuthConfig.cc: Included ostream.
16405
 
 
16406
 
2008-03-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16407
 
 
16408
 
        Rewritten getBasename() and getDirname(), without standard library
16409
 
        basename(), dirname().
16410
 
        * src/File.cc
16411
 
        * test/FileTest.cc
16412
 
 
16413
 
2008-03-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16414
 
 
16415
 
        Added Simplified Chinese translation. Also updated the following
16416
 
        translations: Polish, Dutch, German. Great thanks to all translators.
16417
 
        
16418
 
2008-03-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16419
 
 
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
16424
 
        
16425
 
2008-03-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16426
 
 
16427
 
        Fixed compilation error with g++-4.3
16428
 
 
16429
 
2008-03-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16430
 
 
16431
 
        Added missing include files for MinGW
16432
 
        * test/HttpHeaderProcessorTest.cc
16433
 
        * test/DHTRoutingTableSerializerTest.cc
16434
 
        * test/DHTRoutingTableDeserializerTest.cc
16435
 
        * test/UriListParserTest.cc
16436
 
 
16437
 
2008-03-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16438
 
 
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)
16444
 
 
16445
 
2008-03-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16446
 
 
16447
 
        Included a2time.h
16448
 
        * src/DHTMessageDispatcher.h
16449
 
        * src/DHTMessageEntry.h
16450
 
        * src/DHTReplaceNodeTask.h
16451
 
        * src/DHTMessageTracker.h
16452
 
        * src/Util.h
16453
 
        * src/CookieBox.h
16454
 
        * src/SocketCore.h
16455
 
        * src/DefaultBtMessageDispatcher.h
16456
 
        * src/SocketCore.cc
16457
 
        * src/Util.cc
16458
 
        * src/DHTPingTask.h
16459
 
 
16460
 
2008-03-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16461
 
 
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
16477
 
        
16478
 
2008-03-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16479
 
 
16480
 
        Allocate memory for peekBuf in initiateSecureConnection() to avoid
16481
 
        the unused 4KB memory when ssl is not used.
16482
 
        * src/SocketCore.cc
16483
 
        
16484
 
2008-03-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16485
 
 
16486
 
        Added summary log for peer announce storage.
16487
 
        * src/DHTPeerAnnounceStorage.cc (handleTimeout)
16488
 
        
16489
 
        Removed cast
16490
 
        * src/DefaultPeerStorage.cc (addPeer)
16491
 
 
16492
 
        Log exception message
16493
 
        * src/DHTMessageTracker.cc (handleTimeout)
16494
 
 
16495
 
        Fixed casting
16496
 
        * test/HttpRequestTest.cc
16497
 
        * test/MetalinkProcessorTest.cc
16498
 
        * test/PieceTest.cc
16499
 
        * test/MetalinkEntryTest.cc
16500
 
        * test/SequenceTest.cc
16501
 
        
16502
 
2008-03-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16503
 
 
16504
 
        * src/ParameterizedStringParser.cc (createLoop):
16505
 
        Removed unused variable sstep.
16506
 
 
16507
 
        * src/AlphaNumberDecorator.h (decode): Rewritten.
16508
 
 
16509
 
2008-03-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16510
 
 
16511
 
        * src/Util.{h, cc}
16512
 
        (parseUInt): New function.
16513
 
        (alphaToNum): Now returns unsigned int and 0 when overflow detected.
16514
 
        The actual range is uint32_t.
16515
 
        * test/UtilTest.cc
16516
 
        
16517
 
        * src/ParameterizedStringParser.cc:
16518
 
        Use Util::parseUInt() for loop variables.
16519
 
        * test/ParameterizedStringParserTest.cc
16520
 
        
16521
 
        * src/PStringNumLoop.h: Make _startValue and _endValue unsigned int.
16522
 
 
16523
 
2008-03-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16524
 
 
16525
 
        Rewritten the functions for binding port.
16526
 
        * src/DHTConnectionImpl.{h, cc}
16527
 
        * src/PeerListenCommand.{h, cc}
16528
 
        * src/DHTSetup.cc
16529
 
        * src/BtSetup.cc
16530
 
        * test/DHTConnectionImplTest.cc
16531
 
 
16532
 
2008-03-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16533
 
 
16534
 
        type cleanup for allmost all remaining files.
16535
 
 
16536
 
2008-03-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16537
 
 
16538
 
        Type clarification
16539
 
        * src/PeerSessionResource.{h, cc}
16540
 
        * src/DefaultPieceStorage.{h, cc}
16541
 
        * src/Peer.{h, cc}
16542
 
        * test/PeerSessionResourceTest.cc
16543
 
 
16544
 
        Use div function
16545
 
        * src/BtPieceMessage.cc (erasePieceOnDisk)
16546
 
 
16547
 
2008-03-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16548
 
 
16549
 
        Type clarification
16550
 
        * src/DefaultPeerStorage.{h, cc}
16551
 
        * test/DefaultPeerStorageTest.cc
16552
 
        
16553
 
2008-03-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16554
 
 
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}
16565
 
        * src/BtContext.h
16566
 
        * src/IteratableValidator.h
16567
 
        * src/DownloadContext.h
16568
 
        * test/SingleFileDownloadContextTest.cc
16569
 
        * test/DefaultBtContextTest.cc
16570
 
        * test/MockBtContext.h
16571
 
        * test/Metalink2RequestGroupTest.cc
16572
 
 
16573
 
2008-03-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16574
 
 
16575
 
        Type clarification: size_t for length or size, uint64_t for file
16576
 
        length, off_t for file offset.
16577
 
 
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
16592
 
        * src/Piece.cc
16593
 
        * src/DefaultBtRequestFactory.cc
16594
 
        * src/PieceStorage.h
16595
 
        * src/Segment.h
16596
 
        * src/Piece.h
16597
 
        * src/BitfieldMan.cc
16598
 
        * src/Util.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
16611
 
 
16612
 
2008-03-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16613
 
 
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.
16617
 
        * src/common.h
16618
 
 
16619
 
2008-03-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16620
 
 
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
16626
 
        
16627
 
2008-03-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16628
 
 
16629
 
        Use unsigned char for data store.
16630
 
 
16631
 
2008-03-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16632
 
 
16633
 
        Bump up version number to 0.13.0+1
16634
 
        * configure.ac
16635
 
        
16636
 
        * Release 0.13.0+1
16637
 
 
16638
 
2008-03-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16639
 
 
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)
16644
 
 
16645
 
2008-03-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16646
 
 
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.
16654
 
 
16655
 
2008-03-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16656
 
 
16657
 
        Merged Ross's mingw patch.
16658
 
        * src/DHTRoutingTableDeserializer.cc
16659
 
        * src/DHTRoutingTableSerializer.cc
16660
 
        * src/Platform.{h, cc}
16661
 
        * src/timegm.h
16662
 
        * src/gettimeofday.h
16663
 
        * src/getaddrinfo.h
16664
 
        * src/SocketCore.h
16665
 
        * src/common.h
16666
 
        * src/inet_aton.h
16667
 
        * src/DownloadEngine.h
16668
 
        * src/gai_strerror.h
16669
 
        * src/a2netcompat.h
16670
 
        * configure.ac
16671
 
        * configure
16672
 
        * aclocal.m4
16673
 
        
16674
 
2008-03-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16675
 
 
16676
 
        Included missing iostream.
16677
 
        * test/AllTest.cc
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
16695
 
 
16696
 
2008-03-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16697
 
 
16698
 
        Reorganized includes.
16699
 
        * src/NameResolver.cc
16700
 
 
16701
 
2008-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16702
 
 
16703
 
        Fixed compilation error without ares/c-ares
16704
 
        * src/NameResolver.h: 
16705
 
 
16706
 
2008-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16707
 
 
16708
 
        Added a test for large file.
16709
 
        * test/MetalinkProcessorTest.cc (testLargeFileSize): 
16710
 
 
16711
 
2008-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16712
 
 
16713
 
        Fixed the bug that file size is ignored if size > INT32_MAX
16714
 
        * src/SizeMetalinkParserState.cc (endElement): 
16715
 
 
16716
 
2008-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16717
 
 
16718
 
        Bump up version number to 0.13.0
16719
 
        * configure.ac
16720
 
        
16721
 
        * Release 0.13.0
16722
 
 
16723
 
2008-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16724
 
 
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.
16729
 
 
16730
 
        Large file support is now configured by configure script.
16731
 
        * configure.ac
16732
 
        
16733
 
        Removed unsused source files
16734
 
        * src/
16735
 
        * test/
16736
 
 
16737
 
        Removed PeerDecl.h and BtContextDecl.h. typedefs are removed to
16738
 
        Peer.h and BtContext.h respectively.
16739
 
        * src/Peer.h
16740
 
        * src/BtContext.h
16741
 
 
16742
 
        Updated translations.
16743
 
        Added Polish, Thai, Indonesian, Norwegian Nynorsk, Hungarian
16744
 
        translations. Great thanks to all translators!;)
16745
 
        * po/*.{po, gmo}
16746
 
        
16747
 
2008-02-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16748
 
 
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}
16754
 
        * src/main.cc
16755
 
        
16756
 
        Now DownloadCommand has a reference to MessageDigestContext to avoid
16757
 
        the initialization of MessageDigestContext every time in validating
16758
 
        chunk checksum.
16759
 
        * src/DownloadCommand.{h, cc}
16760
 
        
16761
 
2008-02-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16762
 
 
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
16768
 
 
16769
 
2008-02-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16770
 
 
16771
 
        Fixed the previous insufficient fix for possible busy loop.
16772
 
        * src/MSEHandshake.cc (identifyHandshakeType)
16773
 
 
16774
 
        Removed unused functions.
16775
 
        * src/MSEHandshake.{h, cc} (readDataAndDecrypt)
16776
 
 
16777
 
2008-02-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16778
 
 
16779
 
        Fixed possible busy loop if first 20 bytes are not received for a few
16780
 
        minutes.
16781
 
        * src/MSEHandshake.{h, cc} (identifyHandshakeType)
16782
 
        * src/ReceiverMSEHandshakeCommand.cc
16783
 
 
16784
 
2008-02-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16785
 
 
16786
 
        Fixed compilation error
16787
 
        * src/ExpatMetalinkProcessor.cc
16788
 
 
16789
 
2008-02-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16790
 
 
16791
 
        Fixed compile error on Mac OS X, on 64Bit OS maybe.
16792
 
        * src/DHTBucket.cc
16793
 
 
16794
 
        Removed unnecessary cast.
16795
 
        * src/HandshakeExtensionMessage.cc
16796
 
 
16797
 
2008-02-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16798
 
 
16799
 
        Fixed the bug that option handler for PREF_METALINK_ENABLE_UNIQUE_PROTOCOL.
16800
 
        is missing.
16801
 
        * src/OptionHandlerFactory.cc
16802
 
 
16803
 
2008-02-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16804
 
 
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
16807
 
        with peers.
16808
 
        * src/DefaultBtInteractive.cc
16809
 
 
16810
 
2008-02-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16811
 
 
16812
 
        Removed RequestInfo.h and FileAllocator.h since they have been removed.
16813
 
        * src/Makefile.am
16814
 
        * src/Makefile.in
16815
 
 
16816
 
2008-02-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16817
 
 
16818
 
        Updated README. Added html version of README and man page.
16819
 
        * README
16820
 
        * README.html
16821
 
        * readme2html: Shell script to generate README.html from README using
16822
 
        asciidoc.
16823
 
        * doc/aria2c.1.html
16824
 
        * doc/makeman: Added the line to generate aria2c.1.html
16825
 
 
16826
 
2008-02-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16827
 
 
16828
 
        Fixed offset calculation.
16829
 
        * src/LibgcryptDHKeyExchange.h (computeSecret)
16830
 
 
16831
 
2008-02-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16832
 
 
16833
 
        Rewritten itos and uitos using template. llitos and ullitos are
16834
 
        replaced with itos and uitos respectively.
16835
 
        * src/Util.{h, cc}
16836
 
        * test/UtilTest.cc
16837
 
 
16838
 
2008-02-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16839
 
 
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
16842
 
        secret.
16843
 
        * src/LibgcryptDHKeyExchange.h
16844
 
        * src/LibsslDHKeyExchange.h: Also added function name to handleError.
16845
 
        * src/MSEHandshake.cc
16846
 
        * test/DHKeyExchangeTest.cc
16847
 
 
16848
 
2008-02-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16849
 
 
16850
 
        Removed since they are not used.
16851
 
        * src/Xml2MetalinkProcessor.{h, cc}
16852
 
        * src/Socket.cc
16853
 
        * src/SegmentSplitter.{h, cc}
16854
 
        * test/Xml2MetalinkProcessorTest.cc
16855
 
        
16856
 
2008-02-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16857
 
 
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
16865
 
 
16866
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16867
 
 
16868
 
        Bump up version number to 0.13.0rc
16869
 
        * configure.ac
16870
 
 
16871
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16872
 
 
16873
 
        Updated man page and some usage text.
16874
 
        * doc/aria2c.1.txt
16875
 
        * src/usage_text.h
16876
 
        * po/*.{po, gmo}
16877
 
 
16878
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16879
 
 
16880
 
        Updated translations. Added Finnish and Hebrew translations.
16881
 
        Great thanks to all translators!
16882
 
        * po/*.{po, gmo}
16883
 
        * po/LINGUAS
16884
 
 
16885
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16886
 
 
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}
16895
 
 
16896
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16897
 
 
16898
 
        Use constants defined in prefs.h
16899
 
        * src/option_processing.cc
16900
 
 
16901
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16902
 
 
16903
 
        * test/AllTest.cc: Added OpenSSL, GNUTLS initialization code.
16904
 
 
16905
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16906
 
 
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
16913
 
 
16914
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16915
 
 
16916
 
        Added handling for the return values from
16917
 
        PeerMessageUtil::createcompact().
16918
 
        * src/DefaultBtContext.cc (computeFastSet): 
16919
 
 
16920
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16921
 
 
16922
 
        Fixed abort when peer's ip address is IPv4-mapped address.
16923
 
        * src/DefaultBtContext.cc (computeFastSet)
16924
 
 
16925
 
        Removed number-and-dots criteria, since Util::isNumberAndDotsNotation()
16926
 
        cannot handle IPv4-mapped addresses.
16927
 
        * src/DefaultBtInteractive.cc (addPeerExchangeMessage)
16928
 
        
16929
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16930
 
 
16931
 
        Proper return value handling for OpenSSL functions.
16932
 
        * src/LibsslDHKeyExchange.h
16933
 
 
16934
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16935
 
 
16936
 
        Random bytes generation using libgcrypt and OpenSSL.
16937
 
        * src/DHTUtil.{h, cc}
16938
 
        * test/DHTUtilTest.cc
16939
 
 
16940
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16941
 
 
16942
 
        Fixed segmentation fault when a DHT message which doesn't have 'y' key
16943
 
        received.
16944
 
        * src/DHTMessageReceiver.cc (receiveMessage) 
16945
 
 
16946
 
2008-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16947
 
 
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}
16953
 
        * src/main.cc
16954
 
 
16955
 
2008-02-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16956
 
 
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.
16966
 
        
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
16974
 
 
16975
 
        Handle IPv4-mapped addresses.
16976
 
        * src/DHTNode.cc: Now identity is determined by node id.
16977
 
        * src/DHTMessageTrackerEntry.cc
16978
 
 
16979
 
        Because now PeerMessageUtil::unpackcompact() could fail, the caller
16980
 
        should handle it.
16981
 
        * src/DHTRoutingTableDeserializer.cc
16982
 
        * src/DHTMessageFactoryImpl.cc
16983
 
 
16984
 
2008-02-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16985
 
 
16986
 
        Change the unit of --stop option from a minute to a second.
16987
 
        * src/usage_text.h
16988
 
        * src/DownloadEngineFactory.cc
16989
 
        * src/OptionHandlerFactory.cc
16990
 
        * src/message.h
16991
 
        * src/TimedHaltCommand.cc
16992
 
        
16993
 
2008-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
16994
 
 
16995
 
        Make listening socket non-block mode.
16996
 
        * src/FtpConnection.cc
16997
 
        * src/FtpNegotiationCommand.{h, cc}
16998
 
        * src/PeerListenCommand.cc
16999
 
        
17000
 
        Fixed the bug that cause slow ftp negotiation.
17001
 
        * src/FtpNegotiationCommand.{h, cc}
17002
 
        
17003
 
2008-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17004
 
 
17005
 
        Added basic tag to --enable-dht, --dht-listen-port option.
17006
 
        * src/HelpItemFactory.cc (createHelpItems)
17007
 
 
17008
 
2008-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17009
 
 
17010
 
        Updated text.
17011
 
        * src/usage_text.h
17012
 
 
17013
 
2008-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17014
 
 
17015
 
        * src/MSEHandshake.cc (encryptAndSendData): Use std::min().
17016
 
 
17017
 
2008-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17018
 
 
17019
 
        Determin _threadtholdSpeed in each constructor for
17020
 
        ActivePeerConnectionCommand and PeerReceiveHandshakeCommand.
17021
 
        * src/ActivePeerConnectionCommand.{h, cc}
17022
 
        * src/PeerReceiveHandshakeCommand.{h, cc}
17023
 
        * src/BtSetup.cc
17024
 
        * src/BtConstants.h
17025
 
 
17026
 
2008-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17027
 
 
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
17034
 
        * src/prefs.h
17035
 
        * src/DefaultBtAnnounce.cc
17036
 
        * src/InitiatorMSEHandshakeCommand.cc
17037
 
        * src/usage_text.h
17038
 
        * test/MSEHandshakeTest.cc
17039
 
 
17040
 
2008-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17041
 
 
17042
 
        Bump version number to 0.13.0b
17043
 
        * configure.ac
17044
 
 
17045
 
2008-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17046
 
 
17047
 
        Updated doc.
17048
 
        * src/MessageDigestHelper.h: 
17049
 
 
17050
 
2008-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17051
 
 
17052
 
        Use raw message digest as a token instead of its hexadecimal
17053
 
        representation.
17054
 
        * src/DHTTokenTracker.cc (generateToken)
17055
 
 
17056
 
2008-02-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17057
 
 
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
17068
 
        * src/SocketCore.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
17088
 
        * test/ARC4Test.cc
17089
 
        * test/DHKeyExchangeTest.cc
17090
 
        
17091
 
        Removed prepareForRetry() because it is not used.
17092
 
        * src/PeerAbstractCommand.{h, cc}
17093
 
        * src/PeerInteractionCommand.{h, cc}
17094
 
        * src/PeerInitiateConnectionCommand.{h, cc}
17095
 
 
17096
 
2008-02-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17097
 
 
17098
 
        Added the ability to load nodes from torrent file. These nodes are
17099
 
        added to the routing table when downloading that torrent.
17100
 
        * src/BtContext.h
17101
 
        * src/DefaultBtContext.{h, cc}
17102
 
        * src/DHTSetup.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
17109
 
        
17110
 
        Removed assert() from DefaultBtContext and throw exception instead.
17111
 
        * src/DefaultBtContext.cc
17112
 
        
17113
 
2008-02-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17114
 
 
17115
 
        Fixed segmentation fault bug when exiting if dht is disabled.
17116
 
        * src/RequestGroup.cc
17117
 
 
17118
 
2008-02-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17119
 
 
17120
 
        Fixed typo in log message and define the message in message.h
17121
 
        * src/TimedHaltCommand.cc
17122
 
        * src/message.h
17123
 
 
17124
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17125
 
 
17126
 
        Included RecoverableException.h to fix compilation error.
17127
 
        * test/DHTMessageFactoryImplTest.cc
17128
 
 
17129
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17130
 
 
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.
17139
 
        
17140
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17141
 
 
17142
 
        Added DHTMessageDispatcherImpl. Now DHTMessageDispatcher is pure
17143
 
        virtual.
17144
 
        * src/DHTMessageDispatcher.h
17145
 
        * src/DHTMessageDispatcherImpl.{h, cc}
17146
 
        * src/DHTSetup.cc
17147
 
 
17148
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17149
 
 
17150
 
        Adding handling of DHT error message. Just log error message and
17151
 
        throw exception.
17152
 
        * src/DHTMessageFactoryImpl.cc
17153
 
        * test/DHTMessageFactoryImplTest.cc
17154
 
 
17155
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17156
 
 
17157
 
        Added handling of dynamic cast failure.
17158
 
        * src/DHTNodeLookupTask.cc
17159
 
        * src/DHTPeerLookupTask.cc
17160
 
 
17161
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17162
 
 
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
17170
 
        * src/prefs.h
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
17177
 
        * src/usage_text.h
17178
 
        * src/TimedHaltCommand.{h, cc}: New class.
17179
 
        
17180
 
2008-02-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17181
 
 
17182
 
        Bootstrap through node added by port message.
17183
 
        Currently bootstrap is executed if the number of buckets in routing
17184
 
        table is 1.
17185
 
        * src/BtPortMessage.{h, cc}
17186
 
        * src/DefaultBtMessageFactory.{h, cc}
17187
 
        * src/PeerInteractionCommand.cc
17188
 
        * test/BtPortMessageTest.cc
17189
 
        * test/MockDHTTask.h
17190
 
        
17191
 
2008-02-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17192
 
 
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
17214
 
        * src/Peer.{h, cc}
17215
 
        * src/BtRegistry.h
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
17228
 
        * test/PeerTest.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
17242
 
        
17243
 
        Removed typedef PeerStats.
17244
 
        * src/PeerStat.h
17245
 
        * src/SegmentMan.cc
17246
 
 
17247
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17248
 
 
17249
 
        Added std namespace to copy, remove_copy, back_inserter,
17250
 
        front_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>
17261
 
        * src/main.cc
17262
 
        * src/MetalinkParserController.cc
17263
 
        * src/DefaultBtContext.cc
17264
 
        * src/DownloadEngineFactory.cc
17265
 
        * src/a2algo.h
17266
 
 
17267
 
        Removed.
17268
 
        * test/StreamUriListParserTest.cc
17269
 
        
17270
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17271
 
 
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}
17276
 
        * src/BtSetup.cc
17277
 
 
17278
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17279
 
 
17280
 
        Only add socket to DownloadEngine's select routine when peer or
17281
 
        localhost is unchoked and interested. This lowers CPU usage a
17282
 
        little bit.
17283
 
        * src/PeerInteractionCommand.cc
17284
 
        * src/PeerAbstractCommand.{h, cc}
17285
 
        * src/BtInteractive.h
17286
 
        * src/DefaultBtInteractive.{h, cc}
17287
 
 
17288
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17289
 
 
17290
 
        Revert previous change because get_peers message is needed for
17291
 
        announce_peer anyway.   
17292
 
        * src/DHTGetPeersCommand.cc
17293
 
 
17294
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17295
 
 
17296
 
        Request peers thought DHT only when download hasn't finished.
17297
 
        * src/DHTGetPeersCommand.cc
17298
 
 
17299
 
2008-02-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17300
 
 
17301
 
        Force refresh bucket when startup if certain time has passed(currently 15 minutes).
17302
 
        * src/DHTBucketRefreshTask.{h, cc}
17303
 
        * src/DHTSetup.cc
17304
 
 
17305
 
2008-02-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17306
 
 
17307
 
        Removed "using namespace std;" from all sources. Appended std:: prefix to c++
17308
 
        standard classes.
17309
 
        Included string.h where mem* function are used.
17310
 
        Added namespace aria2.
17311
 
        
17312
 
2008-02-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17313
 
 
17314
 
        Create directory before saving DHT routing table.
17315
 
        Now ios::failure is now handled properly.
17316
 
        * src/DHTAutoSaveCommand.cc
17317
 
 
17318
 
2008-02-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17319
 
 
17320
 
        Removed unnecessary cerr.
17321
 
        * src/DownloadEngine.cc
17322
 
 
17323
 
2008-02-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17324
 
 
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
17335
 
        
17336
 
2008-02-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17337
 
 
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
17340
 
        which one.
17341
 
        * test/SocketCoreTest.cc (testWriteAndReadDatagram)
17342
 
 
17343
 
2008-02-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17344
 
 
17345
 
        * po/Makefile.in: Removed since this is generated by configure.
17346
 
 
17347
 
2008-02-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17348
 
 
17349
 
        Fixed compiler warning about redefinition of SIZE_MAX.
17350
 
        Use common.h instead of config.h directly here.
17351
 
        * src/Platform.{h, cc}
17352
 
 
17353
 
        The check of ENABLE_NLS is made in gettext.h, so it is not required
17354
 
        here.
17355
 
        * common.h
17356
 
        
17357
 
2008-02-02  gettextize  <bug-gnu-gettext@gnu.org>
17358
 
 
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.
17362
 
        
17363
 
2008-02-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17364
 
 
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.
17372
 
        * src/DHT*
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,
17378
 
        --dht-entry-point.
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.
17383
 
        * src/message.h
17384
 
        * src/OptionHandlerImpl.cc
17385
 
        * src/option_processing.cc: Added --enable-dht, --dht-listen-port,
17386
 
        --dht-entry-point.
17387
 
        * src/Dictionary.{h, cc} (remove): New function.
17388
 
        * src/prefs.h
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}
17398
 
 
17399
 
2008-01-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17400
 
 
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.
17403
 
        BUG #1875079
17404
 
        * src/option_processing.cc
17405
 
 
17406
 
        Warning message "configuration doesn't exist" is only printed when --conf is
17407
 
        given.
17408
 
        * src/option_processing.cc
17409
 
        
17410
 
2008-01-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17411
 
 
17412
 
        Use BencodeVisitor and MessageDigestHelper instead of ShaVisitor.
17413
 
        ShaVisitor is now deprecated and slated to be removed.
17414
 
        * src/DefaultBtContext.cc
17415
 
 
17416
 
2008-01-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17417
 
 
17418
 
        Externalize message to message.h
17419
 
        * src/Platform.cc
17420
 
        * src/message.h
17421
 
 
17422
 
2008-01-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17423
 
 
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
17429
 
 
17430
 
2008-01-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17431
 
 
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
17439
 
        * src/prefs.h
17440
 
        * src/usage_text.h
17441
 
 
17442
 
2008-01-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17443
 
 
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
17451
 
        * src/HelpItem.h
17452
 
 
17453
 
2008-01-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17454
 
 
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
17459
 
        used.
17460
 
        * src/PiecedSegment.cc
17461
 
        * src/Piece.{h, cc}
17462
 
 
17463
 
2008-01-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17464
 
 
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
17469
 
        * src/array_fun.h
17470
 
        * test/array_funTest.cc 
17471
 
 
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}
17476
 
        
17477
 
2008-01-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17478
 
 
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
17483
 
        are payload body.
17484
 
        * src/PeerConnection.{h, cc}
17485
 
        * src/message.h
17486
 
 
17487
 
2008-01-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17488
 
 
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
17492
 
        called" error.
17493
 
        * src/Peer.h
17494
 
        * test/PeerTest.cc
17495
 
        * src/DefaultPeerStorage.cc
17496
 
        * test/DefaultPeerStorageTest.cc
17497
 
 
17498
 
2008-01-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17499
 
 
17500
 
        Removed a call to isPowerOf() because it is no longer necessary here
17501
 
        and a request block is not always power of 2.
17502
 
        BUG#1866924
17503
 
        * src/PeerMessageUtil.cc (checkLength)
17504
 
 
17505
 
2008-01-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17506
 
 
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
17511
 
 
17512
 
        Fixed the bug that ServerHost is not removed.
17513
 
        * src/RequestGroup.cc
17514
 
        
17515
 
2008-01-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17516
 
 
17517
 
        Fixed the bug that SegmentMan::completeSegment() is not called
17518
 
        even if Segment is complete when --lowest-speed-limit is enabled.
17519
 
        BUG#1864525
17520
 
        * src/DownloadCommand.{h, cc}
17521
 
 
17522
 
2008-01-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17523
 
 
17524
 
        Fixed: hash algorithm 'sha1' is always used. 
17525
 
        * src/DownloadCommand.cc (validatePieceHash) 
17526
 
 
17527
 
2008-01-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17528
 
 
17529
 
        Added --enable-peer-exchange command-line option.
17530
 
        * src/OptionHandlerFactory.cc
17531
 
        * src/HelpItemFactory.cc
17532
 
        * src/option_processing.cc
17533
 
        * src/usage_text.h
17534
 
 
17535
 
2008-01-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17536
 
 
17537
 
        Move extension from BtRuntime to ExtensionMessageFactory, because
17538
 
        extension can be specified per peer, not per torrent.
17539
 
        * src/DefaultBtInteractive.cc
17540
 
        * src/BtRuntime.h
17541
 
        * src/ExtendedMessagingAware.h
17542
 
        * src/ExtensionMessageFactory.h
17543
 
        * src/DefaultExtensionMessageFactory.cc
17544
 
        * test/DefaultExtensionMessageFactoryTest.cc
17545
 
 
17546
 
2008-01-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17547
 
 
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
17556
 
        * src/prefs.h
17557
 
        * src/TaggedItem.{h, cc}
17558
 
        * test/TaggedItemTest.cc
17559
 
        * src/version_usage.cc
17560
 
        * src/help_tags.h
17561
 
        * src/usage_text.h
17562
 
 
17563
 
2008-01-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17564
 
 
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
17572
 
        * src/message.h
17573
 
        * src/DefaultBtAnnounce.{h, cc}
17574
 
        * test/DefaultBtAnnounceTest.cc
17575
 
        * src/BencodeVisitor.cc
17576
 
 
17577
 
2007-12-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17578
 
 
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)
17582
 
 
17583
 
2007-12-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17584
 
 
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}
17592
 
        * src/message.h
17593
 
 
17594
 
2007-12-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17595
 
 
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
17600
 
        * src/message.h
17601
 
 
17602
 
2007-12-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17603
 
 
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
17612
 
        * src/Peer.cc
17613
 
        * src/DefaultPeerListProcessor.cc
17614
 
        * src/PeerListenCommand.cc
17615
 
        * src/PeerReceiveHandshakeCommand.cc
17616
 
 
17617
 
        Fixed memory leak
17618
 
        * src/Piece.cc
17619
 
 
17620
 
2007-12-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17621
 
 
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
17627
 
 
17628
 
2007-12-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17629
 
 
17630
 
        Send have message to peer if it already has the piece.
17631
 
        * src/BtHaveMessage.{h, cc}
17632
 
 
17633
 
2007-12-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17634
 
 
17635
 
        Removed incomingPeer. Set 0 to peer's port if it is not a listening
17636
 
        port.
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
17646
 
 
17647
 
2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17648
 
 
17649
 
        Added --metalink-enable-unique-protocol option.
17650
 
        * src/Metalink2RequestGroup.cc
17651
 
        * src/option_processing.cc
17652
 
        * src/prefs.h
17653
 
        * src/version_usage.cc
17654
 
        * doc/aria2c.1.txt
17655
 
        * doc/aria2c.1
17656
 
 
17657
 
2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17658
 
 
17659
 
        Allow a peer in incomingPeer to be added peers.
17660
 
        * src/DefaultPeerStorage.cc
17661
 
        * test/DefaultPeerStorageTest.cc
17662
 
 
17663
 
2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17664
 
 
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).
17668
 
        2. Restart aria2.
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.
17675
 
 
17676
 
2007-12-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17677
 
 
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
17686
 
        reserved field.
17687
 
        * test/BtHandshakeMessageTest.cc
17688
 
        * src/BtMessageFactory.h
17689
 
        * src/BtRegistry.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
17704
 
        Peer::id).
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
17712
 
        * src/MetaEntry.h
17713
 
        * src/Peer.{h, cc}
17714
 
        * src/PeerInteractionCommand.cc
17715
 
        * src/PeerReceiveHandshakeCommand.cc: Evaluate the return value of
17716
 
        addIncomingPeer.
17717
 
        * src/PeerMessageUtil.{h, cc}
17718
 
        * src/PeerObject.h
17719
 
        * src/UTPexExtensionMessage.{h, cc}
17720
 
        * test/UTPexExtensionMessageTest.cc
17721
 
        * src/message.h
17722
 
        * src/prefs.h
17723
 
 
17724
 
        Fixed the bug that returns incomplete data when it contains null
17725
 
        character. A convenient constructor was also added.
17726
 
        * src/Data.{h, cc}
17727
 
 
17728
 
        Rewritten.
17729
 
        * src/CompactPeerListProcessor.cc
17730
 
 
17731
 
        Fixed typos.
17732
 
        * src/message.h
17733
 
        * src/MetaFileUtil.cc
17734
 
        
17735
 
2007-12-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17736
 
        
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
17740
 
 
17741
 
2007-12-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17742
 
 
17743
 
        Fixed the bug that -lexpat is always added to aria2c_LDADD.
17744
 
        * src/Makefie.am
17745
 
        * test/Makefile.am
17746
 
 
17747
 
2007-12-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17748
 
 
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
17753
 
 
17754
 
2007-12-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17755
 
 
17756
 
        Fixed possible memory leak when an exception is thrown.
17757
 
        * src/XML2SAXMetalinkProcessor.cc
17758
 
 
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().
17774
 
        * m4/libexpat.m4
17775
 
        * configure.ac: Added configuration options for libexpat.
17776
 
        
17777
 
2007-12-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17778
 
 
17779
 
        Disabled -s option in metalink download.
17780
 
        * src/Metalink2RequestGroup.cc
17781
 
 
17782
 
2007-12-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17783
 
 
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
17794
 
        * src/prefs.h
17795
 
        * src/HttpResponseCommand.cc
17796
 
        * src/MetalinkResource.{h, cc}
17797
 
        * src/FtpNegotiationCommand.cc
17798
 
        * src/MetalinkEntry.{h, cc}
17799
 
        * src/MetalinkEntryTest.cc
17800
 
 
17801
 
2007-12-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17802
 
 
17803
 
        Code cleanup and added debug log.
17804
 
        * src/PeerConnection.cc
17805
 
        
17806
 
2007-12-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17807
 
 
17808
 
        Compiler error fix: applied the patch by Tiziano Mueller
17809
 
        * src/RequestGroup.cc
17810
 
 
17811
 
2007-12-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17812
 
 
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
17819
 
 
17820
 
        Sorted URLs.
17821
 
        * test/Metalink2RequestGroupTest.cc
17822
 
 
17823
 
2007-12-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17824
 
 
17825
 
        Removed unnecessary string copy. Updated doc and corrected indentation.
17826
 
        * src/Base64.cc
17827
 
 
17828
 
        Fixed compilation warnings
17829
 
        * test/DataTest.cc
17830
 
        * test/HttpRequestTest.cc
17831
 
        * test/MetaFileUtilTest.cc
17832
 
        * test/RequestTest.cc
17833
 
        
17834
 
        * Release 0.12.0
17835
 
 
17836
 
2007-12-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17837
 
 
17838
 
        Updated translations
17839
 
        * po/{de,fr,ja,nl,ru}.po
17840
 
        
17841
 
        Added Brazilian Portuguese, Catalan, Italian, Spanish, Swedish
17842
 
        translations. Many thanks to translators.
17843
 
        * po/{ca,es,it,pt_BR,sv}.po
17844
 
        * po/LINGUAS
17845
 
 
17846
 
2007-12-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17847
 
 
17848
 
        Added a notice about URL
17849
 
        * src/version_usage.cc
17850
 
 
17851
 
2007-12-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah com>
17852
 
 
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
17858
 
 
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
17866
 
 
17867
 
2007-12-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17868
 
 
17869
 
        Code cleanup
17870
 
        * src/Base64.cc (encode)
17871
 
 
17872
 
2007-12-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17873
 
 
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.
17884
 
 
17885
 
2007-12-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17886
 
 
17887
 
        Fixed the bug: aria2 doesn't utilize fast set index offered by peer.
17888
 
        * src/Peer.{h, cc}
17889
 
        * src/DefaultPieceStorage.cc
17890
 
        * test/DefaultPieceStorageTest.cc
17891
 
 
17892
 
2007-12-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17893
 
 
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
17901
 
        * src/DiskWriter.h
17902
 
        * src/BinaryStream.h
17903
 
        * src/IteratableChunkChecksumValidator.cc
17904
 
        * src/IteratableChecksumValidator.cc
17905
 
        * src/CheckIntegrityEntry.cc
17906
 
        * src/FileAllocationEntry.cc
17907
 
 
17908
 
2007-12-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17909
 
 
17910
 
        Fixed typo
17911
 
        * src/version_usage.cc
17912
 
 
17913
 
        Updated doc
17914
 
        * doc/aria2c.1.txt
17915
 
        * doc/aria2c.1
17916
 
 
17917
 
2007-12-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17918
 
 
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
17924
 
 
17925
 
2007-12-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17926
 
 
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.
17934
 
 
17935
 
2007-12-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17936
 
 
17937
 
        Added --allow-piece-length-change option.
17938
 
        * src/DefaultBtProgressInfoFile.cc
17939
 
        * test/DefaultBtProgressInfoFileTest.cc
17940
 
        * src/OptionHandlerFactory.cc
17941
 
        * src/option_processing.cc
17942
 
        * src/prefs.h
17943
 
        * src/version_usage.cc
17944
 
        * doc/aria2c.1.txt
17945
 
        * doc/aria2c.1
17946
 
        
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.
17952
 
 
17953
 
        Externalized  message
17954
 
        * src/XML2SAXMetalinkProcessor.cc
17955
 
        * src/message.h
17956
 
        
17957
 
2007-12-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17958
 
 
17959
 
        Forced download abort when received negative response from http/ftp
17960
 
        server.
17961
 
        * src/HttpResponseCommand.cc
17962
 
        * src/FtpNegotiationCommand.cc
17963
 
        * src/HttpResponse.cc
17964
 
        * src/FtpConnection.cc
17965
 
 
17966
 
2007-12-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17967
 
 
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.
17977
 
        * src/main.cc
17978
 
        * src/Metalink2RequestGroup.cc
17979
 
        * src/MetalinkHelper.cc
17980
 
        * src/MetalinkEntry.cc
17981
 
        * src/ChunkChecksum.h
17982
 
        
17983
 
        Rewritten Base64 class for better performance.
17984
 
        * src/Base64.{h, cc}
17985
 
        * test/Base64Test.cc
17986
 
        * src/HttpRequest.cc
17987
 
 
17988
 
2007-12-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
17989
 
 
17990
 
        Fixed the bug#1841757: aria2 will connect to server to only get
17991
 
        file size.
17992
 
        * src/StreamFileAllocationEntry.cc
17993
 
        * src/option_processing.cc
17994
 
        * src/HttpResponseCommand.cc: Now reuse connection in segmented
17995
 
        downloads.
17996
 
        * src/FtpNegotiationCommand.cc
17997
 
        
17998
 
        Suppressed wrong message when finding PreDownloadHandler
17999
 
        * src/RequestGroup.cc
18000
 
        
18001
 
2007-11-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18002
 
 
18003
 
        Updated usage
18004
 
        * src/version_usage.cc
18005
 
 
18006
 
        Updated man page
18007
 
        * doc/aria2c.1.txt
18008
 
        * doc/aria2c.1
18009
 
 
18010
 
        Updated po files
18011
 
        * po/aria2c.pot
18012
 
        * po/*.po
18013
 
        * po/*.gmo
18014
 
 
18015
 
2007-11-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18016
 
 
18017
 
        Eliminated g++-4.2 warning
18018
 
        * src/DownloadHandlerConstants.{h, cc}
18019
 
        * src/Util.cc
18020
 
        * test/MetaFileUtilTest.cc
18021
 
        * test/PStringBuildVisitorTest.cc
18022
 
        
18023
 
        Fixed bug: --check-integrity doesn't work for multi file torrent.
18024
 
        * src/RequestGroup.cc
18025
 
        * src/BtCheckIntegrityEntry.cc
18026
 
        
18027
 
2007-11-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18028
 
 
18029
 
        Fixed a2io.h
18030
 
        * src/a2io.h
18031
 
 
18032
 
2007-11-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18033
 
 
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
18042
 
        * src/DiskWriter.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
18049
 
        * src/Util.{h, cc}
18050
 
        * src/OptionHandlerFactory.cc
18051
 
        * src/prefs.h
18052
 
        * src/version_usage.cc
18053
 
        * src/option_processing.cc
18054
 
 
18055
 
        Moved FileAllocationMan::markCurrentFileAllocationEntryDone() to
18056
 
        handleException.
18057
 
        * src/MultiFileAllocationIterator.cc
18058
 
 
18059
 
        Added EINTR handling
18060
 
        * src/SocketCore.cc
18061
 
        
18062
 
2007-11-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18063
 
 
18064
 
        Updated usage
18065
 
        * src/version_usage.cc
18066
 
 
18067
 
2007-11-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18068
 
 
18069
 
        Applied Ross's patch for MinGW port.
18070
 
        * src/DownloadEngine.h
18071
 
 
18072
 
2007-11-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18073
 
 
18074
 
        Set Content-Type to SingleFileDownloadContext when http response is
18075
 
        received.
18076
 
        * src/HttpResponseCommand.cc
18077
 
        * src/HttpResponse.{h, cc}
18078
 
        * test/HttpResponseTest.cc
18079
 
 
18080
 
2007-11-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18081
 
 
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
18097
 
 
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
18118
 
        * src/prefs.h
18119
 
        * src/Util.{h, cc}
18120
 
        * test/UtilTest.cc
18121
 
        
18122
 
        Keep DownloadResult rather than RequestGroup after downloads to reduce
18123
 
        memory usage.
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
18131
 
        
18132
 
        Set totalLength after download finished
18133
 
        * src/UnknownLengthPieceStorage.{h, cc}
18134
 
 
18135
 
        Keep torrent file specified in metalink in memory.
18136
 
        * src/Metalink2RequestGroup.cc
18137
 
        * src/BtDependency.cc
18138
 
        * src/TrueRequestGroupCriteria.h
18139
 
 
18140
 
        Fixed the bug: seekg is used where seekp should be used.
18141
 
        * src/ByteArrayDiskWriter.cc
18142
 
        * test/ByteArraydiskWriterTest.cc
18143
 
        
18144
 
2007-11-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18145
 
 
18146
 
        Fixed syntax error
18147
 
        * test/SequenceTest.cc
18148
 
 
18149
 
2007-11-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18150
 
 
18151
 
        Return false if RequestGroup::isPreLocalFileCheckEnabled() == true
18152
 
        * src/RequestGroupMan.cc (isSameFileBeingDownloaded)
18153
 
 
18154
 
        Return false if RequestGroup::isPreLocalFileCheckEnabled() == true
18155
 
        * src/RequestGroup.cc (downloadFinishedByFileLength)
18156
 
        
18157
 
2007-11-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18158
 
 
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}
18162
 
        * m4/libcares.m4
18163
 
        * configure.ac: Set C++ for language choice.
18164
 
 
18165
 
2007-11-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18166
 
 
18167
 
        Fixed: compilation fails without c-ares/ares
18168
 
        * src/DownloadEngine.cc (addCommand): Moved outside #ifdef
18169
 
 
18170
 
        Generate http/ftp commands only when download is incomplete.
18171
 
        * src/BtFileAllocationEntry.cc (prepareForNextAction)
18172
 
 
18173
 
2007-11-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18174
 
 
18175
 
        Corrected typo. Examples are removed since they are available in man
18176
 
        page.
18177
 
        * src/version_usage.cc
18178
 
 
18179
 
        Updated man page.
18180
 
        * doc/aria2c.1
18181
 
        * doc/aria2c.1.txt
18182
 
        * doc/makeman: Commented out sed command.
18183
 
        
18184
 
2007-11-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18185
 
 
18186
 
        Throw DlAbortEx when a remote file is not found.
18187
 
        * src/HttpResponse.cc
18188
 
        * src/FtpNegotiationCommand.cc
18189
 
        * src/message.h
18190
 
 
18191
 
        Overwrite an existing file if --allow-overwrite=true is given.
18192
 
        * src/RequestGroup.cc
18193
 
 
18194
 
        Removed unused functions
18195
 
        * src/AbstractCommand.h
18196
 
        
18197
 
2007-11-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18198
 
 
18199
 
        Removed 'extern' from 'extern typedef ...' in src/*.h
18200
 
 
18201
 
2007-11-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18202
 
 
18203
 
        Updated usage
18204
 
        * src/version_usage.cc
18205
 
 
18206
 
2007-11-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18207
 
 
18208
 
        Trim announce URL
18209
 
        * src/DefaultBtContext.cc
18210
 
        * test/ShaVisitorTest.cc
18211
 
        
18212
 
        Trim argument s. Give trimed s to exception constructor.
18213
 
        * src/Util.cc (parseInt)(parseLLInt)
18214
 
        * test/UtilTest.cc
18215
 
 
18216
 
2007-11-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18217
 
 
18218
 
        Set precision back to 1.
18219
 
        * src/ConsoleStatCalc.cc (calculateStat)
18220
 
 
18221
 
2007-11-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18222
 
 
18223
 
        Replaced strtol with Util::parseInt
18224
 
        * src/ChunkedEncoding.cc
18225
 
        * src/HttpConnection.cc
18226
 
        * src/CookieBoxFactory.cc
18227
 
        * src/ParameterizedStringParser.cc
18228
 
        * src/Util.cc
18229
 
        * test/UtilTest.cc
18230
 
        * test/OptionHandlerTest.cc
18231
 
        * src/Request.cc
18232
 
 
18233
 
        Throw exception when empty string is given. The message for exception
18234
 
        changed.
18235
 
        * src/Util.cc (parseInt)(parseLLInt)
18236
 
        * src/message.h
18237
 
 
18238
 
2007-11-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18239
 
 
18240
 
        Set precision to 2 because share ratio is rounded into 1.0 if precision
18241
 
        set to 1.
18242
 
        * src/ConsoleStatCalc.cc (calculateStat)
18243
 
 
18244
 
2007-11-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18245
 
 
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}
18254
 
 
18255
 
        Removed unused _option.
18256
 
        * src/MultiDiskAdaptor.h
18257
 
        * test/MultiDiskAdaptorTest.cc
18258
 
        * src/DefaultPieceStorage.cc
18259
 
 
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
18264
 
        * src/BtSetup.cc
18265
 
        * doc/aria2c.1.txt
18266
 
        * doc/aria2c.1
18267
 
 
18268
 
        Fixed: Selective download is not working in BitTorrent
18269
 
        * src/RequestGroup.cc
18270
 
 
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
18278
 
        * src/Sequence.h
18279
 
        * test/SequenceTest.cc
18280
 
        * src/IntSequence.h
18281
 
        * src/message.h
18282
 
        * src/Util.{h, cc}
18283
 
        * test/UtilTest.cc
18284
 
 
18285
 
        Added new function 'parse' to catch exception thrown by subclass's
18286
 
        parseArg
18287
 
        * src/OptionHandler.h
18288
 
        * src/OptionParser.cc
18289
 
        * src/NameMatchOptionHandler.h
18290
 
        * src/OptionHandlerImpl.h
18291
 
        * test/OptionHandlerTest.cc
18292
 
 
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
18299
 
        * src/BtSetup.cc
18300
 
        * src/PeerListenCommand.{h, cc}
18301
 
        * doc/aria2c.1.txt
18302
 
        * doc/aria2c.1
18303
 
        
18304
 
        Implemented operator< for Exception class to provide easy way to print
18305
 
        exception stack trace.
18306
 
        * src/Exception.{h, cc}
18307
 
        * src/main.cc
18308
 
        * src/option_processing.cc
18309
 
        
18310
 
2007-11-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18311
 
 
18312
 
        * src/version_usage.cc
18313
 
        (showVersion): Reworked.
18314
 
        (showUsage): Added examples.
18315
 
 
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
18321
 
 
18322
 
        Now --follow-torrent and --follow-metalink option work properly.
18323
 
        * src/RequestGroup.cc
18324
 
 
18325
 
        Updated man page
18326
 
        * doc/aria2c.1.txt
18327
 
        * doc/aria2c.1
18328
 
        
18329
 
2007-11-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18330
 
 
18331
 
        Removed.
18332
 
        * src/PiecedSegment.{h, cc} (operator==)(operator!=)
18333
 
 
18334
 
        Use Segment::operator==()
18335
 
        * src/HttpConnection.cc
18336
 
        * src/Segment.h
18337
 
 
18338
 
        Updated usage
18339
 
        * src/version_usage.cc
18340
 
 
18341
 
        Added EINTR treatment.
18342
 
        * src/SocketCore.cc
18343
 
        * src/AbstractDiskWriter.cc
18344
 
 
18345
 
        Rewritten.
18346
 
        * src/Util.cc (rangedFileCopy)
18347
 
        
18348
 
2007-11-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18349
 
 
18350
 
        Fixed typo.
18351
 
        * src/version_usage.cc
18352
 
 
18353
 
2007-11-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18354
 
 
18355
 
        Implemented. Now -c option works fine.
18356
 
        * src/DefaultPieceStorage.cc (markPiecesDone)
18357
 
        * test/DefaultPieceStorageTest.cc
18358
 
 
18359
 
        Removed.
18360
 
        * src/SegmentMan.{h, cc}
18361
 
        (markAllPiecesDone)
18362
 
        (markPieceDone)
18363
 
 
18364
 
        Synchronized po files with 
18365
 
        https://translations.launchpad.net/aria2/trunk/+pots/aria2c
18366
 
        * src/fr.po
18367
 
        * src/ru.po
18368
 
        * src/de.po
18369
 
        * src/ja.po
18370
 
        
18371
 
2007-11-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18372
 
 
18373
 
        Added ifdef and some modifications to compile without BitTorrent,
18374
 
        Metalink, MessageDigest
18375
 
        support.
18376
 
        * src/PieceHashCheckIntegrityEntry.cc
18377
 
        * src/MetalinkEntry.h
18378
 
        * src/version_usage.cc
18379
 
        * src/main.cc
18380
 
        * src/DownloadEngine.{h, cc}
18381
 
        * src/Metalink2RequestGroup.cc
18382
 
        * src/Peer.cc
18383
 
        * src/RequestGroup.cc
18384
 
        * src/MetalinkHelper.cc
18385
 
        * test/DefaultPieceStorageTest.cc
18386
 
        * test/MetalinkPostDownloadHandlerTest.cc
18387
 
        * test/Metalink2RequestGroupTest.cc
18388
 
 
18389
 
        Hide TOTAL SPD when all downloads complete.
18390
 
        * src/ConsoleStatCalc.cc
18391
 
 
18392
 
        Log target system information.
18393
 
        * src/main.cc
18394
 
        
18395
 
2007-11-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18396
 
 
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
18404
 
        * doc/aria2c.1.txt
18405
 
        * doc/aria2c.1
18406
 
 
18407
 
        * src/Util.cc (toUpper)(toLower): Rewritten.
18408
 
 
18409
 
2007-11-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18410
 
 
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
18416
 
 
18417
 
2007-11-13  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18418
 
 
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
18424
 
        * src/Util.{h, cc}
18425
 
        * test/UtilTest.cc
18426
 
 
18427
 
2007-11-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18428
 
 
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.
18439
 
 
18440
 
2007-11-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18441
 
 
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.
18455
 
        * src/message.h
18456
 
        * src/CheckIntegrityEntry.{h, cc}
18457
 
        * src/IteratableChunkChecksumValidator.{h, cc}
18458
 
        * src/SingleFileDownloadContext.h
18459
 
        * src/DownloadCommand.cc
18460
 
        
18461
 
        --allow-overwrite=true is no longer needed to check file integrity
18462
 
        before download in BitTorrent download.
18463
 
        * src/RequestGroup.cc (getInitialCommand)
18464
 
 
18465
 
        Removed RequestGroup from queue when RequestGroup::getInitialCommand()
18466
 
        throws exception.
18467
 
        * src/RequestGroupMan.cc (getInitialCommands)
18468
 
        
18469
 
2007-11-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18470
 
 
18471
 
        urlencode the given url inside Request::parseUrl(...)
18472
 
        * src/Request.{h, cc}
18473
 
        * src/Util.{h, cc}
18474
 
        * test/RequestTest.cc
18475
 
 
18476
 
        Removed #!metalink3! notation support because it is deleted from
18477
 
        the metalink specification.
18478
 
        * src/Request.{h, cc}
18479
 
        * test/RequestTest.cc
18480
 
 
18481
 
2007-11-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18482
 
 
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
18491
 
 
18492
 
        Added DownloadFailureException. If it is thrown, RequestGroup should
18493
 
        halt.
18494
 
        * src/AbstractCommand.cc
18495
 
        * src/DownloadFailureException.h
18496
 
        * src/RequestGroup.cc
18497
 
 
18498
 
        Catch RecoverableException, instead of DlAbortEx.
18499
 
        * src/RequestGroupMan.cc
18500
 
        * src/FillRequestGroupCommand.cc
18501
 
        * src/MetaFileUtil.cc
18502
 
        * src/IteratableChunkChecksumValidator.cc
18503
 
 
18504
 
        Now first parameter of MSG_DOWNLOAD_ABORTED is gid(RequestGroup::
18505
 
        getGID())
18506
 
        * src/CheckIntegrityCommand.cc
18507
 
        * src/message.h
18508
 
        
18509
 
        Print gid instead of idx.
18510
 
        * src/RequestGroupMan.cc
18511
 
 
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}
18523
 
        * src/Util.{h, cc}
18524
 
        * test/UtilTest.cc
18525
 
        * src/DefaultDiskWriter.{h, cc}
18526
 
        * src/FtpConnection.{h, cc}
18527
 
        * src/AbstractDiskWriter.{h, cc}
18528
 
 
18529
 
        Removed duplicate code.
18530
 
        * src/StreamCheckIntegrityEntry.cc
18531
 
 
18532
 
        Removed unnecessary include.
18533
 
        * src/DiskWriter.h
18534
 
 
18535
 
        Included Exception.h
18536
 
        * src/option_processing.cc
18537
 
 
18538
 
        Included 2 files and added doc
18539
 
        * src/TrackerWatcherCommand.cc
18540
 
 
18541
 
        * src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
18542
 
 
18543
 
2007-11-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18544
 
        
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
18552
 
        behavior.
18553
 
        * src/CheckIntegrityCommand.cc
18554
 
        * src/AbstractCommand.cc
18555
 
        * src/RequestGroup.cc
18556
 
 
18557
 
2007-11-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18558
 
 
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
18565
 
        
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
18574
 
 
18575
 
        Rewritten using accumulate.
18576
 
        * src/RequestGroupMan.cc (calculateStat)
18577
 
        
18578
 
        Code clearnup.
18579
 
        * src/FtpNegotiationCommand.cc
18580
 
        * src/HttpResponseCommand.cc
18581
 
 
18582
 
2007-11-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18583
 
 
18584
 
        Fixed: Can not resume: aria2 reports download already finished.
18585
 
        * src/AbstractCommand.{h, cc}
18586
 
        * src/HttpResponseCommand.cc
18587
 
        * src/FtpNegotiateCommand.cc
18588
 
 
18589
 
2007-11-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18590
 
 
18591
 
        Now a file is stored in the directory specified in .metalnk file
18592
 
        (file[@name]).
18593
 
        * src/Metalink2RequestGroup.cc
18594
 
 
18595
 
        Create the directory structure when opening the file if it doesn't
18596
 
        exist.
18597
 
        * src/AbstractDiskWriter.cc
18598
 
        * src/Util.{h, cc}
18599
 
        * src/File.h
18600
 
        * test/UtilTest.cc
18601
 
        
18602
 
        Removed file name comparison
18603
 
        * src/Metalink2RequestGroup.cc
18604
 
        * src/HttpResponseCommand.cc
18605
 
 
18606
 
        Rewritten using Util::mkdirs()
18607
 
        * src/FileEntry.cc (setupDir)
18608
 
        * test/FileEntryTest.cc
18609
 
        
18610
 
        Updated doc
18611
 
        * src/SingleFileDownloadContext.h
18612
 
        
18613
 
2007-11-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18614
 
 
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}
18619
 
 
18620
 
2007-11-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18621
 
 
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
18624
 
        request.
18625
 
        * src/DefaultBtAnnounce.cc 
18626
 
        * test/DefaultBtAnnounceTest.cc
18627
 
        * test/MockPieceStorage.h
18628
 
        
18629
 
        Inject randomizer to DefaultBtAnnounce and DefaultBtContext to make
18630
 
        them more testable.
18631
 
        * src/DefaultBtAnnounce.{h, cc}
18632
 
        * src/DefaultBtContext.{h, cc}
18633
 
        * src/Util.{h, cc}
18634
 
        * test/DefaultBtAnnounceTest.cc
18635
 
        * test/DefaultBtContextTest.cc
18636
 
        * test/UtilTest.cc
18637
 
        
18638
 
        Added 'B' to upload bytes readout.
18639
 
        * src/ConsoleStatCalc.cc
18640
 
 
18641
 
        Now the listen port for BitTorrent download is opened when it is
18642
 
        needed.
18643
 
        * src/DownloadEngineFactory.cc
18644
 
        * src/BtSetup.{h, cc}
18645
 
        * src/PeerListenCommand.{h, cc}
18646
 
        
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
18650
 
        has a problem.
18651
 
        * src/TrackerWatcherCommand.cc
18652
 
        
18653
 
        Fixed: downloading a file whose length is unkown fails.
18654
 
        * src/DownloadCommand.cc
18655
 
 
18656
 
        Simplified prepareForNextSegment()
18657
 
        * src/DownloadCommand.cc
18658
 
 
18659
 
        Updated
18660
 
        * po/POTFILES.in
18661
 
        
18662
 
2007-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18663
 
 
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
18668
 
        * src/main.cc
18669
 
        * src/Metalink2RequestGroup.cc
18670
 
 
18671
 
2007-11-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18672
 
 
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
18679
 
        KiB)
18680
 
        * test/UtilTest.cc
18681
 
        * src/main.cc
18682
 
 
18683
 
2007-10-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18684
 
 
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.
18698
 
 
18699
 
2007-10-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18700
 
 
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)
18705
 
 
18706
 
2007-10-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18707
 
 
18708
 
        Use File::renameTo()
18709
 
        * src/DefaultBtProgressInfoFile.cc
18710
 
 
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
18718
 
        * src/prefs.h
18719
 
        * doc/aria2c.1.txt
18720
 
        * doc/aria2c.1
18721
 
 
18722
 
        Now prealloc is the default value for --file-allocation option.
18723
 
        * src/version_usage.cc
18724
 
        * src/option_processing.cc
18725
 
        * doc/aria2c.1.txt
18726
 
        * doc/aria2c.1
18727
 
 
18728
 
        Don't URL-encode user-agent.
18729
 
        * src/HttpRequest.cc
18730
 
 
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.
18736
 
        
18737
 
2007-10-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18738
 
 
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
18744
 
 
18745
 
2007-10-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18746
 
 
18747
 
        * src/ConsoleStatCalc.cc: Let the user know that aria2 is now seeding
18748
 
        after the download finishes.
18749
 
 
18750
 
2007-10-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18751
 
 
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.
18759
 
 
18760
 
2007-10-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18761
 
 
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
18765
 
        Segment.
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
18772
 
        * src/Segment.h
18773
 
        * src/HttpRequestCommand.{h, cc}
18774
 
        * src/option_processing.cc
18775
 
        * src/prefs.h
18776
 
        * src/HttpResponseCommand.cc
18777
 
        * src/SegmentMan.{h, cc}
18778
 
        * src/FtpNegotiateCommand.cc
18779
 
        * src/HttpProxyResponseCommand.cc
18780
 
        * src/Request.cc
18781
 
        * src/HttpRequest.cc
18782
 
        * src/DownloadCommand.cc
18783
 
        * test/HttpRequestTest.cc
18784
 
        * test/RequestTest.cc
18785
 
 
18786
 
2007-10-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18787
 
 
18788
 
        * src/ConsoleCalc.cc (calculateStat): Hide SPD after the download
18789
 
        finished.
18790
 
 
18791
 
2007-10-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18792
 
 
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.
18799
 
 
18800
 
2007-10-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18801
 
 
18802
 
        Fixed the bug that prevents remote Metalink/Torrent file from begin
18803
 
        processed.
18804
 
        * src/RequestGroupMan.cc (removeStoppedGroup)
18805
 
 
18806
 
        Added debug message.
18807
 
        * src/BtPostDownloadHandler.cc
18808
 
        * src/MetalinkPostDownloadHandler.cc
18809
 
        * src/PostDownloadHandler.{h, cc}
18810
 
        * src/RequestGroup.cc
18811
 
 
18812
 
2007-10-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18813
 
 
18814
 
        * src/Request.cc (parseUrl): Removed unnecessary slashes around dir.
18815
 
 
18816
 
2007-10-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18817
 
 
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".
18821
 
        
18822
 
2007-10-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18823
 
 
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
18832
 
 
18833
 
2007-10-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18834
 
 
18835
 
        Do not send referer when redirected.
18836
 
        * src/Request.cc (redirectUrl)
18837
 
        * test/RequestTest.cc
18838
 
        * test/HttpRequestTest.cc
18839
 
 
18840
 
2007-10-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18841
 
 
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.
18847
 
 
18848
 
2007-09-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18849
 
 
18850
 
        Fixed the compilation error on 64bit platform.
18851
 
        * test/HttpHeaderProcessorTest.cc
18852
 
 
18853
 
2007-09-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18854
 
 
18855
 
        Merged Ross's patch that fixes compilation problem in MinGW
18856
 
        * test/DefaultBtProgressInfoFileTest.cc
18857
 
 
18858
 
2007-09-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18859
 
 
18860
 
        Updated fr.po by sebone
18861
 
        * po/fr.po
18862
 
 
18863
 
        Updated man page.
18864
 
        * doc/aria2c.1.txt
18865
 
        
18866
 
        * Release 0.11.3
18867
 
        
18868
 
2007-09-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18869
 
 
18870
 
        * src/MetalinkRequestInfo.cc (execute): Fixed BitTorrent download
18871
 
        failure in Metalink.
18872
 
 
18873
 
2007-09-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18874
 
 
18875
 
        Automatically save *.aria2 control file of http/ftp download in every
18876
 
        60 seconds.
18877
 
        * src/AutoSaveCommand.{h, cc}: New class.
18878
 
        * src/TimeBasedCommand.{h, cc}: New class.
18879
 
        * src/DownloadEngineFactory.cc (newConsoleEngine)
18880
 
 
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
18886
 
 
18887
 
        Updated Japanese translation.
18888
 
        * po/ja.po
18889
 
 
18890
 
        Updated man page.
18891
 
        * doc/aria2c.1.txt
18892
 
        
18893
 
        * Release 0.11.3-rc
18894
 
 
18895
 
2007-09-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18896
 
 
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.
18904
 
 
18905
 
2007-09-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18906
 
 
18907
 
        Reduced the fragmentation of bitfield in http/ftp download.
18908
 
        * src/BitfieldMan.cc (getSparseMissingUnusedIndex)
18909
 
        * test/BitfieldManTest.cc
18910
 
 
18911
 
2007-08-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18912
 
 
18913
 
        Added the ability to disable segmented download in .metalink.
18914
 
        aria2 can now recognize 'maxconnections' attribute in 'resources' and
18915
 
        'url' tag.
18916
 
        * src/MetalinkEntry.{h, cc}
18917
 
        * src/RequestResource.{h, cc}
18918
 
        * src/MetalinkRequestInfo.cc
18919
 
        * src/Xml2MetalinkProcessor.cc
18920
 
        * test/Xml2MetalinkProcessorTest.cc
18921
 
        
18922
 
2007-08-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18923
 
 
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.
18938
 
        * src/Util.{h,cc}
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.
18946
 
        * test/UtilTest.cc
18947
 
        (testIsNumber): New function.
18948
 
        (testIsLowercase): New function.
18949
 
        (testIsUppercase): New function.
18950
 
        (testAlphaToNum): New function.
18951
 
        
18952
 
        Added '\n' after the error message
18953
 
        * src/RequestInfo.h (printDownloadAbortMessage)
18954
 
 
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.
18970
 
        
18971
 
2007-08-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18972
 
 
18973
 
        Merged Ross's patch: Removed setmode(). Use _CRT_fmode to enable binary
18974
 
        IO.
18975
 
        * src/DefaultBtProgressInfoFile.cc
18976
 
        * src/MetaFileUtil.cc
18977
 
        * src/SimpleLogger.cc
18978
 
        * src/SegmentMan.cc
18979
 
        * src/Util.cc
18980
 
        * src/Platform.cc
18981
 
 
18982
 
2007-08-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18983
 
 
18984
 
        * src/Xml2MetalinkProcessor.cc (getPieceHash): Added missing .c_str().
18985
 
 
18986
 
2007-08-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
18987
 
 
18988
 
        Avoid sparse files if possible, because VFAT32 doesn't support it.
18989
 
        * src/DefaultDiskWriter.cc (initAndOpenFile)
18990
 
 
18991
 
        Fixed the bug that prevents file allocation is not done when
18992
 
        dowloading multi-torrent file.
18993
 
        * src/AbstractDiskWriter.cc (openFile)
18994
 
        
18995
 
        Increase the maximum number of -j option from 15 to 45.
18996
 
        * src/OptionHandlerFactory.cc (createOptionHandlers)
18997
 
 
18998
 
        Added fr.po, thanks to Charles Landemaine.
18999
 
        * po/fr.po
19000
 
        * po/LINGUAS
19001
 
        
19002
 
 
19003
 
2007-08-10  Ross Smith II  <aria2spam at smithii dot com>
19004
 
 
19005
 
        gcc 3.4.4 support:
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
19030
 
        
19031
 
2007-08-10  Ross Smith II  <aria2spam at smithii dot com>
19032
 
 
19033
 
        Move sleep functions to Util class:
19034
 
        * src/Util.cc
19035
 
        (sleep): New function.
19036
 
        (usleep): New function.
19037
 
        * src/DownloadCommand.cc: sleep -> Util::sleep
19038
 
        * test/TimeSeedCriteriaTest.cc: sleep -> Util::sleep
19039
 
 
19040
 
        MinGW build enhancements. The following files are added:
19041
 
        * src/timegm.{c,h}
19042
 
 
19043
 
        Changes to support the above new files:
19044
 
        * configure.ac
19045
 
        * src/Makefile.am
19046
 
        * src/a2time.h
19047
 
        * src/Util.cc:
19048
 
        * src/strptime.c: Added support for %Z option.
19049
 
 
19050
 
        Fixed MinGW non-blocking bug.
19051
 
        * src/SocketCore.cc
19052
 
        * src/HttpRequestCommand.cc
19053
 
 
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
19063
 
 
19064
 
2007-08-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19065
 
 
19066
 
        Increased the initial connection size in BitTorrent download to 40.
19067
 
        * src/BtRuntime.h
19068
 
 
19069
 
        Added the usage message of --peer-id-prefix option.
19070
 
        * src/main.cc
19071
 
 
19072
 
        * Release 0.11.2
19073
 
        
19074
 
2007-08-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19075
 
 
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",
19079
 
        "md5".
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
19089
 
        * src/Peer.cc
19090
 
        * src/Checksum.h
19091
 
        * src/message.h
19092
 
        * src/IteratableChecksumValidator.h
19093
 
        * src/ChunkChecksumValidator.{h, cc}: Use IteratableChecksumValidator
19094
 
        inside it.
19095
 
        * src/SegmentMan.{h, cc}
19096
 
        (checkIntegrity): Removed.
19097
 
        * src/IteratableChunkChecksumValidator.{h, cc}
19098
 
        * src/Util.h
19099
 
        (sha1Sum): Removed.
19100
 
        (simpleMessageDigest): Removed.
19101
 
        (fileChecksum): Removed.
19102
 
        (computeFastSet): Removed.
19103
 
        * src/ShaVisitor.cc
19104
 
        * src/ChunkChecksum.h
19105
 
        * src/DownloadCommand.cc
19106
 
 
19107
 
        Removed messageDigest virtual functions.
19108
 
        * src/MultiDiskAdaptor.{h, cc}
19109
 
        * src/DiskAdaptor.h
19110
 
        * src/ByteArrayDiskWriter.h
19111
 
        * src/DiskWriter.h
19112
 
        * src/DiskAdaptorWriter.h
19113
 
        * src/AbstractSingleDiskAdaptor.{h, cc}
19114
 
        * src/AbstractDiskWriter.{h, cc}
19115
 
        
19116
 
        Fixed comilation error when message digest is disabled.
19117
 
        * src/MetalinkEntry.{h, cc}
19118
 
        * src/MetalinkRequestInfo.cc
19119
 
        
19120
 
        Removed srandom and random.
19121
 
        * src/SimpleRandomizer.h
19122
 
 
19123
 
        Added size() virtual function to DiskAdaptor
19124
 
        * src/MultiDiskAdaptor.h
19125
 
 
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
19130
 
        
19131
 
        Added SHA256 support
19132
 
        * src/messageDigest.cc
19133
 
        * src/Xml2MetalinkProcessor.cc
19134
 
 
19135
 
        Show supported message digest algorithms
19136
 
        * src/main.cc
19137
 
 
19138
 
        Updated contact info.
19139
 
        * src/main.cc
19140
 
 
19141
 
        Applied Ross's patch
19142
 
        * src/a2netcompat.h
19143
 
        * src/main.cc
19144
 
 
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
19148
 
        
19149
 
2007-08-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19150
 
 
19151
 
        Merged Dan's patch:
19152
 
        * src/ByteArrayDiskWriter.cc: ios_base -> ios
19153
 
 
19154
 
        Use va_copy to avoid core dump on amd64:
19155
 
        * src/SimpleLogger.cc
19156
 
 
19157
 
        Updated contact info.
19158
 
        * src/main.cc
19159
 
 
19160
 
        Added #ifdef ENABLE_MESSAGE_DIGEST to fix test errors when message
19161
 
        digest is not available.
19162
 
        * src/MetalinkEntry.h
19163
 
        
19164
 
2007-08-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19165
 
 
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
19170
 
        
19171
 
        Gather time related functions to a2time.h:
19172
 
        * src/a2time.h: New file.
19173
 
        * src/DefaultPeerStorage.cc
19174
 
        * src/SimpleLogger.cc
19175
 
        * src/Util.{h, cc}
19176
 
        * src/SimpleRandomizer.h
19177
 
        * src/TimeA2.{h,cc}
19178
 
        * src/DownloadCommand.cc
19179
 
        * src/main.cc
19180
 
 
19181
 
        Removed #ifdef __MINGW32__ since gai_strerror is included in
19182
 
        a2netcompat.h:
19183
 
        * src/NameResolver.cc
19184
 
        
19185
 
        Fixed compilation error without openssl:
19186
 
        * src/SocketCore.{h,cc}: Moved include of openssl/err.h to SocketCore.h
19187
 
 
19188
 
        Added default block to suppress compiler warnings:
19189
 
        * src/MetalinkRequestInfo.cc (AccumulateNonP2PUrl::operator())
19190
 
        
19191
 
2007-07-26  Ross Smith II  <aria2spam at smithii dot com>
19192
 
 
19193
 
        MinGW build enhancements. The following files are added:
19194
 
        * src/gai_strerror.{c,h}
19195
 
        * src/gettimeofday.{c,h}
19196
 
 
19197
 
        Changes to support the above new files:
19198
 
        * configure.ac
19199
 
        * src/Makefile.am
19200
 
        * src/a2netcompat.h
19201
 
        * src/TimeA2.cc
19202
 
        * src/DefaultPeerStorage.cc
19203
 
        * src/NameResolver.cc: removed mingw_strerror() function.
19204
 
        * src/SocketCore.cc: removed mingw_strerror() function.
19205
 
 
19206
 
        Miscellaneous MinGW build fixes. 
19207
 
        * src/a2io.h: Use _lseeki64() instead of lseek()
19208
 
        * src/common.h
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.
19215
 
        * src/Platform.cc
19216
 
        * src/Platform.h
19217
 
        * test/MultiDiskWriterTest.cc
19218
 
        * test/PeerMessageUtilTest.cc
19219
 
        * src/localtime_r.c: Add DeleteCriticalSection() and at exit().
19220
 
 
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.
19230
 
        * src/message.h
19231
 
        (EX_SSL_INIT_FAILURE)
19232
 
        (EX_SSL_IO_ERROR)
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)
19239
 
        * src/Util.cc
19240
 
        (setGlobalSignalHandler): Renamed signal to sig as signal is a
19241
 
        reserved name.
19242
 
        (httpGMT): Fixed typo.
19243
 
 
19244
 
2007-07-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19245
 
 
19246
 
        Merged Ross's win32 patch(manually)
19247
 
        In the course of merging, following files are added.
19248
 
        * src/strptime.{h,c}
19249
 
        * src/libgen.{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:
19257
 
        * src/a2io.h
19258
 
        
19259
 
        Changed %lld to %s because mingw32 doesn't recognize %lld.
19260
 
        * src/message.h
19261
 
        (MSG_ALLOCATION_COMPLETED)
19262
 
        (EX_TOO_LARGE_FILE)
19263
 
        (EX_SIZE_MISMATCH)
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
19277
 
        
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.
19283
 
        
19284
 
2007-07-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19285
 
 
19286
 
        Converted int's to in32_t. long long int's are also converted to
19287
 
        int64_t
19288
 
 
19289
 
2007-07-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19290
 
 
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)
19294
 
 
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
19301
 
        DefaultBtContext.
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.
19307
 
        
19308
 
2007-07-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19309
 
 
19310
 
        Fixed the bug that prevents filename in content-disposition from
19311
 
        being retrieved when filename is not quoted.
19312
 
        * src/Util.cc (getContentDispositionFilename)
19313
 
 
19314
 
        Fixed the bug that causes infinate loop and memory leak when file open
19315
 
        operation failed.
19316
 
        * src/HttpResponseCommand.cc (handleDefaultEncoding)
19317
 
 
19318
 
2007-07-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19319
 
 
19320
 
        Fixed the bug that causes segfault when all URIs specified are
19321
 
        unsupported.
19322
 
        * src/RequestGroupMan.cc (getInitialCommands)
19323
 
        Check if RequestGroup::createNextCommand() returns empty list of
19324
 
        commands.
19325
 
        * src/RequestGroup.cc (createNextCommand)
19326
 
        Change log level from info to error so that users can notice that
19327
 
        an error occurred.
19328
 
 
19329
 
        Fixed the bug that causes segfault when a zero-sized file is
19330
 
        downloaded.
19331
 
        * src/BitfieldMan.cc (isAllBitSet)
19332
 
        Return true if bitfieldLength is 0.
19333
 
        
19334
 
2007-07-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19335
 
 
19336
 
        * src/main.cc
19337
 
        (showUsage): Added 3 usage examples for metalink download.
19338
 
 
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)
19346
 
 
19347
 
        * Release 0.11.1
19348
 
        
19349
 
2007-07-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19350
 
 
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.
19358
 
 
19359
 
2007-07-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19360
 
 
19361
 
        Made console readout more readable.
19362
 
        * src/ConsoleDownloadEngine.cc (sendStatistics)
19363
 
 
19364
 
2007-07-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19365
 
 
19366
 
        Fix the bug that causes -s option not to work.
19367
 
        * src/main.cc (main)
19368
 
        * src/a2algo.h: New file.
19369
 
 
19370
 
2007-07-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19371
 
 
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
19375
 
        exist.
19376
 
        (getDir): New function.
19377
 
 
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.
19382
 
        
19383
 
2007-06-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19384
 
 
19385
 
        Made -S option work with metalink file and provided selective download
19386
 
        to metalink.
19387
 
        * src/MetalinkEntry.h, src/MetalinkEntry.cc
19388
 
        (filename): Removed.
19389
 
        (file): New variable.
19390
 
        (size): Removed.
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
19403
 
        a metalink file.
19404
 
        Added selective download mode to metalink.
19405
 
        * src/main.cc
19406
 
        (showUsage): Updated to denote that -S and --select-file options are
19407
 
        applicable to metalink.
19408
 
        * src/FileEntry.h
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.
19415
 
        
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.
19424
 
        
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.
19435
 
        
19436
 
        Updated doc for -j option to notice that it should be used with -i
19437
 
        option.
19438
 
        * src/main.cc (showUsage)
19439
 
 
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.
19448
 
 
19449
 
        Use ISO units.
19450
 
        * src/ConsoleDownloadEngine.cc
19451
 
        * src/TorrentConsoleDownloadEngine.cc
19452
 
        * src/Util.cc (abbrevSize)
19453
 
        
19454
 
2007-06-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19455
 
 
19456
 
        Added the default listening ports to the help message.
19457
 
        * src/main.cc (showUsage)
19458
 
 
19459
 
2007-06-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19460
 
 
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&)
19470
 
        
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.
19481
 
 
19482
 
        Fixed the bug that causes remote Metalink and Torrent files are not
19483
 
        processed.
19484
 
        * src/MultiUrlRequestInfo.cc (createNextRequestInfo): Fixed the bug.
19485
 
 
19486
 
2007-06-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19487
 
 
19488
 
        Changed format of log file.
19489
 
        * src/SimpleLogger.cc
19490
 
 
19491
 
        * Release 0.11.0
19492
 
        
19493
 
2007-06-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19494
 
 
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.
19499
 
 
19500
 
        * src/message.h
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.
19505
 
        
19506
 
        * src/PeerAbstractCommand.cc
19507
 
        (execute): MSG_DOWNLOAD_ABORTED -> MSG_TORRENT_DOWNLOAD_ABORTED
19508
 
        
19509
 
        * src/Request.h
19510
 
        (cookieBox): Made ShardHandle.
19511
 
        
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().
19518
 
 
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
19529
 
        CookieBoxFactory.
19530
 
        * src/CookieBoxFactory.h, src/CookieBoxFactory.cc: New class.
19531
 
        * src/CookieParser.h, src/CookieParser.cc: New class.
19532
 
        
19533
 
        * src/main.cc: Chagned the default value of --metalink-servers to 5.
19534
 
 
19535
 
        * src/HttpResponseCommand.cc
19536
 
        (handleOtherEncoding): Call RequestGroup::shouldCancelDownloadForSafety
19537
 
 
19538
 
        * src/MetalinkRequestInfo.cc: Now -s option is ignored in Metalink
19539
 
        download.
19540
 
        
19541
 
2007-06-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19542
 
 
19543
 
        Added -j command-line option.
19544
 
        * src/OptionHandlerFactory.cc (createOptionHandlers)
19545
 
        * src/main.cc
19546
 
 
19547
 
        * src/ByteArrayDiskWriter.h, src/ByteArrayDiskWriter.cc
19548
 
        Rewritten using stringstream.
19549
 
        * src/TrackerUpdateCommand.h, src/TrackerUpdateCommand.cc
19550
 
        Rewritten using stringstream.
19551
 
        
19552
 
2007-06-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19553
 
 
19554
 
        Make download size shown in MB, KB.
19555
 
        * src/ConsoleDownloadEngine.h (sendStatistics)
19556
 
        * src/Util.h, srcUtil.cc (abbrevSize): New function.
19557
 
 
19558
 
2007-06-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19559
 
        
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.
19566
 
 
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 = ...
19575
 
        
19576
 
2007-06-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19577
 
 
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
19584
 
        
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.
19591
 
        
19592
 
        * main.cc: Added help message for -i option.
19593
 
        
19594
 
2007-06-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19595
 
 
19596
 
        * src/FileAllocationCommand.cc: Derived from RealtimeCommand.
19597
 
        * src/CheckIntegrityCommand.cc: Derived from RealtimeCommand.
19598
 
        
19599
 
        * src/MetalinkEntry.h
19600
 
        (checksum): Changed to ChecksumHandle
19601
 
        * src/MetalinkRequestInfo.cc
19602
 
        (checksum): Changed to ChecksumHandle
19603
 
 
19604
 
        * src/File.cc
19605
 
        (mkdirs): OPEN_MODE -> DIR_OPEN_MODE
19606
 
        * src/common.h
19607
 
        (DIR_OPEN_MODE): New definition
19608
 
 
19609
 
        * src/RequestGroup.cc
19610
 
        (prepareForNextAction): Added an argument.
19611
 
 
19612
 
        * src/message.h
19613
 
        (MSG_GOOD_CHECKSUM): New definition
19614
 
        (MSG_BAD_CHECKSUM): New definition
19615
 
 
19616
 
        * src/HttpResponseCommand.cc
19617
 
        (handleDefaultEncoding): Continue download sequence in new
19618
 
        non-segmented download.
19619
 
 
19620
 
        * src/FileAllocationEntry.h
19621
 
        (_nextDownloadCommand): New variable.
19622
 
 
19623
 
        * src/DownloadCommand.cc
19624
 
        (prepareForNextSegment): Create ChecksumCommand if checksum is
19625
 
        available.      
19626
 
 
19627
 
        * src/RealtimeCommand.h, src/RealtimeCommand.cc: New class.
19628
 
 
19629
 
        * src/IteratableChecksumValidator.h,
19630
 
        src/IteratableChecksumValidator.cc: New class.
19631
 
 
19632
 
        * src/ChecksumCommand.h, src/ChecksumCommand.cc: New class.
19633
 
        
19634
 
2007-05-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19635
 
 
19636
 
        Change file mode to 666:
19637
 
        * src/common.h (OPEN_MODE): New definition.
19638
 
        * src/File.cc
19639
 
        * src/Util.cc
19640
 
        * src/Directry.cc
19641
 
        * src/AbstractDiskWriter.cc
19642
 
 
19643
 
        Change the level of log message "download aborted" to debug:
19644
 
        * src/PeerAbstractCommand.cc (execute)
19645
 
        
19646
 
        * src/RequestGroup.h (RequestGroup): Initialized _hintTotalLength to 0.
19647
 
 
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.
19652
 
        
19653
 
2007-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19654
 
 
19655
 
        * Added the simultaneous download feature.
19656
 
        * src/main.cc: Print "Exception caught: " when exception is caught.
19657
 
 
19658
 
        Use CUIDCounter instead of BtRuntime::getNewCuid():
19659
 
        * src/ActivePeerConnectionCommand.cc
19660
 
        * src/PeerInteractionCommand.cc
19661
 
        * src/BtRuntime.h
19662
 
        (cuidCounter): Removed.
19663
 
        (getNewCuid): Removed.
19664
 
        * src/DownloadEngineFactory.cc
19665
 
        * src/PeerListenCommand.cc
19666
 
        * src/TrackerUpdateCommand.cc
19667
 
        * src/PeerInitiateConnectionCommand.cc
19668
 
        
19669
 
2007-04-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19670
 
 
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
19689
 
        Peer::addPeer().
19690
 
 
19691
 
2007-04-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19692
 
 
19693
 
        Connect to a peer actively when download speed is lower than specified
19694
 
        speed in torrent download:
19695
 
        * src/ActivePeerConnectionCommand.h: New class.
19696
 
 
19697
 
2007-03-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19698
 
        
19699
 
        * src/HttpRequest.cc (createRequest): url-encode user-agent
19700
 
 
19701
 
        * src/main.cc: Fixed the bug that prevents download if .netrc
19702
 
        doesn't exist.
19703
 
 
19704
 
2007-03-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19705
 
 
19706
 
        To cache resolved hostname:
19707
 
        * src/AbstractCommand.h, src/AbstractCommand.cc
19708
 
        (resolveHostname): Put outside #ifdef ENABLE_ASYNC_DNS clause.
19709
 
        Added dns cache.
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.
19721
 
 
19722
 
        In http request, suppress port number in http request header if port
19723
 
        is 80 or 443:
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.
19727
 
 
19728
 
2007-03-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19729
 
 
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
19736
 
        V_TRUE.
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.
19739
 
        
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
19744
 
        (error): Removed.
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().
19752
 
 
19753
 
        Always include port number in http request header:
19754
 
        * src/HttpRequest.cc (getHostText): Always include port number in
19755
 
        http request header.
19756
 
        
19757
 
2007-03-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19758
 
 
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.
19772
 
        
19773
 
        To disable netrc support if .netrc file does not have correct
19774
 
        permissions:
19775
 
        * src/File.h, src/File.cc (mode): New function.
19776
 
 
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.
19783
 
        
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
19791
 
        object.
19792
 
        
19793
 
        Marged the patches from Dan Fandrich.
19794
 
        
19795
 
2007-03-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19796
 
 
19797
 
        Use filename and size from Metalink file instead of sending HEAD
19798
 
        request:
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.
19809
 
 
19810
 
2007-03-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19811
 
 
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
19815
 
        takes this role.
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.
19833
 
 
19834
 
        Throw exception if --check-integrity=true is specified but chunk
19835
 
        checksums are not provided:
19836
 
        * src/UrlRequestInfo.cc
19837
 
 
19838
 
        Do not print URLs to stdout:
19839
 
        * src/UrlRequestInfo.cc
19840
 
        
19841
 
2007-03-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19842
 
 
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.
19850
 
        
19851
 
2007-03-19  Tatsuhiro Tsujikawa  <tujikawa at valkyrie dot rednoah com>
19852
 
 
19853
 
        To integrate Netrc into exsiting classes:
19854
 
        * src/Request.h
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.
19867
 
        * src/UrlRequest.h
19868
 
        (getHeadResult): Added a parameter: authConfigHandle
19869
 
        * src/common.h
19870
 
        (SingletonHolder.h): New include.
19871
 
        * src/main.cc
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.
19877
 
        * src/prefs.h
19878
 
        (PREF_NETRC_PATH): New definition.
19879
 
        * src/HttpAuthConfig.h: Removed.
19880
 
        * src/Netrc.cc
19881
 
        (getRequiredNextToken): New function.
19882
 
        (skipMacdef): New function.
19883
 
        (parse): Rewritten.
19884
 
        * src/Netrc.h
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().
19894
 
        * src/Request.cc
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.
19905
 
        
19906
 
2007-03-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19907
 
 
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.
19918
 
        (run): Simplified.
19919
 
        (waitData): Call Command::setStatusActive() when command's socket is
19920
 
        readable or writable.
19921
 
 
19922
 
2007-03-15  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19923
 
 
19924
 
        To handle Segment as SegmentHandle:
19925
 
        * src/AbstractCommand.cc (execute): Rewritten.
19926
 
        * src/SegmentMan.h: Segment -> SegmentHandle
19927
 
 
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
19935
 
        HttpRequest class.
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.
19940
 
        
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
19953
 
        : New class.
19954
 
        * src/AbstractProxyResponseCommand.h,
19955
 
        src/AbstractProxyResponseCommand.cc: New class.
19956
 
 
19957
 
        To add netrc support:
19958
 
        * src/Netrc.h, src/Netrc.cc: New class.
19959
 
        * src/Util.h, src/Util.cc (split): New function.
19960
 
        
19961
 
        * src/HttpHeader.cc (getRange): Fixed so that it inspects
19962
 
        "Content-Range" header instead of "Range" header.
19963
 
        * src/HttpHeader.h
19964
 
        (getStatus): Removed.
19965
 
        (setStatus): Removed.
19966
 
 
19967
 
        * src/Segment.h
19968
 
        (getPositionToWrite): New function.
19969
 
        
19970
 
2007-03-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
19971
 
 
19972
 
        * src/HttpHeader.h
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.
19982
 
 
19983
 
        * src/Request.h
19984
 
        (RequestWeakHandle): New definition.
19985
 
 
19986
 
        * src/HttpConnection.h
19987
 
        (HttpConnectionHandle): New type definition.
19988
 
        * src/HttpConnection.cc
19989
 
        (receiveResponse): Set HTTP status to headers.
19990
 
 
19991
 
        * src/main.cc
19992
 
        (showUsage): Fixed typo.
19993
 
 
19994
 
        * src/Segment.h
19995
 
        (SegmentHandle): New type definition.
19996
 
 
19997
 
        * src/BitfieldMan.h
19998
 
        (getMissingUnusedLength): New function.
19999
 
        * src/BitfieldMan.cc
20000
 
        (getMissingUnusedLength): New function.
20001
 
        
20002
 
2007-02-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20003
 
 
20004
 
        To fix static initialization order problem:
20005
 
 
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()
20019
 
        * src/Peer.cc
20020
 
        (Peer): getNewFactory() -> getFactoryInstance()
20021
 
        * src/SegmentMan.cc
20022
 
        (initBitfield): getNewFactory() -> getFactoryInstance()
20023
 
        * src/Piece.cc
20024
 
        (Piece): getNewFactory() -> getFactoryInstance()
20025
 
        
20026
 
2007-02-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20027
 
 
20028
 
        To fix the bug that causes crash on Max OS X:
20029
 
        
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().
20036
 
        
20037
 
        To fix the miscalculation of the range of checksum:
20038
 
        
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.
20046
 
 
20047
 
        * Release 0.10.1
20048
 
        
20049
 
2007-02-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20050
 
 
20051
 
        To lower CPU usage in BitTorrent download when --max-upload-limit
20052
 
        command-line option specified:
20053
 
        
20054
 
        * src/DefaultBtMessageDispatcher.cc
20055
 
        (sendMessages): Calculate uploading speed only when current message
20056
 
        is uploading data and is not sent yet.
20057
 
        
20058
 
        * src/DefaultPeerStorage.h
20059
 
        (MAX_PEER_LIST_SIZE): 100 -> 60, because 60 is well enough.
20060
 
 
20061
 
        * src/HttpResponseCommand.cc
20062
 
        (handleDefaultEncoding): Added the cast to int32_t to itos.
20063
 
        This fixes compile error in Soralis 10.
20064
 
 
20065
 
2007-01-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20066
 
 
20067
 
        To fix segfault in Metalink download:
20068
 
        
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.
20077
 
        
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.
20083
 
        
20084
 
        * src/FtpNegotiateCommand.cc
20085
 
        (executeInternal): Added SEQ_HEAD_OK handling.
20086
 
        (recvSize): In HEAD handling, set sequence to SEQ_HEAD_OK and
20087
 
        return false.
20088
 
        
20089
 
        * src/FtpNegotiateCommand.h
20090
 
        (SEQ_HEAD_OK): New definition.
20091
 
        
20092
 
        * src/SegmentMan.cc
20093
 
        (initBitfield): Delete bitfield.
20094
 
        (isChunkChecksumValidationReady): Fixed the condition.
20095
 
 
20096
 
        * src/UrlRequestInfo.cc: Fixed so that Metalink and Torrent download
20097
 
        works fine.
20098
 
        
20099
 
2007-01-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20100
 
 
20101
 
        * src/Xml2MetalinkProcessor.h
20102
 
        (xpathExists): New function.
20103
 
        * src/Xml2MetalinkProcessor.cc
20104
 
        (xpathExists): New function.
20105
 
 
20106
 
        Not to send HEAD request if filename and size are available in Metalink
20107
 
        file:
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.
20119
 
        
20120
 
        Not to download rest of the files after selected files are downloaded
20121
 
        in BitTorrent:
20122
 
        * src/PieceStorage.h
20123
 
        (allDownloadFinished): New function.
20124
 
        * src/DefaultBtAnnounce.cc
20125
 
        (isCompleteAnnounceReady): Use allDownloadFinished instead of
20126
 
        downloadFinished.
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
20132
 
        isAllBitSet().
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.
20145
 
        (evaluate):
20146
 
        btContext->getTotalLength() -> pieceStorage->getCompletedLength()
20147
 
        * src/BitfieldMan.cc
20148
 
        (isFilteredAllBitSet): New function.
20149
 
        (isAllBitSet): Filter is not took into account.
20150
 
        
20151
 
        Rename --force-truncate as --allow-overwrite:
20152
 
        * src/TorrentRequestInfo.cc
20153
 
        (execute): PREF_FORCE_TRUNCATE -> PREF_ALLOW_OVERWRITE
20154
 
        * src/main.cc
20155
 
        (showUsage): --force-truncate -> --allow-overwrite
20156
 
        * src/message.h
20157
 
        (EX_FILE_ALREADY_EXISTS): --force-truncate -> --allow-overwrite
20158
 
        * src/prefs.h
20159
 
        (PREF_FORCE_TRUNCATE): Removed.
20160
 
        (PREF_ALLOW_OVERWRITE): New definition.
20161
 
        * src/SegmentMan.cc
20162
 
        (shouldCancelDownloadForSafety): --force-truncate -> --allow-overwrite
20163
 
        
20164
 
        * src/MetalinkRequestInfo.cc
20165
 
        (execute): Queueing message are now logged in info level.
20166
 
 
20167
 
        * src/common.h
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
20174
 
        
20175
 
        * src/main.cc
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.
20184
 
 
20185
 
2007-01-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20186
 
 
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
20204
 
 
20205
 
        * src/message.h: Added EX_INVALID_CHUNK_CHECKSUM. Following source
20206
 
        files are affected.
20207
 
        * src/ChunkChecksumValidator.cc
20208
 
        * src/SegmentMan.cc
20209
 
 
20210
 
2007-01-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20211
 
 
20212
 
        To add chunk checksum validation:
20213
 
        * src/MetalinkEntry.h
20214
 
        (MetalinkChunkChecksum.h): New include.
20215
 
        (chunkChecksum): New variable.
20216
 
        * src/Request.h
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.
20233
 
        (ctx): Removed.
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.
20275
 
        * src/BtContext.h
20276
 
        (getPieceHashes): New function.
20277
 
        * src/main.cc
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.
20299
 
        * src/DiskWriter.h
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.
20305
 
        * src/prefs.h
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.
20315
 
        * src/SegmentMan.h
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,
20332
 
        blocks to 0.
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.
20346
 
        * src/Util.h
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.
20372
 
        * src/Util.cc
20373
 
        (sha1Sum): Removed ctx.digestFree()
20374
 
        (fileChecksum): Removed ctx.digestFree()
20375
 
        (indexRange): New function.
20376
 
        * src/Request.cc
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.
20404
 
        (ctx): Removed.
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.
20412
 
        
20413
 
2007-01-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20414
 
 
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.
20419
 
 
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
20430
 
        from Option.
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
20438
 
        dispatcher.
20439
 
        Set messageFactory to receiver.
20440
 
        Set keepAliveInterval and maxDownloadSpeedLimit and messageFactory to
20441
 
        btInteractive.
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
20452
 
        (dispatcher):
20453
 
        BtMessageDispatcherHandle -> BtMessageDispatcherWeakHandle
20454
 
        (messageFactory): New variable.
20455
 
        (setPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle
20456
 
        (getPeerConnection): PeerConnectionHandle -> PeerConnectionWeakHandle
20457
 
        (setDispatcher):
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.
20487
 
        (option): Removed.
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
20500
 
        (dispatcher):
20501
 
        BtMessageDispatcherHandle -> BtMessageReceiverWeakHandle
20502
 
        (btRequestFactory):
20503
 
        BtRequestFactoryHandle -> BtRequestFactoryWeakHandle
20504
 
        (peerConnection):
20505
 
        PeerConnectionHandle -> PeerConnectionWeakHandle
20506
 
        (messageFactory): New variable.
20507
 
        (option): Removed.
20508
 
        (keepAliveInterval): New variable.
20509
 
        (maxDownloadSpeedLimit): New variable.
20510
 
        (DefaultBtInteractive): Added keepAliveInterval, maxDownloadSpeedLimit.
20511
 
        (setBtMessageReceiver):
20512
 
        BtMessageReceiverHandle -> BtMessageReceiverWeakHandle
20513
 
        (setDispatcher):
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.
20550
 
        * src/BtRegistry.h
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.
20598
 
        * src/PeerObject.h
20599
 
        (BtMessageReceiver.h): New include.
20600
 
        (PeerObject): Added btMessageReceiver.
20601
 
        (btMessageReceiver): New variable.
20602
 
        * src/Util.cc
20603
 
        (countBit): Simplified.
20604
 
        * src/BtCancelMessage.cc
20605
 
        (doReceivedAction): Use dispatcher member.
20606
 
        * src/BtRequestFactory.h
20607
 
        (BtRequestFactoryWeakHandle): New type definition.
20608
 
        
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
20614
 
        
20615
 
2007-01-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20616
 
 
20617
 
        To add RecoverableException, FatalException:
20618
 
        
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.
20643
 
        
20644
 
        To make ID static const int
20645
 
 
20646
 
        * src/BtInterestedMessage.h
20647
 
        (ID_t): Removed.
20648
 
        (ID): New variable.
20649
 
        (getId): Made non-const.
20650
 
        * src/BtPieceMessage.h
20651
 
        (ID_t): Removed.
20652
 
        (ID): New variable.
20653
 
        (getId): Made non-const.
20654
 
        * src/BtChokeMessage.h
20655
 
        (ID_t): Removed.
20656
 
        (ID): New variable.
20657
 
        (getId): Made non-const.
20658
 
        * src/BtHaveAllMessage.h
20659
 
        (ID_t): Removed.
20660
 
        (ID): New variable.
20661
 
        (getId): Made non-const.
20662
 
        * src/BtKeepAliveMessage.h
20663
 
        (ID_t): Removed.
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
20670
 
        (ID_t): Removed.
20671
 
        (ID): New variable.
20672
 
        (getId): Made non-const.
20673
 
        * src/BtPortMessage.h
20674
 
        (ID_t): Removed.
20675
 
        (ID): New variable.
20676
 
        (getId): Made non-const.
20677
 
        * src/AbstractBtMessage.h
20678
 
        (id): Removed.
20679
 
        (AbstractBtMessage): Removed id.
20680
 
        (getId): Removed.
20681
 
        * src/BtHaveMessage.h
20682
 
        (ID_t): Removed.
20683
 
        (ID): New variable.
20684
 
        (getId): Made non-const.
20685
 
        * src/BtAllowedFastMessage.h
20686
 
        (ID_t): Removed.
20687
 
        (ID): New variable.
20688
 
        (getId): Made non-const.
20689
 
        * src/BtCancelMessage.h
20690
 
        (ID_t): Removed.
20691
 
        (ID): New variable.
20692
 
        (getId): Made non-const.
20693
 
        * src/BtNotInterestedMessage.h
20694
 
        (ID_t): Removed.
20695
 
        (ID): New variable.
20696
 
        (getId): Made non-const.
20697
 
        * src/BtChokeMessage.h
20698
 
        (ID_t): Removed.
20699
 
        (ID): New variable.
20700
 
        (getId): Made non-const.
20701
 
        * src/BtRejectMessage.h
20702
 
        (ID_t): Removed.
20703
 
        (ID): New variable.
20704
 
        (getId): Made non-const.
20705
 
        * src/BtBitfieldMessage.h
20706
 
        (ID_t): Removed.
20707
 
        (ID): New variable.
20708
 
        (getId): Made non-const.
20709
 
        * src/BtUnchokeMessage.h
20710
 
        (ID_t): Removed.
20711
 
        (ID): New variable.
20712
 
        (getId): Made non-const.
20713
 
        * src/BtRequestMessage.h
20714
 
        (ID_t): Removed.
20715
 
        (ID): New variable.
20716
 
        (getId): Made non-const.
20717
 
        * src/BtHaveMessage.h
20718
 
        (ID_t): Removed.
20719
 
        (ID): New variable.
20720
 
        (getId): Made non-const.
20721
 
 
20722
 
        To add --force-truncate command-line option and a check whether
20723
 
        the file already exists:
20724
 
        
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.
20742
 
        * src/main.cc
20743
 
        (showUsage): Added an explanation of --force-truncate command-line
20744
 
        option.
20745
 
        (main): Added --force-truncate command-line option.
20746
 
        * src/Exception.h
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.
20754
 
        * src/message.h
20755
 
        (EX_FILE_ALREADY_EXISTS): New definition.
20756
 
        * src/prefs.h
20757
 
        (PREF_FOECE_TRUNCATE): New definition.
20758
 
        * src/HttpResponseCommand.cc
20759
 
        (handleDefaultEncoding): Added a check whether the file already exists.
20760
 
        * src/SegmentMan.h
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.
20774
 
 
20775
 
        To fix regression bug in torrent downloading:
20776
 
        
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
20783
 
        fast set.
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.
20793
 
 
20794
 
        To clean up code:
20795
 
        
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.
20801
 
 
20802
 
        * src/RequestSlot.cc
20803
 
        (isTimeout): Use Time::elapsed() instead of differenceInMillis().
20804
 
 
20805
 
        * src/BtPieceMessage.cc
20806
 
        (doReceivedAction): Added a debug log of piece's bitfield.
20807
 
        * src/Piece.h
20808
 
        (getBitfieldLength): New function.
20809
 
 
20810
 
        * src/ByteArrayDiskWriter.cc
20811
 
        (clear): Added buf = 0 to avoid double free corruption.
20812
 
 
20813
 
        * src/FileAllocator.cc
20814
 
        (allocate): Fixed an assignment of fileAllocationMonitor->currentValue.
20815
 
        Added cp.reset().
20816
 
 
20817
 
        * src/BitfieldMan.h
20818
 
        (operator=): Rewritten.
20819
 
        * src/BitfieldMan.cc
20820
 
        (BitfieldMan): Initialized bitfield, useBitfield.
20821
 
        
20822
 
        * src/PeerConnection.cc
20823
 
        (receiveMessage): Added a call to socket->readable() after getting
20824
 
        message length to avoid possible EOF.
20825
 
 
20826
 
        * src/Util.cc
20827
 
        (torrentUrlencode): Fixed an encodeing bug. BUG#1629912
20828
 
        
20829
 
2007-01-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20830
 
 
20831
 
        To add an ability to pre-allocate file space:
20832
 
        
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.
20866
 
        * src/main.cc
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.
20896
 
        * src/DiskWriter.h
20897
 
        (initAndOpenFile): Added totalLength argument.
20898
 
        (openFile): Added totalLength argument.
20899
 
        * src/prefs.h
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
20905
 
        size.
20906
 
        * src/FtpNegotiateCommand.cc
20907
 
        (Util.h): New include.
20908
 
        (recvSize): Open file here.
20909
 
        * src/Util.h
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.
20920
 
        * src/Util.cc
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
20943
 
        explicitly.
20944
 
        (openExistingFile): Added totalLength argument. Added virtual keyword
20945
 
        explicitly.
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.
20956
 
 
20957
 
        To compile aria2 on PC-BSD:
20958
 
        
20959
 
        * src/DefaultBtContext.cc
20960
 
        (libgen.h): New include.
20961
 
        
20962
 
        To fix memory leak:
20963
 
        
20964
 
        * src/Exception.h
20965
 
        (~Exception): Delete cause. Fixed memory leak.
20966
 
        
20967
 
2006-12-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
20968
 
 
20969
 
        Rewritten a portion of bittorrent implementation:
20970
 
        
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.
21046
 
 
21047
 
2006-12-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21048
 
 
21049
 
        To know root cause of exception:
21050
 
        
21051
 
        * src/Exception.h
21052
 
        (cause): New variable.
21053
 
        (Exception): Added a parameter.
21054
 
        (getMsg): Return const reference to msg.
21055
 
        (getCause): New function.
21056
 
        * src/DlRetryEx.h
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.
21063
 
 
21064
 
2006-11-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21065
 
 
21066
 
        * src/DefaultBtProgressInfoFile.cc
21067
 
        (load): Fixed memory leak when the infohash doesn't match.
21068
 
 
21069
 
2006-11-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21070
 
 
21071
 
        * src/DefaultPeerStorage.cc
21072
 
        (calculateStat): Simplified the code by combining 2 loops into 1.
21073
 
 
21074
 
2006-11-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21075
 
 
21076
 
        Introduce new preference PREF_BT_TIMEOUT. This is the timeout value
21077
 
        for BitTorrent download:
21078
 
 
21079
 
        * src/PeerAbstractCommand.cc
21080
 
        (PeerAbstractCommand): PREF_TIMEOUT -> PREF_BT_TIMEOUT
21081
 
        * src/main.cc: 
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
21088
 
        timeout value.
21089
 
        * src/prefs.h
21090
 
        (PREF_BT_TIMEOUT): New definition.
21091
 
        
21092
 
        Delete unused variables:
21093
 
        
21094
 
        * src/TorrentRequestInfo.cc
21095
 
        (requestInfo): Removed.
21096
 
 
21097
 
        Move setSignalHander to Util::setGlobalSignalHandler:
21098
 
 
21099
 
        * src/TorrentRequestInfo.cc:
21100
 
        setSignalHander -> Util::setGlobalSignalHandler
21101
 
        * src/main.cc
21102
 
        (setSignalHander): Removed.
21103
 
        (main): setSignalHander -> Util::setGlobalSignalHandler
21104
 
        * src/Util.h
21105
 
        (setGlobalSignalHandler): New function.
21106
 
        * src/Util.cc
21107
 
        (setGlobalSignalHandler): New function.
21108
 
        * src/UrlRequestInfo.cc:
21109
 
        setSignalHander -> Util::setGlobalSignalHandler
21110
 
 
21111
 
        Reset peer status in order to exit gracefully:
21112
 
 
21113
 
        * src/PeerAbstractCommand.cc
21114
 
        (execute): Call peer->resetStatus() when btRuntime->isHalt() is true.
21115
 
 
21116
 
        To fix the bug that causes the number of bytes uploaded is not saved
21117
 
        to .aria2 file:
21118
 
 
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).
21131
 
        
21132
 
2006-11-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21133
 
 
21134
 
        To add Metalink location option:
21135
 
        
21136
 
        * src/MetalinkRequestInfo.cc
21137
 
        (execute): Call MetalinkEntry::setLocationPreference()
21138
 
        * src/main.cc
21139
 
        (showUsage): Added the help message for --metalink-location option.
21140
 
        (main): Added --metalink-location option.
21141
 
        * src/prefs.h
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
21148
 
 
21149
 
        To show URLs to download
21150
 
 
21151
 
        * src/UrlRequestInfo.h
21152
 
        (printUrls): New function.
21153
 
 
21154
 
        To add multiple <file> Metalink support:
21155
 
 
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.
21203
 
        * src/Metalinker.h
21204
 
        (MetalinkEntries): Removed.
21205
 
        (queryEntry): MetalinkEntry* -> MetalinkEntries
21206
 
        * src/MetalinkProcessor.h
21207
 
        (parseFile): Metalinker* -> MetalinkerHandle
21208
 
        
21209
 
        Bug fixes:
21210
 
 
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
21226
 
        cached PeerStat.
21227
 
        
21228
 
        The value of "name" entry in torrent file is now set by
21229
 
        *DiskAdaptor::setTopDir(...) methods.
21230
 
        
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,
21240
 
        CopyDiskAdaptor.
21241
 
        * src/CopyDiskAdaptor.h
21242
 
        (topDir): New variable.
21243
 
        (setTopDir): New function.
21244
 
        (getTopDir): New function.
21245
 
        * src/CopyDiskAdaptor.cc
21246
 
        (fixFilename): Updated.
21247
 
        
21248
 
        Misc
21249
 
 
21250
 
        * src/UrlRequestInfo.h
21251
 
        (e): Removed.
21252
 
        (UrlRequestInfo): Removed e.
21253
 
        (getDownloadEngine): Removed.
21254
 
        * src/UrlRequestInfo.cc
21255
 
        (handler): Rewritten.
21256
 
        (printUrls): New function.
21257
 
        (execute): Call printUrls().
21258
 
        
21259
 
        * src/HandshakeMessage.cc
21260
 
        (check): peerinteraction->getBtContext() -> btContext
21261
 
 
21262
 
        * src/PeerInteraction.h
21263
 
        (getBtContext): Removed.
21264
 
 
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.
21275
 
        
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.
21284
 
 
21285
 
        * src/main.cc
21286
 
        (requestInfo): Removed.
21287
 
 
21288
 
        * src/SegmentMan.cc
21289
 
        (findSlowerSegmentEntry): Refactored.
21290
 
 
21291
 
        * Release 0.9.0
21292
 
        
21293
 
2006-11-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21294
 
 
21295
 
        To divide TorrentMan into 6 classes: BtContext, BtRuntime,
21296
 
        PeerStorage, PieceStorage, BtAnnounce and BtProgressInfoFile
21297
 
 
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,
21321
 
        btRuntime.
21322
 
        * src/DefaultBtProgressInfoFile.h: New file.
21323
 
        * src/DefaultBtProgressInfoFile.cc: New file.
21324
 
        * src/File.cc
21325
 
        (Util.h): New include.
21326
 
        (mkdirs): New function.
21327
 
        * src/MultiDiskAdaptor.h
21328
 
        (mkdir): New function.
21329
 
        * src/PeerListProcessor.h
21330
 
        (Peers): Removed.
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,
21340
 
        btAnnounce.
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,
21354
 
        pieceStorage.
21355
 
        * src/TorrentAutoSaveCommand.h: Made subclass of BtContextAwareCommand.
21356
 
        * src/DiskAdaptor.h
21357
 
        (topDir): Removed.
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.
21377
 
        * src/Piece.h
21378
 
        (toString): New function.
21379
 
        (Pieces): New type definition.
21380
 
        * src/Peer.h
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.
21396
 
        * src/Directry.h
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.
21437
 
        * src/Util.h
21438
 
        (slice): Added an argument.
21439
 
        * src/Util.cc
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
21448
 
        (e): Removed.
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,
21458
 
        btAnnounce.
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.
21475
 
        * src/Directry.cc
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.
21483
 
        
21484
 
        To fix typo:
21485
 
        
21486
 
        * src/main.cc (showVersion): Fixed typo.
21487
 
 
21488
 
        To fix compile warning:
21489
 
        
21490
 
        * src/DelegatingPeerListProcessor.cc
21491
 
        (canHandle): Added "return false".
21492
 
        
21493
 
2006-10-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21494
 
 
21495
 
        To simplify TrackerWatherCommand, TrackerUpdateCommand and
21496
 
        make the process of announce request testable.
21497
 
        
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
21526
 
        * src/TorrentMan.h
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.
21550
 
        
21551
 
2006-10-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21552
 
 
21553
 
        Request -> RequestHandle:
21554
 
        
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
21588
 
        * src/Request.h
21589
 
        (SharedHandle.h): New include.
21590
 
        (RequestHandle): New type definition.
21591
 
        (Requests): Redefined.
21592
 
        
21593
 
        To add MULTITRACKER support:
21594
 
 
21595
 
        * src/TrackerWatcherCommand.h
21596
 
        (createRequestCommand): New function.
21597
 
        * src/DownloadEngineFactory.cc
21598
 
        (newTorrentConsoleEngine): Removed req.
21599
 
        * src/prefs.h
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.
21608
 
        * src/main.cc
21609
 
        (main): Added PREF_TRACKER_MAX_TRIES.
21610
 
        * src/TorrentMan.h
21611
 
        (Request.h): Removed.
21612
 
        (AnnounceList.h): New include.
21613
 
        (trackerNumTry): New variable.
21614
 
        (req): Removed.
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.
21623
 
        
21624
 
        To fix typo:
21625
 
 
21626
 
        * src/prefs.h
21627
 
        (PREF_MAX_TRIES): max_try->max_tries
21628
 
 
21629
 
        To not to decode "+" as space in URL decode:
21630
 
 
21631
 
        * src/Util.cc
21632
 
        (urldecode): Removed "+"->space decoding rule. Test case was updated.
21633
 
        
21634
 
2006-10-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21635
 
 
21636
 
        To add timeout to async name resolution:
21637
 
 
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.
21656
 
        * src/prefs.h
21657
 
        (PREF_DNS_TIMEOUT): New definition.
21658
 
        * src/main.cc
21659
 
        (main): Added PREF_DNS_TIMEOUT.
21660
 
 
21661
 
        To add the support for a non-compact response from a tracker:
21662
 
 
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.
21673
 
        * src/TorrentMan.h
21674
 
        (PeerListProcessor.h): Included.
21675
 
        (Peers): Removed.
21676
 
        (addPeer): New function(overload).
21677
 
        * src/TrackerUpdateCommand.cc
21678
 
        (netinet/in.h): Removed.
21679
 
        (DelegatingPeerListProcessor.h): Included.
21680
 
        (execute): Updated to use DelegatingPeerListProcessor.
21681
 
        
21682
 
        To fix the memory leak in TorrentMan::peers:
21683
 
 
21684
 
        * src/PeerAbstractCommand.cc
21685
 
        (onAbort): Added peer->resetStatus().
21686
 
        * src/Peer.h
21687
 
        (resetStatus): Made public.
21688
 
        
21689
 
        To improve the precision of the speed calculation:
21690
 
 
21691
 
        * src/SpeedCalc.h
21692
 
        (nextInterval): New variable.
21693
 
        * src/SpeedCalc.cc
21694
 
        (reset): Added nextInterval.
21695
 
        (isIntervalOver): Use nextInterval instead of CHANGE_INTERVAL_SEC.
21696
 
        (changeSw): Set nextInterval to 15 seconds relative to the current
21697
 
        instant time.
21698
 
 
21699
 
        * src/main.cc
21700
 
        (showVersion): Updated.
21701
 
        (showUsage): Updated.
21702
 
 
21703
 
        * Release 0.8.1
21704
 
        
21705
 
2006-09-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21706
 
 
21707
 
        * src/main.cc
21708
 
        (showUsage): Commented out --min-segment-size option.
21709
 
        (main): Commented out --min-segment-size option.
21710
 
 
21711
 
        * Release 0.8.0
21712
 
        
21713
 
2006-09-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21714
 
 
21715
 
        * src/*.{h,cc}:
21716
 
        Added an exception to the license which allows linking with OpenSSL.
21717
 
 
21718
 
2006-09-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21719
 
 
21720
 
        * src/AbstractCommand.cc
21721
 
        (execute): Check whether the download has finished before checking
21722
 
        socket status.
21723
 
        Return true if peerStat->getStatus() == REQUEST_IDLE.
21724
 
        Do not exit even if no segment is available.
21725
 
 
21726
 
        * src/prefs.h
21727
 
        (PREF_STARTUP_IDLE_TIME): New definition.
21728
 
 
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.
21734
 
 
21735
 
        * src/SpeedCalc.h
21736
 
        (start): New variable.
21737
 
        (accumulatedLength): New variable.
21738
 
        (getAvgSpeed): New function.
21739
 
        * src/SpeedCalc.cc
21740
 
        (reset): Added start, accumulatedLength.
21741
 
        (update): Added calculation of an average speed.
21742
 
        (getAvgSpeed): New function.
21743
 
 
21744
 
        * src/DownloadCommand.h
21745
 
        (sw): Removed.
21746
 
 
21747
 
        * src/main.cc
21748
 
        (main): Added PREF_STARTUP_IDLE_TIME.
21749
 
 
21750
 
        * src/PeerStat.h
21751
 
        (STATUS): Added REQUEST_IDLE.
21752
 
        (getMaxSpeed): Renamed as getMaxDownloadSpeed().
21753
 
        (getAvgDownloadSpeed): New function
21754
 
        (requestIdle): New function.
21755
 
 
21756
 
        * src/SegmentMan.h
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
21764
 
        SegmentEntries.
21765
 
        (FindSegmentEntryByCuid): Updated according to the changes in
21766
 
        SegmentEntries.
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
21773
 
        one takes it over.
21774
 
        (cancelSegment): Updated according to the changes in SegmentEntries.
21775
 
        (getDownloadLength): Updated according to the changes in
21776
 
        SegmentEntries.
21777
 
        (init): Assigned 0 to bitfield after deleting it.
21778
 
        
21779
 
        * src/DownloadCommand.cc
21780
 
        (STARTUP_IDLE_TIME): Removed.
21781
 
        (executeInternal): Use PREF_STARTUP_IDLE_TIME.
21782
 
 
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.
21793
 
 
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().
21800
 
 
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.
21805
 
 
21806
 
        * src/UrlRequestInfo.h
21807
 
        (UrlRequestInfo): Removed const qualifier from option.
21808
 
 
21809
 
        * src/TorrentMan.h
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.
21825
 
 
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().
21838
 
 
21839
 
        * src/PeerAbstractCommand.cc
21840
 
        (execute): Commented out the portion of upload limit.
21841
 
        (onAbort): Removed peer->resetStatus().
21842
 
 
21843
 
        * src/TorrentRequestInfo.cc
21844
 
        (timeoutSpecified): Declared extern.
21845
 
        (execute): Set timeout to 180 if timeout is not specified by.
21846
 
        command-line.
21847
 
 
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().
21855
 
 
21856
 
        * src/main.cc
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.
21862
 
 
21863
 
        * src/TorrentRequestInfo.h
21864
 
        (TorrentRequestInfo): Removed const qualifier from op.
21865
 
 
21866
 
        * src/PeerStat.h
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.
21874
 
 
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.
21892
 
 
21893
 
        * src/Peer.h
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.
21925
 
        
21926
 
        * src/Peer.cc
21927
 
        (resetStatus): Removed resetDeltaUpload() and resetDeltaDownload().
21928
 
        
21929
 
        * src/MetalinkRequestInfo.h
21930
 
        (MetalinkRequestInfo): Removed const qualifier from op.
21931
 
 
21932
 
        * src/RequestInfo.h
21933
 
        (op): Removed const qualifier.
21934
 
        (RequestInfo): Removed const qualifier from op.
21935
 
 
21936
 
        * src/prefs.h
21937
 
        (PREF_MAX_SPEED_LIMIT): Renamed as PREF_MAX_DOWNLOAD_LIMIT.
21938
 
        (PREF_UPLOAD_LIMIT): Renamed as PREF_MAX_UPLOAD_LIMIT.
21939
 
 
21940
 
        * src/PeerInteractionCommand.cc
21941
 
        (PeerInteractionCommand): Use PREF_MAX_UPLOAD_LIMIT.
21942
 
        (receiveMessages): Use PREF_MAX_DOWNLOAD_LIMIT.
21943
 
 
21944
 
        * src/PeerInteraction.cc
21945
 
        (sendMessages): Use PREF_MAX_UPLOAD_LIMIT.
21946
 
 
21947
 
        * src/main.cc
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.
21955
 
 
21956
 
        * src/DownloadCommand.cc
21957
 
        (executeInternal): Use PREF_MAX_DOWNLOAD_LIMIT.
21958
 
        
21959
 
2006-09-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
21960
 
 
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.
21973
 
        * src/Request.h
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.
21979
 
        * src/pref.h
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.
21987
 
        * src/SegmentMan.h
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
22031
 
        function.
22032
 
        * src/main.cc
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.
22040
 
        (save): Rewritten.
22041
 
        (read): 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.
22061
 
        * src/Request.cc
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.
22073
 
        
22074
 
        To add HTTP 1.1 persistent connection support(experimental)
22075
 
        * src/HttpRequestCommand.cc
22076
 
        (executeInternal): Disable keep alive if it is disabled by
22077
 
        configuration.
22078
 
        * src/Request.h
22079
 
        (keepAlive): New variable.
22080
 
        (isKeepAlive): New function.
22081
 
        (setKeepAlive): New function.
22082
 
        * src/pref.h
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
22088
 
        disabled.
22089
 
        * src/main.cc
22090
 
        (main):
22091
 
        Set the initial value(false) of PREF_KEEP_ALIVE to false.
22092
 
 
22093
 
        To add max download speed limit:
22094
 
        * src/pref.h
22095
 
        (PREF_MAX_SPEED_LIMIT): New definition.
22096
 
        * src/PeerInteractionCommand.cc
22097
 
        (executeInternal): Added max download speed limit. Not tested yet.
22098
 
        * src/SegmentMan.h
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.
22107
 
        * src/main.cc
22108
 
        (main):
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->
22118
 
        downloadStart.
22119
 
        (~DownloadCommand): Call peerStat->downloadStop.
22120
 
        (executeInternal): Added download speed limitter. Rewritten lowest
22121
 
        speed limitter.
22122
 
 
22123
 
        * src/HttpConnection.cc
22124
 
        (receiveResponse): Fixed: eohIndex[headerBuf] -> headerBuf[eohIndex].
22125
 
        
22126
 
        * src/AbstractCommand.cc
22127
 
        (resolveHostname): Throw DlAbortEx if a name resolution failes.
22128
 
        Added hostname to the error message.
22129
 
        
22130
 
        * src/ConsoleDownloadEngine.cc
22131
 
        (calculateStatistics): Initialize psize with dlSize.
22132
 
 
22133
 
        * src/PieceMessage.cc
22134
 
        (receivedAction): Do not call peerInteraction->abortPiece here.
22135
 
        (onGotWrongPiece): Call peerInteraction->abortPiece here.
22136
 
 
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.
22144
 
        * src/Piece.cc
22145
 
        (clearAllBlock): Call bitfield->clearAllUseBit().
22146
 
 
22147
 
2006-08-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22148
 
 
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.
22157
 
 
22158
 
        To fix a bug that caused assertion failure in ares_strerror:
22159
 
        * src/NameResolver.cc (callback): Fixed the bug.
22160
 
 
22161
 
        * Release 0.7.3
22162
 
        
22163
 
2006-08-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22164
 
 
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.
22180
 
        * src/prefs.h
22181
 
        (PREF_SEED_TIME): New definition.
22182
 
        (PREF_SEED_RATIO): New definition.
22183
 
        * src/main.cc
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
22191
 
        subclasses.
22192
 
        (getRefCount): New function.
22193
 
        
22194
 
        To add notice log level and the switch to write log to stdout. This
22195
 
        switch is configurable per log level.
22196
 
        * src/Logger.h
22197
 
        (notice): New function.
22198
 
        (LEVEL): Added NOTICE. Assigned an explicit value to each log level
22199
 
        constant.
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.
22203
 
        * src/NullLogger.h
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.
22226
 
 
22227
 
        * src/TorrentMan.h: Updated doc.
22228
 
 
22229
 
        * src/BitfieldMan.h: Updated doc.
22230
 
        
22231
 
        * src/TrackerWatcherCommand.cc
22232
 
        (execute): Return true if error occurred in the request to the tracker
22233
 
        and halt is requested.
22234
 
 
22235
 
        * src/TrackerUpdateCommand.cc
22236
 
        (execute): Return true if error occurred in the request to the tracker
22237
 
        and halt is requested.
22238
 
 
22239
 
        To call onDownloadComplete from TorrentMan::completePiece(), not from
22240
 
        DownloadEngine:
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.
22255
 
 
22256
 
2006-08-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22257
 
 
22258
 
        To fix compilation problem on gcc4.1.1(patch#1542283 by tizianomueller)
22259
 
        * src/NameResolver.h: Added the prototype declaration of callback().
22260
 
        
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     
22280
 
 
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.
22284
 
 
22285
 
        * Release 0.7.2
22286
 
        
22287
 
2006-08-14  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22288
 
 
22289
 
        * src/main.cc
22290
 
        (main): Added a message to inform users that aria2 is starting to
22291
 
        verify checksum.
22292
 
        * src/RequestInfo.cc
22293
 
        (printDownloadAbortMessage): Added a message to inform users that
22294
 
        transfer can be resumed.
22295
 
 
22296
 
        * src/FeatureConfig.cc
22297
 
        (FEATURE_ASYNC_DNS): New definition.
22298
 
        (FeatureConfig): Added aysnc DNS entry.
22299
 
 
22300
 
        To replace CommandUuid with Command* in SocketEntry and
22301
 
        NameResolverEntry:
22302
 
        
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
22334
 
        DownloadEngine.
22335
 
        (setReadCheckSocket): Updated according to the changes in
22336
 
        DownloadEngine.
22337
 
        (disableWriteCheckSocket): Updated according to the changes in
22338
 
        DownloadEngine.
22339
 
        (setWriteCheckSocket): Updated according to the changes in
22340
 
        DownloadEngine.
22341
 
        (setNameResolverCheck): Updated according to the changes in
22342
 
        DownloadEngine.
22343
 
        (disableNameResolverCheck): Updated according to the changes in
22344
 
        DownloadEngine.
22345
 
        * src/AbstractCommand.cc
22346
 
        (disableReadCheckSocket): Updated according to the changes in
22347
 
        DownloadEngine.
22348
 
        (setReadCheckSocket): Updated according to the changes in
22349
 
        DownloadEngine.
22350
 
        (disableWriteCheckSocket): Updated according to the changes in
22351
 
        DownloadEngine.
22352
 
        (setWriteCheckSocket): Updated according to the changes in
22353
 
        DownloadEngine.
22354
 
 
22355
 
        * release 0.7.1
22356
 
        
22357
 
2006-08-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22358
 
 
22359
 
        To handle the case where some BitTorrent tracker requires all letters
22360
 
        except for [A-Za-z0-9] is URL encoded.
22361
 
        
22362
 
        * src/Util.h
22363
 
        (torrentUrlencode): New function.
22364
 
        * src/Util.cc
22365
 
        (ctype.h): Included.
22366
 
        (torrentUrlencode): New function.
22367
 
        * src/TrackerWatcherCommand.cc
22368
 
        (execute): Use Util::torrentUrlencode() instead of Util::urlencode().
22369
 
        
22370
 
2006-08-11  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22371
 
 
22372
 
        To add asynchronous DNS support(libares):
22373
 
 
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.
22401
 
        * src/Util.h:
22402
 
        (isNumberAndDotsNotation): New function
22403
 
        * src/Util.cc
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.
22419
 
        
22420
 
        * src/PeerInteractionCommand.cc
22421
 
        (executeInternal): Fixed wrong socket handling.
22422
 
 
22423
 
        * src/main.cc
22424
 
        (main): Fixed the initial value of PREF_LOWEST_SPEED_LIMIT option to 0.
22425
 
 
22426
 
        * src/Util.cc
22427
 
        (fileChecksum): Removed the call to ctx.digestReset().
22428
 
        
22429
 
2006-08-08  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22430
 
 
22431
 
        * po/ru.po: Azamat sent me Russian translation.
22432
 
        
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.
22437
 
        
22438
 
        Rename Time.h to TimeA2.h to avoid compilation ploblem on
22439
 
        case-insesitive filesystem(BUG#1531057).
22440
 
 
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.
22458
 
 
22459
 
        * release 0.7.0
22460
 
        
22461
 
2006-08-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22462
 
 
22463
 
        * src/PeerChokeCommand.h
22464
 
        (PeerChokeCommand): Rearranged the arguments.
22465
 
        * src/PeerChokeCommand.cc
22466
 
        (PeerChokeCommand): Rearranged the arguments.
22467
 
 
22468
 
        * src/MetalinkEntry.h
22469
 
        (Checksum.h): Included.
22470
 
        (md5): Removed.
22471
 
        (sha1): Removed.
22472
 
        (checksum): New variable.
22473
 
        (operator=): Updated.
22474
 
        (check): Removed.
22475
 
 
22476
 
        * src/prefs.h
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.
22481
 
 
22482
 
        * src/MetalinkResource.h
22483
 
        (TYPE_HTTPS): Added to enum TYPE.
22484
 
 
22485
 
        * src/TorrentMan.cc
22486
 
        (~TorrentMan): Rewritten.
22487
 
 
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.
22495
 
 
22496
 
        * src/Util.h
22497
 
        (fileChecksum): Updated according to the changes in
22498
 
        MessageDigestContext.
22499
 
        * src/Util.cc
22500
 
        (sha1Sum): Updated according to the changes in MessageDigestContext.
22501
 
        (fileChecksum): Updated according to the changes in
22502
 
        MessageDigestContext.
22503
 
 
22504
 
        * src/messageDigest.h: Rewritten.
22505
 
 
22506
 
        * src/MetalinkEntry.cc
22507
 
        (check): Removed.
22508
 
        (Supported): Updated.
22509
 
        (dropUnsupportedResource): Fixed a memory leak.
22510
 
 
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.
22516
 
 
22517
 
        * src/main.cc
22518
 
        (main): Rewritten the portion of download loop. --lowest-speed-limit
22519
 
        command-line option added.
22520
 
 
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.
22541
 
        
22542
 
        * src/Xml2MetalinkProcessor.cc
22543
 
        (getEntry): Rewritten the portion of MetalinkEntry creation.
22544
 
 
22545
 
        * src/DownloadCommand.cc
22546
 
        (executeInternal): Added the check routine for lowest speed limit.
22547
 
 
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.
22554
 
 
22555
 
        * src/RequestInfo.h: New class.
22556
 
 
22557
 
        * src/UrlRequestInfo.h: New class.
22558
 
        * src/UrlRequestInfo.cc: New class.
22559
 
 
22560
 
        * src/TorrentRequestInfo.h: New class.
22561
 
        * src/TorrentRequestInfo.cc: New class.
22562
 
 
22563
 
        * src/MetalinkRequestInfo.h: New class.
22564
 
        * src/MetalinkRequestInfo.cc: New class.
22565
 
 
22566
 
        * src/Checksum.h: New class.
22567
 
 
22568
 
        * src/DownloadEngineFactory.h: New class.
22569
 
        * src/DownloadEngineFactory.cc: New class.
22570
 
        
22571
 
2006-08-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22572
 
 
22573
 
        * src/Option.h
22574
 
        (getAsBool): New function.
22575
 
        * src/Option.cc
22576
 
        (prefs.h): Included.
22577
 
        (defined): 0-length value is now recognized as undefined.
22578
 
        (getAsInt): Rewritten.
22579
 
        (getAsLLInt): Rewritten.
22580
 
        (getAsBool): New function.
22581
 
        
22582
 
        * src/FeatureConfig.h: Rewritten.
22583
 
        * src/FeatureConfig.cc: Rewritten.
22584
 
 
22585
 
        * src/prefs.h
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.
22600
 
 
22601
 
        * src/main.cc
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
22606
 
        
22607
 
        To fix the bug that aria2 can not handle http response header properly.
22608
 
        
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.
22616
 
 
22617
 
2006-07-30  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22618
 
 
22619
 
        * src/TorrentMan.h:
22620
 
        (advertisePiece): Updated doc.
22621
 
        (getAdvertisedPieceIndexes): Updated doc.
22622
 
        (removeAdvertisedPiece); New function.
22623
 
        
22624
 
        * src/TorrentMan.cc
22625
 
        (FindElapsedHave): New function object.
22626
 
        (removeAdvertisedPiece): New function.
22627
 
 
22628
 
        * src/HaveEraseCommand.h: New class.
22629
 
        * src/HaveEraseCommand.cc: New class.
22630
 
 
22631
 
        * src/FeatureConfig.h: New class.
22632
 
        * src/FeatureConfig.cc: New class.
22633
 
        
22634
 
        * src/Request.h
22635
 
        (defaultPorts): Removed.
22636
 
        * src/Request.cc
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.
22641
 
        
22642
 
        * src/main.cc
22643
 
        (HaveEraseCommand.h): Included.
22644
 
        (showVersion): Added the output of feature list.
22645
 
        (main): Added HaveEraseCommand to command queue in BitTorrent
22646
 
        downloading.
22647
 
        
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.
22657
 
 
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.
22668
 
        
22669
 
2006-07-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22670
 
 
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.
22683
 
        
22684
 
        * src/PeerMessage.cc
22685
 
        (PeerMessage): Added the initialization for invalidate and uploading.
22686
 
        
22687
 
        * src/CancelMessage.h
22688
 
        (CancelMessage): Rewritten.
22689
 
 
22690
 
        * src/RejectMessage.h
22691
 
        (RejectMessage): Rewritten.
22692
 
 
22693
 
        * src/Metalinker.h
22694
 
        (operator=): Defined.
22695
 
        
22696
 
        * src/MetaEntry.h
22697
 
        (operator=): Defined.
22698
 
 
22699
 
        * src/MetalinkResource.h
22700
 
        (operator=): Defined.
22701
 
        
22702
 
        * src/AllowedFastMessage.h
22703
 
        (AllowedFastMessage): Rewritten.
22704
 
 
22705
 
        * src/HandshakeMessage.h
22706
 
        (HandshakeMessage): New function(overload).
22707
 
        
22708
 
        * src/HandshakeMessage.cc
22709
 
        (HandshakeMessage): Rewritten.
22710
 
        (init): New function.
22711
 
 
22712
 
        * src/HaveMessage.h
22713
 
        (HaveMessage): Rewritten.
22714
 
        
22715
 
        * src/Time.h
22716
 
        (operator=): Defined the function body here.
22717
 
        * src/Time.cc
22718
 
        (operator=): Removed.
22719
 
        
22720
 
        * src/SocketCore.h
22721
 
        (operator==): Defined here.
22722
 
        (operator!=): Defined here.
22723
 
        (operator<): Defined here.
22724
 
        * src/SocketCore.cc
22725
 
        (operator==): Removed.
22726
 
        (operator<): Removed.
22727
 
 
22728
 
        * src/BitfieldMan.h
22729
 
        (operator=): Defined the function body here.
22730
 
        * src/BitfieldMan.cc
22731
 
        (operator=): Removed.
22732
 
 
22733
 
        * src/TorrentMan.h
22734
 
        (deleteErrorPeer): Removed.
22735
 
        (deleteUnusedPeer); New function.
22736
 
        * src/TorrentMan.cc
22737
 
        (addPeer): Call deleteUnusedPeer.
22738
 
        (deleteErrorPeer): Removed.
22739
 
        (deleteUnusedPeer): New function.
22740
 
 
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.
22748
 
 
22749
 
        * src/Util.h
22750
 
        (stdio.h): Included.
22751
 
        * src/Util.cc
22752
 
        (unistd.h): Included.
22753
 
 
22754
 
        * src/DefaultDiskWriter.cc
22755
 
        (unistd.h): Included.
22756
 
 
22757
 
        * src/Peer.h
22758
 
        (operator==): Defined the function body here.
22759
 
        (operator!=): Defined the function body here.
22760
 
        * src/Peer.cc
22761
 
        (operator==): Removed.
22762
 
        (operator!=): Removed.
22763
 
 
22764
 
        * src/Piece.h
22765
 
        (Piece): Defined the function body here(copy constructor).
22766
 
        (operator=): Defined the function body here.
22767
 
        (operator==): Defined the function body here.
22768
 
        * src/Piece.cc
22769
 
        (Piece): Removed(copy constructor).
22770
 
        (operator=): Removed.
22771
 
        (operator==): Removed.
22772
 
        
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.
22790
 
 
22791
 
        * src/BitfieldMessage.h
22792
 
        (init): New function.
22793
 
        (BitfieldMessage): Rewritten.
22794
 
        (BitfieldMessage): New function(overload).
22795
 
 
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.
22802
 
        
22803
 
        To remove the dependency on the PeerMessage subclass from
22804
 
        PeerInteraction:
22805
 
 
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() ==
22864
 
        PieceMessage::ID.
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.
22908
 
        
22909
 
        Update fd_set when a socket is added or deleted in order to improve
22910
 
        performance:
22911
 
 
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.
22923
 
        
22924
 
2006-07-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22925
 
 
22926
 
        To add the support for Metalink3.0 backward compatible links:
22927
 
        
22928
 
        * src/Request.h
22929
 
        (SAFE_CHARS): Added '#'.
22930
 
        (METALINK_MARK): New definition.
22931
 
        * src/Request.cc
22932
 
        (parseUrl): Added the support for Metalink3.0 backward compatible
22933
 
        links.
22934
 
 
22935
 
        etc
22936
 
 
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.
22942
 
        * src/TorrentMan.h
22943
 
        (MAX_PEER_LIST_SIZE): Changed to 100 from 250.
22944
 
        
22945
 
2006-07-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
22946
 
 
22947
 
        * src/SharedHandle.h: New class.
22948
 
 
22949
 
        To wrap Socket, Command, PeerMessage and Peer with SharedHandle:
22950
 
 
22951
 
        * src/HttpResponseCommand.h
22952
 
        (HttpResponseCommand): Wrapped Socket.
22953
 
        * src/SocketCore.h
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
23062
 
        messageQueue.
23063
 
        (MsgPushBack::operator()): Replaced PeerMessage with PeerMessageHandle.
23064
 
        (isSendingMessageInProgress): Replaced PeerMessage with
23065
 
        PeerMessageHandle.
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.
23106
 
        * src/main.cc
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.
23117
 
        * src/TorrentMan.h
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
23155
 
        block.
23156
 
        * src/InitiateConnectionCommandFactory.cc
23157
 
        (DlAbortEx.h): Included DlAbortEx.h.
23158
 
        (createInitiateConnectionCommand): Throw exception if the protocol of
23159
 
        requested URI is not supported.
23160
 
        * src/Peer.cc
23161
 
        (nullPeer): Changed its type to PeerHandle.
23162
 
        (operator==): New function.
23163
 
        (operator!=): New function.
23164
 
        * src/Peer.h
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
23173
 
        with MIN_PEERS.
23174
 
        * src/PeerListenCommand.h
23175
 
        (socket): Changed its type to SocketHandle.
23176
 
        * src/Command.h
23177
 
        (CommandUuid): New type definition.
23178
 
        (uuid): New variable.
23179
 
        (uuidGen): New variable.
23180
 
        (Command): Added the initialization of uuid.
23181
 
        (getUuid): New function.
23182
 
        * src/Socket.h
23183
 
        (Socket): Removed.
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.
23223
 
        
23224
 
        etc
23225
 
        
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
23237
 
        using STL.
23238
 
        * src/TrackerWatcherCommand.h
23239
 
        (MIN_PEERS): Removed.
23240
 
        * src/TorrentMan.cc
23241
 
        (getPeer): Replaced MAX_PEER_UPDATE with MIN_PEERS.
23242
 
        
23243
 
2006-07-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23244
 
 
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:
23247
 
        
23248
 
        * src/main.cc
23249
 
        (normalDownload): Added the call to save().
23250
 
        (main): Added the deletion of the elements in 'reserved'.
23251
 
 
23252
 
        To fix log:
23253
 
 
23254
 
        * src/PeerInteraction.cc
23255
 
        (receiveHandshake): Fixed log.
23256
 
 
23257
 
2006-07-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23258
 
 
23259
 
        To improve download performance in BitTorrent:
23260
 
        
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.
23265
 
 
23266
 
2006-07-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23267
 
 
23268
 
        To improve the conditional compilation:
23269
 
 
23270
 
        * src/MultiDiskWriter.h:
23271
 
        Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.  
23272
 
        * src/MultiDiskWriter.cc:
23273
 
        Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23274
 
        * src/Util.h:
23275
 
        Replaced ENABLE_SHA1DIGEST with ENABLE_MESSAGE_DIGEST.
23276
 
        Added ENABLE_BITTORRENT around computeFastSet().
23277
 
        * src/Util.cc:
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.
23286
 
        * src/main.cc:
23287
 
        Added ENABLE_BITTORRENT around includes and blocks related to
23288
 
        BitTorrent.
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.
23298
 
        
23299
 
        To add command-line options for Metalink:
23300
 
 
23301
 
        * src/main.cc:
23302
 
        Added metalink-version, metalink-language, metalink-os,
23303
 
        follow-metalink.
23304
 
 
23305
 
        To use EXIT_SUCCESS and EXIT_FAILURE with exit():
23306
 
 
23307
 
        * src/main.cc: Use these definition.
23308
 
 
23309
 
        * Release 0.6.0
23310
 
        
23311
 
2006-07-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23312
 
 
23313
 
        To add Metalink support(http/ftp only):
23314
 
 
23315
 
        * src/AbstractCommand.h
23316
 
        (tryReserved): New function.
23317
 
        * src/AbstractCommand.cc
23318
 
        (execute): Call tryReserved().
23319
 
        (tryReserved): New function.
23320
 
        * src/Request.h
23321
 
        (Requests): New type definition.
23322
 
        * src/SegmentMan.h
23323
 
        (reserved): New variable.
23324
 
        * src/Util.h
23325
 
        (fileChecksum): New function.
23326
 
        (toUpper): New function.
23327
 
        (toLower): New function.
23328
 
        * src/Util.cc
23329
 
        (messageDigest.h): Included.
23330
 
        (trim): Trim \r\n\t.
23331
 
        (fileChecksum): New function.
23332
 
        (toUpper): New function.
23333
 
        (toLower): New function.
23334
 
        * src/main.cc
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.
23345
 
        
23346
 
        To add md5 message digest checking:
23347
 
 
23348
 
        * src/messageDigest.h: Rewritten.
23349
 
        * src/MultiDiskWriter.cc: Updated according to the changes in
23350
 
        messageDigest.h.
23351
 
        * src/ShaVisitor.cc: Updated according to the changes in
23352
 
        messageDigest.h.
23353
 
        * src/Util.cc: Updated according to the changes in messageDigest.h.
23354
 
        * src/AbstractDiskWriter.cc: Updated according to the changes in
23355
 
        messageDigest.h.
23356
 
        
23357
 
        To fix a bug that causes segfault when the payload length in peer
23358
 
        message is less than 0:
23359
 
 
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
23364
 
        0.
23365
 
        
23366
 
        To add new interfaces to Base64 encoding/decoding:
23367
 
 
23368
 
        * src/Base64.h
23369
 
        (part_encode): Changed the method signature.
23370
 
        (encode): New function(overload).
23371
 
        (decode): New function(overload).
23372
 
        * src/Base64.cc
23373
 
        (part_encode): Rewritten.
23374
 
        (encode): Rewritten.
23375
 
        (encode): New function(overload).
23376
 
 
23377
 
        To prevent a peer to download same piece if there is an error in
23378
 
        checksum:
23379
 
 
23380
 
        * src/PieceMessage.cc
23381
 
        (receivedAction): Call peerInteraction->abortPiece().
23382
 
        
23383
 
2006-06-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23384
 
 
23385
 
        To fix the bug that causes same have message is sent many times to
23386
 
        a single peer.
23387
 
 
23388
 
        * src/Time.cc
23389
 
        (isNewer): Use Util::difftv().
23390
 
        * src/Util.cc
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.
23395
 
        
23396
 
        To fix the bug that sends tracker requests without a sleep interval
23397
 
        when the number of connections is less than 15.
23398
 
 
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.
23402
 
        * src/Time.h
23403
 
        (setTimeInSec): New function.
23404
 
        * src/Time.cc
23405
 
        (setTimeInSec): New function.
23406
 
 
23407
 
        etc.
23408
 
        
23409
 
        * src/ChokeMessage.cc
23410
 
        (receivedAction): Removed peer->snubbing = false
23411
 
 
23412
 
        * src/PeerConnection.h
23413
 
        (receiveHandshake): Updated doc.
23414
 
 
23415
 
        * src/TorrentMan.h
23416
 
        (getAdvertisedPieceIndexes): Updated the method signature.
23417
 
        * src/TorrentMan.cc
23418
 
        (getAdvertisedPieceIndexes): Updated the method signature.
23419
 
 
23420
 
        * src/Time.h
23421
 
        (getTimeInMicros): Added a cast to (long long int).
23422
 
        (getTimeInMillis): Added a cast to (long long int).
23423
 
        
23424
 
        * Release 0.5.2
23425
 
        
23426
 
2006-06-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23427
 
 
23428
 
        To make a listening socket non-block:
23429
 
        
23430
 
        * src/SocketCore.h
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.
23437
 
 
23438
 
        To handle tracker's NAT-checking:
23439
 
        
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.
23456
 
 
23457
 
        
23458
 
        To change the random part of peer id and key parameter:
23459
 
 
23460
 
        * src/TorrentMan.h
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
23466
 
        long.
23467
 
        * src/Util.h
23468
 
        (randomAlpha): New function.
23469
 
        * src/Util.cc
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.
23474
 
        
23475
 
        Set snubbing flag to false when a choke message is received from a
23476
 
        snubbed peer.
23477
 
 
23478
 
        * src/ChokeMessage.cc
23479
 
        (receivedAction): Set snubbing flag to false.
23480
 
        
23481
 
2006-06-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23482
 
 
23483
 
        * src/TorrentMan.cc (setupInternal1): Fixed peerId generation bug.
23484
 
 
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.
23489
 
 
23490
 
        * src/TrackerWatcherCommand.cc (execute): Added a short sleep
23491
 
        when a tracker request fails.
23492
 
 
23493
 
        * src/Request.cc (parseUrl): Query string is now handled properly.
23494
 
 
23495
 
        * Release 0.5.1
23496
 
        
23497
 
2006-06-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23498
 
        
23499
 
        To add Time class which represents a specific instant in time and
23500
 
        its precision is microseconds. Time checking procedures were rewritten
23501
 
        using this object.
23502
 
 
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
23544
 
        timeval variables.
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
23585
 
        (run): Rewritten.
23586
 
        
23587
 
        To detect all attempts to connect to the tracker are failed:
23588
 
 
23589
 
        * src/AbstractCommand.cc
23590
 
        (execute): Increment e->segmentMan->errors if a command aborted.
23591
 
        * src/SegmentMan.h
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.
23599
 
        
23600
 
        To handle snubbed peers:
23601
 
        
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.
23613
 
        * src/Peer.h
23614
 
        (snubbing): New variable.
23615
 
        * src/Peer.cc
23616
 
        (resetStatus): Added snubbed = false.
23617
 
        
23618
 
        To fix the bug that causes have message is not sent:
23619
 
 
23620
 
        * src/PeerInteractionCommand.cc
23621
 
        (~PeerInteractionCommand): Removed e->torrentMan->unadvertisePiece().
23622
 
        (FLOODING_CHECK_INTERVAL): New definition(temporal).
23623
 
        (detectMessageFlooding): Use FLOODING_CHECK_INTERVAL.
23624
 
        * src/TorrentMan.h
23625
 
        (HaveEntry): New class.
23626
 
        (advertisePiece): Rewritten.
23627
 
        (getAdvertisedPieceIndexes): Rewritten.
23628
 
        (Haves): Changed the type.
23629
 
        (getAdvertisedPieceIndexes): Added an argument.
23630
 
        
23631
 
        Others:
23632
 
        
23633
 
        * src/TorrentMan.h
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.
23639
 
 
23640
 
        * src/PeerInteractionCommand.h
23641
 
        (KEEP_ALIVE_INTERVAL): New definition.
23642
 
        (sendKeepAlive): Use KEEP_ALIVE_INTERVAL.
23643
 
 
23644
 
        * src/main.cc
23645
 
        (main): SA_ONESHOT was replaced with SA_RESETHAND.
23646
 
 
23647
 
        * src/DownloadEngine.h: Removed unnecessary header includes.
23648
 
        
23649
 
2006-05-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23650
 
 
23651
 
        To fix the bug that causes segfaults if a tracker returns a zero-length
23652
 
        list as "peers":
23653
 
        
23654
 
        * src/TrackerUpdateCommand.cc
23655
 
        (execute): Added a check to see wether the type of peers is Data*.
23656
 
 
23657
 
2006-05-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23658
 
 
23659
 
        * Release 0.5.0
23660
 
 
23661
 
        To fix compile issue with gcc3:
23662
 
 
23663
 
        * src/CancelMessage.h
23664
 
        (ID): Renamed as ID_t
23665
 
        (ID_t): New enum.
23666
 
        * src/RejectMessage.h
23667
 
        (ID): Renamed as ID_t
23668
 
        (ID_t): New enum.
23669
 
        * src/SuggestPieceMessage.h
23670
 
        (ID): Renamed as ID_t
23671
 
        (ID_t): New enum.
23672
 
        * src/AllowedFastMessage.h
23673
 
        (ID): Renamed as ID_t
23674
 
        (ID_t): New enum.
23675
 
        * src/PortMessage.h
23676
 
        (ID): Renamed as ID_t
23677
 
        (ID_t): New enum.
23678
 
        * src/HaveNoneMessage.h
23679
 
        (ID): Renamed as ID_t
23680
 
        (ID_t): New enum.
23681
 
        * src/KeepAliveMessage.h
23682
 
        (ID): Renamed as ID_t
23683
 
        (ID_t): New enum.
23684
 
        * src/HaveAllMessage.h
23685
 
        (ID): Renamed as ID_t
23686
 
        (ID_t): New enum.
23687
 
        * src/UnchokeMessage.h
23688
 
        (ID): Renamed as ID_t
23689
 
        (ID_t): New enum.
23690
 
        * src/BitfieldMessage.h
23691
 
        (ID): Renamed as ID_t
23692
 
        (ID_t): New enum.
23693
 
        * src/PieceMessage.h
23694
 
        (ID): Renamed as ID_t
23695
 
        (ID_t): New enum.
23696
 
        * src/RequestMessage.h
23697
 
        (ID): Renamed as ID_t
23698
 
        (ID_t): New enum.
23699
 
        * src/NotInterestedMessage.h
23700
 
        (ID): Renamed as ID_t
23701
 
        (ID_t): New enum.
23702
 
        * src/ChokeMessage.h
23703
 
        (ID): Renamed as ID_t
23704
 
        (ID_t): New enum.
23705
 
        * src/InterestedMessage.h
23706
 
        (ID): Renamed as ID_t
23707
 
        (ID_t): New enum.
23708
 
        * src/HaveMessage.h
23709
 
        (ID): Renamed as ID_t
23710
 
        (ID_t): New enum.
23711
 
        
23712
 
2006-05-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23713
 
 
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
23734
 
        0.
23735
 
        (getMissingIndex): Dont't call getMissingIndexRandomly() if max is 0.
23736
 
        * src/TorrentMan.h
23737
 
        (UsedPieces): Removed.
23738
 
        (Pieces): New type definition.
23739
 
        * src/Piece.h: Updated doc.
23740
 
        * src/Peer.h
23741
 
        (totalLength): Removed.
23742
 
        * src/Peer.cc
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,
23748
 
        then return false.
23749
 
        (deleteOldErrorPeers): Rewritten.
23750
 
        (deleteUsedPiece): Fixed the miss use of STL remove.
23751
 
        * src/PeerInteraction.h
23752
 
        (Pieces): Removed.
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().
23763
 
        
23764
 
2006-05-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23765
 
 
23766
 
        To attempt to handle EINTR:
23767
 
        
23768
 
        * src/SocketCore.cc
23769
 
        (isReadable): Added EINTR handling.
23770
 
        (isWritable): Added EINTR handling.
23771
 
 
23772
 
        To improve the performance:
23773
 
        
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
23785
 
        Util::difftv().
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.
23813
 
        * src/Util.h
23814
 
        (countBit): New function.
23815
 
        * src/Util.cc
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
23828
 
        EINTR.
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().
23835
 
        
23836
 
        To send "event=stopped" to the tracker when the application finishes:
23837
 
        
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.
23844
 
        * src/TorrentMan.h
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.
23855
 
        * src/main.cc
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
23866
 
        event=stopped.
23867
 
        * src/TrackerUpdateCommand.cc
23868
 
        (prepareForRetry): Do not use SleepCommand here.
23869
 
        (execute): Returns true if TorrentMan::isHalt() is true.
23870
 
        
23871
 
        Others:
23872
 
        
23873
 
        * src/TorrentMan.cc
23874
 
        (getMissingPieceIndex): Updated log message.
23875
 
        * src/PeerInteraction.cc
23876
 
        (createPeerMessag): Updated log message.
23877
 
        
23878
 
2006-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23879
 
 
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
23882
 
        latency:
23883
 
        
23884
 
        * src/PeerInteractionCommand.cc
23885
 
        (executeInternal): The number of messages to be received at a time
23886
 
        is increased from 10 to 50.
23887
 
        * src/LogFactory
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.
23894
 
        * src/TorrentMan.h
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
23903
 
        checkOutPiece().
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.
23910
 
        (piece): Removed.
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.
23936
 
        * src/common.h
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.
23946
 
        * src/Piece.h
23947
 
        (operator==): New function.
23948
 
        (getMissingBlockIndex): New function.
23949
 
        * src/Piece.cc
23950
 
        (operator==): New function.
23951
 
        (getMissingBlockIndex): New function.
23952
 
        * src/Peer.h
23953
 
        (DEFAULT_LATENCY): New definition.
23954
 
        (latency): New variable.
23955
 
        (updateLatency): New function.
23956
 
        (getLatency): New function.
23957
 
        * src/Peer.cc
23958
 
        (resetStatus): Reset latecy.
23959
 
        (updateLatency): New function.
23960
 
        
23961
 
2006-05-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23962
 
 
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
23967
 
        exception.
23968
 
        * src/Peer.h
23969
 
        (getFastSet): Fixed the return value type.
23970
 
        
23971
 
2006-05-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
23972
 
 
23973
 
        To remove a wait from download loop:
23974
 
 
23975
 
        * src/DownloadEngine.cc
23976
 
        (run): Comment out shortSleep.
23977
 
        
23978
 
        To rewrite the message handling:
23979
 
 
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.
23985
 
        (send): Removed.
23986
 
        (getMessage): New function.
23987
 
        (getMessageLength): New function.
23988
 
        * src/CancelMessage.cc
23989
 
        (create): New function.
23990
 
        (receivedAction): Replaced deleteRequestMessageInQueue with
23991
 
        rejectPieceMessageInQueue.
23992
 
        (send): Removed.
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.
23999
 
        (send): Removed.
24000
 
        (getMessage): New function.
24001
 
        (getMessageLength): New function.
24002
 
        * src/BitfieldMessage.cc
24003
 
        (create): New function.
24004
 
        (send): Removed.
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.
24011
 
        (send): Removed.
24012
 
        (getMessage): New function.
24013
 
        (getMessageLength): New function.
24014
 
        (create): New function.
24015
 
        * src/ChokeMessage.cc
24016
 
        (create): New function.
24017
 
        (send): Removed.
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.
24024
 
        (send): Removed.
24025
 
        (getMessage): New function.
24026
 
        (getMessageLength): New function.       
24027
 
        * src/KeepAliveMessage.cc
24028
 
        (send): Removed.
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.
24040
 
        (send): Removed.
24041
 
        (getMessage): New function.
24042
 
        (getMessageLength): New function.
24043
 
        * src/UnchokeMessage.cc
24044
 
        (create): New function.
24045
 
        (send): Removed.
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.
24066
 
        (send): Rewritten.
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.
24075
 
        (send): Removed.
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.
24082
 
        (send): Removed.
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.
24089
 
        (send): Removed.
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.
24101
 
        (send): Removed.
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.
24111
 
        (send): Removed.
24112
 
        (getMessage): New function.
24113
 
        (getMessageLength): New function.
24114
 
        * src/NotInterestedMessage.cc
24115
 
        (create): New function.
24116
 
        (send): Removed.
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
24197
 
        (peer): Removed.
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
24242
 
        sendNow().
24243
 
        (keepAlive): Call addMessage and sendMessage instead of deprecated
24244
 
        sendNow().
24245
 
        (beforeSocketCheck): Call addMessage instead of deprecated trySendNow()
24246
 
        * src/TorrentMan.h
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
24299
 
        PeerMessageUtil.
24300
 
        (createPeerMessage): Use create() of each message class instead of
24301
 
        PeerMessageUtil.
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
24315
 
        PeerMessageUtil.
24316
 
        (createCancelMessage): Use CancelMessage::create instead of
24317
 
        PeerMessageUtil.
24318
 
        (createPieceMessage): Use PieceMessage::create instead of
24319
 
        PeerMessageUtil.
24320
 
        (createHaveMessage): Use HaveMessage::create instead of
24321
 
        PeerMessageUtil.
24322
 
        (createChokeMessage): Use ChokeMessage::create instead of
24323
 
        PeerMessageUtil.
24324
 
        (createUnchokeMessage): Use UnchokeMessage::create instead of
24325
 
        PeerMessageUtil.
24326
 
        (createInterestedMessage): Use InterestedMessage::create instead of
24327
 
        PeerMessageUtil.
24328
 
        (createNotInterestedMessage): Use NotInterestedMessage::create instead
24329
 
        of PeerMessageUtil.
24330
 
        (createBitfieldMessage): Use BitfieldMessage::create instead of
24331
 
        PeerMessageUtil.
24332
 
        (createKeepAliveMessage): Use KeepAliveMessage::create instead of
24333
 
        PeerMessageUtil.
24334
 
        (createHaveAllMessage): New function.
24335
 
        (createHaveNoneMessage): New function.
24336
 
        (createRejectMessage): New function.
24337
 
        (createAllowedFastMessage: New function.
24338
 
        * src/Util.h
24339
 
        (sha1Sum): New function.
24340
 
        (computeFastSet): New function.
24341
 
        * src/Util.cc
24342
 
        (sha1Sum): New function.
24343
 
        (computeFastSet): New function.
24344
 
        * src/Peer.h
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.
24354
 
        * src/Peer.cc
24355
 
        (isInFastSet): New function.
24356
 
        (addFastSetIndex): New function.
24357
 
        (setAllBitfield): New function.
24358
 
        
24359
 
        * src/AbstractCommand.cc (execute): Changed the procedure of checking
24360
 
        sockets.
24361
 
        * src/PeerAbstractCommand.cc
24362
 
        (PeerAbstractCommand): Added the initialization for uploadLimitCheck
24363
 
        and uploadLimit.
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.
24373
 
 
24374
 
        To contact a tracker regularly:
24375
 
        
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.
24383
 
 
24384
 
        * src/TrackerUpdateCommand.cc
24385
 
        (execute): Updated log messages.
24386
 
 
24387
 
        * src/DownloadEngine.cc
24388
 
        (~DownloadEngine): Removed two asserts.
24389
 
        (waitData): Uncommented wfds. May be a bug fix.
24390
 
        
24391
 
2006-05-10  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24392
 
 
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().
24402
 
 
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.
24425
 
 
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.
24437
 
 
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.
24442
 
        
24443
 
2006-05-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24444
 
 
24445
 
        Each peer message has its own class.
24446
 
        
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
24452
 
        SendMessageQueue.
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
24481
 
        arguments.
24482
 
        (receiveHandshake): Changed return value and arguments.
24483
 
        * src/PeerConnection.cc (receiveMessage): Do not create message class
24484
 
        here.
24485
 
        (receiveHandshake): Do not create handshake class here.
24486
 
        * src/PeerInteractionCommand.h (peerConnection): Removed.
24487
 
        (piece): 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
24505
 
        class.
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
24564
 
        (id): Removed.
24565
 
        (index): Removed.
24566
 
        (begin): Removed.
24567
 
        (length): Removed.
24568
 
        (bitfield): Removed.
24569
 
        (bitfieldLength): Removed.
24570
 
        (block): 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.
24589
 
        (setId): Removed.
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.
24602
 
        (ID): Removed.
24603
 
        * src/PeerMessage.cc
24604
 
        (setBitfield): Removed.
24605
 
        (setBlock): Removed.
24606
 
        (toString): Removed.
24607
 
        * src/TorrentMan.h
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
24679
 
        here.
24680
 
        (deleteTimeoutRequestSlot): RequestSlotMan::deleteTimeoutRequestSlot
24681
 
        (...) was moved here.
24682
 
        (deleteAllRequestSlot): RequestSlotMan::deleteAllRequestSlot(...) was
24683
 
        moved here.
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.
24715
 
        
24716
 
        
24717
 
        To add simple Content-Disposition support:
24718
 
 
24719
 
        * src/HttpResponseCommand.h (determinFilename): New function.
24720
 
        * src/HttpResponseCommand.cc (executeInternal):
24721
 
        Use determinFilename(headers) instead of req->getFile() when comparing
24722
 
        filename.
24723
 
        (determinFilename): New function.
24724
 
        (handleDefaultEncoding): Use determinFilename(headers) instead of
24725
 
        req->getFile().
24726
 
        (handleOtherEncoding): Use determinFilename(headers) instead of
24727
 
        req->getFile().
24728
 
        * src/Util.h (getContentDispositionFilename): New function.
24729
 
        * src/Util.cc (getContentDispositionFilename): New function.
24730
 
        
24731
 
        * src/LogFactory.h (release): New function.
24732
 
        * src/LogFactory.cc (release): New function.
24733
 
 
24734
 
        To fix a bug that causes out-of-bound exception when HTTP status
24735
 
        line is wrong:
24736
 
        
24737
 
        * src/HttpConnection.cc (receiveResponse): Added a check for header
24738
 
        size.
24739
 
 
24740
 
        * src/common.h (Deleter): New class.
24741
 
 
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.
24757
 
        * src/main.cc
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.
24764
 
        
24765
 
2006-05-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24766
 
 
24767
 
        * src/main.cc (main): Fixed typo.
24768
 
        * src/message.h: Fixed typo.
24769
 
 
24770
 
        * po/de.po: Added German translation, thanks to Hermann J. Beckers.
24771
 
        
24772
 
2006-04-29  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24773
 
 
24774
 
        To add --select-file command-line option:
24775
 
        
24776
 
        * src/Util.cc
24777
 
        (unfoldRange): New function.
24778
 
        (getNum): New function.
24779
 
        (unfoldSubRange): New function
24780
 
        * src/main.cc
24781
 
        (showUsage): Added help message.
24782
 
        (main): Added --select-file command-line option. Updated the layout of
24783
 
        file listing.
24784
 
        * src/common.h
24785
 
        (Integers): New definition.
24786
 
 
24787
 
        * src/SocketCore.cc
24788
 
        (writeData): Removed timeout argument.
24789
 
        (readData): Removed timeout argument.
24790
 
        (peekData): Removed timeout argument.
24791
 
        * src/Socket.cc
24792
 
        (writeData): Removed timeout argument.
24793
 
        (readData): Removed timeout argument.
24794
 
        (peekData): Removed timeout argument.
24795
 
        
24796
 
        * Release 0.4.1
24797
 
        
24798
 
2006-04-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24799
 
 
24800
 
        To deploy upload rate based choking algorithm:
24801
 
        
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.
24808
 
        * src/TorrentMan.h
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().
24817
 
        * src/main.cc
24818
 
        (PeerChokeCommand.h): Included.
24819
 
        (main): Added the instance of ChokingCommand to the command queue.
24820
 
        * src/Peer.h
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.
24832
 
        * src/Peer.cc
24833
 
        (shouldBeChoking): Renamed from shouldChoke.
24834
 
        (resetStatus): New function.
24835
 
        * src/PeerChokeCommand.h: New class.
24836
 
        * src/PeerChokeCommand.cc: New class.
24837
 
        
24838
 
        To add lazy upload speed limiter:
24839
 
 
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
24848
 
        calculation.
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.
24862
 
        * src/prefs.h
24863
 
        (PREF_UPLOAD_LIMIT): New definition.
24864
 
        * src/PeerInteractionCommand.cc
24865
 
        (PeerInteractionCommand): Set upload speed limit to sendMessageQueue.
24866
 
        * src/main.cc
24867
 
        (main): Added --upload-limit option
24868
 
 
24869
 
        For bug fixes:
24870
 
        
24871
 
        * src/main.cc
24872
 
        (showUsage): Corrected --listen-port help
24873
 
 
24874
 
        Other changes:
24875
 
        
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.
24879
 
 
24880
 
2006-04-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24881
 
 
24882
 
        To add some useful information to the exception message:
24883
 
 
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.
24892
 
 
24893
 
        * src/TrackerWatcherCommand.h (MIN_PEERS): New definition.
24894
 
        * src/TrackerWatcherCommand.cc (execute): Use MIN_PEERS.
24895
 
        Updated threshold from 30 to 15.
24896
 
 
24897
 
        * src/AbstractDiskWriter.h (filename): New variable.
24898
 
        * src/AbstractDiskWriter.cc (openExistingFile): Assigned filename.
24899
 
        (createFile): Assigned filename.
24900
 
        
24901
 
        * src/main.cc: Updated the help message for http-auth-scheme.
24902
 
 
24903
 
        * Release 0.4.0
24904
 
        
24905
 
2006-04-20  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24906
 
 
24907
 
        To add TrackerUpdateCommand with which replaces
24908
 
        CompactTrackerResponseProcessor:
24909
 
        
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().
24926
 
        
24927
 
        To add Util::expandBuffer:
24928
 
        
24929
 
        * src/ByteArrayDiskWriter.h (expandBuffer): Removed.
24930
 
        * src/ByteArrayDiskWriter.cc (writeData): Use Util::expandBuffer().
24931
 
        * src/Util.h (expandBuffer): New function.
24932
 
 
24933
 
        To fix the bug that causes segmentation fault when "-l ." is specified
24934
 
        in command-line option:
24935
 
 
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
24943
 
        properly.
24944
 
        
24945
 
        To enable HTTP authentication without specifying "--http-auth-scheme"
24946
 
        
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
24952
 
 
24953
 
        * src/Peer.cc (shouldChoke): Updated algorithm.
24954
 
        
24955
 
        * src/message.h (EX_AUTH_FAILED): New definition.
24956
 
        (EX_FILE_OPEN): New definition.
24957
 
        * src/HttpResponseCommand.cc (checkResponse): Throw DlAbortEx
24958
 
        if status == 401.
24959
 
        (handleDefaultEncoding): Added a call to diskWriter->initAndOpenFile()
24960
 
        if req->isTorrent == true.
24961
 
 
24962
 
        * src/main.cc (handler): Removed the check to see e->diskWriter != NULL
24963
 
        (torrentHandler): Removed the check to see diskAdaptor != NULL.
24964
 
 
24965
 
        * src/AbstractDiskWriter.cc (openExistingFile): Updated messsage.
24966
 
        (createFile): Updated message.
24967
 
        
24968
 
2006-04-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
24969
 
 
24970
 
        To add a readout of estimated remaining time to normal HTTP/FTP
24971
 
        downloads:
24972
 
        
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
24982
 
        time.
24983
 
 
24984
 
        To decouple TorrentDownloadEngine from HttpResponseCommand:
24985
 
 
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().
25013
 
        
25014
 
        * src/TorrentConsoleDownloadEngine.cc (printStatistics): Updated a
25015
 
        readout.
25016
 
 
25017
 
        * src/TorrentDownloadEngine.cc (afterEachIteration): Added log message
25018
 
        which indicates download has completed.
25019
 
 
25020
 
        * src/AbstractDiskWriter.cc (Destructor): fd >= 0, not fd >0
25021
 
        (closeFile): fd >= 0, not fd > 0
25022
 
 
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.
25027
 
        
25028
 
2006-04-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25029
 
 
25030
 
        To add LogFactory which creates singleton logger:
25031
 
        
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.
25038
 
        Use LogFactory.
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.
25052
 
        Use LogFactory.
25053
 
        * src/FtpConnection.h (Constructor): Deleted the argument logger.
25054
 
        * src/FtpConnection.cc (Constructor): Deleted the argument logger.
25055
 
        Use LogFactory.
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.
25066
 
        Use LogFactory.
25067
 
        * src/SendMessageQueue.h (Constructor): Deleted the argument logger.
25068
 
        * src/SendMessageQueue.cc (Constructor): Deleted the argument logger.
25069
 
        Use LogFactory.
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.
25074
 
 
25075
 
2006-04-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25076
 
 
25077
 
        * src/TrackerInitCommand.cc (TrackerInitCommand): Added a "key"
25078
 
        parameter to a tracker request.
25079
 
 
25080
 
        * src/TorrentMan.cc (readFileEntryFromMetaInfoFile): Bug fix.
25081
 
 
25082
 
        * src/TrackerWatcherCommand.cc (execute): Call req->resetTryCount().
25083
 
        
25084
 
        * src/main.cc (setSignalHander): New function.
25085
 
        (main): Added a handler for SIGTERM.
25086
 
        (handler): Updated message.
25087
 
        (torrentHandler): Updated message.
25088
 
 
25089
 
        
25090
 
2006-04-16  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25091
 
 
25092
 
        * src/TorrentConsoleDownloadEngine.cc
25093
 
        (onPartialDownloadingCompletes): Renamed as
25094
 
        onSelectiveDownloadingCompletes.
25095
 
        (onSelectiveDownloadingCompletes): Updated message.
25096
 
 
25097
 
        To add DiskAdaptor which abstract DiskWriter family:
25098
 
 
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
25128
 
        (Range): Removed.
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
25145
 
        diskWriter.
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.
25160
 
        
25161
 
        * src/prefs.h (PREF_TORRENT_SHOW_FILES): Renamed as PREF_SHOW_FILES
25162
 
        (PREF_SHOW_FILES): New definition.
25163
 
 
25164
 
2006-04-12  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25165
 
 
25166
 
        To add the ability to download multi torrent into respective files
25167
 
        directly:
25168
 
        
25169
 
        * src/DiskWriter.h (openFile): New function.
25170
 
        (seek): Removed.
25171
 
        * src/MultiDiskWriter.h: New class.
25172
 
        * src/MultiDiskWriter.cc: New class.
25173
 
        * src/AbstractDiskWriter.h (seek): Changed its scope from public to
25174
 
        protected.
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().
25197
 
        
25198
 
        
25199
 
        To fix ETA bug:
25200
 
 
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.
25209
 
        
25210
 
        * src/PeerMessage.cc (toString): Fixed message.
25211
 
        
25212
 
2006-04-06  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25213
 
 
25214
 
        To print ETA:
25215
 
 
25216
 
        * src/TorrentDownloadEngine.cc (afterEachIteration): Added download
25217
 
        completion handling when dealing with
25218
 
        TorrentMan::isPartialDownloadingMode() == true.
25219
 
        * src/TorrentDownloadEngine.h (onPartialDownloadingCompletes):
25220
 
        New function.
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.
25229
 
 
25230
 
        * src/Util.h (secfmt): New function.
25231
 
        * src/Util.cc (secfmt): New function.
25232
 
        
25233
 
2006-04-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25234
 
 
25235
 
        To detect "keep alive" flooding:
25236
 
 
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
25242
 
        received.
25243
 
        
25244
 
        To add the ability to download only specified files in multi-file
25245
 
        torrent:
25246
 
 
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.
25281
 
 
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.
25308
 
        
25309
 
        * src/TorrentConsoleDownloadEngine.h (partialDownloadLengthDiff):
25310
 
        New variable.
25311
 
        (partialTotalLength): New variable.
25312
 
        (downloadLength): New variable.
25313
 
        (totalLength): New variable.
25314
 
        * src/TorrentConsoleDownloadEngine.cc (onPartialDownloadingCompletes):
25315
 
        Added log.
25316
 
        (initStatistics): Initialized new variables: partialDownloadLengthDiff,
25317
 
        partialTotalLength, downloadLength, totalLength.
25318
 
        (calculate): Calculate downloadLength and totalLength.
25319
 
        
25320
 
        * src/prefs.h :New definition PREF_NO_PREALLOCATION
25321
 
 
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.
25325
 
        
25326
 
2006-04-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25327
 
 
25328
 
        * src/PeerMessage.cc (setBitfield): Fixed invalid memory de-allocation.
25329
 
 
25330
 
2006-04-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25331
 
 
25332
 
        Attempt to add the ability to listing file entries in a .torrent file.
25333
 
        This feature is not yet complete.
25334
 
        
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. 
25341
 
        
25342
 
        * Release 0.3.2
25343
 
        
25344
 
2006-03-31  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25345
 
 
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
25351
 
        
25352
 
        * src/TorrentMan.cc (deleteOldErrorPeers): Updated.
25353
 
        (getPeer): Updated.
25354
 
        * src/TorrentMan.h: Added MAX_PEER_ERROR.
25355
 
        
25356
 
        * src/PeerAbstractCommand.cc (onAbort): Increment error counter.
25357
 
 
25358
 
        * src/PeerListenCommand.cc (execute): Close connection if incoming peer
25359
 
        is localhost.
25360
 
 
25361
 
        * src/main.cc (main): Updated PREF_PEER_CONNECTION_TIMEOUT to 60.
25362
 
 
25363
 
        * src/PendingMessage.cc (processMessage): Not to send piece message
25364
 
        if peer is not interested in the pieces localhost has.
25365
 
 
25366
 
        * src/Peer.cc (shouldChoke): Updated.
25367
 
 
25368
 
        * src/SendMessageQueue.cc (cancelAllRequest): Fixed.
25369
 
 
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.
25374
 
        
25375
 
2006-03-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25376
 
 
25377
 
        Added new class SendMessageQueue that includes PendingMessages and
25378
 
        RequestSlotMan.
25379
 
 
25380
 
        * src/SendMessageQueue.h: New class.
25381
 
        * src/SendMessageQueue.cc: New class.
25382
 
        * src/PendingMessage.h: Added new member variable blockIndex and its
25383
 
        accessors.
25384
 
        (createRequestMessage): Updated.
25385
 
        * src/PendingMessage.cc (createRequestMessage): Updated.
25386
 
        * src/PeerInteractionCommand.cc (executeInternal): Updated with
25387
 
        SendMessageQueue.
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.
25398
 
 
25399
 
        * src/PeerInteractionCommand (sendMessages): Shuffle
25400
 
        missingBLockIndexes before using it.
25401
 
        
25402
 
        Added its own timeout for peer connection.
25403
 
        
25404
 
        * src/PeerAbstractCommand.h: Added member variable timeout and its
25405
 
        setter.
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):
25411
 
        Added timeout.
25412
 
        (isTimeoutDetected): Updated.
25413
 
        * src/main.cc (main): Added PREF_PEER_CONNECTION_TIMEOUT entry to
25414
 
        option.
25415
 
        
25416
 
        Added *simple* message flooding checker.
25417
 
        
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().
25427
 
        
25428
 
        * src/PeerInteractionCommand.cc (beforeSocketCheck):
25429
 
        Added checkLongTimePeerChoking() call.
25430
 
 
25431
 
        * src/RequestSlotMan.h: Renamed deleteTimeoutRequestSlot().
25432
 
 
25433
 
        * src/TorrentMan.cc (addPeer): Delete at most MAX_PEER_LIST_SIZE peers
25434
 
        if duplicate == false.
25435
 
 
25436
 
        The parameter "uploaded" and "downloaded" in the tracker request are
25437
 
        the size since the client sent the "started" event to the tracker.
25438
 
        
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(),
25445
 
        getUploadedSize().
25446
 
        
25447
 
        * src/PendingMessage.cc (processMessage): Do not send request message
25448
 
        if the peer is choking the client.
25449
 
 
25450
 
        * src/TrackerUpdateCommand.cc (execute): Check wtheher minInterval is
25451
 
        less than interval.
25452
 
        
25453
 
2006-03-27  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25454
 
 
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
25464
 
        successfully.
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
25470
 
        script.
25471
 
        * src/ShaVisitor.{h,cc}: Removed direct dependency on OpenSSL by using
25472
 
        messageDigest.h. 
25473
 
        * src/TorrentAutoSaveCommand.h: Removed unused variable cuid.
25474
 
        * src/PeerListenCommand.cc: Added log about port binded successfully.
25475
 
        Fixed memory leak.
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
25481
 
        ENABLE_SSL.
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
25490
 
        several times.
25491
 
        * src/TrackerInitCommand.cc (execute):
25492
 
        Fixed the bug that causes sending completed event to the tracker
25493
 
        several times.
25494
 
        * src/AbstractDiskWriter.{h,cc}: Removed direct dependency on OpenSSL
25495
 
        by using messageDigest.h.
25496
 
        
25497
 
2006-03-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25498
 
 
25499
 
        * PeerConnection.cc: Replaced log message "keep-alive" with
25500
 
        "keep alive".
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.
25508
 
 
25509
 
2006-03-25  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25510
 
 
25511
 
        * Logger.h: Moved enum LEVEL from SimpleLogger.h to here.
25512
 
        Added warn().
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.
25516
 
        
25517
 
2006-03-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25518
 
 
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
25524
 
        downloaded.
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
25543
 
        true.
25544
 
        * Util.cc: Implemented fileCopy() using rangedFileCopy().
25545
 
        In rangedFileCopy(), added try-catch block to properly close file
25546
 
        descriptors.
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
25554
 
        completes.
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
25560
 
        the line).
25561
 
        * Release 0.3.1
25562
 
        
25563
 
2006-03-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25564
 
 
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
25571
 
        to deque.
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
25592
 
        have the piece.
25593
 
        * Peer.{h,cc}: added hasPiece(int index).
25594
 
        * main.cc: corrected addCommand.
25595
 
        
25596
 
2006-03-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25597
 
 
25598
 
        * BitTorrent protocol support added.
25599
 
        * Release 0.3.0
25600
 
        
25601
 
2006-03-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25602
 
 
25603
 
        * SocketCore.cc: remove the assignment of addrinfo.ai_addr.
25604
 
 
25605
 
2006-03-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25606
 
 
25607
 
        * ChunkedEncoding.{h,cc}: fixed the bug that if chunk data is binary,
25608
 
        decoding did not work properly.
25609
 
 
25610
 
2006-03-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25611
 
 
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.
25616
 
 
25617
 
2006-03-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25618
 
 
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.
25622
 
 
25623
 
2006-03-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25624
 
 
25625
 
        * SimpleLogger.cc: flush log file instead of stdout.
25626
 
 
25627
 
2006-03-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25628
 
 
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.
25637
 
        
25638
 
2006-03-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25639
 
 
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
25651
 
        
25652
 
2006-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25653
 
 
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
25662
 
        properly.
25663
 
        * Logger.h:
25664
 
        * SimpleLogger.{h,cc}: Changed the type of msg to const char*.
25665
 
        * ChunkedEncoding.cc: Added #include directive for strings.h
25666
 
        * Release 0.2.1
25667
 
        
25668
 
2006-02-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25669
 
 
25670
 
        * Util.{h,cc}: added startsWith().
25671
 
        * CookieBox.cc: rewrited criteriaFind() using Util::startsWith() and
25672
 
        Util::endsWith().
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
25676
 
        algorithm.
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.
25684
 
        
25685
 
2006-02-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25686
 
 
25687
 
        * Release 0.2.0
25688
 
        * main.cc:
25689
 
        * HttpInitiateConnectionCommand.{h,cc}:
25690
 
        * prefs.h:
25691
 
        * HttpConnection.{h,cc}: added --http-proxy-method option.
25692
 
        We can now use GET command in http proxy.
25693
 
 
25694
 
2006-02-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25695
 
        
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.
25703
 
        * Segment.h:
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.
25708
 
 
25709
 
2006-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25710
 
 
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
25717
 
        'BASIC' to 'basic'
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
25722
 
        
25723
 
2006-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25724
 
 
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.
25728
 
        
25729
 
2006-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
25730
 
 
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}:
25739
 
        * Socket.{h, cc}:
25740
 
        * Request.cc:
25741
 
        * InitiateConnectionCommandFactory.cc:
25742
 
        * HttpRequestCommand.cc: Added HTTPS support.
25743
 
        * SocketCore.{h,cc}: Added SocketCore. Socket becomes a handle class
25744
 
        for SocketCore.
25745
 
        * ChunkedEncoding.cc: Fixed bug in ChunkedEncoding: expanding buffer
25746
 
        size is wrong
25747
 
        * DownloadCommand.cc: Fixed bug in DownloadCommand: In Chunked
25748
 
        Encoding, it wrongly adds to Segment.ds buff length from the socket.
25749
 
 
25750
 
2006-02-17  Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com>
25751
 
        
25752
 
        * Release 0.1.0
25753