Package ghidra.framework.remote
Interface GhidraServerHandle
- All Superinterfaces:
Remote
GhidraServerHandle provides access to a remote server.
This remote interface facilitates user login/authentication, providing
a more useful handle to the associated repository server.-
Field Summary
FieldsChangeModifier and TypeFieldDescriptionNEWstatic final StringAlternate RMI registry binding name for the remote GhidraServerHandle object.NEWstatic final StringMinimum version of a Ghidra client release which can communicate with the current Ghidra Server.MODIFIEDstatic final StringPrimary RMI registry binding name for the remote GhidraServerHandle object.static final StringRMI registry binding name prefix for all versions of the remote GhidraServerHandle object.static final intDefault RMI base port for Ghidra ServerNEWstatic final StringThe server BIND version which the Ghidra client can communicate with.NEWstatic final intThe minimum server interface version that the client can operate with.NEWstatic final intThe server interface version that the server implements.NEWstatic final intThe minimum interface version that the server will support for older client versions.REMOVEDRemovedREMOVEDRemovedREMOVEDRemoved -
Method Summary
ChangeModifier and TypeMethodDescriptionMODIFIEDvoidcheckCompatibility(int clientInterfaceVersion) Check server interface compatibility with the specified client interface version.Callback[]Returns user authentication proxy object.MODIFIEDgetRepositoryServer(Subject user, Callback[] authCallbacks) Get a handle to the repository server.
-
Field Details
-
SERVER_INTERFACE_VERSION NEW
static final int SERVER_INTERFACE_VERSIONThe server interface version that the server implements. This corresponds to the maximum supported client interface version.- See Also:
-
MIN_CLIENT_INTERFACE_VERSION NEW
static final int MIN_CLIENT_INTERFACE_VERSIONThe minimum server interface version that the client can operate with.- See Also:
-
SERVER_MIN_CLIENT_INTERFACE_VERSION NEW
static final int SERVER_MIN_CLIENT_INTERFACE_VERSIONThe minimum interface version that the server will support for older client versions. When this version is less thanMIN_CLIENT_INTERFACE_VERSIONit allows the following:- Older ghidra client versions can continue using the current server version, while
- Current ghidra clients version cannot use an older version server.
MIN_CLIENT_INTERFACE_VERSIONthe server will bind two bothBIND_NAMEand "GhidraServer9.0".NOTE: It is important that the server authentication interface not be modified between this version and 13.
- See Also:
-
GHIDRA_BIND_VERSION NEW
The server BIND version which the Ghidra client can communicate with. This corresponds to 13.- See Also:
-
ALT_GHIDRA_BIND_VERSION NEW
Minimum version of a Ghidra client release which can communicate with the current Ghidra Server. This corresponds to 11 andALT_BIND_NAME.This version is used only by the server only in publishing an alternate BIND name and identifies the oldest Ghidra client version that may connect.
- See Also:
-
DEFAULT_PORT
static final int DEFAULT_PORTDefault RMI base port for Ghidra Server- See Also:
-
BIND_NAME_PREFIX
RMI registry binding name prefix for all versions of the remote GhidraServerHandle object.- See Also:
-
BIND_NAME MODIFIED
constant: "GhidraServer9.0" → "GhidraServer12.0.5"-static java.lang.String BIND_NAME+static java.lang.String BIND_NAMEPrimary RMI registry binding name for the remote GhidraServerHandle object. This BIND name is used by both the server and client.- See Also:
-
ALT_BIND_NAME NEW
Alternate RMI registry binding name for the remote GhidraServerHandle object. This alternate BIND name is used only by the server in support of older Ghidra clients and corresponds toSERVER_MIN_CLIENT_INTERFACE_VERSION.- See Also:
-
-
Method Details
-
getAuthenticationCallbacks
Returns user authentication proxy object.- Returns:
- authentication callbacks which must be satisfied or null if authentication not required.
- Throws:
RemoteException- if failure occurs while generating authentication callbacks
-
getRepositoryServer MODIFIED
RemoteRepositoryServerHandle getRepositoryServer(Subject user, Callback[] authCallbacks) throws FailedLoginException, RemoteException added throws FailedLoginException; removed throws LoginException-ghidra.framework.remote.RemoteRepositoryServerHandle getRepositoryServer(javax.security.auth.Subject user, javax.security.auth.callback.Callback[] authCallbacks) throws LoginException, RemoteException+ghidra.framework.remote.RemoteRepositoryServerHandle getRepositoryServer(javax.security.auth.Subject user, javax.security.auth.callback.Callback[] authCallbacks) throws FailedLoginException, RemoteExceptionGet a handle to the repository server.- Parameters:
user- user subject containing GhidraPrincipalauthCallbacks- valid authentication callback objects which have been satisfied, or null if server does not require authentication.- Returns:
- repository server handle.
- Throws:
FailedLoginException- if user authentication failsRemoteException- failed to create remote handleLoginException(removed)- See Also:
-
checkCompatibility MODIFIED
param 1 renamed: serverInterfaceVersion → clientInterfaceVersion-void checkCompatibility(int serverInterfaceVersion) throws RemoteException+void checkCompatibility(int clientInterfaceVersion) throws RemoteExceptionCheck server interface compatibility with the specified client interface version.- Parameters:
clientInterfaceVersion(was: serverInterfaceVersion) - client/server interface version- Throws:
RemoteException- if requested server interface version not available
-