iAdding SUDO_ASKPASS support to thinglaunch. - thinglaunch - A simple command and password promtper for X11. Err bitreich.org 70 hgit clone git://bitreich.org/thinglaunch URL:git://bitreich.org/thinglaunch bitreich.org 70 1Log /scm/thinglaunch/log.gph bitreich.org 70 1Files /scm/thinglaunch/files.gph bitreich.org 70 1Refs /scm/thinglaunch/refs.gph bitreich.org 70 1Tags /scm/thinglaunch/tag bitreich.org 70 1LICENSE /scm/thinglaunch/file/LICENSE.gph bitreich.org 70 i--- Err bitreich.org 70 1commit 86ab2b59e05a3f9c234d5564c9e41f2d46d5953d /scm/thinglaunch/commit/86ab2b59e05a3f9c234d5564c9e41f2d46d5953d.gph bitreich.org 70 1parent c13c797ba4f26cdbff560020a815fea564d8c60b /scm/thinglaunch/commit/c13c797ba4f26cdbff560020a815fea564d8c60b.gph bitreich.org 70 hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70 iDate: Sun, 10 Apr 2011 16:53:38 +0200 Err bitreich.org 70 i Err bitreich.org 70 iAdding SUDO_ASKPASS support to thinglaunch. Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M Makefile | 7 +++++-- Err bitreich.org 70 i M README.md | 17 +++++++++++++++++ Err bitreich.org 70 i M thinglaunch.c | 10 ++++++++++ Err bitreich.org 70 i Err bitreich.org 70 i3 files changed, 32 insertions(+), 2 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/Makefile b/Makefile /scm/thinglaunch/file/Makefile.gph bitreich.org 70 i@@ -29,10 +29,12 @@ ${NAME}: ${OBJ} Err bitreich.org 70 i @echo CC -o $@ Err bitreich.org 70 i @${CC} -o $@ ${OBJ} ${LDFLAGS} Err bitreich.org 70 i @ln -s ${NAME} thingaskpass 2>/dev/null; true Err bitreich.org 70 i+ @ln -s ${NAME} thingsudoaskpass 2>/dev/null; true Err bitreich.org 70 i Err bitreich.org 70 i clean: Err bitreich.org 70 i @echo cleaning Err bitreich.org 70 i- @rm -f ${NAME} *.o thingaskpass ${OBJ} ${NAME}-${VERSION}.tar.gz Err bitreich.org 70 i+ @rm -f ${NAME} *.o thingaskpass thingsudoaskpass ${OBJ} \ Err bitreich.org 70 i+ ${NAME}-${VERSION}.tar.gz Err bitreich.org 70 i Err bitreich.org 70 i dist: clean Err bitreich.org 70 i @echo creating dist tarball Err bitreich.org 70 i@@ -51,12 +53,13 @@ etc: Err bitreich.org 70 i install: all Err bitreich.org 70 i @echo installing executable file to ${DESTDIR}${PREFIX}/bin Err bitreich.org 70 i @mkdir -p ${DESTDIR}${PREFIX}/bin Err bitreich.org 70 i- @cp -f ${NAME} thingaskpass ${DESTDIR}${PREFIX}/bin Err bitreich.org 70 i+ @cp -f ${NAME} thingaskpass thingsudoaskpass ${DESTDIR}${PREFIX}/bin Err bitreich.org 70 i @chmod 755 ${DESTDIR}${PREFIX}/bin/${NAME} Err bitreich.org 70 i Err bitreich.org 70 i uninstall: Err bitreich.org 70 i @echo removing executable file from ${DESTDIR}${PREFIX}/bin Err bitreich.org 70 i @rm -f ${DESTDIR}${PREFIX}/bin/${NAME} Err bitreich.org 70 i @rm -f ${DESTDIR}${PREFIX}/bin/thingaskpass Err bitreich.org 70 i+ @rm -f ${DESTDIR}${PREFIX}/bin/thingsudoaskpass Err bitreich.org 70 i Err bitreich.org 70 i .PHONY: all options clean dist install uninstall Err bitreich.org 70 1diff --git a/README.md b/README.md /scm/thinglaunch/file/README.md.gph bitreich.org 70 i@@ -32,5 +32,22 @@ be used by ssh-agent to gather the password for private keys. Err bitreich.org 70 i % ln -s thinglaunch thingaskpass Err bitreich.org 70 i % ./thingaskpass Err bitreich.org 70 i Err bitreich.org 70 i+ # This symlink predefined -s, -o and takes the prompt as first Err bitreich.org 70 i+ # argument. Err bitreich.org 70 i+ % ln -s thinglaunch thingsudoaskpass Err bitreich.org 70 i+ % ./thingsudoaskpass Err bitreich.org 70 i+ Err bitreich.org 70 i+## SSH_ASKPASS Err bitreich.org 70 i+ Err bitreich.org 70 i+If you set SSH_ASKPASS to the PATH to thingaskpass (usually /usr/bin/ Err bitreich.org 70 i+thingaskpass), then ssh-agent will use this command for asking for pass- Err bitreich.org 70 i+words. Err bitreich.org 70 i+ Err bitreich.org 70 i+## SUDO_ASKPASS Err bitreich.org 70 i+ Err bitreich.org 70 i+This is the same as SSH_ASKPASS, but here you need to set SUDO_ASKPASS Err bitreich.org 70 i+to the PATH to thingsudoaskpass (usually /usr/bin/thingsudoaskpass). Err bitreich.org 70 i+ Err bitreich.org 70 i+ Err bitreich.org 70 i Have fun! Err bitreich.org 70 i Err bitreich.org 70 1diff --git a/thinglaunch.c b/thinglaunch.c /scm/thinglaunch/file/thinglaunch.c.gph bitreich.org 70 i@@ -72,6 +72,16 @@ main(int argc, char *argv[]) Err bitreich.org 70 i tostdout = 1; Err bitreich.org 70 i prompt = "secret> "; Err bitreich.org 70 i } Err bitreich.org 70 i+ if (strstr(argv[0], "thingsudoaskpass")) { Err bitreich.org 70 i+ issecret = 1; Err bitreich.org 70 i+ tostdout = 1; Err bitreich.org 70 i+ if (argc > 1) Err bitreich.org 70 i+ prompt = argv[1]; Err bitreich.org 70 i+ else Err bitreich.org 70 i+ prompt = "secret sudo> "; Err bitreich.org 70 i+ argc = 0; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ Err bitreich.org 70 i if (argc > 1) { Err bitreich.org 70 i for (i = 1; argv[i]; i++) { Err bitreich.org 70 i if (argv[i][0] == '-') { Err bitreich.org 70 .