From: Markus Duft Date: Thu, 12 Apr 2018 08:11:18 +0000 (+0200) Subject: LFS: Better SSH authentication token timeout handling X-Git-Tag: v5.0.0.201806131550-r~12 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a9e6da108212332e7dd476342090b77f9a72034e;p=jgit.git LFS: Better SSH authentication token timeout handling * Larger eager timeout to compensate for high-latency lines * Respect eager timeout in case the server uses "expiresIn" Change-Id: Id87da1eea874e70b69eaccf35c84af4c3bb50770 Signed-off-by: Markus Duft --- diff --git a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/internal/LfsConnectionFactory.java b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/internal/LfsConnectionFactory.java index 25a70c745a..3ac69923f2 100644 --- a/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/internal/LfsConnectionFactory.java +++ b/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/internal/LfsConnectionFactory.java @@ -273,7 +273,7 @@ public class LfsConnectionFactory { } private static final class AuthCache { - private static final long AUTH_CACHE_EAGER_TIMEOUT = 100; + private static final long AUTH_CACHE_EAGER_TIMEOUT = 500; private static final SimpleDateFormat ISO_FORMAT = new SimpleDateFormat( "yyyy-MM-dd'T'HH:mm:ss.SSSX"); //$NON-NLS-1$ @@ -290,8 +290,9 @@ public class LfsConnectionFactory { this.cachedAction = action; try { if (action.expiresIn != null && !action.expiresIn.isEmpty()) { - this.validUntil = System.currentTimeMillis() - + Long.parseLong(action.expiresIn); + this.validUntil = (System.currentTimeMillis() + + Long.parseLong(action.expiresIn)) + - AUTH_CACHE_EAGER_TIMEOUT; } else if (action.expiresAt != null && !action.expiresAt.isEmpty()) { this.validUntil = ISO_FORMAT.parse(action.expiresAt)