Selaa lähdekoodia

Improved logging in Certicate engine when failing.

Kenric Nugteren 7 kuukautta sitten
vanhempi
commit
5305f5ce6a
1 muutettua tiedostoa jossa 9 lisäystä ja 3 poistoa
  1. 9 3
      prs.server/Engines/Certificate/CertificateEngine.cs

+ 9 - 3
prs.server/Engines/Certificate/CertificateEngine.cs

@@ -292,11 +292,11 @@ public class CertificateEngine : Engine<CertificateEngineProperties>
         // This line basically has to be called before all ACME things.
         await acme.GetNonceAsync();
 
-        ClearAuthorizations(acme).Wait();
-
         if (!await ResolveAccount(acme))
             return false;
 
+        ClearAuthorizations(acme).Wait();
+
         if (!await ResolveOrder(acme))
             return false;
 
@@ -419,6 +419,7 @@ public class CertificateEngine : Engine<CertificateEngineProperties>
 
                             Logger.Send(LogType.Information, "", "Refreshing Authorization status");
                             authz = await acme.GetAuthorizationDetailsAsync(authzUrl);
+                            Authorizations[authzUrl] = authz;
                             if (AcmeState.PendingStatus != authz.Status)
                                 break;
                         }
@@ -475,7 +476,9 @@ public class CertificateEngine : Engine<CertificateEngineProperties>
 
             if (invalidCount > 0)
             {
-                Logger.Send(LogType.Error, "", string.Format("Found {0} invalid Authorization(s); ABORTING", invalidCount));
+                Logger.Send(LogType.Error, "", $"Found {invalidCount} invalid Authorization(s): ({
+                    string.Join(',', Authorizations.Where(x => x.Value.Status == AcmeState.InvalidStatus).Select(x => x.Key))
+                }); ABORTING");
                 return false;
             }
 
@@ -484,6 +487,9 @@ public class CertificateEngine : Engine<CertificateEngineProperties>
             if (now.AddSeconds(Properties.WaitForAuthorizations) < DateTime.Now)
             {
                 Logger.Send(LogType.Error, "", "Timed out waiting for Authorizations; ABORTING");
+                Logger.Send(LogType.Error, "", $"The following authorisations are not valid: ({
+                    string.Join(',', Authorizations.Where(x => x.Value.Status != AcmeState.ValidStatus).Select(x => x.Key))
+                })");
                 return false;
             }