Package org.globus.ftp.extended

# Class GridFTPControlChannel

java.lang.Object
org.globus.ftp.vanilla.BasicClientControlChannel
org.globus.ftp.vanilla.FTPControlChannel
org.globus.ftp.extended.GridFTPControlChannel

public class GridFTPControlChannel extends FTPControlChannel
GridFTP control channel, unlike the vanilla control channel, uses GSI autentication.

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Authorization`
`authorization`
`protected GSSCredential`
`credentials`
`protected int`
`protection`
`protected static final int`
`TIMEOUT`

### Fields inherited from class org.globus.ftp.vanilla.FTPControlChannel

`CRLF, ftpIn, ftpOut, hasBeenOpened, host, port, rawFtpIn, socket`

## Constructor Summary

Constructors
Constructor
Description
`GridFTPControlChannel(InputStream in, OutputStream out)`
`GridFTPControlChannel(String host, int port)`

## Method Summary

Modifier and Type
Method
Description
`void`
`authenticate(GSSCredential credential)`
Performs authentication with specified user credentials.
`void`
`authenticate(GSSCredential credential, String username)`
Performs authentication with specified user credentials and a specific username (assuming the user dn maps to the passed username).
`Authorization`
`getAuthorization()`
Returns authorization method for the control channel.
`protected GSSCredential`
`getCredentials()`
`int`
`getProtection()`
Returns control channel protection level.
`void`
`setAuthorization(Authorization authorization)`
Sets authorization method for the control channel.
`protected void`
`setCredentials(GSSCredential credentials)`
`void`
`setProtection(int protection)`
Sets data channel protection level.

### Methods inherited from class org.globus.ftp.vanilla.FTPControlChannel

`abortTransfer, close, exchange, execute, getBufferedReader, getHost, getLastReply, getOutputStream, getPort, hasBeenOpened, haveStreams, isIPv6, open, read, readInitialReplies, setInputStream, setOutputStream, waitFor, write, writeln, writeStr`

### Methods inherited from class org.globus.ftp.vanilla.BasicClientControlChannel

`waitFor`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### TIMEOUT

protected static final int TIMEOUT

See Also:
  - Constant Field Values

### credentials

protected GSSCredential credentials

### authorization

protected Authorization authorization

### protection

protected int protection

## Constructor Details

### GridFTPControlChannel

public GridFTPControlChannel(String host, int port)

### GridFTPControlChannel

public GridFTPControlChannel(InputStream in, OutputStream out)

## Method Details

### setProtection

public void setProtection(int protection)
Sets data channel protection level.

Parameters:
  `protection` - should be `CLEAR`, `SAFE`, or `PRIVATE`, or `CONFIDENTIAL`.

### getProtection

public int getProtection()
Returns control channel protection level.

Returns:
  control channel protection level: `CLEAR`, `SAFE`, or `PRIVATE`, or `CONFIDENTIAL`.

### setAuthorization

public void setAuthorization(Authorization authorization)
Sets authorization method for the control channel.

Parameters:
  `authorization` - authorization method.

### getAuthorization

public Authorization getAuthorization()
Returns authorization method for the control channel.

Returns:
  authorization method performed on the control channel.

### authenticate

public void authenticate(GSSCredential credential) throws IOException, ServerException
Performs authentication with specified user credentials.

Parameters:
  `credential` - user credentials to use.
Throws:
  `IOException` - on i/o error
  `ServerException` - on server refusal or faulty server behavior

### authenticate

public void authenticate(GSSCredential credential, String username) throws IOException, ServerException
Performs authentication with specified user credentials and a specific username (assuming the user dn maps to the passed username).

Parameters:
  `credential` - user credentials to use.
  `username` - specific username to authenticate as.
Throws:
  `IOException` - on i/o error
  `ServerException` - on server refusal or faulty server behavior

### setCredentials

protected void setCredentials(GSSCredential credentials)

### getCredentials

protected GSSCredential getCredentials()