diff --git a/new-server.rkt b/new-server.rkt index 1c82a19..799424e 100644 --- a/new-server.rkt +++ b/new-server.rkt @@ -24,6 +24,10 @@ "Invalid peer identification string ~v" peer-identification-string))) +(define (repl-boot self-pid) + (write 'repl-boot) (newline) (flush-output) + 'no-repl-state) + (define (connection-handler local-addr remote-addr) (define local-identification #"SSH-2.0-RacketSSH_0.0") (nested-vm @@ -69,6 +73,7 @@ (send-message (inbound-credit 1)) (spawn (ssh-session local-identification remote-identification + repl-boot 'server) #:debug-name 'ssh-session))))]))) #:debug-name 'ssh-reader) diff --git a/ssh-session.rkt b/ssh-session.rkt index f884e15..b3021d9 100644 --- a/ssh-session.rkt +++ b/ssh-session.rkt @@ -528,6 +528,7 @@ (define (ssh-session local-identification-string peer-identification-string + application-boot session-role) (lambda (self-pid) (transition (connection #f @@ -540,6 +541,10 @@ local-identification-string peer-identification-string #f) + + (spawn (nested-vm 'ssh-application-vm application-boot) + #:debug-name 'ssh-application-vm) + (role 'rekey-waiter (topic-subscriber (timer-expired 'rekey-timer (wild))) #:state conn [(timer-expired 'rekey-timer now)