From 89956b3d0c9ddc73733e21d3a44d65aac9e5ef8c Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 25 Dec 2018 02:39:32 +0000
Subject: [PATCH] Added some file.open/create failure handling/logging - just
 in case.

---
 exec/letsyncrypt.js | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/exec/letsyncrypt.js b/exec/letsyncrypt.js
index 18f9ce8fb7..574dcc2e8a 100644
--- a/exec/letsyncrypt.js
+++ b/exec/letsyncrypt.js
@@ -88,16 +88,23 @@ function authorize_order(acme, order, webroots)
 							if (!mkpath(webroots[i]+".well-known/acme-challenge"))
 								throw("Unable to create "+webroots[i]+".well-known/acme-challenge");
 							tmp = new File(webroots[i]+".well-known/acme-challenge/webctrl.ini");
-							tmp.open("w");
-							tmp.writeln("AccessRequirements=");
-							tmp.close();
+							if(tmp.open("w")) {
+								tmp.writeln("AccessRequirements=");
+								tmp.close();
+							} else
+								log(LOG_ERR, "Error " + errno + " opening/creating " + tmp.name);
 						}
 						token = new File(webroots[i]+".well-known/acme-challenge/"+authz.challenges[challenge].token);
 						if (tokens.indexOf(token.name) < 0) {
-							token.open("w");
-							token.write(authz.challenges[challenge].token+"."+acme.thumbprint());
-							tokens.push(token.name);
-							token.close();
+							log(LOG_DEBUG, "Creating " + token.name);
+							if(token.open("w")) {
+								token.write(authz.challenges[challenge].token+"."+acme.thumbprint());
+								tokens.push(token.name);
+								token.close();
+							} else
+								log(LOG_ERR, "Error " + errno + " opening/creating " + token.name);
+						} else {
+							log(LOG_WARNING, "Token not found: " + token.name);
 						}
 					}
 					acme.accept_challenge(authz.challenges[challenge]);
-- 
GitLab