Package ghidra.framework.remote
Interface RemoteRepositoryServerHandle
-
- All Superinterfaces:
java.rmi.Remote
,RepositoryServerHandle
public interface RemoteRepositoryServerHandle extends RepositoryServerHandle, java.rmi.Remote
RepositoryServerHandle
provides access to a remote repository server via RMI.Methods from
RepositoryServerHandle
must be re-declared here so they may be properly marshalled for remote invocation via RMI. This became neccessary with an OpenJDK 11.0.6 change made toRemoteObjectInvocationHandler
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
anonymousAccessAllowed()
boolean
canSetPassword()
Returns true if the user's password can be changed.void
connected()
Verify that server is alive and connected.RepositoryHandle
createRepository(java.lang.String name)
Create a new repository on the server.void
deleteRepository(java.lang.String name)
Delete a repository.java.lang.String[]
getAllUsers()
Returns a list of all known users.long
getPasswordExpiration()
Returns the amount of time in milliseconds until the user's password will expire.RepositoryHandle
getRepository(java.lang.String name)
Get a handle to an existing repository.java.lang.String[]
getRepositoryNames()
Returns a list of all repository names which are accessable by the current user.java.lang.String
getUser()
Returns current user for which this handle belongs.boolean
isReadOnly()
boolean
setPassword(char[] saltedSHA256PasswordHash)
Set the password for the user.
-
-
-
Method Detail
-
anonymousAccessAllowed
boolean anonymousAccessAllowed() throws java.io.IOException
- Specified by:
anonymousAccessAllowed
in interfaceRepositoryServerHandle
- Returns:
- true if server allows anonymous access. Individual repositories must grant anonymous access separately.
- Throws:
java.io.IOException
- if an IO error occurs
-
isReadOnly
boolean isReadOnly() throws java.io.IOException
- Specified by:
isReadOnly
in interfaceRepositoryServerHandle
- Returns:
- true if user has restricted read-only access to server (e.g., anonymous user)
- Throws:
java.io.IOException
- if an IO error occurs
-
createRepository
RepositoryHandle createRepository(java.lang.String name) throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Create a new repository on the server. The newly created RepositoryHandle will contain a unique project ID for the client.- Specified by:
createRepository
in interfaceRepositoryServerHandle
- Parameters:
name
- repository name. This ID will be used to identify and maintain checkout data.- Returns:
- handle to new repository.
- Throws:
DuplicateFileException
UserAccessException
java.io.IOException
- if an IO error occurs
-
getRepository
RepositoryHandle getRepository(java.lang.String name) throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Get a handle to an existing repository.- Specified by:
getRepository
in interfaceRepositoryServerHandle
- Parameters:
name
- repository name.- Returns:
- repository handle or null if repository does not exist.
- Throws:
UserAccessException
- if user does not have permission to access repositoryjava.io.IOException
- if an IO error occurs
-
deleteRepository
void deleteRepository(java.lang.String name) throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Delete a repository.- Specified by:
deleteRepository
in interfaceRepositoryServerHandle
- Parameters:
name
- repository name.- Throws:
UserAccessException
- if user does not have permission to delete repositoryjava.io.IOException
- if an IO error occurs
-
getRepositoryNames
java.lang.String[] getRepositoryNames() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Returns a list of all repository names which are accessable by the current user.- Specified by:
getRepositoryNames
in interfaceRepositoryServerHandle
- Throws:
java.io.IOException
- if an IO error occurs
-
getUser
java.lang.String getUser() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Returns current user for which this handle belongs.- Specified by:
getUser
in interfaceRepositoryServerHandle
- Throws:
java.io.IOException
- if an IO error occurs
-
getAllUsers
java.lang.String[] getAllUsers() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Returns a list of all known users.- Specified by:
getAllUsers
in interfaceRepositoryServerHandle
- Throws:
java.io.IOException
- if an IO error occurs
-
canSetPassword
boolean canSetPassword() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Returns true if the user's password can be changed.- Specified by:
canSetPassword
in interfaceRepositoryServerHandle
- Throws:
java.io.IOException
- if an IO error occurs
-
getPasswordExpiration
long getPasswordExpiration() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Returns the amount of time in milliseconds until the user's password will expire.- Specified by:
getPasswordExpiration
in interfaceRepositoryServerHandle
- Returns:
- time until expiration or -1 if it will not expire
- Throws:
java.io.IOException
- if an IO error occurs
-
setPassword
boolean setPassword(char[] saltedSHA256PasswordHash) throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Set the password for the user.- Specified by:
setPassword
in interfaceRepositoryServerHandle
- Parameters:
saltedSHA256PasswordHash
- SHA256 salted password hash- Returns:
- true if password changed
- Throws:
java.io.IOException
- if an IO error occurs- See Also:
HashUtilities.getSaltedHash("SHA-256", char[])
-
connected
void connected() throws java.io.IOException
Description copied from interface:RepositoryServerHandle
Verify that server is alive and connected.- Specified by:
connected
in interfaceRepositoryServerHandle
- Throws:
java.io.IOException
- if connection verification fails
-
-