plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

commit 71de840f054e52a8a077b2333edc1f4243480359
parent 3f1c876e14e7eb45c1e17e1f3f4a28d98ff9b35f
Author: Gleydson Soares <gsoares@gmail.com>
Date:   Thu,  4 Jun 2015 09:11:06 -0300

upas/nfs: search for stunnele3 in $PATH

Do not hardcode stunnel directory path, just make sure that is installed
in user '$PATH'. it is required for 'mailfs -t' TLS support, so printout
an error string if it was not found.

Tested with latest stunnel version 5.17 on OpenBSD and macosx.

% mailfs -t imap.gmail.com ; echo $?
0

Change-Id: Icbd507c7efa81ef2aa7aed37bec5f639b37526cb
Reviewed-on: https://plan9port-review.googlesource.com/1280
Reviewed-by: Russ Cox <rsc@swtch.com>

Diffstat:
Msrc/cmd/upas/nfs/imap.c | 11+++++++----
1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/cmd/upas/nfs/imap.c b/src/cmd/upas/nfs/imap.c @@ -779,6 +779,7 @@ imapdial(char *server, int mode) int p[2]; int fd[3]; char *tmp; + char *fpath; switch(mode){ default: @@ -797,10 +798,12 @@ imapdial(char *server, int mode) fd[2] = dup(2, -1); #ifdef PLAN9PORT tmp = esmprint("%s:993", server); - if(threadspawnl(fd, "/usr/sbin/stunnel3", "stunnel3", "-c", "-r", tmp, nil) < 0 - && threadspawnl(fd, "/usr/bin/stunnel3", "stunnel3", "-c", "-r", tmp, nil) < 0 - && threadspawnl(fd, "/usr/sbin/stunnel", "stunnel", "-c", "-r", tmp, nil) < 0 - && threadspawnl(fd, "/usr/bin/stunnel", "stunnel", "-c", "-r", tmp, nil) < 0){ + fpath = searchpath("stunnel3"); + if (!fpath) { + werrstr("stunnel not found. it is required for tls support."); + return -1; + } + if(threadspawnl(fd, fpath, "stunnel", "-c", "-r", tmp, nil) < 0) { #else tmp = esmprint("tcp!%s!993", server); if(threadspawnl(fd, "/bin/tlsclient", "tlsclient", tmp, nil) < 0){