commit 71de840f054e52a8a077b2333edc1f4243480359 from: Gleydson Soares via: Russ Cox date: Mon Jun 29 02:25:42 2015 UTC 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 commit - 3f1c876e14e7eb45c1e17e1f3f4a28d98ff9b35f commit + 71de840f054e52a8a077b2333edc1f4243480359 blob - b36f40bb9346c88466b53140b6329e4497123f57 blob + 1936c115c9d1d08df06b9cae5175d913e4b17e08 --- src/cmd/upas/nfs/imap.c +++ 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){