diff --git a/security/acme.sh/Makefile b/security/acme.sh/Makefile index df43ab164da2..11e767f822fc 100644 --- a/security/acme.sh/Makefile +++ b/security/acme.sh/Makefile @@ -1,65 +1,65 @@ # $FreeBSD$ PORTNAME= acme.sh PORTVERSION= 2.8.6 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= security MAINTAINER= dvl@FreeBSD.org COMMENT= ACME protocol client written in shell LICENSE= GPLv3+ USE_GITHUB= yes GH_ACCOUNT= Neilpang USERS= acme GROUPS= acme OPTIONS_DEFINE= BINDTOOLS DOCS EXAMPLES IDN STANDALONE OPTIONS_SINGLE= HTTP OPTIONS_SINGLE_HTTP= CURL WGET OPTIONS_DEFAULT= CURL STANDALONE BINDTOOLS_DESC= Depend on bind-tools for nsupdate BINDTOOLS_RUN_DEPENDS= nsupdate:dns/bind-tools IDN_RUN_DEPENDS= idn2:dns/libidn2 STANDALONE_DESC= Standalone mode requires SOCAT STANDALONE_RUN_DEPENDS= socat>0:net/socat CURL_DESC= Depend on cURL for HTTP(S) queries WGET_DESC= Depend on Wget for HTTP(S) queries NO_ARCH= yes NO_BUILD= yes CURL_RUN_DEPENDS= curl:ftp/curl WGET_RUN_DEPENDS= wget:ftp/wget PORTDOCS= README.md SUB_FILES= pkg-message post-patch-IDN-on: ${REINPLACE_CMD} -e 's|^ *idn | idn2 |'\ -e 's|_exists idn|_exists idn2|' ${WRKSRC}/acme.sh do-install: ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/sbin/${PORTNAME} ${MKDIR} ${STAGEDIR}/var/db/acme/.acme.sh ${STAGEDIR}/var/db/acme/certs ${INSTALL_DATA} ${FILESDIR}/account.conf.sample ${STAGEDIR}/var/db/acme/.acme.sh do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR} do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/deploy ${STAGEDIR}${EXAMPLESDIR}/dnsapi ( cd ${WRKSRC} && ${COPYTREE_BIN} deploy ${STAGEDIR}${EXAMPLESDIR} ) ( cd ${WRKSRC} && ${COPYTREE_BIN} dnsapi ${STAGEDIR}${EXAMPLESDIR} ) ( cd ${WRKSRC} && ${COPYTREE_BIN} notify ${STAGEDIR}${EXAMPLESDIR} ) ${INSTALL_DATA} ${FILESDIR}/acme.sh.conf ${STAGEDIR}${EXAMPLESDIR} ${RLN} ${STAGEDIR}/${EXAMPLESDIR}/deploy ${STAGEDIR}/var/db/acme/.acme.sh ${RLN} ${STAGEDIR}/${EXAMPLESDIR}/dnsapi ${STAGEDIR}/var/db/acme/.acme.sh ${RLN} ${STAGEDIR}/${EXAMPLESDIR}/notify ${STAGEDIR}/var/db/acme/.acme.sh .include diff --git a/security/acme.sh/files/patch-acme.sh b/security/acme.sh/files/patch-acme.sh new file mode 100644 index 000000000000..b258699ec949 --- /dev/null +++ b/security/acme.sh/files/patch-acme.sh @@ -0,0 +1,19 @@ +Fix sudo issue +https://github.com/acmesh-official/acme.sh/pull/2574 + +--- acme.sh.orig 2020-08-02 05:02:04 UTC ++++ acme.sh +@@ -6415,10 +6415,10 @@ _checkSudo() { + #it's root using sudo, no matter it's using sudo or not, just fine + return 0 + fi +- if [ "$SUDO_COMMAND" = "/bin/su" ] || [ "$SUDO_COMMAND" = "/bin/bash" ]; then ++ if [ -n "$SUDO_COMMAND" ]; then + #it's a normal user doing "sudo su", or `sudo -i` or `sudo -s` +- #fine +- return 0 ++ _endswith "$SUDO_COMMAND" /bin/su || grep "^$SUDO_COMMAND\$" /etc/shells >/dev/null 2>&1 ++ return $? + fi + #otherwise + return 1