This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/master by this push:
     new 636c21abd [OPENMEETINGS-2755] NTP server is tested on startup
636c21abd is described below

commit 636c21abdd1372ab3af8792c1f3de27f570ea43e
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Wed Dec 28 22:11:01 2022 +0700

    [OPENMEETINGS-2755] NTP server is tested on startup
---
 .../main/java/org/apache/openmeetings/web/app/OtpManager.java | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OtpManager.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OtpManager.java
index 73f220e67..3da9facf6 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OtpManager.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/OtpManager.java
@@ -47,6 +47,8 @@ import dev.samstevens.totp.recovery.RecoveryCodeGenerator;
 import dev.samstevens.totp.secret.DefaultSecretGenerator;
 import dev.samstevens.totp.secret.SecretGenerator;
 import dev.samstevens.totp.time.NtpTimeProvider;
+import dev.samstevens.totp.time.SystemTimeProvider;
+import dev.samstevens.totp.time.TimeProvider;
 
 @Service
 public class OtpManager {
@@ -69,7 +71,14 @@ public class OtpManager {
        @PostConstruct
        public void init() throws UnknownHostException {
                codeGenerator = new DefaultCodeGenerator(ALGORITHM, DIGITS);
-               final DefaultCodeVerifier verifier = new 
DefaultCodeVerifier(codeGenerator, new NtpTimeProvider(ntpServer, ntpTimeout));
+               TimeProvider timeProvider;
+               try {
+                       timeProvider = new NtpTimeProvider(ntpServer, 
ntpTimeout);
+               } catch (UnknownHostException e) {
+                       log.error("Unable to create NTP time provider, fallback 
to system, Please CHECK your setup", e);
+                       timeProvider = new SystemTimeProvider();
+               }
+               final DefaultCodeVerifier verifier = new 
DefaultCodeVerifier(codeGenerator, timeProvider);
                verifier.setTimePeriod(PERIOD);
                codeVerifier = verifier;
        }

Reply via email to