[zypp-commit] r9250 - in /trunk/libzypp/zypp/media: MediaCurl.cc MediaException.cc MediaException.h
Author: jreidinger Date: Fri Mar 21 13:20:16 2008 New Revision: 9250 URL: http://svn.opensuse.org/viewcvs/zypp?rev=9250&view=rev Log: Throwing special exception MediaBadCAException in case of SSL certificate validation failure.(bnc #223512) Modified: trunk/libzypp/zypp/media/MediaCurl.cc trunk/libzypp/zypp/media/MediaException.cc trunk/libzypp/zypp/media/MediaException.h Modified: trunk/libzypp/zypp/media/MediaCurl.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/media/MediaCurl.cc?rev=9250&r1=9249&r2=9250&view=diff ============================================================================== --- trunk/libzypp/zypp/media/MediaCurl.cc (original) +++ trunk/libzypp/zypp/media/MediaCurl.cc Fri Mar 21 13:20:16 2008 @@ -1082,6 +1082,8 @@ err = "Timeout reached"; ZYPP_THROW(MediaTimeoutException(url)); break; + case CURLE_SSL_CACERT: + ZYPP_THROW(MediaBadCAException(url,_curlError)); case CURLE_SSL_PEER_CERTIFICATE: default: err = curl_easy_strerror(ok); Modified: trunk/libzypp/zypp/media/MediaException.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/media/MediaException.cc?rev=9250&r1=9249&r2=9250&view=diff ============================================================================== --- trunk/libzypp/zypp/media/MediaException.cc (original) +++ trunk/libzypp/zypp/media/MediaException.cc Fri Mar 21 13:20:16 2008 @@ -207,6 +207,13 @@ return str << form(_("Timeout exceed when access '%s'."), _url.c_str()) << endl; return str << _msg << endl; } + + std::ostream & MediaBadCAException::dumpOn( std::ostream & str ) const + { + if (_msg.empty()) + return str << form(_(" SSL certificate problem, verify that the CA cert is OK for '%s'."), _url.c_str()) << endl; + return str << _msg << endl; + } ///////////////////////////////////////////////////////////////// } // namespace media } // namespace zypp Modified: trunk/libzypp/zypp/media/MediaException.h URL: http://svn.opensuse.org/viewcvs/zypp/trunk/libzypp/zypp/media/MediaException.h?rev=9250&r1=9249&r2=9250&view=diff ============================================================================== --- trunk/libzypp/zypp/media/MediaException.h (original) +++ trunk/libzypp/zypp/media/MediaException.h Fri Mar 21 13:20:16 2008 @@ -485,6 +485,19 @@ std::string _msg; }; + class MediaBadCAException : public MediaException + { + public: + MediaBadCAException(const Url & url_r, const std::string & msg = "Invalid CA") + : MediaException(msg) + , _url(url_r.asString()), _msg(msg) + {} + virtual ~MediaBadCAException() throw() {}; + protected: + virtual std::ostream & dumpOn( std::ostream & str ) const; + std::string _url; + std::string _msg; + }; ///////////////////////////////////////////////////////////////// } // namespace media } // namespace zypp -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org
participants (1)
-
jreidinger@svn.opensuse.org