/** * Returns authentication realm. The realm may not be null. * * @return The authentication realm */ @Override public String getRealm() { return getParameter("realm"); }
/** * @return 'True' if the operation was executed and at least one redirection was followed. */ public boolean wasRedirected() { return (mRedirectionPath != null && mRedirectionPath.getRedirectionsCount() > 0); }
/** * @deprecated Use {@link #authenticate(BearerCredentials, String)} * * Returns a bearer Authorization header value for the given * {@link BearerCredentials}. * * @param credentials The credentials to encode. * * @return A bearer authorization string */ public static String authenticate(BearerCredentials credentials) { return authenticate(credentials, "ISO-8859-1"); }
public RemoteFile(WebdavEntry we) { this(we.decodedPath()); setCreationTimestamp(we.createTimestamp()); setLength(we.contentLength()); setMimeType(we.contentType()); setModifiedTimestamp(we.modifiedTimestamp()); setEtag(we.etag()); setPermissions(we.permissions()); setRemoteId(we.remoteId()); setSize(we.size()); setFavorite(we.isFavorite()); setIsEncrypted(we.isEncrypted()); setMountType(we.getMountType()); setOwnerId(we.getOwnerId()); setOwnerDisplayName(we.getOwnerDisplayName()); setNote(we.getNote()); setUnreadCommentsCount(we.getUnreadCommentsCount()); setHasPreview(we.hasPreview()); }
/** * Creates and populates a new {@link RemoteFile} object with the data read from the server. * * @param we WebDAV entry read from the server for a WebDAV resource (remote file or folder). * @return New OCFile instance representing the remote resource described by we. */ private RemoteFile fillOCFile(WebdavEntry we) { RemoteFile file = new RemoteFile(we.decodedPath()); file.setCreationTimestamp(we.createTimestamp()); file.setLength(we.contentLength()); file.setMimeType(we.contentType()); file.setModifiedTimestamp(we.modifiedTimestamp()); file.setEtag(we.etag()); file.setPermissions(we.permissions()); file.setRemoteId(we.remoteId()); file.setSize(we.size()); file.setFavorite(we.isFavorite()); file.setHasPreview(we.hasPreview()); return file; } }
public static AdvancedSslSocketFactory getAdvancedSslSocketFactory(Context context) throws GeneralSecurityException, IOException { if (mAdvancedSslSocketFactory == null) { KeyStore trustStore = getKnownServersStore(context); AdvancedX509TrustManager trustMgr = new AdvancedX509TrustManager(trustStore); TrustManager[] tms = new TrustManager[] { trustMgr }; SSLContext sslContext; try { sslContext = SSLContext.getInstance("TLSv1.2"); } catch (NoSuchAlgorithmException e) { Log_OC.w(TAG, "TLSv1.2 is not supported in this device; falling through TLSv1.0"); sslContext = SSLContext.getInstance("TLSv1"); // should be available in any device; see reference of supported protocols in // http://developer.android.com/reference/javax/net/ssl/SSLSocket.html } sslContext.init(null, tms, null); mHostnameVerifier = new BrowserCompatHostnameVerifier(); mAdvancedSslSocketFactory = new AdvancedSslSocketFactory(sslContext, trustMgr, mHostnameVerifier); } return mAdvancedSslSocketFactory; }
public FileVersion(String fileId, WebdavEntry we) { remoteId = fileId; setMimeType(we.contentType()); if (isFolder()) { setFileLength(we.size()); } else { setFileLength(we.contentLength()); } setModifiedTimestamp(we.modifiedTimestamp()); }
/** * @see ProtocolSocketFactory#createSocket(java.lang.String, int, java.net.InetAddress, int) */ @Override public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort) throws IOException { Socket socket = mSslContext.getSocketFactory().createSocket(getInetAddressForHost(host), port, clientHost, clientPort); enableSecureProtocols(socket); verifyPeerIdentity(host, port, socket); return socket; }
/** * Constructor for AdvancedX509TrustManager * * @param knownServersKeyStore Local certificates store with server certificates explicitly trusted by the user. * @throws CertStoreException When no default X509TrustManager instance was found in the system. */ public AdvancedX509TrustManager(KeyStore knownServersKeyStore) throws NoSuchAlgorithmException, KeyStoreException, CertStoreException { super(); TrustManagerFactory factory = TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()); factory.init((KeyStore)null); mStandardTrustManager = findX509TrustManager(factory); mKnownServersKeyStore = knownServersKeyStore; }
@Override public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException { Socket sslSocket = mSslContext.getSocketFactory().createSocket(socket, host, port, autoClose); enableSecureProtocols(sslSocket); verifyPeerIdentity(host, port, sslSocket); return sslSocket; }
/** * Constructor for the basic authentication scheme. * * @param challenge Authentication challenge * * @throws MalformedChallengeException Thrown if the authentication challenge is malformed * * @deprecated Use parameterless constructor and {@link AuthScheme#processChallenge(String)} method */ public BearerAuthScheme(final String challenge) throws MalformedChallengeException { processChallenge(challenge); mComplete = true; }
/** * Returns a String identifying the authentication challenge. This is * used, in combination with the host and port to determine if * authorization has already been attempted or not. Schemes which * require multiple requests to complete the authentication should * return a different value for each stage in the request. * * Additionally, the ID should take into account any changes to the * authentication challenge and return a different value when appropriate. * For example when the realm changes in basic authentication it should be * considered a different authentication attempt and a different value should * be returned. * * This method simply returns the realm for the challenge. * * @return String a String identifying the authentication challenge. * * @deprecated no longer used */ @Override public String getID() { return getRealm(); }
public void addDatatransferProgressListener (OnDatatransferProgressListener listener) { synchronized (mDataTransferListeners) { mDataTransferListeners.add(listener); } if (mFileRequestBody != null) { mFileRequestBody.addDatatransferProgressListener(listener); } }
public void removeDatatransferProgressListener(OnDatatransferProgressListener listener) { synchronized (mDataTransferListeners) { mDataTransferListeners.remove(listener); } if (mFileRequestBody != null) { mFileRequestBody.removeDatatransferProgressListener(listener); } }
public void addDataTransferProgressListener(OnDatatransferProgressListener listener) { synchronized (dataTransferListeners) { dataTransferListeners.add(listener); } if (entity != null) { ((ProgressiveDataTransfer) entity).addDataTransferProgressListener(listener); } }
public void removeDataTransferProgressListener(OnDatatransferProgressListener listener) { synchronized (dataTransferListeners) { dataTransferListeners.remove(listener); } if (entity != null) { ((ProgressiveDataTransfer) entity).removeDataTransferProgressListener(listener); } }
/** * Registers or unregisters the proper components for advanced SSL handling. * @throws IOException */ @SuppressWarnings("deprecation") public static void registerAdvancedSslContext(boolean register, Context context) throws GeneralSecurityException, IOException { Protocol pr = null; try { pr = Protocol.getProtocol("https"); if (pr != null && mDefaultHttpsProtocol == null) { mDefaultHttpsProtocol = pr; } } catch (IllegalStateException e) { // nothing to do here; really } boolean isRegistered = (pr != null && pr.getSocketFactory() instanceof AdvancedSslSocketFactory); if (register && !isRegistered) { Protocol.registerProtocol("https", new Protocol("https", getAdvancedSslSocketFactory(context), 443)); } else if (!register && isRegistered) { if (mDefaultHttpsProtocol != null) { Protocol.registerProtocol("https", mDefaultHttpsProtocol); } } }
/** * @see ProtocolSocketFactory#createSocket(java.lang.String, int) */ @Override public Socket createSocket(String host, int port) throws IOException { Log_OC.d(TAG, "Creating SSL Socket with remote " + host + ":" + port); Socket socket = mSslContext.getSocketFactory().createSocket(getInetAddressForHost(host), port); enableSecureProtocols(socket); verifyPeerIdentity(host, port, socket); return socket; }
/** * @return 'True' if the operation was executed and at least one redirection was followed. */ public boolean wasRedirected() { return (mRedirectionPath != null && mRedirectionPath.getRedirectionsCount() > 0); } }
/** * Constructor for AdvancedX509TrustManager * * @param knownServersKeyStore Local certificates store with server certificates explicitly trusted by the user. * @throws CertStoreException When no default X509TrustManager instance was found in the system. */ public AdvancedX509TrustManager(KeyStore knownServersKeyStore) throws NoSuchAlgorithmException, KeyStoreException, CertStoreException { super(); TrustManagerFactory factory = TrustManagerFactory .getInstance(TrustManagerFactory.getDefaultAlgorithm()); factory.init((KeyStore)null); mStandardTrustManager = findX509TrustManager(factory); mKnownServersKeyStore = knownServersKeyStore; }