Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Please login to access the resource
home:Ledest:erlang:24
erlang
4961-ssh-ssh_notes.md-supervision-tree-diagram-...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 4961-ssh-ssh_notes.md-supervision-tree-diagram-update.patch of Package erlang
From b9486ed3745d877369d92a98328c3c4cb21dc89f Mon Sep 17 00:00:00 2001 From: Jakub Witczak <kuba@erlang.org> Date: Mon, 2 Sep 2024 12:50:57 +0200 Subject: [PATCH] ssh: ssh_notes.md supervision tree diagram update --- lib/ssh/internal_doc/ssh_notes.md | 95 +++++++++++++++++++++++++++---- 1 file changed, 83 insertions(+), 12 deletions(-) diff --git a/lib/ssh/internal_doc/ssh_notes.md b/lib/ssh/internal_doc/ssh_notes.md index cf3c04f2e6..2d3b8c25eb 100644 --- a/lib/ssh/internal_doc/ssh_notes.md +++ b/lib/ssh/internal_doc/ssh_notes.md @@ -1,36 +1,107 @@ +# SSH supervision tree (prototype) ```mermaid --- -title: SSH supervision tree +title: SSH supervision tree (prototype) --- flowchart RL - d_sup --> sup[["ssh_sup\n[o4o]"]] + d_sup --> sup[["ssh_sup\n(ssh_app.erl)\n[o4o]"]] c_sup --> sup subgraph client - system_sup --> c_sup[["sshc_sup\n[o4o]"]] + connection_sup --> c_sup[["sshc_sup\n(ssh_app.erl)\n[o4o]\nauto_shutdown=never"]] + subgraph connection_c + connection_handler["ssh_connection_handler\nSIGNIFICANT"] --> connection_sup[["ssh_connection_sup\n[o4a]\nauto_shutdown=any_significant"]] + channel_sup[["ssh_channel_sup\n[o4o]"]] --> connection_sup + sftp["ssh_sftp"] --> channel_sup + tcpip_forward_acceptor_sup[["ssh_tcpip_forward_acceptor_sup\n[o4o]"]] --> connection_sup + ssh_tcpip_forward_acceptor["ssh_tcpip_forward_acceptor"] --> tcpip_forward_acceptor_sup + end + end + + subgraph server + system_sup_s --> d_sup[["sshd_sup\n(ssh_app.erl)\n[o4o]"]] + acceptor_sup --> system_sup_s[["ssh_system_sup\n[o4o]\nauto_shutdown=all_significant"]] + acceptor["ssh_acceptor"] --> acceptor_sup[["ssh_acceptor_sup\n[o4o]\nSIGNIFICANT"]] + + connection_sup_s --> system_sup_s + + subgraph connection_s + connection_handler_s["ssh_connection_handler\nSIGNIFICANT"] --> connection_sup_s[["ssh_connection_sup\n[o4a]\nauto_shutdown=any_significant\nSIGNIFICANT"]] + channel_sup_s[["ssh_channel_sup\n[o4o]"]] --> connection_sup_s + tcpip_forward_acceptor_sup_s[["ssh_tcpip_forward_acceptor_sup\n[o4o]"]] --> connection_sup_s + ssh_tcpip_forward_acceptor_s["ssh_tcpip_forward_acceptor"] --> tcpip_forward_acceptor_sup_s + sftd1["ssh_sftpd"] --> channel_sup_s + end + end +``` + +# SSH supervision tree (OTP >= 24) +```mermaid +--- +title: SSH supervision tree (OTP >= 24) +--- +flowchart RL + d_sup --> sup[["ssh_sup\n(ssh_app.erl)\n[o4o]"]] + c_sup --> sup + subgraph client + system_sup --> c_sup[["sshc_sup\n(ssh_app.erl)\n[o4o]\nauto_shutdown=never"]] subgraph connection_c - subsystem_sup --> system_sup[["ssh_system_sup\n[o4o]"]] - connection_handler["ssh_connection_handler"] --> subsystem_sup[["ssh_subsystem_sup\n[o4a]"]] - channel_sup[["ssh_channel_sup\no4o"]] --> subsystem_sup + subsystem_sup --> system_sup[["ssh_system_sup\n[o4o]\nauto_shutdown=all_significant"]] + connection_handler["ssh_connection_handler\nSIGNIFICANT"] --> subsystem_sup[["ssh_subsystem_sup\n[o4a]\nauto_shutdown=any_significant\nSIGNIFICANT"]] + channel_sup[["ssh_channel_sup\n[o4o]"]] --> subsystem_sup + sftp["ssh_sftp"] --> channel_sup + ssh_tcpip_forward_client --> channel_sup tcpip_forward_acceptor_sup[["ssh_tcpip_forward_acceptor_sup\n[o4o]"]] --> subsystem_sup + ssh_tcpip_forward_acceptor["ssh_tcpip_forward_acceptor"] --> tcpip_forward_acceptor_sup end - end subgraph server - system_sup_s --> d_sup[["sshd_sup\n[o4o]"]] - acceptor_sup --> system_sup_s[["ssh_system_sup\n[o4o]"]] - acceptor["ssh_acceptor"] --> acceptor_sup[["ssh_acceptor_sup\n[o4o]"]] + system_sup_s --> d_sup[["sshd_sup\n(ssh_app.erl)\n[o4o]"]] + acceptor_sup --> system_sup_s[["ssh_system_sup\n[o4o]\nauto_shutdown=all_significant"]] + acceptor["ssh_acceptor"] --> acceptor_sup[["ssh_acceptor_sup\n[o4o]\nSIGNIFICANT"]] subsystem_sup_s --> system_sup_s subgraph connection_s - connection_handler_s["ssh_connection_handler"] --> subsystem_sup_s[["ssh_subsystem_sup\n[o4a]"]] + connection_handler_s["ssh_connection_handler\nSIGNIFICANT"] --> subsystem_sup_s[["ssh_subsystem_sup\n[o4a]\nauto_shutdown=any_significant\nSIGNIFICANT"]] channel_sup_s[["ssh_channel_sup\n[o4o]"]] --> subsystem_sup_s tcpip_forward_acceptor_sup_s[["ssh_tcpip_forward_acceptor_sup\n[o4o]"]] --> subsystem_sup_s + ssh_tcpip_forward_acceptor_s["ssh_tcpip_forward_acceptor"] --> tcpip_forward_acceptor_sup_s sftd1["ssh_sftpd"] --> channel_sup_s - sftd2["ssh_sftpd"] --> channel_sup_s + ssh_tcpip_forward_srv --> channel_sup_s + custom_cli --> channel_sup_s + custom_subsystem --> channel_sup_s end end ``` +# SSH supervision tree (OTP-23) ?? +# SSH supervision tree (OTP-22) +```mermaid +--- +title: SSH supervision tree (OTP-22) +--- +flowchart RL + d_sup --> sup[["ssh_sup\n(ssh_app.erl)\n[o4o]"]] + c_sup --> sup + + subgraph client + connection_handler["ssh_connection_handler\nSIGNIFICANT?"] --> c_sup + end + + subgraph server + system_sup_s --> d_sup[["sshd_sup\n(ssh_app.erl)\n[o4o]"]] + acceptor_sup --> system_sup_s[["ssh_system_sup\n[o4o]\nauto_shutdown=all_significant"]] + acceptor["ssh_acceptor"] --> acceptor_sup[["ssh_acceptor_sup\n[o4o]\nSIGNIFICANT"]] + + subsystem_sup_s --> system_sup_s + + subgraph connection_s + connection_handler_s["ssh_connection_handler\nSIGNIFICANT"] --> subsystem_sup_s[["ssh_subsystem_sup\n[o4a]\nauto_shutdown=any_significant\nSIGNIFICANT"]] + channel_sup_s[["ssh_channel_sup\n[o4o]"]] --> subsystem_sup_s + tcpip_forward_acceptor_sup_s[["ssh_tcpip_forward_acceptor_sup\n[o4o]"]] --> subsystem_sup_s + sftd1["ssh_sftpd"] --> channel_sup_s + end +end +``` -- 2.43.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor