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 SummaryFieldsModifier and TypeFieldDescriptionstatic final StringRMI registry binding name for the supported version of 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 Serverstatic final intThe collective interface version for all Ghidra Server remote interfaces.static final StringMinimum version of Ghidra which utilized the current INTERFACE_VERSION
- 
Method SummaryModifier and TypeMethodDescriptionvoidcheckCompatibility(int serverInterfaceVersion) Check server interface compatibilityCallback[]Returns user authentication proxy object.getRepositoryServer(Subject user, Callback[] authCallbacks) Get a handle to the repository server.
- 
Field Details- 
INTERFACE_VERSIONstatic final int INTERFACE_VERSIONThe collective interface version for all Ghidra Server remote interfaces. If any remote interface is modified, this value should be incremented. Version Change History: 1: Original Version 2: Changed API to support NAT and firewalls 3: Allow user to login with alternate user ID 4: Added additional checkout data and database ID support (4.2) 5: Added support for quick update of checkout file following merged check-in on server, also added alternate authentication via password file (4.4) 6: Refactored BufferFile related classes creating a ManagedBufferFile which supports all the version-control capabilities. (5.2) 7: Added support for SSH authentication callback, anonymous user access (5.4) 8: Added salted local passwords, added LocalIndexedFilesystem V1 with ability to obtain file count (6.1) 9: Added support for transient checkouts (7.2) 10: Added BlockStreamServer (7.4) 11: Revised password hash to SHA-256 (9.0) - version 9.1 switched to using SSL/TLS for RMI registry connection preventing older clients the ability to connect to the server. Remote interface remained unchanged allowing 9.1 clients to connect to 9.0 server.- See Also:
 
- 
MIN_GHIDRA_VERSIONMinimum version of Ghidra which utilized the current INTERFACE_VERSION- See Also:
 
- 
DEFAULT_PORTstatic final int DEFAULT_PORTDefault RMI base port for Ghidra Server- See Also:
 
- 
BIND_NAME_PREFIXRMI registry binding name prefix for all versions of the remote GhidraServerHandle object.- See Also:
 
- 
BIND_NAMERMI registry binding name for the supported version of the remote GhidraServerHandle object.- See Also:
 
 
- 
- 
Method Details- 
getAuthenticationCallbacksReturns user authentication proxy object.- Returns:
- authentication callbacks which must be satisfied or null if authentication not required.
- Throws:
- RemoteException
 
- 
getRepositoryServerRemoteRepositoryServerHandle getRepositoryServer(Subject user, Callback[] authCallbacks) throws LoginException, RemoteException Get a handle to the repository server.- Parameters:
- user- user subject containing GhidraPrincipal
- authCallbacks- valid authentication callback objects which have been satisfied, or null if server does not require authentication.
- Returns:
- repository server handle.
- Throws:
- LoginException- if user authentication fails
- RemoteException
- See Also:
 
- 
checkCompatibilityCheck server interface compatibility- Parameters:
- serverInterfaceVersion- client/server interface version
- Throws:
- RemoteException
- See Also:
 
 
-