Author: jkupec Date: Thu Feb 14 10:36:36 2008 New Revision: 8670 URL: http://svn.opensuse.org/viewcvs/zypp?rev=8670&view=rev Log: - show special 'registration expired' message in HTTP response 403 (fate #303284) Modified: branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaCurl.cc branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.cc branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.h Modified: branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaCurl.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaCurl.cc?rev=8670&r1=8669&r2=8670&view=diff ============================================================================== --- branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaCurl.cc (original) +++ branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaCurl.cc Thu Feb 14 10:36:36 2008 @@ -16,6 +16,7 @@ #include "zypp/base/Logger.h" #include "zypp/ExternalProgram.h" #include "zypp/base/String.h" +#include "zypp/base/Gettext.h" #include "zypp/base/Sysconfig.h" #include "zypp/media/MediaCurl.h" @@ -873,6 +874,19 @@ err = " Login failed"; } else + if ( httpReturnCode == 403) + { + string msg403; + if (url.asString().find("novell.com") != string::npos) + msg403 = str::form(_( + "Permission to access '%s' denied.\n\n" + "Visit the Novell Customer Center to check whether" + " your registration is valid and not expired."), + url.asString().c_str()); + + ZYPP_THROW(MediaForbiddenException(url, msg403)); + } + else if ( httpReturnCode == 404) { err_file_not_found = true; @@ -1080,6 +1094,19 @@ err = " Login failed"; } else + if ( httpReturnCode == 403) + { + string msg403; + if (url.asString().find("novell.com") != string::npos) + msg403 = str::form(_( + "Permission to access '%s' denied.\n\n" + "Visit the Novell Customer Center to check whether" + " your registration is valid and not expired."), + url.asString().c_str()); + + ZYPP_THROW(MediaForbiddenException(url, msg403)); + } + else if ( httpReturnCode == 404) { ZYPP_THROW(MediaFileNotFoundException(_url, filename)); Modified: branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.cc URL: http://svn.opensuse.org/viewcvs/zypp/branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.cc?rev=8670&r1=8669&r2=8670&view=diff ============================================================================== --- branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.cc (original) +++ branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.cc Thu Feb 14 10:36:36 2008 @@ -10,12 +10,15 @@ * */ -#include <string> #include <iostream> +#include "zypp/base/String.h" +#include "zypp/base/Gettext.h" + #include "zypp/media/MediaException.h" using namespace std; +using zypp::str::form; /////////////////////////////////////////////////////////////////// namespace zypp @@ -25,7 +28,7 @@ std::ostream & MediaMountException::dumpOn( std::ostream & str ) const { - str << "Failed to mount " << _source << " on " << _target; + str << form(_("Failed to mount %s on %s"), _source.c_str(), _target.c_str()); if( !_cmdout.empty()) str << ": " << _error << " (" << _cmdout << ")" << endl; else @@ -35,7 +38,7 @@ std::ostream & MediaUnmountException::dumpOn( std::ostream & str ) const { - return str << "Failed to unmount " << _path + return str << form(_("Failed to unmount %s"), _path.c_str()) << " : " << _error << endl; } @@ -134,9 +137,10 @@ std::ostream & MediaCurlException::dumpOn( std::ostream & str) const { - return str << "Curl error for '" << _url << "':" << endl - << "Error code: " << _err << endl - << "Error message: " << _msg << endl; + return str << form(_( + "Curl error for '%s':\n" + "Error code: %s\n" + "Error message: %s\n"), _url.c_str(), _err.c_str(), _msg.c_str()); } std::ostream & MediaCurlSetOptException::dumpOn( std::ostream & str) const @@ -158,9 +162,16 @@ std::ostream & MediaNotEjectedException::dumpOn( std::ostream & str ) const { if( _name.empty()) - return str << "Can't eject any media" << endl; + return str << _("Can't eject any media") << endl; else - return str << "Can't eject media " << _name << endl; + return str << form(_("Can't eject media '%s'"), _name.c_str()) << endl; + } + + std::ostream & MediaForbiddenException::dumpOn( std::ostream & str ) const + { + if (_msg.empty()) + return str << form(_("Permission to access '%s' denied."), _url.c_str()) << endl; + return str << _msg << endl; } ///////////////////////////////////////////////////////////////// Modified: branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.h URL: http://svn.opensuse.org/viewcvs/zypp/branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.h?rev=8670&r1=8669&r2=8670&view=diff ============================================================================== --- branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.h (original) +++ branches/SuSE-Linux-10_2-Branch/libzypp/zypp/media/MediaException.h Thu Feb 14 10:36:36 2008 @@ -421,6 +421,20 @@ std::string _name; }; + class MediaForbiddenException : public MediaException + { + public: + MediaForbiddenException(const Url & url_r, const std::string & msg = "") + : MediaException(msg) + , _url(url_r.asString()), _msg(msg) + {} + virtual ~MediaForbiddenException() 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