diff options
author | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-25 11:40:19 +0000 |
---|---|---|
committer | mkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-25 11:40:19 +0000 |
commit | a25a41b522146ecf74b1694411c5cb8ee4c0062a (patch) | |
tree | 88ef0760e764ef489e276334b8e20f71e9f96390 /libjava/java/net/Authenticator.java | |
parent | c0f9df171338117e37e4a45a4b5f1089c6ab3f48 (diff) | |
download | ppe42-gcc-a25a41b522146ecf74b1694411c5cb8ee4c0062a.tar.gz ppe42-gcc-a25a41b522146ecf74b1694411c5cb8ee4c0062a.zip |
2003-05-25 Michael Koch <konqueror@gmx.de>
* java/io/PushbackInputStream.java,
java/net/Authenticator.java,
java/net/ContentHandler.java,
java/net/ContentHandlerFactory.java,
java/net/DatagramSocket.java,
java/net/DatagramSocketImpl.java,
java/net/DatagramSocketImplFactory.java,
java/net/FileNameMap.java,
java/net/SocketImplFactory.java,
java/net/SocketOptions.java,
java/net/URLStreamHandlerFactory.java:
Merged new versions from classpath.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67165 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/net/Authenticator.java')
-rw-r--r-- | libjava/java/net/Authenticator.java | 531 |
1 files changed, 252 insertions, 279 deletions
diff --git a/libjava/java/net/Authenticator.java b/libjava/java/net/Authenticator.java index e1e322b3bb1..7592b525a50 100644 --- a/libjava/java/net/Authenticator.java +++ b/libjava/java/net/Authenticator.java @@ -1,5 +1,5 @@ /* Authenticator.java -- Abstract class for obtaining authentication info - Copyright (C) 1998,2000 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2003 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,12 +43,13 @@ package java.net; * some network operations (such as hitting a password protected * web site). * <p> - * To make use of this feature, a programmer must create a subclass of - * Authenticator that knows how to obtain the necessary info. An example + * To make use of this feature, a programmer must create a subclass + * that knows how to obtain the necessary info. An example * would be a class that popped up a dialog box to prompt the user. - * After creating an instance of that subclass, the static setDefault - * method of this class is called to set up that instance as the object - * to use on subsequent calls to obtain authorization. + * After creating an instance of that subclass, the static + * <code>setDefault</code> method of this class is called to set up + * that instance as the object to use on subsequent calls to obtain + * authorization. * * @since 1.2 * @@ -57,280 +58,252 @@ package java.net; */ public abstract class Authenticator { - -/*************************************************************************/ - -/* - * Class Variables - */ - -/** - * This is the default Authenticator object to use for password requests - */ -private static Authenticator default_authenticator; - -/*************************************************************************/ - -/* - * Instance Variables - */ - -/** - * The hostname of the site requesting authentication - */ -private String host; - -/** - * InternetAddress of the site requesting authentication - */ -private InetAddress addr; - -/** - * The port number of the site requesting authentication - */ -private int port; - -/** - * The protocol name of the site requesting authentication - */ -private String protocol; - -/** - * The prompt to display to the user when requesting authentication info - */ -private String prompt; - -/** - * The authentication scheme in use - */ -private String scheme; - -/*************************************************************************/ - -/* - * Class Methods - */ - -/** - * This method sets the default <code>Authenticator</code> object (an - * instance of a - * subclass of <code>Authenticator</code>) to use when prompting the user for - * information. Note that this method checks to see if the caller is - * allowed to set this value (the "setDefaultAuthenticator" permission) - * and throws a <code>SecurityException</code> if it is not. - * - * @param def_auth The new default <code>Authenticator</code> object to use - * - * @exception SecurityException If the caller does not have permission - * to perform this operation - */ -public static void -setDefault(Authenticator def_auth) -{ - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new NetPermission("setDefaultAuthenticator")); - - default_authenticator = def_auth; -} - -/*************************************************************************/ - -/** - * This method is called whenever a username and password for a given - * network operation is required. First, a security check is made to see - * if the caller has the "requestPasswordAuthentication" - * permission. If not, the method thows an exception. If there is no - * default <code>Authenticator</code> object, the method then returns - * <code>null</code>. Otherwise, the default authenticators's instance - * variables are initialized and it's <code>getPasswordAuthentication</code> - * method is called to get the actual authentication information to return. - * - * @param addr The address requesting authentication - * @param port The port requesting authentication - * @param protocol The protocol requesting authentication - * @param prompt The prompt to display to the user when requesting - * authentication info - * @param scheme The authentication scheme in use - * - * @return A <code>PasswordAuthentication</code> object with the user's - * authentication info. - * - * @exception SecurityException If the caller does not have permission to - * perform this operation - */ -public static PasswordAuthentication -requestPasswordAuthentication(InetAddress addr, int port, String protocol, - String prompt, String scheme) - throws SecurityException -{ - return(requestPasswordAuthentication (null, addr, port, protocol, - prompt, scheme)); -} - -/** - * This method is called whenever a username and password for a given - * network operation is required. First, a security check is made to see - * if the caller has the "requestPasswordAuthentication" - * permission. If not, the method thows an exception. If there is no - * default <code>Authenticator</code> object, the method then returns - * <code>null</code>. Otherwise, the default authenticators's instance - * variables are initialized and it's <code>getPasswordAuthentication</code> - * method is called to get the actual authentication information to return. - * This method is the preferred one as it can be used with hostname - * when addr is unknown. - * - * @param host The hostname requesting authentication - * @param addr The address requesting authentication - * @param port The port requesting authentication - * @param protocol The protocol requesting authentication - * @param prompt The prompt to display to the user when requesting - * authentication info - * @param scheme The authentication scheme in use - * - * @return A <code>PasswordAuthentication</code> object with the user's - * authentication info. - * - * @exception SecurityException If the caller does not have permission to - * perform this operation - * - * @since 1.4 - */ -public static PasswordAuthentication -requestPasswordAuthentication(String host, InetAddress addr, int port, - String protocol, String prompt, String scheme) - throws SecurityException -{ - SecurityManager sm = System.getSecurityManager(); - if (sm != null) - sm.checkPermission(new NetPermission("requestPasswordAuthentication")); - - if (default_authenticator == null) + /* + * Class Variables + */ + + /** + * This is the default Authenticator object to use for password requests + */ + private static Authenticator defaultAuthenticator; + + /* + * Instance Variables + */ + + /** + * The hostname of the site requesting authentication + */ + private String host; + + /** + * InternetAddress of the site requesting authentication + */ + private InetAddress addr; + + /** + * The port number of the site requesting authentication + */ + private int port; + + /** + * The protocol name of the site requesting authentication + */ + private String protocol; + + /** + * The prompt to display to the user when requesting authentication info + */ + private String prompt; + + /** + * The authentication scheme in use + */ + private String scheme; + + /* + * Class Methods + */ + + /** + * This method sets the default <code>Authenticator</code> object (an + * instance of a subclass of <code>Authenticator</code>) to use when + * prompting the user for + * information. Note that this method checks to see if the caller is + * allowed to set this value (the "setDefaultAuthenticator" permission) + * and throws a <code>SecurityException</code> if it is not. + * + * @param defAuth The new default <code>Authenticator</code> object to use + * + * @exception SecurityException If the caller does not have permission + * to perform this operation + */ + public static void setDefault(Authenticator defAuth) + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new NetPermission("setDefaultAuthenticator")); + + defaultAuthenticator = defAuth; + } + + /** + * This method is called whenever a username and password for a given + * network operation is required. First, a security check is made to see + * if the caller has the "requestPasswordAuthentication" + * permission. If not, the method thows an exception. If there is no + * default <code>Authenticator</code> object, the method then returns + * <code>null</code>. Otherwise, the default authenticators's instance + * variables are initialized and it's <code>getPasswordAuthentication</code> + * method is called to get the actual authentication information to return. + * + * @param addr The address requesting authentication + * @param port The port requesting authentication + * @param protocol The protocol requesting authentication + * @param prompt The prompt to display to the user when requesting + * authentication info + * @param scheme The authentication scheme in use + * + * @return A <code>PasswordAuthentication</code> object with the user's + * authentication info. + * + * @exception SecurityException If the caller does not have permission to + * perform this operation + */ + public static PasswordAuthentication + requestPasswordAuthentication(InetAddress addr, int port, String protocol, + String prompt, String scheme) + throws SecurityException + { + return(requestPasswordAuthentication (null, addr, port, protocol, + prompt, scheme)); + } + + /** + * This method is called whenever a username and password for a given + * network operation is required. First, a security check is made to see + * if the caller has the "requestPasswordAuthentication" + * permission. If not, the method thows an exception. If there is no + * default <code>Authenticator</code> object, the method then returns + * <code>null</code>. Otherwise, the default authenticators's instance + * variables are initialized and it's <code>getPasswordAuthentication</code> + * method is called to get the actual authentication information to return. + * This method is the preferred one as it can be used with hostname + * when addr is unknown. + * + * @param host The hostname requesting authentication + * @param addr The address requesting authentication + * @param port The port requesting authentication + * @param protocol The protocol requesting authentication + * @param prompt The prompt to display to the user when requesting + * authentication info + * @param scheme The authentication scheme in use + * + * @return A <code>PasswordAuthentication</code> object with the user's + * authentication info. + * + * @exception SecurityException If the caller does not have permission to + * perform this operation + * + * @since 1.4 + */ + public static PasswordAuthentication + requestPasswordAuthentication(String host, InetAddress addr, int port, + String protocol, String prompt, String scheme) + throws SecurityException + { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) + sm.checkPermission(new NetPermission("requestPasswordAuthentication")); + + if (defaultAuthenticator == null) + return(null); + + defaultAuthenticator.host = host; + defaultAuthenticator.addr = addr; + defaultAuthenticator.port = port; + defaultAuthenticator.protocol = protocol; + defaultAuthenticator.prompt = prompt; + defaultAuthenticator.scheme = scheme; + + return(defaultAuthenticator.getPasswordAuthentication()); + } + + /* + * Constructors + */ + + /** + * Default, no-argument constructor for subclasses to call. + */ + public Authenticator() + { + } + + /* + * Instance Methods + */ + + /** + * This method returns the address of the site that is requesting + * authentication. + * + * @return The requesting site's address + */ + protected final InetAddress getRequestingSite() + { + return(addr); + } + + /** + * Returns the hostname of the host or proxy requesting authorization, + * or <code>null</code> if not available. + * + * @return The name of the host requesting authentication, or + * </code>null</code> if it is not available. + * + * @since 1.4 + */ + protected final String getRequestingHost() + { + return(host); + } + + /** + * This method returns the port of the site that is requesting + * authentication. + * + * @return The requesting port + */ + protected final int getRequestingPort() + { + return(port); + } + + /** + * This method returns the requesting protocol of the operation that is + * requesting authentication + * + * @return The requesting protocol + */ + protected final String getRequestingProtocol() + { + return(protocol); + } + + /** + * Returns the prompt that should be used when requesting authentication + * information from the user + * + * @return The user prompt + */ + protected final String getRequestingPrompt() + { + return(prompt); + } + + /** + * This method returns the authentication scheme in use + * + * @return The authentication scheme + */ + protected final String getRequestingScheme() + { + return(scheme); + } + + /** + * This method is called whenever a request for authentication is made. It + * can call the other getXXX methods to determine the information relevant + * to this request. Subclasses should override this method, which returns + * <code>null</code> by default. + * + * @return The <code>PasswordAuthentication</code> information + */ + protected PasswordAuthentication getPasswordAuthentication() + { return(null); - - default_authenticator.host = host; - default_authenticator.addr = addr; - default_authenticator.port = port; - default_authenticator.protocol = protocol; - default_authenticator.prompt = prompt; - default_authenticator.scheme = scheme; - - return(default_authenticator.getPasswordAuthentication()); -} - -/** - * Returns the hostname of the host or proxy requesting authorization, - * or null if not available. - * - * @since 1.4 - */ -protected final String getRequestingHost() -{ - return(host); -} - -/*************************************************************************/ - -/* - * Constructors - */ - -/** - * Default, no-argument constructor for subclasses to call. - */ -public -Authenticator() -{ -} - -/*************************************************************************/ - -/* - * Instance Methods - */ - -/** - * This method returns the address of the site that is requesting - * authentication. - * - * @return The requesting site - */ -protected final InetAddress -getRequestingSite() -{ - return(addr); -} - -/*************************************************************************/ - -/** - * This method returns the port of the site that is requesting - * authentication. - * - * @return The requesting port - */ -protected final int -getRequestingPort() -{ - return(port); -} - -/*************************************************************************/ - -/** - * This method returns the requesting protocol of the operation that is - * requesting authentication - * - * @return The requesting protocol - */ -protected final String -getRequestingProtocol() -{ - return(protocol); -} - -/*************************************************************************/ - -/** - * Returns the prompt that should be used when requesting authentication - * information from the user - * - * @return The user prompt - */ -protected final String -getRequestingPrompt() -{ - return(prompt); -} - -/*************************************************************************/ - -/** - * This method returns the authentication scheme in use - * - * @return The authentication scheme - */ -protected final String -getRequestingScheme() -{ - return(scheme); -} - -/*************************************************************************/ - -/** - * This method is called whenever a request for authentication is made. It - * can call the other getXXX methods to determine the information relevant - * to this request. Subclasses should override this method, which returns - * <code>null</code> by default. - * - * @return The PasswordAuthentication information - */ -protected PasswordAuthentication -getPasswordAuthentication() -{ - return(null); -} + } } // class Authenticator |