am a8280783: am b14a2c6e: fix up permissions
Merge commit 'a82807839758a58bc16781b2e0ef9bce15677343'
* commit 'a82807839758a58bc16781b2e0ef9bce15677343':
fix up permissions
diff --git a/sdcard/sdcard.c b/sdcard/sdcard.c
index 5d19604..a534dae 100644
--- a/sdcard/sdcard.c
+++ b/sdcard/sdcard.c
@@ -25,6 +25,8 @@
#include <sys/uio.h>
#include <dirent.h>
+#include <private/android_filesystem_config.h>
+
#include "fuse.h"
/* README
@@ -144,10 +146,20 @@
/* TODO: time */
attr->mode = s->st_mode;
attr->nlink = s->st_nlink;
- /* TODO: uid/gid */
- attr->uid = 1000;
- attr->gid = 1000;
+ /* force permissions to something reasonable:
+ * world readable
+ * writable by the sdcard group
+ */
+ if (attr->mode & 0100) {
+ attr->mode = (attr->mode & (~0777)) | 0775;
+ } else {
+ attr->mode = (attr->mode & (~0777)) | 0664;
+ }
+
+ /* all files owned by root.sdcard */
+ attr->uid = 0;
+ attr->gid = AID_SDCARD_RW;
}
int node_get_attr(struct node *node, struct fuse_attr *attr)