Extract SshInterface from ServerHandler, add RawFramingInterface stub
- SshInterface implements Interface trait with accept() method - SshSession implements InterfaceSession trait (stub for call protocol events) - RawFramingInterface is type-only stub (Phase 4+ for DNS, WebTransport) - TransportKind consolidated into transport module with Display, PartialEq, Eq - ListenerConfig gains interface_kind field for (Transport, Interface) pairs - SshInterface wraps existing russh handler logic (SshHandler) - Auth delegation through IdentityProvider (not embedded in SshInterface) - Channel routing through session to Layer 3 (forwarding policy) - Server accept loop uses (Transport, Interface) pairs Per ADR-026: SSH is Layer 2, not Layer 1. This is the highest-risk Phase 1 task, implementing the Interface trait to separate transport from interface.
This commit is contained in:
@@ -87,8 +87,8 @@ pub use config::{
|
||||
pub use error::{AuthError, ChannelError, ConfigError, ForwardError, TransportError};
|
||||
pub use interface::{
|
||||
is_valid_pair, Interface, InterfaceConfig, InterfaceEvent, InterfaceKind, InterfaceSession,
|
||||
RawFramingConfig, SshInterfaceConfig, TransportKindBase, TransportStream,
|
||||
VALID_TRANSPORT_INTERFACE_PAIRS,
|
||||
RawFramingConfig, RawFramingInterface, RawFramingSession, SshInterface, SshInterfaceConfig,
|
||||
SshSession, TransportKindBase, TransportStream, VALID_TRANSPORT_INTERFACE_PAIRS,
|
||||
};
|
||||
pub use server::serve::{ListenerConfig, ServeError, ServeOptions, ServeTransportMode, Server};
|
||||
pub use transport::{Transport, TransportAcceptor, TransportInfo, TransportKind};
|
||||
|
||||
Reference in New Issue
Block a user