From 00c6e1a3eb3d7c8890ca8861c07663f54e0900e0 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 30 Jun 2011 08:33:19 +0100 Subject: * doc/makefile: - create doxygen directory to avoid depending on magic (Closes: #628799) * cmdline/apt-key: - explicitly state that net-update is not supported if no url is set - require to be root for add, rm, update and net-update - clarify update vs. net-update in different distros (Closes: #632043) * debian/apt.symbols: - forgot 'mips' in the list for all architecture dependent symbols - comment out gcc-4.5 specific symbols as gcc-4.6 is now default - the symbol for PrintStatus() is architecture dependent * apt-pkg/policy.cc: - do not segfault in pinning if a package with this name doesn't exist. Thanks to Ferdinand Thommes for the report! - Defaults is a vector of Pin not of PkgPin - ensure that only the first specific stanza for a package is used - save all stanzas which had no effect in Unmatched - allow package:architecure in Package: --- debian/apt.symbols | 27 +++++++++++++++++---------- debian/changelog | 23 +++++++++++++++++++++++ 2 files changed, 40 insertions(+), 10 deletions(-) (limited to 'debian') diff --git a/debian/apt.symbols b/debian/apt.symbols index fb8403839..04e13edd7 100644 --- a/debian/apt.symbols +++ b/debian/apt.symbols @@ -1230,37 +1230,45 @@ libapt-pkg.so.4.10 libapt-pkg4.10 # (c++|regex|optional=std)"^std::vector<.+ >::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 # (c++|regex|optional=std)"^pkgCache::(Dep|Pkg|Ver|Grp|Prv|Desc|PkgFile)Iterator\*\* std::_.+@Base$" 0.8.0 ### gcc-4.5 specific - (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 - (c++|optional=inline)"FileFd::FileFd(std::basic_string, std::allocator >, FileFd::OpenMode, unsigned long)@Base" 0.8.0 - (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0 - (c++|optional=template)"SPtrArray::~SPtrArray()@Base" 0.8.0 +# (c++|regex|optional=std)"^char\* std::[^ ]+<.+ >::_.+@Base$" 0.8.0 +# (c++|optional=inline)"FileFd::FileFd(std::basic_string, std::allocator >, FileFd::OpenMode, unsigned long)@Base" 0.8.0 +# (c++|regex|optional=template)"^SPtrArray<[^ ]+>::~SPtrArray\(\)@Base$" 0.8.0 +# (c++|optional=template)"SPtrArray::~SPtrArray()@Base" 0.8.0 ### gcc-4.6 specific (c++|optional=template)"SPtrArray::~SPtrArray()@Base" 0.8.0 (c++|regex|optional=std)"^std::basic_string, std::allocator >::basic_string\(.+\)@Base$" 0.8.0 (c++|regex|optional=std)"^std::vector::(vector|push_back|erase|_[^ ]+)\(.+\)( const|)@Base$" 0.8.0 - (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0 +# (c++|optional=strange)"pkgCache::VerIterator::VerIterator(pkgCache&, pkgCache::Version*)@Base" 0.8.0 +### architecture specific: va_list + (arch=armel armhf|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, std::__va_list&) const@Base" 0.8.15~exp1 1 + (arch=i386 hurd-i386 kfreebsd-i386|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1 + (arch=hppa ia64 mips mipsel sparc sparc64|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, void*&) const@Base" 0.8.15~exp1 1 + (arch=amd64 kfreebsd-amd64 powerpc powerpcspe s390|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag (&) [1]) const@Base" 0.8.15~exp1 1 + (arch=sh4|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __builtin_va_list&) const@Base" 0.8.15~exp1 1 + (arch=alpha|c++)"pkgAcqMethod::PrintStatus(char const*, char const*, __va_list_tag&) const@Base" 0.8.15~exp1 1 ### architecture specific: va_list & size_t (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, char*&, unsigned int&)@Base" 0.8.11.4 1 (arch=armel armhf|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, std::__va_list&, unsigned int&)@Base" 0.8.11.4 1 (arch=alpha|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag&, unsigned long&)@Base" 0.8.11.4 1 (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned int&)@Base" 0.8.11.4 1 (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __va_list_tag (&) [1], unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned int&)@Base" 0.8.11.4 1 (arch=ia64 sparc64|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, void*&, unsigned long&)@Base" 0.8.11.4 1 (arch=sh4|c++|optional=private)"GlobalError::Insert(GlobalError::MsgType, char const*, __builtin_va_list&, unsigned int&)@Base" 0.8.11.4 1 + (arch=i386 hurd-i386 kfreebsd-i386|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, char*&, int, unsigned int&)@Base" 0.8.11.4 1 (arch=armel armhf|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, std::__va_list&, int, unsigned int&)@Base" 0.8.11.4 1 (arch=alpha|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag&, int, unsigned long&)@Base" 0.8.11.4 1 (arch=powerpc powerpcspe|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned int&)@Base" 0.8.11.4 1 (arch=amd64 kfreebsd-amd64 s390|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __va_list_tag (&) [1], int, unsigned long&)@Base" 0.8.11.4 1 - (arch=hppa mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1 + (arch=hppa mips mipsel sparc|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned int&)@Base" 0.8.11.4 1 (arch=ia64 sparc64|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, void*&, int, unsigned long&)@Base" 0.8.11.4 1 (arch=sh4|c++|optional=private)"GlobalError::InsertErrno(GlobalError::MsgType, char const*, char const*, __builtin_va_list&, int, unsigned int&)@Base" 0.8.11.4 1 ### architecture specific: size_t - (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 + (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"_strtabexpand(char*, unsigned int)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"_strtabexpand(char*, unsigned long)@Base" 0.8.0 - (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mipsel powerpc powerpcspe sh4 sparc|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string, std::allocator >&, std::basic_string, std::allocator >&, unsigned int&)@Base" 0.8.0 + (arch=i386 armel armhf hppa hurd-i386 kfreebsd-i386 mips mipsel powerpc powerpcspe sh4 sparc|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string, std::allocator >&, std::basic_string, std::allocator >&, unsigned int&)@Base" 0.8.0 (arch=alpha amd64 ia64 kfreebsd-amd64 s390 sparc64|c++)"indexRecords::parseSumData(char const*&, char const*, std::basic_string, std::allocator >&, std::basic_string, std::allocator >&, unsigned long&)@Base" 0.8.0 ### try to ignore std:: template instances (c++|regex|optional=std)"^(void |)std::[^ ]+<.+ >::(_|~).+\(.*\)@Base$" 0.8.0 @@ -1319,5 +1327,4 @@ libapt-pkg.so.4.10 libapt-pkg4.10 (c++|optional=private)"PrintMode(char)@Base" 0.8.13.2 1 (c++)"pkgDepCache::IsModeChangeOk(pkgDepCache::ModeList, pkgCache::PkgIterator const&, unsigned long, bool)@Base" 0.8.13.2 1 (c++)"pkgPackageManager::SmartUnPack(pkgCache::PkgIterator, bool)@Base" 0.8.15~exp1 1 - (c++)"pkgAcqMethod::PrintStatus(char const*, char const*, char*&) const@Base" 0.8.15~exp1 1 (c++)"pkgCache::DepIterator::IsNegative() const@Base" 0.8.15~exp1 1 diff --git a/debian/changelog b/debian/changelog index 7598a139d..d56d6b857 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,26 @@ +apt (0.8.15.1) UNRELEASEDunstable; urgency=low + + [ David Kalnischkies ] + * doc/makefile: + - create doxygen directory to avoid depending on magic (Closes: #628799) + * cmdline/apt-key: + - explicitly state that net-update is not supported if no url is set + - require to be root for add, rm, update and net-update + - clarify update vs. net-update in different distros (Closes: #632043) + * debian/apt.symbols: + - forgot 'mips' in the list for all architecture dependent symbols + - comment out gcc-4.5 specific symbols as gcc-4.6 is now default + - the symbol for PrintStatus() is architecture dependent + * apt-pkg/policy.cc: + - do not segfault in pinning if a package with this name doesn't exist. + Thanks to Ferdinand Thommes for the report! + - Defaults is a vector of Pin not of PkgPin + - ensure that only the first specific stanza for a package is used + - save all stanzas which had no effect in Unmatched + - allow package:architecure in Package: + + -- David Kalnischkies Thu, 30 Jun 2011 00:02:15 +0200 + apt (0.8.15) unstable; urgency=low [ Julian Andres Klode ] -- cgit v1.2.3-70-g09d2 From 8d0303273495fc478ae62570ecf1675942cfbc41 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Thu, 30 Jun 2011 10:14:38 +0200 Subject: releasing version 0.8.15.1 --- debian/changelog | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index d56d6b857..87d25e78f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -apt (0.8.15.1) UNRELEASEDunstable; urgency=low +apt (0.8.15.1) unstable; urgency=low [ David Kalnischkies ] * doc/makefile: @@ -19,7 +19,7 @@ apt (0.8.15.1) UNRELEASEDunstable; urgency=low - save all stanzas which had no effect in Unmatched - allow package:architecure in Package: - -- David Kalnischkies Thu, 30 Jun 2011 00:02:15 +0200 + -- Michael Vogt Thu, 30 Jun 2011 10:05:36 +0200 apt (0.8.15) unstable; urgency=low -- cgit v1.2.3-70-g09d2 From 89c4c588b275d098af33f36eeddea6fd75068342 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 13 Jul 2011 19:02:10 +0200 Subject: fix from David Kalnischkies for the InRelease gpg verification code (LP: #784473) --- apt-pkg/indexcopy.cc | 21 ++++++++++++++++++++- debian/changelog | 7 +++++++ methods/gpgv.cc | 13 ++++++++----- 3 files changed, 35 insertions(+), 6 deletions(-) (limited to 'debian') diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 064fb007c..31c577705 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -664,6 +664,21 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector &SigList, bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG, int const &statusfd, int fd[2]) { + if (File == FileGPG) + { + #define SIGMSG "-----BEGIN PGP SIGNED MESSAGE-----\n" + char buffer[sizeof(SIGMSG)]; + FILE* gpg = fopen(File.c_str(), "r"); + if (gpg == NULL) + return _error->Errno("RunGPGV", _("Could not open file %s"), File.c_str()); + char const * const test = fgets(buffer, sizeof(buffer), gpg); + fclose(gpg); + if (test == NULL || strcmp(buffer, SIGMSG) != 0) + return _error->Error(_("File %s doesn't start with a clearsigned message"), File.c_str()); + #undef SIGMSG + } + + string const gpgvpath = _config->Find("Dir::Bin::gpg", "/usr/bin/gpgv"); // FIXME: remove support for deprecated APT::GPGV setting string const trustedFile = _config->Find("APT::GPGV::TrustedKeyring", _config->FindFile("Dir::Etc::Trusted")); @@ -688,7 +703,11 @@ bool SigVerify::RunGPGV(std::string const &File, std::string const &FileGPG, Args.reserve(30); if (keyrings.empty() == true) - return false; + { + // TRANSLATOR: %s is the trusted keyring parts directory + return _error->Error(_("No keyring installed in %s."), + _config->FindDir("Dir::Etc::TrustedParts").c_str()); + } Args.push_back(gpgvpath.c_str()); Args.push_back("--ignore-time-conflict"); diff --git a/debian/changelog b/debian/changelog index 87d25e78f..244bb83e0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +apt (0.8.15.2) unstable; urgency=high + + * fix from David Kalnischkies for the InRelease gpg verification + code (LP: #784473) + + -- Michael Vogt Tue, 12 Jul 2011 11:54:47 +0200 + apt (0.8.15.1) unstable; urgency=low [ David Kalnischkies ] diff --git a/methods/gpgv.cc b/methods/gpgv.cc index efe1f73f7..960c06180 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -65,13 +65,16 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, return string("Couldn't spawn new process") + strerror(errno); else if (pid == 0) { - if (SigVerify::RunGPGV(outfile, file, 3, fd) == false) + _error->PushToStack(); + bool const success = SigVerify::RunGPGV(outfile, file, 3, fd); + if (success == false) { - // TRANSLATOR: %s is the trusted keyring parts directory - ioprintf(ret, _("No keyring installed in %s."), - _config->FindDir("Dir::Etc::TrustedParts").c_str()); - return ret.str(); + string errmsg; + _error->PopMessage(errmsg); + _error->RevertToStack(); + return errmsg; } + _error->RevertToStack(); exit(111); } close(fd[1]); -- cgit v1.2.3-70-g09d2