You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2022/12/28 15:11:11 UTC

[openmeetings] branch master updated: [OPENMEETINGS-2755] NTP server is tested on startup

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 <so...@gmail.com>
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;
 	}