diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-02 14:07:30 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-02 14:07:30 +0000 |
| commit | ba78b6f16712c40917312412c91f5e0c11742e12 (patch) | |
| tree | e6773b0b12914fc372002d8de2a4c6d67a91112e /src/MetalinkParserStateMachine.h | |
| parent | eb32f5647923afdc30cb170b84424230714c411f (diff) | |
2010-03-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
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
Diffstat (limited to 'src/MetalinkParserStateMachine.h')
| -rw-r--r-- | src/MetalinkParserStateMachine.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/MetalinkParserStateMachine.h b/src/MetalinkParserStateMachine.h index 601b0d21..472b05da 100644 --- a/src/MetalinkParserStateMachine.h +++ b/src/MetalinkParserStateMachine.h @@ -54,6 +54,9 @@ private: std::stack<MetalinkParserState*> _stateStack; + // Error messages encountered while parsing document. + std::vector<std::string> _errors; + static MetalinkParserState* _initialState; static MetalinkParserState* _skipTagState; @@ -245,6 +248,16 @@ public: bool needsCharactersBuffering() const; + // Only stores first 10 errors. + void logError(const std::string& log); + + const std::vector<std::string>& getErrors() const + { + return _errors; + } + + std::string getErrorString() const; + const SharedHandle<Metalinker>& getResult() const { return _ctrl->getResult(); |
