Implement PTY-native session terminal control
This commit is contained in:
parent
058e58e816
commit
8cef037fa3
1 changed files with 1488 additions and 382 deletions
|
|
@ -10,7 +10,9 @@ use std::path::{Path, PathBuf};
|
|||
use std::sync::{Arc, Mutex, MutexGuard};
|
||||
|
||||
use ed25519_dalek::SigningKey;
|
||||
pub use lazaret_control_client::{CONTROL_ALPN, CONTROL_SERVER_NAME, PendingClientEnrollment};
|
||||
pub use lazaret_control_client::{
|
||||
CONTROL_ALPN, CONTROL_ALPN_V2, CONTROL_SERVER_NAME, PendingClientEnrollment,
|
||||
};
|
||||
use lazaret_control_client::{ControlClient, ControlClientError};
|
||||
use lazaret_core::codec::{CodecError, decode, encode};
|
||||
use lazaret_core::configuration::{ConfinedPathPlan, EnvironmentValue};
|
||||
|
|
@ -24,13 +26,13 @@ use lazaret_core::protocol::{
|
|||
};
|
||||
use lazaret_core::records::{
|
||||
ClientEnrollmentRequest, ClientEnrollmentResponse, ControlRequest, ControlResponse,
|
||||
DurableDecision, GenerationIdentity, InteractiveSessionBatch, InteractiveSessionEvent,
|
||||
InteractiveSessionMessage, InteractiveSessionRequest, NonInteractiveSessionMessage,
|
||||
NonInteractiveSessionRequest, ProtocolCredential, ProtocolCredentialRole,
|
||||
ProtocolPublicationIdentity, ProtocolSubjectId, ProtocolVersion, PublicationOwnership,
|
||||
SandboxCredentialBundle, Session, SessionBinding, SessionExit, SessionPhase,
|
||||
SessionRegistrationRequest, SessionRegistrationResponse, TlsCredential, TlsRole, TlsSubjectId,
|
||||
TrustManifest,
|
||||
DurableDecision, GenerationIdentity, InteractiveProtocolVersion, InteractiveSessionBatch,
|
||||
InteractiveSessionBatchV2, InteractiveSessionEventV2, InteractiveSessionMessage,
|
||||
InteractiveSessionRequestV2, NonInteractiveSessionMessage, NonInteractiveSessionRequest,
|
||||
ProtocolCredential, ProtocolCredentialRole, ProtocolPublicationIdentity, ProtocolSubjectId,
|
||||
ProtocolVersion, PublicationOwnership, SandboxCredentialBundle, Session, SessionBinding,
|
||||
SessionExit, SessionPhase, SessionRegistrationRequest, SessionRegistrationResponse,
|
||||
SessionTerminalMessage, TerminalOutput, TlsCredential, TlsRole, TlsSubjectId, TrustManifest,
|
||||
};
|
||||
use rcgen::{
|
||||
BasicConstraints, CertificateParams, CertificateSigningRequestParams, CertifiedIssuer,
|
||||
|
|
@ -354,7 +356,7 @@ impl TrustAnchor {
|
|||
)],
|
||||
PrivateKeyDer::Pkcs8(self.coordinator_tls_private_key.clone_key()),
|
||||
)?;
|
||||
config.alpn_protocols = vec![CONTROL_ALPN.to_vec()];
|
||||
config.alpn_protocols = vec![CONTROL_ALPN_V2.to_vec(), CONTROL_ALPN.to_vec()];
|
||||
config.max_early_data_size = 0;
|
||||
config.send_tls13_tickets = 0;
|
||||
config.session_storage = Arc::new(NoServerSessionStorage {});
|
||||
|
|
|
|||
Loading…
Reference in a new issue