summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2015-08-16 15:15:44 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2015-08-16 15:15:44 +0100
commit5cde19017f6b64ab1e440633d59e36a231b57a3f (patch)
tree0e6fbd77fb7b670058d65d7bb9e2b65471e48cf8
parent9acb31a971d4f653836bbcf07410f51d3f80dbdd (diff)
Properly quote package name when constructing regexp in complete_file_from_dsc. Closes:#795736. Also, grep the code for likely similar problems elsewhere and improve a (harmless) instance in dgit-repos-server.
-rw-r--r--debian/changelog4
-rwxr-xr-xdgit2
-rwxr-xr-xinfra/dgit-repos-server2
3 files changed, 6 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 1c5fbc4..f448cf0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,10 @@ dgit (1.3) unstable; urgency=low
* If a .orig in .. is a symlink, hardlink the link target into our
private unpack directory, rather than the link itself (since latter
won't work if the symlink is relative).
+ * Properly quote package name when constructing regexp in
+ complete_file_from_dsc. Closes:#795736. Also, grep the code for
+ likely similar problems elsewhere and improve a (harmless) instance in
+ dgit-repos-server.
--
diff --git a/dgit b/dgit
index 2d42f94..60b39e4 100755
--- a/dgit
+++ b/dgit
@@ -1481,7 +1481,7 @@ sub complete_file_from_dsc ($$) {
my $furl = $dscurl;
$furl =~ s{/[^/]+$}{};
$furl .= "/$f";
- die "$f ?" unless $f =~ m/^${package}_/;
+ die "$f ?" unless $f =~ m/^\Q${package}\E_/;
die "$f ?" if $f =~ m#/#;
runcmd_ordryrun_local @curl,qw(-o),$tf,'--',"$furl";
next if !act_local();
diff --git a/infra/dgit-repos-server b/infra/dgit-repos-server
index 9705a64..cfa0f31 100755
--- a/infra/dgit-repos-server
+++ b/infra/dgit-repos-server
@@ -624,7 +624,7 @@ sub dm_txt_check ($$) {
printdebug " dm_txt_check $keyid $dmtxtfn\n";
open DT, '<', $dmtxtfn or die "$dmtxtfn $!";
while (<DT>) {
- m/^fingerprint:\s+$keyid$/oi
+ m/^fingerprint:\s+\Q$keyid\E$/oi
..0 or next;
if (s/^allow:/ /i..0) {
} else {