Browse Source

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 <markus.duft@ssi-schaefer.com>
tags/v5.0.0.201806131550-r
Markus Duft 6 years ago
parent
commit
a9e6da1082

+ 4
- 3
org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/internal/LfsConnectionFactory.java View File

@@ -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)

Loading…
Cancel
Save