Modifier and Type | Method and Description |
---|---|
protected void |
AbstractClientSession.receiveKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal,
byte[] seed) |
protected byte[] |
AbstractClientSession.sendKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal) |
Modifier and Type | Field and Description |
---|---|
static java.util.Comparator<KexProposalOption> |
KexProposalOption.BY_PROPOSAL_INDEX
Compares values according to
getProposalIndex() |
static java.util.Set<KexProposalOption> |
KexProposalOption.CIPHER_PROPOSALS |
static java.util.Set<KexProposalOption> |
KexProposalOption.COMPRESSION_PROPOSALS |
static java.util.Set<KexProposalOption> |
KexProposalOption.FIRST_KEX_PACKET_GUESS_MATCHES |
static java.util.Set<KexProposalOption> |
KexProposalOption.LANGUAGE_PROPOSALS |
static java.util.Set<KexProposalOption> |
KexProposalOption.MAC_PROPOSALS |
static java.util.List<KexProposalOption> |
KexProposalOption.VALUES
A
List of all the options sorted according to getProposalIndex() |
Modifier and Type | Method and Description |
---|---|
static KexProposalOption |
KexProposalOption.fromName(java.lang.String n) |
static KexProposalOption |
KexProposalOption.fromProposalIndex(int index) |
static KexProposalOption |
KexProposalOption.valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.
|
static KexProposalOption[] |
KexProposalOption.values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
Modifier and Type | Field and Description |
---|---|
static AttributeRepository.AttributeKey<java.util.Map<KexProposalOption,java.lang.String>> |
DefaultClientKexExtensionHandler.CLIENT_PROPOSAL_KEY
Session
AttributeRepository.AttributeKey used to store the client's proposal |
static AttributeRepository.AttributeKey<java.util.Map<KexProposalOption,java.lang.String>> |
DefaultClientKexExtensionHandler.SERVER_PROPOSAL_KEY
Session
AttributeRepository.AttributeKey used to store the server's proposal |
Modifier and Type | Method and Description |
---|---|
default void |
KexExtensionHandler.handleKexExtensionNegotiation(Session session,
KexProposalOption option,
java.lang.String nValue,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.lang.String cValue,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.lang.String sValue)
Invoked during the KEX negotiation phase to inform about option being negotiated.
|
Modifier and Type | Method and Description |
---|---|
default void |
KexExtensionHandler.handleKexExtensionNegotiation(Session session,
KexProposalOption option,
java.lang.String nValue,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.lang.String cValue,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.lang.String sValue)
Invoked during the KEX negotiation phase to inform about option being negotiated.
|
default void |
KexExtensionHandler.handleKexExtensionNegotiation(Session session,
KexProposalOption option,
java.lang.String nValue,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.lang.String cValue,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.lang.String sValue)
Invoked during the KEX negotiation phase to inform about option being negotiated.
|
void |
DefaultClientKexExtensionHandler.handleKexInitProposal(Session session,
boolean initiator,
java.util.Map<KexProposalOption,java.lang.String> proposal) |
default void |
KexExtensionHandler.handleKexInitProposal(Session session,
boolean initiator,
java.util.Map<KexProposalOption,java.lang.String> proposal)
Invoked when a peer is ready to send the KEX options proposal or has received such a proposal.
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<KexProposalOption,java.lang.String> |
SessionContext.getClientKexProposals() |
java.util.Map<KexProposalOption,java.lang.String> |
SessionContext.getKexNegotiationResult() |
java.util.Map<KexProposalOption,java.lang.String> |
SessionContext.getServerKexProposals() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
SessionContext.getNegotiatedKexParameter(KexProposalOption paramType)
Retrieve one of the negotiated values during the KEX stage
|
default boolean |
SessionDisconnectHandler.handleKexDisconnectReason(Session session,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
KexProposalOption option)
Invoked if after KEX negotiation parameters resolved one of the options violates some internal constraint (e.g.,
cannot negotiate a value, or RFC 8308 - section
2.2).
|
Modifier and Type | Method and Description |
---|---|
default boolean |
SessionDisconnectHandler.handleKexDisconnectReason(Session session,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
KexProposalOption option)
Invoked if after KEX negotiation parameters resolved one of the options violates some internal constraint (e.g.,
cannot negotiate a value, or RFC 8308 - section
2.2).
|
default boolean |
SessionDisconnectHandler.handleKexDisconnectReason(Session session,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
KexProposalOption option)
Invoked if after KEX negotiation parameters resolved one of the options violates some internal constraint (e.g.,
cannot negotiate a value, or RFC 8308 - section
2.2).
|
default boolean |
SessionDisconnectHandler.handleKexDisconnectReason(Session session,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
KexProposalOption option)
Invoked if after KEX negotiation parameters resolved one of the options violates some internal constraint (e.g.,
cannot negotiate a value, or RFC 8308 - section
2.2).
|
default void |
SessionListener.sessionNegotiationEnd(Session session,
java.util.Map<KexProposalOption,java.lang.String> clientProposal,
java.util.Map<KexProposalOption,java.lang.String> serverProposal,
java.util.Map<KexProposalOption,java.lang.String> negotiatedOptions,
java.lang.Throwable reason)
Signals the end of the negotiation options handling
|
default void |
SessionListener.sessionNegotiationEnd(Session session,
java.util.Map<KexProposalOption,java.lang.String> clientProposal,
java.util.Map<KexProposalOption,java.lang.String> serverProposal,
java.util.Map<KexProposalOption,java.lang.String> negotiatedOptions,
java.lang.Throwable reason)
Signals the end of the negotiation options handling
|
default void |
SessionListener.sessionNegotiationEnd(Session session,
java.util.Map<KexProposalOption,java.lang.String> clientProposal,
java.util.Map<KexProposalOption,java.lang.String> serverProposal,
java.util.Map<KexProposalOption,java.lang.String> negotiatedOptions,
java.lang.Throwable reason)
Signals the end of the negotiation options handling
|
default void |
SessionListener.sessionNegotiationStart(Session session,
java.util.Map<KexProposalOption,java.lang.String> clientProposal,
java.util.Map<KexProposalOption,java.lang.String> serverProposal)
Signals the start of the negotiation options handling
|
default void |
SessionListener.sessionNegotiationStart(Session session,
java.util.Map<KexProposalOption,java.lang.String> clientProposal,
java.util.Map<KexProposalOption,java.lang.String> serverProposal)
Signals the start of the negotiation options handling
|
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.clientProposal |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.negotiationResult |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.serverProposal |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.unmodClientProposal |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.unmodNegotiationResult |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.unmodServerProposal |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<KexProposalOption,java.lang.String> |
SessionHelper.createProposal(java.lang.String hostKeyTypes)
Create our proposal for SSH negotiation
|
java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.getClientKexProposals() |
java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.getKexNegotiationResult() |
java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.getServerKexProposals() |
protected java.util.Map<KexProposalOption,java.lang.String> |
SessionHelper.mergeProposals(java.util.Map<KexProposalOption,java.lang.String> current,
java.util.Map<KexProposalOption,java.lang.String> proposal) |
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.negotiate()
Compute the negotiated proposals by merging the client and server proposal.
|
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.setNegotiationResult(java.util.Map<KexProposalOption,java.lang.String> guess) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map.Entry<java.lang.String,java.lang.String> |
AbstractSession.comparePreferredKexProposalOption(KexProposalOption option)
Compares the specified
KexProposalOption option value for client vs. |
java.lang.String |
AbstractSession.getNegotiatedKexParameter(KexProposalOption paramType) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<KexProposalOption,java.lang.String> |
SessionHelper.mergeProposals(java.util.Map<KexProposalOption,java.lang.String> current,
java.util.Map<KexProposalOption,java.lang.String> proposal) |
protected java.util.Map<KexProposalOption,java.lang.String> |
SessionHelper.mergeProposals(java.util.Map<KexProposalOption,java.lang.String> current,
java.util.Map<KexProposalOption,java.lang.String> proposal) |
protected byte[] |
AbstractSession.receiveKexInit(Buffer buffer,
java.util.Map<KexProposalOption,java.lang.String> proposal)
Receive the remote key exchange init message.
|
protected abstract void |
AbstractSession.receiveKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal,
byte[] seed) |
protected byte[] |
AbstractSession.sendKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal)
Send the key exchange initialization packet.
|
protected java.util.Map<KexProposalOption,java.lang.String> |
AbstractSession.setNegotiationResult(java.util.Map<KexProposalOption,java.lang.String> guess) |
protected void |
SessionHelper.signalNegotiationEnd(java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationEnd(java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationEnd(java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationEnd(SessionListener listener,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationEnd(SessionListener listener,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationEnd(SessionListener listener,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions,
java.util.Map<KexProposalOption,java.lang.String> negotiatedGuess,
java.lang.Throwable reason) |
protected void |
SessionHelper.signalNegotiationStart(java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions) |
protected void |
SessionHelper.signalNegotiationStart(java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions) |
protected void |
SessionHelper.signalNegotiationStart(SessionListener listener,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions) |
protected void |
SessionHelper.signalNegotiationStart(SessionListener listener,
java.util.Map<KexProposalOption,java.lang.String> c2sOptions,
java.util.Map<KexProposalOption,java.lang.String> s2cOptions) |
Modifier and Type | Method and Description |
---|---|
protected void |
AbstractServerSession.receiveKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal,
byte[] seed) |
protected byte[] |
AbstractServerSession.sendKexInit(java.util.Map<KexProposalOption,java.lang.String> proposal) |