summaryrefslogtreecommitdiff
path: root/src/MetalinkParserStateMachine.cc
Commit message (Collapse)AuthorAgeFilesLines
* Use default where possibleNils Maier2016-08-291-1/+1
|
* make clang-format using clang-format-3.6Tatsuhiro Tsujikawa2015-12-271-49/+41
|
* Use move for XML parserTatsuhiro Tsujikawa2013-11-101-48/+45
|
* Use std::unique_ptr for Metalink objectsTatsuhiro Tsujikawa2013-07-121-2/+8
|
* Removed trailing spacesTatsuhiro Tsujikawa2012-10-011-1/+1
|
* Added reset() API to ParserStateMachineTatsuhiro Tsujikawa2012-07-131-0/+10
| | | | Not unittested
* Use int64_t instead of off_tTatsuhiro Tsujikawa2012-06-251-1/+1
| | | | | Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator and ChecksumValidator are left unchanged.
* Replaced uint64_t with off_t or int64_t.Tatsuhiro Tsujikawa2011-12-091-1/+1
| | | | | Since off_t is int64_t with LFS, we cannot take advantage of extra capacity of uint64_t.
* Rewritten Metalink XML parser.Tatsuhiro Tsujikawa2011-11-101-6/+6
| | | | | Now we don't strip white spaces while parsing Metalink V3 document. Expat implementation does not included in this change.
* Support relative URI in Metalink file.Tatsuhiro Tsujikawa2011-05-071-0/+4
| | | | | | | If relative URI is found in Metalink file, aria2 resolves its full URI contatenating the URI from which Metalink file is retrieved and relative URI in Metalink file. This feature is not available if Metalink file in local disk is specified in command line.
* 2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-11-141-0/+2
| | | | | | | | | Added .cc file for classes/structs that only provided by header file. Defined non-POD classes' ctor, dtor in .cc file. Moved implementation code in header file to .cc file for major classes/strucsts.
* 2010-06-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-06-211-114/+114
| | | | | | | Changed naming standards for class member variable: now it looks like var_ instead of _var.
* 2010-03-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-03-021-0/+5
| | | | | | | | | | | | | | | | | 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-0/+21
| | | | | | | | | | | | | | | | 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-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2010-02-261-0/+5
| | | | | | | | | | | | | | 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-0/+38
| | | | | | | | | | | | | | | | | | | | 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-9/+126
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | | | | | | Untabify. Fixed one line in copyright which is longer than 80 columns. * src * test
* 2009-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-10-031-76/+63
| | | | | | | Put all MetalinkParserState subclasses into MetalinkParserStateImpl.cc. Use stack to track element structure.
* 2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-05-291-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implemented getter methods in header files to give them more chance of optimization. Return const reference for SharadHandle if possible. * src/AbstractAuthResolver.cc * src/AbstractAuthResolver.h * src/AbstractBtMessage.cc * src/AbstractBtMessage.h * src/AbstractSingleDiskAdaptor.cc * src/AbstractSingleDiskAdaptor.h * src/AsyncNameResolver.cc * src/AsyncNameResolver.h * src/BNode.cc * src/BNode.h * src/BitfieldMan.cc * src/BitfieldMan.h * src/BtAbortOutstandingRequestEvent.h * src/BtExtendedMessage.cc * src/BtExtendedMessage.h * src/BtSeederStateChoke.cc * src/BtSeederStateChoke.h * src/Cookie.cc * src/Cookie.h * src/DHTBucket.cc * src/DHTBucket.h * src/DHTConnectionImpl.cc * src/DHTConnectionImpl.h * src/DHTFindNodeReplyMessage.cc * src/DHTFindNodeReplyMessage.h * src/DHTGetPeersReplyMessage.cc * src/DHTGetPeersReplyMessage.h * src/DHTInteractionCommand.cc * src/DHTMessage.cc * src/DHTMessage.h * src/DHTMessageDispatcherImpl.cc * src/DHTMessageEntry.cc * src/DHTMessageReceiver.cc * src/DHTMessageReceiver.h * src/DHTMessageTrackerEntry.cc * src/DHTMessageTrackerEntry.h * src/DHTPeerAnnounceEntry.cc * src/DHTPeerAnnounceEntry.h * src/DHTPeerLookupTask.cc * src/DHTPeerLookupTask.h * src/DHTRoutingTableDeserializer.cc * src/DHTRoutingTableDeserializer.h * src/DefaultBtAnnounce.cc * src/DefaultBtAnnounce.h * src/DefaultBtMessageDispatcher.cc * src/DefaultBtMessageDispatcher.h * src/DefaultBtRequestFactory.cc * src/DefaultBtRequestFactory.h * src/DiskAdaptor.cc * src/DiskAdaptor.h * src/DownloadContext.cc * src/DownloadContext.h * src/DownloadEngine.cc * src/DownloadEngine.h * src/EpollEventPoll.cc * src/EpollEventPoll.h * src/FtpConnection.cc * src/FtpConnection.h * src/HttpConnection.cc * src/HttpConnection.h * src/HttpHeader.cc * src/HttpHeader.h * src/HttpRequest.cc * src/HttpRequest.h * src/HttpResponse.cc * src/HttpResponse.h * src/LibsslTLSContext.cc * src/LibsslTLSContext.h * src/MSEHandshake.cc * src/MSEHandshake.h * src/MetalinkEntry.cc * src/MetalinkEntry.h * src/MetalinkParserController.cc * src/MetalinkParserController.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/MultiDiskAdaptor.cc * src/MultiDiskAdaptor.h * src/NetrcAuthResolver.cc * src/NetrcAuthResolver.h * src/Peer.cc * src/Peer.h * src/PeerSessionResource.cc * src/PeerSessionResource.h * src/Piece.cc * src/Piece.h * src/PieceStatMan.cc * src/PieceStatMan.h * src/Request.cc * src/Request.h * src/RequestGroup.cc * src/RequestGroup.h * src/RequestGroupMan.cc * src/RequestGroupMan.h * src/RequestSlot.cc * src/RequestSlot.h * src/SegmentMan.cc * src/SegmentMan.h * src/SelectEventPoll.cc * src/SelectEventPoll.h * src/ServerStat.cc * src/ServerStat.h * src/Signature.cc * src/Signature.h * src/URIResult.cc * src/URIResult.h * src/UTPexExtensionMessage.cc * src/UTPexExtensionMessage.h
* 2009-04-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>Tatsuhiro Tsujikawa2009-04-281-3/+3
| | | | | | | | Code cleanup * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h
* 2008-08-07 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-08-071-1/+2
| | | | | | | Fixed memory leak * src/MetalinkParserStateMachine.cc
* 2008-07-12 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-07-121-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-26 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-04-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed the bug that causes segmentaion fault when reading XML containing unescapsed character like '&'. Also a modification was made which avoids adding unnecessary characters stack and appending unused string. * src/ExpatMetalinkProcessor.cc * src/FileMetalinkParserState.h * src/FilesMetalinkParserState.h * src/FinMetalinkParserState.h * src/HashMetalinkParserState.h * src/InitialMetalinkParserState.h * src/LanguageMetalinkParserState.h * src/MetalinkMetalinkParserState.h * src/MetalinkParserState.h * src/MetalinkParserStateMachine.cc * src/MetalinkParserStateMachine.h * src/OSMetalinkParserState.h * src/PieceHashMetalinkParserState.h * src/PiecesMetalinkParserState.h * src/ResourcesMetalinkParserState.h * src/SizeMetalinkParserState.h * src/SkipTagMetalinkParserState.h * src/URLMetalinkParserState.h * src/VerificationMetalinkParserState.h * src/VersionMetalinkParserState.h * src/XML2SAXMetalinkProcessor.cc
* 2008-03-09 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-03-091-6/+6
| | | | | | type cleanup for allmost all remaining files.
* 2008-02-08 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2008-02-081-15/+20
| | | | | | | | | Removed "using namespace std;" from all sources. Appended std:: prefix to c++ standard classes. Included string.h where mem* function are used.
* 2007-12-04 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>Tatsuhiro Tsujikawa2007-12-041-0/+327
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