summaryrefslogtreecommitdiff
path: root/test/MetalinkProcessorTest.cc
Commit message (Collapse)AuthorAgeFilesLines
* clang-format-5.0Tatsuhiro Tsujikawa2017-11-231-1/+1
|
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-369/+426
|
* Use user-defined literal for k, m, and g (powers of 1024)Tatsuhiro Tsujikawa2015-06-211-4/+4
|
* Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, alwaysNils Maier2014-04-171-23/+3
|
* Use std::unique_ptr for Metalink objectsTatsuhiro Tsujikawa2013-07-121-82/+59
|
* Require -std=c++11 and use std::shared_ptr instead of SharedHandleTatsuhiro Tsujikawa2013-06-221-58/+58
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-11/+11
|
* Use int64_t instead of off_tTatsuhiro Tsujikawa2012-06-251-7/+7
| | | | | Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator and ChecksumValidator are left unchanged.
* Use int32_t for piece length instead of size_tTatsuhiro Tsujikawa2011-12-091-7/+7
|
* Replaced uint64_t with off_t or int64_t.Tatsuhiro Tsujikawa2011-12-091-7/+7
| | | | | Since off_t is int64_t with LFS, we cannot take advantage of extra capacity of uint64_t.
* Rewritten Expat Metalink XML parser.Tatsuhiro Tsujikawa2011-11-101-2/+1
|
* Rewritten Metalink XML parser.Tatsuhiro Tsujikawa2011-11-101-164/+147
| | | | | Now we don't strip white spaces while parsing Metalink V3 document. Expat implementation does not included in this change.
* Stored hash value as raw byte string, instead of hex digest.Tatsuhiro Tsujikawa2011-10-131-12/+13
|
* Consistent naming scheme for hash type and digest.Tatsuhiro Tsujikawa2011-07-271-33/+33
|
* Made `make distcheck' pass.Tatsuhiro Tsujikawa2010-12-021-4/+5
| | | | | | We added 2 macros A2_TEST_DIR and A2_TEST_OUT_DIR to pass tests in `make distcheck`. A2_TEST_DIR refers to test directory. All output files by unit tests are now created under A2_TEST_OUT_DIR directory.
* 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-201-32/+32
| | | | | | Replaced StringFormat with fmt
* 2010-11-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-121-11/+11
| | | | | | | | Removed SharedHandle::isNull(). Instead we added operator* and operator unspecified_bool_type. Removed use of WeakHandle and replaced with raw pointer.
* 2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-111-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaced MessageDigestContext with MessageDigest. Cleaned up unnecessary functions in MessageDigestHelper. * src/BtPieceMessage.cc * src/Checksum.h * src/DHTTokenTracker.cc * src/DownloadCommand.cc * src/DownloadCommand.h * src/HashFuncEntry.h * src/IteratableChecksumValidator.cc * src/IteratableChecksumValidator.h * src/IteratableChunkChecksumValidator.cc * src/IteratableChunkChecksumValidator.h * src/LibgcryptMessageDigestImpl.cc * src/LibgcryptMessageDigestImpl.h * src/LibsslMessageDigestImpl.cc * src/LibsslMessageDigestImpl.h * src/MSEHandshake.cc * src/MSEHandshake.h * src/Makefile.am * src/MessageDigest.cc * src/MessageDigest.h * src/MessageDigestHelper.cc * src/MessageDigestHelper.h * src/MessageDigestImpl.h * src/MetalinkParserController.cc * src/Piece.cc * src/Piece.h * src/UTMetadataDataExtensionMessage.cc * src/bittorrent_helper.cc * src/messageDigest.cc: Removed * src/messageDigest.h: Removed * src/util.cc * src/version_usage.cc * test/BittorrentHelperTest.cc * test/GZipDecoderTest.cc * test/GZipDecodingStreamFilterTest.cc * test/IteratableChecksumValidatorTest.cc * test/IteratableChunkChecksumValidatorTest.cc * test/Makefile.am * test/MessageDigestHelperTest.cc * test/MessageDigestTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkProcessorTest.cc * test/PieceTest.cc * test/TestUtil.cc * test/TestUtil.h * test/UTMetadataDataExtensionMessageTest.cc * test/UTMetadataPostDownloadHandlerTest.cc
* 2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-121-35/+35
| | | | | | | | | | | | Made public member variable in Metalinker private * src/MetalinkParserController.cc * src/Metalinker.cc * src/Metalinker.h * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/MetalinkerTest.cc
* 2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-05-141-11/+15
| | | | | | | | | | | | | | | | | Left only IANA hash function textual name in messageDigest.cc. Assign only IANA hash function textual name to Checksum and ChunkChecksum. Fixed the value of MessageDigestContext::MD5. * src/Checksum.h * src/MetalinkParserController.cc * src/messageDigest.cc * src/messageDigest.h * test/IteratableChecksumValidatorTest.cc * test/IteratableChunkChecksumValidatorTest.cc * test/MessageDigestHelperTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkProcessorTest.cc
* 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-081-4/+3
| | | | | | | | | Fixed compile error and unit test error without openssl and gnutls. * src/MetalinkParserController.cc * test/MetalinkProcessorTest.cc
* 2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-081-11/+29
| | | | | | | | Fixed unitest fails if openssl doesn't support sha-256. * src/MetalinkParserStateV4Impl.cc * test/MetalinkProcessorTest.cc
* 2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-021-47/+93
| | | | | | | | | | | | | | | | | In Metalink4, if size element contains invalid size, discard whole document. Added strict hash value check for metalink3/4. * src/MetalinkParserController.cc * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV4Impl.cc * src/util.cc * src/util.h * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/metalink4.xml
* 2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-021-31/+320
| | | | | | | | | | | | | | | | Added strict attribute validation for metalink4. When specification violation is found, discard the whole document. * src/ExpatMetalinkProcessor.cc * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV4Impl.cc * src/XML2SAXMetalinkProcessor.cc * test/Makefile.am * test/MetalinkProcessorTest.cc * test/metalink4-attrs.xml: Removed * test/metalink4-dirtraversal.xml: Removed
* 2010-02-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-271-7/+13
| | | | | | | | | | | | | | | | | | | | Use vector instead of deque for MetalinkEntry and MetalinkResource objects. * src/Metalink2RequestGroup.cc * src/Metalink2RequestGroup.h * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkHelper.cc * src/MetalinkHelper.h * src/Metalinker.cc * src/Metalinker.h * src/main.cc * test/MetalinkEntryTest.cc * test/MetalinkHelperTest.cc * test/MetalinkProcessorTest.cc * test/MetalinkerTest.cc
* 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-271-1/+1
| | | | | | | | | | | | | Added MessageDigest::isStronger(). Now aria2 selects stronger hash algorithm in Metalink properly * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/messageDigest.cc * src/messageDigest.h * test/MetalinkProcessorTest.cc * test/metalink4.xml
* 2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-271-0/+14
| | | | | | | | | | | | | | | | | | Discard torrent file if path data in it contains directory traversal directives. Discard metalink:file element in Metalink3 format if its name attribute contains directory traversal directives. Ignore name attribute of metalink:signature element in Metalink3 format if it contains directory traversal directives. * src/MetalinkParserStateV3Impl.cc * src/bittorrent_helper.cc * src/message.h * test/BittorrentHelperTest.cc * test/Makefile.am * test/MetalinkProcessorTest.cc * test/metalink3-dirtraversal.xml * test/test.xml
* 2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-261-1/+3
| | | | | | | | | | | | | | Store name attribute of metalink:metaurl element in MetalinkMetaurl. * src/MetalinkMetaurl.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV4Impl.cc * test/MetalinkProcessorTest.cc * test/metalink4-dirtraversal.xml
* 2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-251-12/+24
| | | | | | | | | | | | | | | | | | | | Added MetalinkMetaurl class. It corresponds to metalink:metaurl element. * src/Makefile.am * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkMetaurl.cc * src/MetalinkMetaurl.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV4Impl.cc * src/MetalinkParserStateV4Impl.h * test/MetalinkProcessorTest.cc
* 2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-251-29/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added Metalink4 support. Currently, name attribute of metalink::metaurl is ignored and multi-file torrent cannot be used with Metalink4. * doc/aria2c.1.txt * src/DownloadHandlerConstants.cc * src/ExpatMetalinkProcessor.cc * src/Makefile.am * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserState.h * src/MetalinkParserStateImpl.cc * src/MetalinkParserStateImpl.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MetalinkParserStateV3Impl.cc * src/MetalinkParserStateV3Impl.h * src/MetalinkParserStateV4Impl.cc * src/MetalinkParserStateV4Impl.h * src/MetalinkResource.cc * src/MetalinkResource.h * src/Metalinker.cc * src/RequestGroup.cc * src/RequestGroup.h * src/XML2SAXMetalinkProcessor.cc * src/messageDigest.cc * src/util.cc * src/util.h * test/Makefile.am * test/MetalinkEntryTest.cc * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/MetalinkerTest.cc * test/UtilTest.cc * test/metalink4-attrs.xml * test/metalink4-dirtraversal.xml * test/metalink4.xml
* 2010-01-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-01-051-153/+153
| | | | | | | | | Untabify. Fixed one line in copyright which is longer than 80 columns. * src * test
* 2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-05-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now the constructor of AbstractDiskWriter takes filename as an argument and filename argument is removed from openFile(), initAndOpenFile(), openExistingFile() interface. storeDir member and its accessor functions are removed from DiskAdaptor because it is not used anymore. size() member function of DefaultDiskWriter, DirectDiskAdaptor and MultiDiskAdaptor now can be called without opening file. * src/AbstractDiskWriter.cc * src/AbstractDiskWriter.h * src/AbstractSingleDiskAdaptor.cc * src/AbstractSingleDiskAdaptor.h * src/ByteArrayDiskWriter.cc * src/ByteArrayDiskWriter.h * src/ByteArrayDiskWriterFactory.cc * src/ByteArrayDiskWriterFactory.h * src/DefaultDiskWriter.cc * src/DefaultDiskWriter.h * src/DefaultDiskWriterFactory.cc * src/DefaultDiskWriterFactory.h * src/DefaultPieceStorage.cc * src/DirectDiskAdaptor.cc * src/DirectDiskAdaptor.h * src/DiskAdaptor.h * src/DiskWriter.h * src/DiskWriterFactory.h * src/MessageDigestHelper.cc * src/MultiDiskAdaptor.cc * src/RequestGroup.cc * src/UnknownLengthPieceStorage.cc * src/Util.cc * test/DefaultDiskWriterTest.cc * test/DirectDiskAdaptorTest.cc * test/FallocFileAllocationIteratorTest.cc * test/MessageDigestHelperTest.cc * test/MetalinkProcessorTest.cc * test/MultiDiskAdaptorTest.cc * test/MultiFileAllocationIteratorTest.cc * test/SingleFileAllocationIteratorTest.cc * test/UtilTest.cc
* 2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-04-281-32/+31
| | | | | | | | | | | | | | | | | | | Removed MetalinkProcessorFactory. Since we don't use both libxml2 and expat simultaneously, MetalinkProcessor is now not base class and it is directly implemented in XML2SAXMetalinkProcessor and ExpatMetalinkProcessor. * src/ExpatMetalinkProcessor.cc * src/ExpatMetalinkProcessor.h * src/Makefile.am * src/MetalinkHelper.cc * src/MetalinkProcessor.h * src/MetalinkProcessorFactory.cc: Removed. * src/MetalinkProcessorFactory.h: Removed * src/XML2SAXMetalinkProcessor.cc * src/XML2SAXMetalinkProcessor.h * test/MetalinkProcessorTest.cc
* 2009-02-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-02-101-16/+23
| | | | | | | | Don't use sha256 in tests because it might not be supported by the SSL library. * test/MetalinkProcessorTest.cc
* 2008-07-31 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-07-311-5/+5
| | | | | | | | | | | | | | | | | | Applied tizianomueller's patch to fix compile error. * test/BitfieldManTest.cc * test/BtRequestMessageTest.cc * test/DefaultBtContextTest.cc * test/DefaultDiskWriterTest.cc * test/DefaultPieceStorageTest.cc * test/HttpHeaderProcessorTest.cc * test/HttpResponseTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/PeerSessionResourceTest.cc * test/UtilTest.cc
* 2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-07-121-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the ability to retrieve signature from Metalink file. A retrieved signature is stored in Signature class and it is held by DownloadContext class. Note that aria2 doesn't verify signature. * src/DownloadContext.cc * src/DownloadContext.h * src/Makefile.am * src/Makefile.in * src/Metalink2RequestGroup.cc * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/Signature.cc * src/Signature.h * src/SignatureMetalinkParserState.cc * src/SignatureMetalinkParserState.h * src/VerificationMetalinkParserState.cc * src/VerificationMetalinkParserState.h * test/Metalink2RequestGroupTest.cc * test/MetalinkParserControllerTest.cc * test/MetalinkProcessorTest.cc * test/test.xml
* 2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-04-271-47/+30
| | | | | | | | | | | | | Rewritten Exception class. Throw exception object, not its pointer and catch by reference, so that remove problematic delete operator for catched exception. * src/Exception.cc * src/Exception.h * test/ExceptionTest.cc * src/*: All files throwing/catching exception. * test/*: All files throwing/catching exception.
* 2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-04-201-15/+15
| | | | | | | | | | | | | | | Rewritten SharedHandle. Now copy constructor taking raw pointer has keyword explicit and SharedHandle's default constructor initializes its internal obj to null, old implementation initializes it using obj's default constructor. To assign null, write SharedHandle<T> x(...); x.reset(); TODO: test/SharedHandleTest.cc needs more tests. * src/SharedHandle.h
* 2008-03-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | Added summary log for peer announce storage. * src/DHTPeerAnnounceStorage.cc (handleTimeout) Removed cast * src/DefaultPeerStorage.cc (addPeer) Log exception message * src/DHTMessageTracker.cc (handleTimeout) Fixed casting * test/HttpRequestTest.cc * test/MetalinkProcessorTest.cc * test/PieceTest.cc * test/MetalinkEntryTest.cc * test/SequenceTest.cc
* 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-091-13/+13
| | | | | | type cleanup for allmost all remaining files.
* 2008-03-03 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Included missing iostream. * test/AllTest.cc * test/BtDependencyTest.cc * test/BtExtendedMessageTest.cc * test/DHTConnectionImplTest.cc * test/DHTMessageFactoryImplTest.cc * test/DHTMessageTrackerEntryTest.cc * test/DHTNodeTest.cc * test/DHTRoutingTableSerializerTest.cc * test/DefaultBtAnnounceTest.cc * test/DefaultBtContextTest.cc * test/DefaultBtMessageFactoryTest.cc * test/DefaultExtensionMessageFactoryTest.cc * test/HandshakeExtensionMessageTest.cc * test/HttpResponseTest.cc * test/MetalinkProcessorTest.cc * test/MultiFileAllocationIteratorTest.cc * test/SocketCoreTest.cc * test/UTPexExtensionMessageTest.cc
* 2008-03-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-011-0/+29
| | | | | | | Added a test for large file. * test/MetalinkProcessorTest.cc (testLargeFileSize):
* 2008-02-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-02-081-109/+121
| | | | | | | | | Removed "using namespace std;" from all sources. Appended std:: prefix to c++ standard classes. Included string.h where mem* function are used.
* 2007-12-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2007-12-141-0/+510
Fixed possible memory leak when an exception is thrown. * src/XML2SAXMetalinkProcessor.cc Added Expat support. If both libxml2 and Expat are installed, then libxml2 is used by default. MetalinkProcessorFactory chooses from XML2SAXMetalinkProcessor and ExpatMetalinkProcessor according to the configuration. * src/ExpatMetalinkProcessor.{h, cc} * src/main.cc: Removed libxml2 specific header and init/free function. * src/MetalinkProcessorFactory.{h, cc} * src/MetalinkHelper.cc * src/Metalinker.h: Removed unnecessary libxml2 header. * src/MetalinkProcessor.h * test/XML2SAXMetalinkProcessorTest.cc: Removed because MetalinkProcessorTest is used instead. * test/MetalinkProcessorTest.cc: Added. It is actually the same with XML2SAXMetalinkProcessor, replaced XML2SAXMetalinkProcessor with MetalinkProcessorFactory::newInstance(). * m4/libexpat.m4 * configure.ac: Added configuration options for libexpat.