<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aria2/test/Base64Test.cc, branch libaria2</title>
<subtitle>Aria2 download utility with uTP support</subtitle>
<id>http://x-nagi.com/cgit/aria2/atom?h=libaria2</id>
<link rel='self' href='http://x-nagi.com/cgit/aria2/atom?h=libaria2'/>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/'/>
<updated>2012-07-04T13:51:41Z</updated>
<entry>
<title>Fixed base64::decode() return "" if input ends with garbase and no padding</title>
<updated>2012-07-04T13:51:41Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2012-07-04T13:51:41Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=995c07c184a15946008ceb26be8aeb9d117e4a6c'/>
<id>urn:sha1:995c07c184a15946008ceb26be8aeb9d117e4a6c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rewritten base64::decode and base64::encode</title>
<updated>2011-11-05T14:30:46Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2011-11-05T14:30:46Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=d45d854926486e5f2655e1447be537f8fbdcac77'/>
<id>urn:sha1:d45d854926486e5f2655e1447be537f8fbdcac77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>mv Base64.{cc,h} base64.{cc,h}</title>
<updated>2011-11-05T12:13:49Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2011-11-05T12:13:49Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=17a1b51a76515a554c33941e6bf75cca89b4877a'/>
<id>urn:sha1:17a1b51a76515a554c33941e6bf75cca89b4877a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>2008-02-08  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2008-02-08T15:53:45Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2008-02-08T15:53:45Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=1b7c1982896dba1d38e1fe84ba9660996607f5f9'/>
<id>urn:sha1:1b7c1982896dba1d38e1fe84ba9660996607f5f9</id>
<content type='text'>
	Removed "using namespace std;" from all sources. Appended std:: 
prefix to c++
	standard classes.
	Included string.h where mem* function are used.


</content>
</entry>
<entry>
<title>2007-12-04  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-12-04T11:12:56Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-12-04T11:12:56Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=936ce09b8339e2827e949385a0701a6f53a321a9'/>
<id>urn:sha1:936ce09b8339e2827e949385a0701a6f53a321a9</id>
<content type='text'>
	Added XML2SAXMetalinkProcessor class, which is a lot faster than
	the predecessor, Xml2MetalinkParser class.
	I tested them against 94KB metalink file with 1234 chunk 
checksums.
	The new one parsed it in 22msec, while it took 6000msec with old 
one.
	* src/XML2SAXMetalinkProcessor.{h, cc}
	* test/XML2SAXMetalinkProcessorTest.cc
	* src/MetalinkParserController.{h, cc}
	* test/MetalinkParserControllerTest.cc
	* src/MetalinkParserState.h: Also added 16 subclasses.
	* src/main.cc
	* src/Metalink2RequestGroup.cc
	* src/MetalinkHelper.cc
	* src/MetalinkEntry.cc
	* src/ChunkChecksum.h
	
	Rewritten Base64 class for better performance.
	* src/Base64.{h, cc}
	* test/Base64Test.cc
	* src/HttpRequest.cc


</content>
</entry>
<entry>
<title>2006-07-03  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2006-07-03T14:19:23Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-07-03T14:19:23Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=78eff232546a5fa6f48c151dc2343915ed94fa8c'/>
<id>urn:sha1:78eff232546a5fa6f48c151dc2343915ed94fa8c</id>
<content type='text'>
	To add Metalink support(http/ftp only):

	* src/AbstractCommand.h
	(tryReserved): New function.
	* src/AbstractCommand.cc
	(execute): Call tryReserved().
	(tryReserved): New function.
	* src/Request.h
	(Requests): New type definition.
	* src/SegmentMan.h
	(reserved): New variable.
	* src/Util.h
	(fileChecksum): New function.
	(toUpper): New function.
	(toLower): New function.
	* src/Util.cc
	(messageDigest.h): Included.
	(trim): Trim \r\n\t.
	(fileChecksum): New function.
	(toUpper): New function.
	(toLower): New function.
	* src/main.cc
	(normalDownload): New function.
	(main): Added 2 command-line options: metalink-file,
	metalink-connection. Their usage has not been written yet.
	* src/MetalinkProcessor.h: New class.
	* src/Xml2MetalinkProcessor.h: New class.
	* src/Xml2MetalinkProcessor.cc: New class.
	* src/MetalinkEntry.h: New class.
	* src/MetalinkEntry.cc: New class.
	* src/MetalinkResource.h: New class.
	* src/MetalinkResource.cc: New class.
	
	To add md5 message digest checking:

	* src/messageDigest.h: Rewritten.
	* src/MultiDiskWriter.cc: Updated according to the changes in
	messageDigest.h.
	* src/ShaVisitor.cc: Updated according to the changes in
	messageDigest.h.
	* src/Util.cc: Updated according to the changes in 
messageDigest.h.
	* src/AbstractDiskWriter.cc: Updated according to the changes in
	messageDigest.h.
	
	To fix a bug that causes segfault when the payload length in 
peer
	message is less than 0:

	* src/PeerConnection.cc:
	(receiveMessage): Fixed the bug.
	* src/PeerMessageUtil.cc
	(checkLength): Throw an exception if length is less than or 
equals to
	0.
	
	To add new interfaces to Base64 encoding/decoding:

	* src/Base64.h
	(part_encode): Changed the method signature.
	(encode): New function(overload).
	(decode): New function(overload).
	* src/Base64.cc
	(part_encode): Rewritten.
	(encode): Rewritten.
	(encode): New function(overload).

	To prevent a peer to download same piece if there is an error in
	checksum:

	* src/PieceMessage.cc
	(receivedAction): Call peerInteraction-&gt;abortPiece().
	

</content>
</entry>
<entry>
<title>Initial import</title>
<updated>2006-02-17T13:35:04Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-02-17T13:35:04Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=52634627bc3be9365180e52d7a96c9ca8497f3dc'/>
<id>urn:sha1:52634627bc3be9365180e52d7a96c9ca8497f3dc</id>
<content type='text'>
</content>
</entry>
</feed>
