Updates in preparation for 3.0.0beta2:
[BackupPC.git] / bin / BackupPC_zipCreate
index 51683fb..93bf95b 100755 (executable)
@@ -52,7 +52,7 @@
 #
 #========================================================================
 #
-# Version 3.0.0alpha, released 23 Jan 2006.
+# Version 3.0.0beta2, released 11 Nov 2006.
 #
 # See http://backuppc.sourceforge.net.
 #
@@ -100,7 +100,8 @@ EOF
     exit(1);
 }
 
-if ( $opts{h} !~ /^([\w\.\s-]+)$/ ) {
+if ( $opts{h} !~ /^([\w\.\s-]+)$/
+        || $opts{h} =~ m{(^|/)\.\.(/|$)} ) {
     print(STDERR "$0: bad host name '$opts{h}'\n");
     exit(1);
 }
@@ -141,7 +142,7 @@ $Charset = $opts{e} if ( $opts{e} ne "" );
 
 my $PathRemove = $1 if ( $opts{r} =~ /(.+)/ );
 my $PathAdd    = $1 if ( $opts{p} =~ /(.+)/ );
-if ( $opts{s} !~ /^([\w\s.\/$(){}[\]-]+)$/ ) {
+if ( $opts{s} =~ m{(^|/)\.\.(/|$)} ) {
     print(STDERR "$0: bad share name '$opts{s}'\n");
     exit(1);
 }
@@ -170,6 +171,7 @@ sub archiveWrite
        $ErrorCnt++;
         return;
     }
+    $dir = "/" if ( $dir eq "." );
     $view->find($Num, $ShareName, $dir, 0, \&ZipWriteFile,
                 $zipfh, $zipPathOverride);
 }