From c7b7d4da7f8b8edd9c3d6b13f0b935853ad8a039 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 10 May 2016 19:09:19 +0200 Subject: Strip trailing commas for created signed-by fingerprint lists This prevented some sources.list entries from working, an example of which can be found in the test. --- apt-pkg/deb/debmetaindex.cc | 2 ++ test/integration/test-signed-by-option | 13 +++++++++++++ 2 files changed, 15 insertions(+) create mode 100755 test/integration/test-signed-by-option diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index ead07a479..aad7df735 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -687,6 +687,8 @@ bool debReleaseIndex::SetSignedBy(std::string const &pSignedBy) std::stringstream os; std::copy(fingers.begin(), fingers.end(), std::ostream_iterator(os, ",")); SignedBy = os.str(); + while (SignedBy[SignedBy.size() - 1] == ',') + SignedBy.resize(SignedBy.size() - 1); } } else if (SignedBy != pSignedBy) diff --git a/test/integration/test-signed-by-option b/test/integration/test-signed-by-option new file mode 100755 index 000000000..4ab2e28bb --- /dev/null +++ b/test/integration/test-signed-by-option @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +msgtest "Check that a repository with signed-by and two components works" +echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386] https://people.debian.org/~jak/debian/ stable main contrib # Äffchen' > rootdir/etc/apt/sources.list + +testsuccess --nomsg aptcache policy -- cgit v1.2.3