Просмотр исходного кода

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.
Julian Andres Klode лет назад: 10
Родитель
Сommit
c7b7d4da7f
2 измененных файлов с 15 добавлено и 0 удалено
  1. 2 0
      apt-pkg/deb/debmetaindex.cc
  2. 13 0
      test/integration/test-signed-by-option

+ 2 - 0
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<std::string>(os, ","));
 	 SignedBy = os.str();
+	 while (SignedBy[SignedBy.size() - 1] == ',')
+	    SignedBy.resize(SignedBy.size() - 1);
       }
    }
    else if (SignedBy != pSignedBy)

+ 13 - 0
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