From ad28128b41882a17ce9db87adee202884295013b Mon Sep 17 00:00:00 2001 From: dschmenk Date: Tue, 10 Dec 2013 20:26:38 -0800 Subject: [PATCH] Pulling in some changes --- Makefile | 2 +- debian/changelog | 13 +++++++++++++ debian/postinst | 7 +++++++ share/A2PI-1.2.PO | Bin 143360 -> 143360 bytes src/a2mount | 2 +- src/fusea2pi.c | 10 ++++++---- 6 files changed, 28 insertions(+), 6 deletions(-) mode change 100644 => 100755 debian/changelog mode change 100644 => 100755 share/A2PI-1.2.PO diff --git a/Makefile b/Makefile index aef9a30..bb15270 100755 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ PACKAGE=a2pi -VERSION=0.1.5 +VERSION=0.1.7 DIST=$(PACKAGE)-$(VERSION) DISTDIR=./$(DIST) diff --git a/debian/changelog b/debian/changelog old mode 100644 new mode 100755 index cdce0c4..ba29170 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,16 @@ +a2pi (0.1.7-2) unstable; urgency=low + + * Adjust file permissions for FUSE driver to allow group access + * Add options to allow root to access FUSE mount point (for GSport) + + -- David Schmenk Fri, 06 Dec 2013 20:39:14 -0800 + +a2pi (0.1.6-1) unstable; urgency=low + + * One more attempt at mouse acceleration. Better inital Apple client setup. + + -- David Schmenk Sun, 1 Dec 2013 18:59:17 -0800 + a2pi (0.1.5-1) unstable; urgency=low * One more attempt at mouse acceleration, Apple ][/][+ support diff --git a/debian/postinst b/debian/postinst index 92c9016..2a57cc0 100755 --- a/debian/postinst +++ b/debian/postinst @@ -51,6 +51,13 @@ case "$1" in addgroup pi fuse # addgroup pi input # already there by default # + # Allow other users (root) to access FUSE mount points + # + if [ "$(grep \#user_allow_other /etc/fuse.conf)" != "" ] ; then + mv /etc/fuse.conf /etc/fuse.conf.bak + sed 's/^#user_allow_other/user_allow_other/' /etc/fuse.conf.bak > /etc/fuse.conf + fi + # # Add schmenk.is-a-geek.com to apt sources # if [ "$(grep schmenk /etc/apt/sources.list)" = "" ] ; then diff --git a/share/A2PI-1.2.PO b/share/A2PI-1.2.PO old mode 100644 new mode 100755 index 9c46bf02b6f83f557100d6de36725f3c995002e2..d3cf645d4032bde58d32dcaab08eec9beab6997e GIT binary patch delta 3250 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 H06+c!XiH_A diff --git a/src/a2mount b/src/a2mount index 216fb1c..6802530 100755 --- a/src/a2mount +++ b/src/a2mount @@ -1,2 +1,2 @@ #!/bin/bash -fusea2pi $1 -o uid=`id -u` -o gid=`id -g` $2 +fusea2pi $1 -o allow_root -o uid=`id -u` -o gid=`id -g` $2 diff --git a/src/fusea2pi.c b/src/fusea2pi.c index 7c5ffe3..51f98bf 100755 --- a/src/fusea2pi.c +++ b/src/fusea2pi.c @@ -115,9 +115,10 @@ pthread_mutex_t a2pi_busy = PTHREAD_MUTEX_INITIALIZER; #define A2PI_WAIT pthread_mutex_lock(&a2pi_busy) #define A2PI_RELEASE pthread_mutex_unlock(&a2pi_busy) /* - * Raw device write flag. + * Write flags. */ int raw_dev_write = FALSE; +int write_perms = 0; /* * Filename & date/time conversion routines. */ @@ -216,12 +217,12 @@ struct stat *unix_stat(struct stat *stbuf, int storage, int access, int blocks, memset(stbuf, 0, sizeof(struct stat)); if (storage == 0x0F || storage == 0x0D) { - stbuf->st_mode = (access & 0xC3) == 0xC3 ? S_IFDIR | 0744 : S_IFDIR | 0544; + stbuf->st_mode = (access & 0xC3) == 0xC3 ? S_IFDIR | (write_perms | 0555) : S_IFDIR | 0555; stbuf->st_nlink = 2; } else { - stbuf->st_mode = (access & 0xC3) == 0xC3 ? S_IFREG | 0644 : S_IFREG | 0444; + stbuf->st_mode = (access & 0xC3) == 0xC3 ? S_IFREG | (write_perms | 0444) : S_IFREG | 0444; stbuf->st_nlink = 1; stbuf->st_blocks = blocks; stbuf->st_size = size; @@ -868,7 +869,7 @@ static int a2pi_getattr(const char *path, struct stat *stbuf) /* * Root directory of volumes. */ - unix_stat(stbuf, 0x0F, 0x01, 0, 0, 0, 0); + unix_stat(stbuf, 0x0F, 0xC3, 0, 0, 0, 0); } else { @@ -1378,6 +1379,7 @@ int main(int argc, char *argv[]) if (strcmp(argv[argc - 1], "+rw") == 0) { raw_dev_write = TRUE; + write_perms = 0220; argc--; } umask(0);