Hello community, here is the log from the commit of package libzypp for openSUSE:Factory checked in at 2015-06-04 08:53:24 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libzypp (Old) and /work/SRC/openSUSE:Factory/.libzypp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "libzypp" Changes: -------- --- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2015-05-25 23:07:46.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libzypp.new/libzypp.changes 2015-06-04 08:53:25.000000000 +0200 @@ -1,0 +2,13 @@ +Wed Jun 3 13:00:59 CEST 2015 - ma@suse.de + +- Enhance solv.idx file handling to support zypper bash completion +- Fix SSL client certificate authentication via URL option + ssl_clientcert/ssl_clientkey (bnc#932393) +- version 15.4.0 (3) + +------------------------------------------------------------------- +Thu May 28 01:13:23 CEST 2015 - ma@suse.de + +- Update zypp-po.tar.bz2 + +------------------------------------------------------------------- Old: ---- libzypp-15.3.0.tar.bz2 New: ---- libzypp-15.4.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libzypp.spec ++++++ --- /var/tmp/diff_new_pack.LarlNf/_old 2015-06-04 08:53:26.000000000 +0200 +++ /var/tmp/diff_new_pack.LarlNf/_new 2015-06-04 08:53:26.000000000 +0200 @@ -19,7 +19,7 @@ %define force_gcc_46 0 Name: libzypp -Version: 15.3.0 +Version: 15.4.0 Release: 0 Url: git://gitorious.org/opensuse/libzypp.git Summary: Package, Patch, Pattern, and Product Management ++++++ libzypp-15.3.0.tar.bz2 -> libzypp-15.4.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/VERSION.cmake new/libzypp-15.4.0/VERSION.cmake --- old/libzypp-15.3.0/VERSION.cmake 2015-05-24 18:20:17.000000000 +0200 +++ new/libzypp-15.4.0/VERSION.cmake 2015-06-03 13:04:17.000000000 +0200 @@ -60,9 +60,9 @@ # SET(LIBZYPP_MAJOR "15") SET(LIBZYPP_COMPATMINOR "3") -SET(LIBZYPP_MINOR "3") +SET(LIBZYPP_MINOR "4") SET(LIBZYPP_PATCH "0") # -# LAST RELEASED: 15.3.0 (3) +# LAST RELEASED: 15.4.0 (3) # (The number in parenthesis is LIBZYPP_COMPATMINOR) #======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/package/libzypp.changes new/libzypp-15.4.0/package/libzypp.changes --- old/libzypp-15.3.0/package/libzypp.changes 2015-05-24 18:20:17.000000000 +0200 +++ new/libzypp-15.4.0/package/libzypp.changes 2015-06-03 13:04:17.000000000 +0200 @@ -1,4 +1,17 @@ ------------------------------------------------------------------- +Wed Jun 3 13:00:59 CEST 2015 - ma@suse.de + +- Enhance solv.idx file handling to support zypper bash completion +- Fix SSL client certificate authentication via URL option + ssl_clientcert/ssl_clientkey (bnc#932393) +- version 15.4.0 (3) + +------------------------------------------------------------------- +Thu May 28 01:13:23 CEST 2015 - ma@suse.de + +- Update zypp-po.tar.bz2 + +------------------------------------------------------------------- Sun May 24 18:17:38 CEST 2015 - ma@suse.de - Downloader: Accept unsigned repository if pkgGpgCheck is ON. Files old/libzypp-15.3.0/po/zypp-po.tar.bz2 and new/libzypp-15.4.0/po/zypp-po.tar.bz2 differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/RepoManager.cc new/libzypp-15.4.0/zypp/RepoManager.cc --- old/libzypp-15.3.0/zypp/RepoManager.cc 2015-05-13 14:04:46.000000000 +0200 +++ new/libzypp-15.4.0/zypp/RepoManager.cc 2015-06-03 13:04:17.000000000 +0200 @@ -1188,8 +1188,14 @@ if ( cache_status == raw_metadata_status ) { MIL << info.alias() << " cache is up to date with metadata." << endl; - if ( policy == BuildIfNeeded ) { - return; + if ( policy == BuildIfNeeded ) + { + // On the fly add missing solv.idx files for bash completion. + const Pathname & base = solv_path_for_repoinfo( _options, info); + if ( ! PathInfo(base/"solv.idx").isExist() ) + sat::updateSolvFileIndex( base/"solv" ); + + return; } else { MIL << info.alias() << " cache rebuild is forced" << endl; @@ -1776,6 +1782,14 @@ newinfo.dumpAsIniOn(file); } + if ( toedit.enabled() && !newinfo.enabled() ) + { + // On the fly remove solv.idx files for bash completion if a repo gets disabled. + const Pathname & solvidx = solv_path_for_repoinfo(_options, newinfo)/"solv.idx"; + if ( PathInfo(solvidx).isExist() ) + filesystem::unlink( solvidx ); + } + newinfo.setFilepath(toedit.filepath()); reposManip().erase(toedit); reposManip().insert(newinfo); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/media/MediaCurl.cc new/libzypp-15.4.0/zypp/media/MediaCurl.cc --- old/libzypp-15.3.0/zypp/media/MediaCurl.cc 2015-04-02 19:17:12.000000000 +0200 +++ new/libzypp-15.4.0/zypp/media/MediaCurl.cc 2015-06-03 13:04:17.000000000 +0200 @@ -295,6 +295,14 @@ else s.setClientCertificatePath(client_cert); } + Pathname client_key( url.getQueryParam("ssl_clientkey") ); + if( ! client_key.empty()) + { + if( !PathInfo(client_key).isFile() || !client_key.absolute()) + ZYPP_THROW(MediaBadUrlException(url, "Invalid ssl_clientkey file")); + else + s.setClientKeyPath(client_key); + } param = url.getQueryParam( "proxy" ); if ( ! param.empty() ) @@ -632,6 +640,10 @@ { SET_OPTION(CURLOPT_SSLCERT, _settings.clientCertificatePath().c_str()); } + if( ! _settings.clientKeyPath().empty() ) + { + SET_OPTION(CURLOPT_SSLKEY, _settings.clientKeyPath().c_str()); + } #ifdef CURLSSLOPT_ALLOW_BEAST // see bnc#779177 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/media/MediaManager.h new/libzypp-15.4.0/zypp/media/MediaManager.h --- old/libzypp-15.3.0/zypp/media/MediaManager.h 2014-07-01 11:30:28.000000000 +0200 +++ new/libzypp-15.4.0/zypp/media/MediaManager.h 2015-06-03 13:04:17.000000000 +0200 @@ -409,7 +409,9 @@ * server is authentic against the chain of digital signatures * found in <tt>ssl_capath</tt>. * - <tt>ssl_clientcert</tt> - * Path to a ssl client certificate for authentication to a repo. + * Path to the ssl client certificate for authentication to a repo (CURLOPT_SSLCERT). + * - <tt>ssl_clientkey</tt> + * Path to the ssl client key for authentication to a repo (CURLOPT_SSLKEY). * - <tt>timeout</tt>: * Transfer timeout in seconds between 0 and 3600, 0 disables * the timeout, default timeout is 180 seconds. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/media/TransferSettings.cc new/libzypp-15.4.0/zypp/media/TransferSettings.cc --- old/libzypp-15.3.0/zypp/media/TransferSettings.cc 2014-07-01 11:30:28.000000000 +0200 +++ new/libzypp-15.4.0/zypp/media/TransferSettings.cc 2015-06-03 13:04:17.000000000 +0200 @@ -76,6 +76,7 @@ bool _verify_peer; Pathname _ca_path; Pathname _client_cert_path; + Pathname _client_key_path; // workarounds bool _head_requests_allowed; @@ -287,6 +288,16 @@ _impl->_client_cert_path = path; } +Pathname TransferSettings::clientKeyPath() const +{ + return _impl->_client_key_path; +} + +void TransferSettings::setClientKeyPath( const zypp::Pathname &path ) +{ + _impl->_client_key_path = path; +} + void TransferSettings::setVerifyPeerEnabled( bool enabled ) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/media/TransferSettings.h new/libzypp-15.4.0/zypp/media/TransferSettings.h --- old/libzypp-15.3.0/zypp/media/TransferSettings.h 2014-07-01 11:30:28.000000000 +0200 +++ new/libzypp-15.4.0/zypp/media/TransferSettings.h 2015-06-03 13:04:17.000000000 +0200 @@ -264,6 +264,16 @@ */ void setClientCertificatePath( const zypp::Pathname &path ); + /** + * SSL client key file + */ + Pathname clientKeyPath() const; + + /** + * Sets the SSL client key file + */ + void setClientKeyPath( const zypp::Pathname &path ); + protected: class Impl; RWCOW_pointer<Impl> _impl; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-15.3.0/zypp/target/TargetImpl.cc new/libzypp-15.4.0/zypp/target/TargetImpl.cc --- old/libzypp-15.3.0/zypp/target/TargetImpl.cc 2015-05-13 14:04:46.000000000 +0200 +++ new/libzypp-15.4.0/zypp/target/TargetImpl.cc 2015-06-03 13:04:17.000000000 +0200 @@ -1111,6 +1111,12 @@ } } } + else + { + // On the fly add missing solv.idx files for bash completion. + if ( ! PathInfo(base/"solv.idx").isExist() ) + sat::updateSolvFileIndex( rpmsolv ); + } return build_rpm_solv; }