]> git.treefish.org Git - fex.git/blobdiff - lib/dop
Original release 20160104
[fex.git] / lib / dop
diff --git a/lib/dop b/lib/dop
index 20df28e46951c794ec602ca306372f2ec26eead9..b41dbc1e074d9425e4936f1bf4ed1858eb1ea86c 100755 (executable)
--- a/lib/dop
+++ b/lib/dop
@@ -12,6 +12,7 @@ use CGI::Carp qw(fatalsToBrowser);
 use Fcntl      qw(:flock :seek :mode);
 use POSIX      qw(strftime locale_h);
 use Cwd        qw(getcwd abs_path);
 use Fcntl      qw(:flock :seek :mode);
 use POSIX      qw(strftime locale_h);
 use Cwd        qw(getcwd abs_path);
+use utf8;
 
 # import from fex.pp
 our ($bs,$tmpdir,@doc_dirs);
 
 # import from fex.pp
 our ($bs,$tmpdir,@doc_dirs);
@@ -98,9 +99,10 @@ sub http_output {
     @files = ("$1.tar");
     open $file,'-|',qw'gzip -c',@files or http_error(503);
   } elsif ($file =~ /(.+)\.(tar|tgz|zip)$/ and
     @files = ("$1.tar");
     open $file,'-|',qw'gzip -c',@files or http_error(503);
   } elsif ($file =~ /(.+)\.(tar|tgz|zip)$/ and
-           @s = lstat($streamfile = "$1.stream") and $s[4] == $<)
+           @s = lstat($streamfile = "$1.stream") and
+           ($s[4] == $< or $s[4] == 0))
   {
   {
-    # streaming file (only if it is owned by user fex)
+    # streaming file
     chdir dirname($file);
     security_check($file);
     if (-l $streamfile and readlink($streamfile) =~ /^:(.+):$/) {
     chdir dirname($file);
     security_check($file);
     if (-l $streamfile and readlink($streamfile) =~ /^:(.+):$/) {