zipfuse: files default permission is 400

When a file in the zip archive doesn't have the external attribute
specifying the file mode, it defaults to 400 instead of 000 so that it
can at least be read by the owner.

Bug: 264668376
Test: ls -al /mnt/apk shows
```
dr-x------ 5 root root    0 1970-01-01 00:00 META-INF
dr-x------ 3 root root    0 1970-01-01 00:00 lib
-r-------- 1 root root   40 1970-01-01 00:00 resources.arsc
```

Change-Id: Icaad2935f0c3a194e32ae0b6e900cd03a27b9e1d
diff --git a/zipfuse/src/inode.rs b/zipfuse/src/inode.rs
index 5d52922..6a61924 100644
--- a/zipfuse/src/inode.rs
+++ b/zipfuse/src/inode.rs
@@ -95,8 +95,11 @@
     }
 
     fn new_file(zip_index: ZipIndex, zip_file: &zip::read::ZipFile) -> InodeData {
+        // b/264668376 some files in APK don't have unix permissions specified. Default to 400
+        // otherwise those files won't be readable even by the owner.
+        const DEFAULT_FILE_MODE: u32 = libc::S_IRUSR;
         InodeData {
-            mode: zip_file.unix_mode().unwrap_or(0),
+            mode: zip_file.unix_mode().unwrap_or(DEFAULT_FILE_MODE),
             size: zip_file.size(),
             data: InodeDataData::File(zip_index),
         }