- Spegnimento
- 3 settembre 2026 alle ore 17:24 UTC
- Autore
- Kamo
- Impegno
- 969ccb7
GET /pty aggiorna la connessione a `kamo-pty` e diventa un guscio: un PTY per finestra strumento del browser, `su - <user>` in `tmux nuova sessione -A`, cornici pompate entrambi i modi sopra la presa grezza. Una 101 piuttosto che una WebSocket. Il chiamante è SecurityService che tiene il portatore token, non un browser, quindi non c'è motivo di hand-roll RFC 6455 che si inquadra rimanere stdlib-solo. Dopo la linea di stato è `uint32 lunghezza | uint8 tipo | payload` e ThreadingHTTPServer thread-per-connection è esattamente la forma questo ha bisogno. tmux, non un guscio nudo, e questo è l'intero motivo per cui è qui. Un PTY crudo muore con la sua presa, quindi una pagina di aggiornamento, un portatile chiuso o un blip wifi uccidere un costruzione in esecuzione — e kamo-internal restaura le finestre degli strumenti su carico, così un restaurato Il terminal sarebbe tornato a tenere un cadavere. `new-session -A` rende la prima connessione e riconnettere lo stesso comando. La sicurezza segue la regola esistente del file: il nome utente arriva già risolto dalla sessione del membro ed è rivalutato contro USERNAME RE e la elenco riservato prima di iniziare qualsiasi processo, id di sessione vengono controllati perché tmux legge `.` e `: ` come sintassi dell'indirizzo, le dimensioni sono bloccate perché allocate un framebuffer su una macchina condivisa e un account disabilitato viene rifiutato anche se "su" funzionerebbe ancora per esso. Nessuna password è letta a tutti — l'agente è radice e scende all'account, quindi a differenza del percorso Guacamole le credenziali memorizzate non lascia il database. TERM è costretto attraverso `env` perché `su -` ricostruisce l'ambiente da graffio, e un terminale che arriva come `dumb` non ha vim, htop o meno. Le sessioni tmux abbandonate sono potute quando il membro successivo si connette, che ha bisogno né un timer né una lista di ogni account sulla macchina. 24 test: forma argv, rifiuti riservati/invalidi, bloccaggio delle dimensioni, frame codec incluso un telaio diviso tra le letture e una lunghezza dichiarata assurda, controllo La gestione del telaio e i quattro casi del mietitore. Passo 107.