Class JGitClientSession
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.common.util.closeable.IoBaseCloseable
-
- org.apache.sshd.common.util.closeable.AbstractCloseable
-
- org.apache.sshd.common.util.closeable.AbstractInnerCloseable
-
- org.apache.sshd.common.kex.AbstractKexFactoryManager
-
- org.apache.sshd.common.session.helpers.SessionHelper
-
- org.apache.sshd.common.session.helpers.AbstractSession
-
- org.apache.sshd.client.session.AbstractClientSession
-
- org.apache.sshd.client.session.ClientSessionImpl
-
- org.eclipse.jgit.internal.transport.sshd.JGitClientSession
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.nio.channels.Channel
,org.apache.sshd.client.ClientAuthenticationManager
,org.apache.sshd.client.session.ClientProxyConnectorHolder
,org.apache.sshd.client.session.ClientSession
,org.apache.sshd.common.AttributeRepository
,org.apache.sshd.common.AttributeStore
,org.apache.sshd.common.auth.MutableUserHolder
,org.apache.sshd.common.auth.UserAuthFactoriesManager<org.apache.sshd.client.session.ClientSession,org.apache.sshd.client.auth.UserAuth,org.apache.sshd.client.auth.UserAuthFactory>
,org.apache.sshd.common.auth.UsernameHolder
,org.apache.sshd.common.channel.ChannelListenerManager
,org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolver
,org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolverManager
,org.apache.sshd.common.Closeable
,org.apache.sshd.common.FactoryManagerHolder
,org.apache.sshd.common.forward.PortForwardingEventListenerManager
,org.apache.sshd.common.forward.PortForwardingInformationProvider
,org.apache.sshd.common.forward.PortForwardingManager
,org.apache.sshd.common.kex.extension.KexExtensionHandlerManager
,org.apache.sshd.common.kex.KexFactoryManager
,org.apache.sshd.common.keyprovider.KeyIdentityProviderHolder
,org.apache.sshd.common.PropertyResolver
,org.apache.sshd.common.session.ReservedSessionMessagesManager
,org.apache.sshd.common.session.Session
,org.apache.sshd.common.session.SessionContext
,org.apache.sshd.common.session.SessionDisconnectHandlerManager
,org.apache.sshd.common.session.SessionHeartbeatController
,org.apache.sshd.common.session.SessionListenerManager
,org.apache.sshd.common.session.UnknownChannelReferenceHandlerManager
,org.apache.sshd.common.signature.SignatureFactoriesHolder
,org.apache.sshd.common.signature.SignatureFactoriesManager
,org.apache.sshd.common.util.net.ConnectionEndpointsIndicator
public class JGitClientSession extends org.apache.sshd.client.session.ClientSessionImpl
AClientSession
that can be associated with theHostConfigEntry
the session was created for. TheJGitSshClient
creates such sessions and sets this association.Also provides for associating a JGit
CredentialsProvider
with a session.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JGitClientSession.ChainingAttributes
AnAttributeRepository
that chains together two other attribute sources in a hierarchy.static class
JGitClientSession.SessionAttributes
AJGitClientSession.ChainingAttributes
repository that doubles as aPropertyResolver
.-
Nested classes/interfaces inherited from class org.apache.sshd.common.session.helpers.AbstractSession
org.apache.sshd.common.session.helpers.AbstractSession.MessageCodingSettings
-
Nested classes/interfaces inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
org.apache.sshd.common.util.closeable.AbstractCloseable.State
-
Nested classes/interfaces inherited from interface org.apache.sshd.common.AttributeRepository
org.apache.sshd.common.AttributeRepository.AttributeKey<T extends java.lang.Object>
-
-
Field Summary
Fields Modifier and Type Field Description private CredentialsProvider
credentialsProvider
private static int
DEFAULT_MAX_IDENTIFICATION_SIZE
Default setting for the maximum number of bytes to read in the initial protocol version exchange.private org.apache.sshd.client.config.hosts.HostConfigEntry
hostConfig
private static org.apache.sshd.common.AttributeRepository.AttributeKey<java.lang.Boolean>
INITIAL_KEX_DONE
private StatefulProxyConnector
proxyHandler
-
Fields inherited from class org.apache.sshd.client.session.AbstractClientSession
sendImmediateClientIdentification, sendImmediateKexInit
-
Fields inherited from class org.apache.sshd.common.session.helpers.AbstractSession
channelListenerProxy, channelListeners, clientProposal, clientVersion, currentService, decodeLock, decoderBuffer, decoderLength, decoderState, encodeLock, firstKexPacketFollows, globalRequestSeqo, ignorePacketDataLength, ignorePacketsCount, ignorePacketsFrequency, ignorePacketsVariance, inBlocksCount, inBytesCount, inCipher, inCipherSize, inCompression, inMac, inMacResult, inMacSize, inPacketsCount, inSettings, kex, kexFutureHolder, kexInitializedFuture, kexLock, kexState, lastKeyTimeValue, maxRekeyBlocks, maxRekeyBytes, maxRekeyInterval, maxRekyPackets, negotiationResult, outBlocksCount, outBytesCount, outCipher, outCipherSize, outCompression, outMac, outMacSize, outPacketsCount, outSettings, pendingGlobalRequest, pendingPackets, random, requestLock, seqi, seqo, serverProposal, serverVersion, SESSION, sessionId, sessionListenerProxy, sessionListeners, tunnelListenerProxy, tunnelListeners, uncompressBuffer, unmodClientProposal, unmodNegotiationResult, unmodServerProposal
-
Fields inherited from class org.apache.sshd.common.session.helpers.SessionHelper
authStart, idleStart, sessionLock
-
Fields inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
closeFuture, futureLock, state
-
Fields inherited from interface org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolver
NONE
-
-
Constructor Summary
Constructors Constructor Description JGitClientSession(org.apache.sshd.client.ClientFactoryManager manager, org.apache.sshd.common.io.IoSession session)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.List<java.lang.String>
determineKexProposal()
protected java.util.List<java.lang.String>
doReadIdentification(org.apache.sshd.common.util.buffer.Buffer buffer, boolean server)
Reads the RFC 4253, section 4.2 protocol version identification.private static java.lang.String
escapeControls(java.lang.String s)
private java.util.List<java.lang.String>
filteredList(java.util.Set<java.lang.String> known, java.lang.String key, java.lang.String values)
(package private) java.util.Set<java.lang.String>
getAllAvailableSignatureAlgorithms()
<T> T
getAttribute(org.apache.sshd.common.AttributeRepository.AttributeKey<T> key)
CredentialsProvider
getCredentialsProvider()
Retrieves theCredentialsProvider
set for this session.org.apache.sshd.client.config.hosts.HostConfigEntry
getHostConfigEntry()
Retrieves theHostConfigEntry
this session was created for.org.apache.sshd.common.PropertyResolver
getParentPropertyResolver()
void
messageReceived(org.apache.sshd.common.util.Readable buffer)
As long as we're still setting up the proxy connection, diverts messages to theStatefulProxyConnector
.java.util.List<java.lang.String>
modifyAlgorithmList(java.util.List<java.lang.String> defaultList, java.util.Set<java.lang.String> allAvailable, java.lang.String fromConfig, java.lang.String overrideKey)
Modifies a given algorithm list according to a list from the ssh config, including add ('+'), remove ('-') and reordering ('^') operators.private void
removeFromList(java.util.Set<java.lang.String> current, java.lang.String key, java.lang.String patterns)
protected java.lang.String
resolveAvailableSignaturesProposal(org.apache.sshd.common.FactoryManager manager)
protected java.lang.String
resolveSessionKexProposal(java.lang.String hostKeyTypes)
protected org.apache.sshd.common.io.IoWriteFuture
sendIdentification(java.lang.String ident, java.util.List<java.lang.String> extraLines)
protected byte[]
sendKexInit()
void
setCredentialsProvider(CredentialsProvider provider)
Sets theCredentialsProvider
for this session.void
setHostConfigEntry(org.apache.sshd.client.config.hosts.HostConfigEntry hostConfig)
Sets theHostConfigEntry
this session was created for.private void
setNewFactories(java.util.Collection<java.lang.String> defaultFactories, java.util.Collection<java.lang.String> finalFactories)
void
setProxyHandler(StatefulProxyConnector handler)
Sets aStatefulProxyConnector
to handle proxy connection protocols.-
Methods inherited from class org.apache.sshd.client.session.ClientSessionImpl
auth, exceptionCaught, getMetadataMap, getServices, getSessionState, handleDisconnect, nextServiceName, preClose, sendInitialServiceRequest, signalAuthFailure, signalSessionEvent, switchToNextService, updateCurrentSessionState, waitFor
-
Methods inherited from class org.apache.sshd.client.session.AbstractClientSession
addPasswordIdentity, addPublicKeyIdentity, checkKeys, createChannel, createChannel, createDirectTcpipChannel, createExecChannel, createShellChannel, createSubsystemChannel, getClientProxyConnector, getConnectAddress, getConnectionContext, getConnectionService, getFactoryManager, getForwarder, getHostBasedAuthenticationReporter, getKeyIdentityProvider, getPasswordAuthenticationReporter, getPasswordIdentityProvider, getPublicKeyAuthenticationReporter, getRegisteredIdentities, getServerKey, getServerKeyVerifier, getUserAuthFactories, getUserAuthService, getUserInteraction, initializeKeyExchangePhase, initializeProxyConnector, readIdentification, receiveKexInit, receiveKexInit, removePasswordIdentity, removePublicKeyIdentity, sendClientIdentification, sendKexInit, setClientProxyConnector, setConnectAddress, setHostBasedAuthenticationReporter, setKexSeed, setKeyIdentityProvider, setPasswordAuthenticationReporter, setPasswordIdentityProvider, setPublicKeyAuthenticationReporter, setServerKey, setServerKeyVerifier, setUserAuthFactories, setUserInteraction, signalExtraServerVersionInfo, startDynamicPortForwarding, startLocalPortForwarding, startRemotePortForwarding, startService, stopDynamicPortForwarding, stopLocalPortForwarding, stopRemotePortForwarding, switchToNoneCipher
-
Methods inherited from class org.apache.sshd.common.session.helpers.AbstractSession
addChannelListener, addPortForwardingEventListener, addSessionListener, aeadOutgoingBuffer, appendOutgoingMac, attachSession, calculatePadLength, checkRekey, comparePreferredKexProposalOption, createBuffer, decode, determineRekeyBlockLimit, doHandleMessage, doInvokeUnimplementedMessageHandler, doKexNegotiation, doWritePacket, encode, encryptOutgoingBuffer, enqueuePendingPacket, getChannelListenerProxy, getCipherInformation, getClientKexData, getClientKexProposals, getClientVersion, getCompressionInformation, getInnerCloseable, getKex, getKexNegotiationResult, getKexState, getMacInformation, getNegotiatedKexParameter, getPortForwardingEventListenerProxy, getServerKexData, getServerKexProposals, getServerVersion, getService, getSession, getSession, getSessionId, getSessionListenerProxy, handleFirstKexPacketFollows, handleKexExtension, handleKexInit, handleKexMessage, handleMessage, handleNewCompression, handleNewKeys, handleServiceAccept, handleServiceAccept, handleServiceRequest, handleServiceRequest, isRekeyBlocksCountExceeded, isRekeyDataSizeExceeded, isRekeyPacketCountsExceeded, isRekeyRequired, isRekeyTimeIntervalExceeded, negotiate, notImplemented, prepareBuffer, prepareNewKeys, preProcessEncodeBuffer, receiveKexInit, reExchangeKeys, refreshConfiguration, removeChannelListener, removePortForwardingEventListener, removeSessionListener, request, requestFailure, requestNewKeysExchange, requestSuccess, resolveAvailableSignaturesProposal, resolveIgnoreBufferDataLength, resolveOutputPacket, sendNewKeys, sendPendingPackets, setClientKexData, setInputEncoding, setNegotiationResult, setOutputEncoding, setServerKexData, signalRequestFailure, validateIncomingMac, validateKexState, validateTargetBuffer, writePacket
-
Methods inherited from class org.apache.sshd.common.session.helpers.SessionHelper
attributeKeys, calculateNextIgnorePacketCount, checkAuthenticationTimeout, checkForTimeouts, checkIdleTimeout, clearAttributes, computeAttributeIfAbsent, createProposal, disconnect, doInvokeDebugMessageHandler, doInvokeIgnoreMessageHandler, getAttributesCount, getAuthTimeout, getAuthTimeoutStart, getBoundLocalPortForwards, getBoundRemotePortForward, getChannelStreamWriterResolver, getIdleTimeout, getIdleTimeoutStart, getIoSession, getLocalForwardsBindings, getProperties, getRemoteForwardsBindings, getReservedSessionMessagesHandler, getSessionDisconnectHandler, getStartedLocalPortForwards, getStartedRemotePortForwards, getTimeoutStatus, getUnknownChannelReferenceHandler, getUsername, handleDebug, handleDisconnect, handleIgnore, handleUnimplemented, invokeSessionSignaller, isAuthenticated, isLocalPortForwardingStartedForPort, isRemotePortForwardingStartedForPort, isServerSession, mergeProposals, removeAttribute, resetAuthTimeout, resetIdleTimeout, resizeKey, resolveChannelStreamWriterResolver, resolveIdentificationString, resolvePeerAddress, resolveReservedSessionMessagesHandler, resolveUnknownChannelReferenceHandler, sendDebugMessage, sendIgnoreMessage, sendNotImplemented, setAttribute, setAuthenticated, setChannelStreamWriterResolver, setReservedSessionMessagesHandler, setSessionDisconnectHandler, setUnknownChannelReferenceHandler, setUsername, signalDisconnect, signalDisconnect, signalExceptionCaught, signalExceptionCaught, signalNegotiationEnd, signalNegotiationEnd, signalNegotiationOptionsCreated, signalNegotiationOptionsCreated, signalNegotiationStart, signalNegotiationStart, signalPeerIdentificationReceived, signalPeerIdentificationReceived, signalReadPeerIdentificationLine, signalReadPeerIdentificationLine, signalSendIdentification, signalSendIdentification, signalSessionClosed, signalSessionClosed, signalSessionCreated, signalSessionCreated, signalSessionEstablished, signalSessionEstablished, signalSessionEvent, toString, writePacket
-
Methods inherited from class org.apache.sshd.common.kex.AbstractKexFactoryManager
getCipherFactories, getCompressionFactories, getDelegate, getKexExtensionHandler, getKeyExchangeFactories, getMacFactories, getSignatureFactories, resolveEffectiveFactories, resolveEffectiveProvider, setCipherFactories, setCompressionFactories, setKexExtensionHandler, setKeyExchangeFactories, setMacFactories, setSignatureFactories
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractInnerCloseable
doCloseGracefully, doCloseImmediately
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
addCloseFutureListener, builder, close, getFutureLock, isClosed, isClosing, removeCloseFutureListener
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.AttributeRepository
attributeKeys, getAttributesCount
-
Methods inherited from interface org.apache.sshd.common.AttributeStore
clearAttributes, computeAttributeIfAbsent, removeAttribute, setAttribute
-
Methods inherited from interface org.apache.sshd.common.channel.ChannelListenerManager
addChannelListener, getChannelListenerProxy, removeChannelListener
-
Methods inherited from interface org.apache.sshd.common.channel.throttle.ChannelStreamWriterResolverManager
getChannelStreamWriterResolver, resolveChannelStreamWriter, resolveChannelStreamWriterResolver, setChannelStreamWriterResolver
-
Methods inherited from interface org.apache.sshd.client.ClientAuthenticationManager
setUserAuthFactoriesNames
-
Methods inherited from interface org.apache.sshd.client.session.ClientSession
createDynamicPortForwardingTracker, createExecChannel, createLocalPortForwardingTracker, createLocalPortForwardingTracker, createRemotePortForwardingTracker, createShellChannel, executeRemoteCommand, executeRemoteCommand, executeRemoteCommand, waitFor
-
Methods inherited from interface org.apache.sshd.common.Closeable
addCloseFutureListener, close, close, isClosed, isClosing, isOpen, removeCloseFutureListener
-
Methods inherited from interface org.apache.sshd.common.kex.extension.KexExtensionHandlerManager
getKexExtensionHandler, setKexExtensionHandler
-
Methods inherited from interface org.apache.sshd.common.kex.KexFactoryManager
getCipherFactories, getCipherFactoriesNameList, getCipherFactoriesNames, getCompressionFactories, getCompressionFactoriesNameList, getCompressionFactoriesNames, getKeyExchangeFactories, getMacFactories, getMacFactoriesNameList, getMacFactoriesNames, setCipherFactories, setCipherFactoriesNameList, setCipherFactoriesNames, setCipherFactoriesNames, setCompressionFactories, setCompressionFactoriesNameList, setCompressionFactoriesNames, setCompressionFactoriesNames, setKeyExchangeFactories, setMacFactories, setMacFactoriesNameList, setMacFactoriesNames, setMacFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.forward.PortForwardingEventListenerManager
addPortForwardingEventListener, getPortForwardingEventListenerProxy, removePortForwardingEventListener
-
Methods inherited from interface org.apache.sshd.common.forward.PortForwardingInformationProvider
getBoundLocalPortForwards, getBoundRemotePortForward, getLocalForwardsBindings, getRemoteForwardsBindings, getStartedLocalPortForwards, getStartedRemotePortForwards, isLocalPortForwardingStartedForPort, isRemotePortForwardingStartedForPort
-
Methods inherited from interface org.apache.sshd.common.forward.PortForwardingManager
startLocalPortForwarding
-
Methods inherited from interface org.apache.sshd.common.PropertyResolver
getBoolean, getBooleanProperty, getCharset, getInteger, getIntProperty, getLong, getLongProperty, getObject, getProperties, getString, getStringProperty, isEmpty
-
Methods inherited from interface org.apache.sshd.common.session.ReservedSessionMessagesManager
getReservedSessionMessagesHandler, setReservedSessionMessagesHandler
-
Methods inherited from interface org.apache.sshd.common.session.Session
createBuffer, createBuffer, disconnect, getAuthTimeout, getAuthTimeoutStart, getIdleTimeout, getIdleTimeoutStart, getIoSession, getKex, getLocalAddress, getRemoteAddress, getService, getTimeoutStatus, prepareBuffer, reExchangeKeys, request, request, request, resetAuthTimeout, resetIdleTimeout, resolveAttribute, sendDebugMessage, sendIgnoreMessage, setAuthenticated, writePacket, writePacket, writePacket, writePacket
-
Methods inherited from interface org.apache.sshd.common.session.SessionContext
getCipherInformation, getClientKexProposals, getClientVersion, getCompressionInformation, getKexNegotiationResult, getKexState, getMacInformation, getNegotiatedKexParameter, getServerKexProposals, getServerVersion, getSessionId, isAuthenticated, isServerSession
-
Methods inherited from interface org.apache.sshd.common.session.SessionDisconnectHandlerManager
getSessionDisconnectHandler, setSessionDisconnectHandler
-
Methods inherited from interface org.apache.sshd.common.session.SessionHeartbeatController
disableSessionHeartbeat, getSessionHeartbeatInterval, getSessionHeartbeatType, setSessionHeartbeat, setSessionHeartbeat
-
Methods inherited from interface org.apache.sshd.common.session.SessionListenerManager
addSessionListener, getSessionListenerProxy, removeSessionListener
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesHolder
getSignatureFactories, getSignatureFactoriesNameList, getSignatureFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.signature.SignatureFactoriesManager
setSignatureFactories, setSignatureFactoriesNameList, setSignatureFactoriesNames, setSignatureFactoriesNames
-
Methods inherited from interface org.apache.sshd.common.session.UnknownChannelReferenceHandlerManager
getUnknownChannelReferenceHandler, resolveUnknownChannelReferenceHandler, setUnknownChannelReferenceHandler
-
-
-
-
Field Detail
-
DEFAULT_MAX_IDENTIFICATION_SIZE
private static final int DEFAULT_MAX_IDENTIFICATION_SIZE
Default setting for the maximum number of bytes to read in the initial protocol version exchange. 64kb is what OpenSSH < 8.0 read; OpenSSH 8.0 changed it to 8Mb, but that seems excessive for the purpose stated in RFC 4253. The Apache MINA sshd default inCoreModuleProperties.MAX_IDENTIFICATION_SIZE
is 16kb.- See Also:
- Constant Field Values
-
INITIAL_KEX_DONE
private static final org.apache.sshd.common.AttributeRepository.AttributeKey<java.lang.Boolean> INITIAL_KEX_DONE
-
hostConfig
private org.apache.sshd.client.config.hosts.HostConfigEntry hostConfig
-
credentialsProvider
private CredentialsProvider credentialsProvider
-
proxyHandler
private volatile StatefulProxyConnector proxyHandler
-
-
Method Detail
-
getHostConfigEntry
public org.apache.sshd.client.config.hosts.HostConfigEntry getHostConfigEntry()
Retrieves theHostConfigEntry
this session was created for.- Returns:
- the
HostConfigEntry
, ornull
if none set
-
setHostConfigEntry
public void setHostConfigEntry(org.apache.sshd.client.config.hosts.HostConfigEntry hostConfig)
Sets theHostConfigEntry
this session was created for.- Parameters:
hostConfig
- theHostConfigEntry
-
setCredentialsProvider
public void setCredentialsProvider(CredentialsProvider provider)
Sets theCredentialsProvider
for this session.- Parameters:
provider
- to set
-
getCredentialsProvider
public CredentialsProvider getCredentialsProvider()
Retrieves theCredentialsProvider
set for this session.- Returns:
- the provider, or
null
if none is set.
-
setProxyHandler
public void setProxyHandler(StatefulProxyConnector handler)
Sets aStatefulProxyConnector
to handle proxy connection protocols.- Parameters:
handler
- to set
-
sendIdentification
protected org.apache.sshd.common.io.IoWriteFuture sendIdentification(java.lang.String ident, java.util.List<java.lang.String> extraLines) throws java.lang.Exception
- Overrides:
sendIdentification
in classorg.apache.sshd.common.session.helpers.SessionHelper
- Throws:
java.lang.Exception
-
sendKexInit
protected byte[] sendKexInit() throws java.lang.Exception
- Overrides:
sendKexInit
in classorg.apache.sshd.common.session.helpers.AbstractSession
- Throws:
java.lang.Exception
-
messageReceived
public void messageReceived(org.apache.sshd.common.util.Readable buffer) throws java.lang.Exception
As long as we're still setting up the proxy connection, diverts messages to theStatefulProxyConnector
.- Overrides:
messageReceived
in classorg.apache.sshd.common.session.helpers.AbstractSession
- Throws:
java.lang.Exception
-
getAllAvailableSignatureAlgorithms
java.util.Set<java.lang.String> getAllAvailableSignatureAlgorithms()
-
setNewFactories
private void setNewFactories(java.util.Collection<java.lang.String> defaultFactories, java.util.Collection<java.lang.String> finalFactories)
-
resolveAvailableSignaturesProposal
protected java.lang.String resolveAvailableSignaturesProposal(org.apache.sshd.common.FactoryManager manager)
- Overrides:
resolveAvailableSignaturesProposal
in classorg.apache.sshd.client.session.AbstractClientSession
-
determineKexProposal
private java.util.List<java.lang.String> determineKexProposal()
-
resolveSessionKexProposal
protected java.lang.String resolveSessionKexProposal(java.lang.String hostKeyTypes) throws java.io.IOException
- Overrides:
resolveSessionKexProposal
in classorg.apache.sshd.common.session.helpers.AbstractSession
- Throws:
java.io.IOException
-
modifyAlgorithmList
public java.util.List<java.lang.String> modifyAlgorithmList(java.util.List<java.lang.String> defaultList, java.util.Set<java.lang.String> allAvailable, java.lang.String fromConfig, java.lang.String overrideKey)
Modifies a given algorithm list according to a list from the ssh config, including add ('+'), remove ('-') and reordering ('^') operators.- Parameters:
defaultList
- to modifyallAvailable
- all available valuesfromConfig
- telling how to modify thedefaultList
, must not benull
or emptyoverrideKey
- ssh config key; used for logging- Returns:
- the modified list or
null
ifoverrideKey
is not set
-
removeFromList
private void removeFromList(java.util.Set<java.lang.String> current, java.lang.String key, java.lang.String patterns)
-
filteredList
private java.util.List<java.lang.String> filteredList(java.util.Set<java.lang.String> known, java.lang.String key, java.lang.String values)
-
doReadIdentification
protected java.util.List<java.lang.String> doReadIdentification(org.apache.sshd.common.util.buffer.Buffer buffer, boolean server) throws java.io.StreamCorruptedException
Reads the RFC 4253, section 4.2 protocol version identification. The Apache MINA sshd default implementation checks for NUL bytes also in any preceding lines, whereas RFC 4253 requires such a check only for the actual identification string starting with "SSH-". Likewise, the 255 character limit exists only for the identification string, not for the preceding lines. CR-LF handling is also relaxed.- Overrides:
doReadIdentification
in classorg.apache.sshd.common.session.helpers.SessionHelper
- Parameters:
buffer
- to read fromserver
- whether we're an SSH server (should always befalse
)- Returns:
- the lines read, with the server identification line last, or
null
if no identification line was found and more bytes are needed - Throws:
java.io.StreamCorruptedException
- if the identification is malformed- See Also:
- RFC 4253, section 4.2
-
escapeControls
private static java.lang.String escapeControls(java.lang.String s)
-
getAttribute
public <T> T getAttribute(org.apache.sshd.common.AttributeRepository.AttributeKey<T> key)
- Specified by:
getAttribute
in interfaceorg.apache.sshd.common.AttributeRepository
- Overrides:
getAttribute
in classorg.apache.sshd.common.session.helpers.SessionHelper
-
getParentPropertyResolver
public org.apache.sshd.common.PropertyResolver getParentPropertyResolver()
- Specified by:
getParentPropertyResolver
in interfaceorg.apache.sshd.common.PropertyResolver
- Overrides:
getParentPropertyResolver
in classorg.apache.sshd.common.session.helpers.SessionHelper
-
-