summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: d76b6c1bbcdfcd2454acc3b3a70050413e2346fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
2006-03-26  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* TorrentMan.cc: When adding new peer with duplicate = true, if the
	number of peer list is equal to or grater than MAX_PEER_LIST, delete
	at most 100 failure entry from the list. If with duplicate = false,
	MAX_PEER_LIST is not checked.
	* PeerListenCommand.cc: Fixed the argument order of log message.

2006-03-24  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* Request.h: Added AFTER_COMPLETED event.
	* TorrentDownloadEngine.cc: Prints "Download complete" message
	instead of downloaded size and progress(%) after download completes.
	* PeerInteractionCommand.cc: After download completes, sends unchoke
	message to the peer if it is interested in what localhost has
	downloaded.
	* TorrentMan.cc: In single-file mode, copy temporary file to the final
	destination instead of just renaming it.
	* TorrentMan.cc: Added deleteTempFile().
	* PeerAbstractCommand.cc: do not stop execution after download
	completes. This makes localhost a seeder.
	* Util.{h,cc}: Added fileCopy().
	* PeerListenCommand.cc: do not stop execution after download completes.
	This makes localhost a seeder.
	* main.cc: Do not call TorrentMan::fixFilename() in torrentHandler.
	Added TorrentMan::deleteTempFile() to torrentHandler.
	Initialized the variable dir as ".".
	* TorrentMan.h: Changed DEFAULT_ANNOUNCE_INTERVAL to 120 seconds.
	Deleted renameSingleFile().
	Added copySingleFile(), deleteTempFile().
	* DownloadEngine.h: Added virtual function afterEachIteration().
	* TorrentDownloadEngine.cc: Move a call to TorrentMan::fixFilename()
	in onEndOfRun() to afterEachIteration().
	In onEndOfRun(), changed if condition to check whether filenameFixed is
	true.
	* Util.cc: Implemented fileCopy() using rangedFileCopy().
	In rangedFileCopy(), added try-catch block to properly close file
	descriptors.
	* TorrentDownloadEngine.cc: Added a member variable filenameFixed.
	Added afterEachIteration(), isFilenameFixed().
	* Peer.cc: Changed choking strategy.
	* PreAllocationDiskWriter.cc: Drop O_DIRECT flag.
	* TrackerInitCommand.cc: Send completed event only once.
	* DownloadEngine.cc: Added a call to afterEachIteration().
	* TrackerUpdateCommand.cc: Do not stop execution after download
	completes.
	* TorrentMan.h: Defined MAX_PEER_UPDATE as 15. aria2 attempts to
	connect the peers at most MAX_PEER_UPDATE when a peer list is
	received from a tracker.
	* TrackerUpdateCommand.cc: Implemented above mentioned behavior.
	Decreased the number of failure peers to delete to 0(just comment out
	the line).
	* Release 0.3.1
	
2006-03-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* PeerInteractionCommand.cc: added a call to 
	TorrentMan::unadvertisePiece in Destructor.
	* PeerInteractionCommand.cc: make have message sent immediately
	if the size of pending message queue is zero.
	* TorrentMan.cc: set the maximum size of peer list to 250.
	* TorrentMan.h: changed the container type of Peers and UsedPieces
	to deque.
	* Util.cc: fixed rangedFileCopy.
	* AbstractDiskWriter.{h,cc}: moved digest context initialization
	to Constructor. Also, moved digest cleanup to Destructor.
	* MetaFileUtil.cc: fixed memory leak
	* replaced std::vector with std::deque.
	* AbstractCommand.cc: casted timeout value to long long int.
	* ChunkedEncoding.cc: fixed memory leak.
	* PeerInteractionCommand.cc: casted timeout value to long long int.
	* SleepCommand.cc: casted timeout value to long long int.
	* Data.cc: fixed memory leak.
	* Data.cc: fixed toLLInt().
	* BitfieldMan.cc: fixed memory leak.
	* TorrentMan.cc: initialized storeDir to ".".
	* TorrentMan.cc: fixed memory leak.
	* TorrentMan.cc: corrected file paths of splitted files.
	* PeerAbstractCommand.cc: casted timeout to long long int.
	* main.cc: added delete(req) and delete(te->diskWriter).
	* RequestSlot.cc: casted timeout value to long long int.
	* Request.cc: fixed memory leak.
	* PendingMessage.cc: make HAVE messages sent only when peer does not
	have the piece.
	* Peer.{h,cc}: added hasPiece(int index).
	* main.cc: corrected addCommand.
	
2006-03-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* BitTorrent protocol support added.
	* Release 0.3.0
	
2006-03-17  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* SocketCore.cc: remove the assignment of addrinfo.ai_addr.

2006-03-09  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* ChunkedEncoding.{h,cc}: fixed the bug that if chunk data is binary,
	decoding did not work properly.

2006-03-07  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* DownloadEngine.h: included sys/time.h
	* DownloadEngine.cc: remove sys/time.h
	* Makefile.am (SUBDIRS): Add intl.
	* configure.in (AC_CONFIG_FILES): Add intl/Makefile.

2006-03-05  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* main.cc: correct help message for --http-auth-scheme.
	* main.cc: changed e-mail address for bug reports.
	* ja.po: added japanese translation.

2006-03-04  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* SimpleLogger.cc: flush log file instead of stdout.

2006-03-03  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* main.cc: Fixed command-line option: max-tries
	* HttpResponseCommand.cc: Make the request re-sent only if req->seg.sp
	does not equal to seg.sp.
	* DownloadCommand.cc: If EOF is got from the server and the total size
	of file is not zero, then throw DlRetryEx.
	* main.cc: Set the minium value of min-segment-size to 1024.
	* HttpResponseCommand.cc: Fixed the bug that http segmented downloading
	fails because of a regression since 0.2.0 release.
	
2006-03-02  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* HttpConnection.cc:
	* common.h: defined the user agent name as macro
	* DownloadEngine.{h, cc}:
	* ConsoleDownloadEngine.{h, cc}: Console output message(size, speed)
	is now generated by ConsoleDownloadEngine not by DownloadEngine.
	* main.cc: Download complete/abort message is now generated by main.
	* Makefile.am (SUBDIRS): Add m4.
	(ACLOCAL_AMFLAGS): New variable.
	(EXTRA_DIST): New variable.
	* configure.in (AC_CONFIG_FILES): Add po/Makefile.in,
	* gettext: added gettext functionality
	
2006-03-01  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* AbstractCommand.cc:
	* DownloadCommand.{h, cc}: Aborted downloading commands now properly
	unregister its cuid from SegmentMan.	
	* DownloadEngine.cc: .aria2 file was written when a downloading
	failed with errors.
	* HttpConnection.cc: Added "Proxy-Connection" header to proxy request.
	Added "User-Agent" header to CONNECT proxy request.
	Fixed "Proxy-Authorization" header. Now proxy authorization works
	properly.
	* Logger.h:
	* SimpleLogger.{h,cc}: Changed the type of msg to const char*.
	* ChunkedEncoding.cc: Added #include directive for strings.h
	* Release 0.2.1
	
2006-02-28  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* Util.{h,cc}: added startsWith().
	* CookieBox.cc: rewrited criteriaFind() using Util::startsWith() and
	Util::endsWith().
	* SocketCore.cc: struct addrinfo is now  zero-initialized.
	* common.h: added #include directive of limit.h.
	* DownloadEngine.cc: added #include directive of sys/time.h and
	algorithm.
	* Exception.h: added #include directive of stdio.h.
	* AbstractCommand.h: added #include directive of sys/time.h.
	* DownloadCommand.h: added #include directive of sys/time.h.
	* *.h: added #include directive of common.h to all base classes.
	subclasses' one was removed.
	* common.h: defined LONG_LONG_MAX and LONG_LONG_MIN if a compiler
	does not define these macros.
	
2006-02-23  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* Release 0.2.0
	* main.cc:
	* HttpInitiateConnectionCommand.{h,cc}:
	* prefs.h:
	* HttpConnection.{h,cc}: added --http-proxy-method option.
	We can now use GET command in http proxy.

2006-02-22  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>
	
	* SplitSlowestSegmentSplitter.{h,cc}: This class provies algorithm
	that splits slowest segment of SegmentMan::commands vector.
	This is the default split algorithm of aria2.
	* SplitFirstSegmentSplitter.{h,cc}: This class provides algorithm
	that splits first segment of SegmentMan::commands vector.
	* SegmentSplitter.{h,cc}: Added. This class provides split algorithm.
	* DownloadCommand.{h,cc}: Added downloading speed calculation.
	* Segment.h:
	* SegmentMan.cc: Added speed field to Segment.h
	* main.cc: -s option now affects all URLs in command-line arguemtns.
	* HttpResponseCommand.cc: Fixed bug that segment file is not loaded.
	* message.h: Change file size related %d to %lld.

2006-02-21  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* FtpInitiateConnectionCommand.{h,cc}:
	* FtpNegotiationCommand.{h,cc}:
	* FtpDownloadCommand.{h,cc}:
	* FtpConnection.{h,cc}: Added FTP support
	* SimpleLogger.cc: Log message now includes time information.
	* main.cc: The value of --http-auth-scheme option is chagned from
	'BASIC' to 'basic'
	* main.cc: Added --timeout command-line option.
	* main.cc: Added --min-segment-size command-line option.
	* main.cc: Added --max-retries command-line option.
	* prefs.h: option string constants are now defined in prefs.h
	
2006-02-19  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* AbstractCommand.cc: Fixed timeout bug in AbstractCommand
	* SegmentMan.cc: Added totalSize entry to .aria2 file. No compatibility
	with version 0.1.0's one.
	
2006-02-18  Tatsuhiro Tsujikawa  <tujikawa at rednoah dot com>

	* configure.in: Added --enable-ssl option to configure script.
	* HttpConnection.cc: Make Request-URI an absolute path. Some servers
	cannot permit absoluteURI as Request-URI.
	* HttpConnection.cc: Added Referer support.
	* main.cc: Added referer command-line option.
	* main.cc: Added rety-wait command-line option.
	* Exception.h: Fixed formating bug in Exception::setMsg()
	* SocketCore.{h,cc}:
	* Socket.{h, cc}:
	* Request.cc:
	* InitiateConnectionCommandFactory.cc:
	* HttpRequestCommand.cc: Added HTTPS support.
	* SocketCore.{h,cc}: Added SocketCore. Socket becomes a handle class
	for SocketCore.
	* ChunkedEncoding.cc: Fixed bug in ChunkedEncoding: expanding buffer
	size is wrong
	* DownloadCommand.cc: Fixed bug in DownloadCommand: In Chunked
	Encoding, it wrongly adds to Segment.ds buff length from the socket.

2006-02-17  Tatsuhiro Tsujikawa <tsujikawa at rednoah dot com>
	
	* Release 0.1.0