Handle provider not found

pull/207/head
M66B 3 years ago
parent b136b5baf7
commit fdce403c26

@ -47,6 +47,7 @@ import com.sun.mail.util.SocketConnectException;
import com.sun.mail.util.TraceOutputStream; import com.sun.mail.util.TraceOutputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintStream; import java.io.PrintStream;
@ -450,6 +451,8 @@ public class EmailService implements AutoCloseable {
try { try {
authenticator.refreshToken(true); authenticator.refreshToken(true);
connect(host, port, auth, user, factory); connect(host, port, auth, user, factory);
} catch (FileNotFoundException ex1) {
throw new AuthenticationFailedException(ex1.getMessage(), ex1);
} catch (Exception ex1) { } catch (Exception ex1) {
Log.e(ex1); Log.e(ex1);
String msg = ex.getMessage(); String msg = ex.getMessage();

@ -34,6 +34,7 @@ import net.openid.appauth.NoClientAuthentication;
import org.json.JSONException; import org.json.JSONException;
import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.Objects; import java.util.Objects;
@ -146,7 +147,7 @@ public class ServiceAuthenticator extends Authenticator {
} }
private static void OAuthRefresh(Context context, String id, AuthState authState, boolean expire, long keep_alive) private static void OAuthRefresh(Context context, String id, AuthState authState, boolean expire, long keep_alive)
throws MessagingException { throws FileNotFoundException, MessagingException {
try { try {
Long expiration = authState.getAccessTokenExpirationTime(); Long expiration = authState.getAccessTokenExpirationTime();
if (expiration != null && expiration - keep_alive < new Date().getTime()) { if (expiration != null && expiration - keep_alive < new Date().getTime()) {
@ -188,6 +189,8 @@ public class ServiceAuthenticator extends Authenticator {
if (holder.error != null) if (holder.error != null)
throw holder.error; throw holder.error;
} catch (FileNotFoundException ex) {
throw ex; // provider not found
} catch (Exception ex) { } catch (Exception ex) {
throw new MessagingException("OAuth refresh id=" + id, ex); throw new MessagingException("OAuth refresh id=" + id, ex);
} }

Loading…
Cancel
Save