diff options
author | Dante Catalfamo | 2020-07-07 22:28:28 -0400 |
---|---|---|
committer | Dante Catalfamo | 2020-07-07 22:28:28 -0400 |
commit | 118b0019658890837ab8e19608ce0779cb6f4d9a (patch) | |
tree | f1146c980182a3fa19dcc37553a2932583e193f3 /content/posts/WIP-how-bsd-authentication-works/graph.dot | |
parent | a3bf350943b99c475a281b00a8354654fe4b26f9 (diff) | |
download | blog-118b0019658890837ab8e19608ce0779cb6f4d9a.tar.gz blog-118b0019658890837ab8e19608ce0779cb6f4d9a.tar.bz2 blog-118b0019658890837ab8e19608ce0779cb6f4d9a.zip |
Move WIP posts to WIP folders
Diffstat (limited to 'content/posts/WIP-how-bsd-authentication-works/graph.dot')
-rw-r--r-- | content/posts/WIP-how-bsd-authentication-works/graph.dot | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/content/posts/WIP-how-bsd-authentication-works/graph.dot b/content/posts/WIP-how-bsd-authentication-works/graph.dot new file mode 100644 index 0000000..6414b11 --- /dev/null +++ b/content/posts/WIP-how-bsd-authentication-works/graph.dot @@ -0,0 +1,67 @@ +digraph G { + subgraph cluster_authenticate { + label = "authenticate.c" + auth_userokay; + auth_usercheck; + auth_verify; + } + + subgraph cluster_auth_subr { + label = "auth_subr.c" + auth_open; + auth_call; + auth_close; + // auth_setitem; + // auth_setdata; + // auth_setopts; + auth_set[label="auth_set*"]; + auth_setstate; + // _auth_spool; + } + + subgraph cluster_login_cap { + label = "libc/login_cap.c" + login_getclass + login_getstyle + } + + subgraph cluster_getpwent { + label = "libc/getpwent.c" + getpwnam_r; + } + + subgraph cluster_exec { + login[label="login_*"]; + execve; + } + + + start -> auth_userokay; + auth_userokay -> auth_usercheck; + auth_usercheck -> getpwnam_r; + auth_usercheck -> login_getclass; + auth_usercheck -> login_getstyle; + // if password given + auth_usercheck -> auth_open; + // auth_usercheck -> auth_setitem; + // auth_usercheck -> auth_setdata; + auth_usercheck -> auth_set; + // fi + auth_usercheck -> auth_verify; + + auth_verify -> auth_setstate; + auth_verify -> auth_call; + + auth_call -> execve[label="fork()"]; + // auth_call -> _auth_spool; + + execve -> login; + login -> auth_call[label="back channel"]; + // login -> _auth_spool[label="back channel"]; + + + // auth_usercheck -> { auth_setitem auth_setdata auth_setopts } + + // auth_call -> auth_userokay; + auth_userokay -> auth_close; +} |