threads / patch / 14859

patchtg.sh: Check for read permissions of help files

Subject: [TopGit PATCH] tg.sh: Check for read permissions of help files

## tl;dr

3 messages between Aug 6, 2008 and Aug 9, 2008. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Bert Wesarg· Aug 6, 2008, 08:02 UTC · lore
We currently check only for '-f' but we need to have read permissions as well.
And help files don't need the execution bit set.
Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
---
 Makefile |    2 +-
 tg.sh    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Show changes to 2 files +2 −2

Makefile, tg.sh

diff --git a/Makefile b/Makefile
index 238d07d..f9dbe6e 100644
--- a/Makefile
+++ b/Makefile
@@ -35,7 +35,7 @@ install:: all
 	install -d -m 755 "$(hooksdir)"
 	install $(hooks_out) "$(hooksdir)"
 	install -d -m 755 "$(sharedir)"
-	install $(help_out) "$(sharedir)"
+	install -m 644 $(help_out) "$(sharedir)"
 
 clean::
 	rm -f tg $(commands_out) $(hooks_out) $(help_out)
diff --git a/tg.sh b/tg.sh
index 03a392b..edac006 100644
--- a/tg.sh
+++ b/tg.sh
@@ -154,7 +154,7 @@ do_help()
 	if [ -z "$1" ] ; then
 		echo "TopGit v0.1 - A different patch queue manager"
 		echo "Usage: tg (create|delete|info|patch|summary|update|help) ..."
-	elif [ -f "@sharedir@/tg-$1.txt" ] ; then
+	elif [ -f "@sharedir@/tg-$1.txt" -a -r "@sharedir@/tg-$1.txt" ] ; then
 		cat "@sharedir@/tg-$1.txt"
 	else
 		echo "`basename $0`: no help for $1" 1>&2
-- 
tg: (e311d15..) t/check-read-permissions-of-help-files (depends on: master)
Bert Wesarg· Aug 9, 2008, 07:35 UTC · re: Bert Wesarg · lore

Re: [TopGit PATCH] tg.sh: Check for read permissions of help files

Petr,
On Wed, Aug 6, 2008 at 10:02, Bert Wesarg <bert.wesarg@googlemail.com> wrote:
> -       elif [ -f "@sharedir@/tg-$1.txt" ] ; then
> +       elif [ -f "@sharedir@/tg-$1.txt" -a -r "@sharedir@/tg-$1.txt" ] ; then

I saw your simplified commit for this, but you should know, that '-r' tests only for read permissions, not for a regular file, so this test succeed also for a pipe/socket for which do you have read permissions.

Bert
Show 6 quoted lines
>                cat "@sharedir@/tg-$1.txt"
>        else
>                echo "`basename $0`: no help for $1" 1>&2
> --
> tg: (e311d15..) t/check-read-permissions-of-help-files (depends on: master)
>
Petr Baudis· Aug 9, 2008, 08:24 UTC · re: Bert Wesarg · lore

Re: [TopGit PATCH] tg.sh: Check for read permissions of help files

On Sat, Aug 09, 2008 at 09:35:19AM +0200, Bert Wesarg wrote:
Show 8 quoted lines
> Petr,
> 
> On Wed, Aug 6, 2008 at 10:02, Bert Wesarg <bert.wesarg@googlemail.com> wrote:
> > -       elif [ -f "@sharedir@/tg-$1.txt" ] ; then
> > +       elif [ -f "@sharedir@/tg-$1.txt" -a -r "@sharedir@/tg-$1.txt" ] ; then
> I saw your simplified commit for this, but you should know, that '-r'
> tests only for read permissions, not for a regular file, so this test
> succeed also for a pipe/socket for which do you have read permissions.
Is that a problem? :-)
				Petr "Pasky" Baudis

← back to recent threads