Index: /trunk/DataStore/lib/DataStore/File/Parser.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/File/Parser.pm	(revision 15028)
+++ /trunk/DataStore/lib/DataStore/File/Parser.pm	(revision 15029)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Parser.pm,v 1.14 2007-09-26 00:44:43 jhoblitt Exp $
+# $Id: Parser.pm,v 1.15 2007-09-26 03:41:00 jhoblitt Exp $
 
 package DataStore::File::Parser;
@@ -185,7 +185,11 @@
         # validate format of md5sum, hex encoded
         unless ($md5sum =~ $MD5_FIELD) {
-            carp "line $lineno: field $md5sum:"
-               . " does not conform to $MD5_FIELD: $line";
-            next LINE;
+            # allow md5sum to be empty
+            unless ($md5sum =~ /^\s*$/) {
+                carp "line $lineno: field $md5sum:"
+                . " does not conform to $MD5_FIELD: $line";
+                next LINE;
+            }
+            $md5sum = undef;
         }
 
@@ -197,13 +201,15 @@
 	my @extra = @fields[4 .. $#fields] if $#fields >= 4;
 
-        # fifo  
-        push @data, DataStore::File->new({
+        my %p = (
             fileid  => $fileid,
             bytes   => $bytes,
-            md5sum  => $md5sum,
             type    => $type,
             extra   => \@extra, 
             uri     => $self->base_uri . $fileid,
-        });
+        );
+        $p{md5sum} = $md5sum if $md5sum;
+
+        # fifo  
+        push @data, DataStore::File->new(%p);
     } continue {
         $lineno++;
Index: /trunk/DataStore/scripts/dsfilesetls
===================================================================
--- /trunk/DataStore/scripts/dsfilesetls	(revision 15028)
+++ /trunk/DataStore/scripts/dsfilesetls	(revision 15029)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: dsfilesetls,v 1.4 2006-11-29 01:26:57 jhoblitt Exp $
+# $Id: dsfilesetls,v 1.5 2007-09-26 03:41:00 jhoblitt Exp $
 
 use strict;
@@ -48,5 +48,5 @@
         $fs->fileid, " ",
         $fs->bytes, " ",
-        $fs->md5sum, " ",
+        $fs->md5sum || 0, " ",
         $fs->type;
     print " ", join(" ", @{$fs->extra}) if defined $fs->extra;   
