summaryrefslogtreecommitdiffstats
path: root/content/posts/how-bsd-authentication-works/graph.dot
diff options
context:
space:
mode:
authorDante Catalfamo2020-06-26 23:57:57 -0400
committerDante Catalfamo2020-06-27 02:17:36 -0400
commita4b6f07b0d0a58542c57d492165c15133b8cc1d6 (patch)
treea6dc30373efe3d9c61d961caf85772269e816cbc /content/posts/how-bsd-authentication-works/graph.dot
parent0e0bbff4aa175f5142fe428051c3753bfe1396b0 (diff)
downloadblog-a4b6f07b0d0a58542c57d492165c15133b8cc1d6.tar.gz
blog-a4b6f07b0d0a58542c57d492165c15133b8cc1d6.tar.bz2
blog-a4b6f07b0d0a58542c57d492165c15133b8cc1d6.zip
Add work draft of BSD Auth post
Diffstat (limited to 'content/posts/how-bsd-authentication-works/graph.dot')
-rw-r--r--content/posts/how-bsd-authentication-works/graph.dot67
1 files changed, 67 insertions, 0 deletions
diff --git a/content/posts/how-bsd-authentication-works/graph.dot b/content/posts/how-bsd-authentication-works/graph.dot
new file mode 100644
index 0000000..a07e3ec
--- /dev/null
+++ b/content/posts/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;
+ // 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;
+}