diff options
author | Dante Catalfamo | 2021-07-03 01:52:07 -0400 |
---|---|---|
committer | Dante Catalfamo | 2021-07-03 01:52:07 -0400 |
commit | 51d0ad78f695bb9a759ca6b82be8d05d9e9be566 (patch) | |
tree | 6538638a97d1e72e778b6eb621b9e8bd8a0c7d4f | |
parent | 5fed115b3ae36aa786e7d4084200146a07f8d0ce (diff) | |
download | blog-51d0ad78f695bb9a759ca6b82be8d05d9e9be566.tar.gz blog-51d0ad78f695bb9a759ca6b82be8d05d9e9be566.tar.bz2 blog-51d0ad78f695bb9a759ca6b82be8d05d9e9be566.zip |
bsd-auth: add svg graph to post
-rw-r--r-- | content/posts/WIP-how-bsd-authentication-works/graph.svg | 820 | ||||
-rw-r--r-- | content/posts/WIP-how-bsd-authentication-works/index.org | 4 |
2 files changed, 824 insertions, 0 deletions
diff --git a/content/posts/WIP-how-bsd-authentication-works/graph.svg b/content/posts/WIP-how-bsd-authentication-works/graph.svg new file mode 100644 index 0000000..40ddc41 --- /dev/null +++ b/content/posts/WIP-how-bsd-authentication-works/graph.svg @@ -0,0 +1,820 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 2.44.0 (0) + --> +<!-- Title: G Pages: 1 --> +<svg width="1702pt" height="2807pt" + viewBox="0.00 0.00 1702.11 2807.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(36 2771)"> +<title>G</title> +<polygon fill="white" stroke="transparent" points="-36,36 -36,-2771 1666.11,-2771 1666.11,36 -36,36"/> +<g id="clust1" class="cluster"> +<title>cluster_authenticate</title> +<polygon fill="none" stroke="black" points="8,-1171 8,-1572 1114.93,-1572 1114.93,-1171 8,-1171"/> +<text text-anchor="middle" x="561.47" y="-1556.8" font-family="Times-Roman" font-size="14.00">authenticate.c</text> +</g> +<g id="clust2" class="cluster"> +<title>cluster_auth_subr</title> +<polygon fill="none" stroke="black" points="918.25,-8 918.25,-1163 1622.11,-1163 1622.11,-8 918.25,-8"/> +<text text-anchor="middle" x="1270.18" y="-1147.8" font-family="Times-Roman" font-size="14.00">auth_subr.c</text> +</g> +<g id="clust3" class="cluster"> +<title>cluster_login_cap</title> +<polygon fill="none" stroke="black" points="930.6,-1824 930.6,-2691 1417.91,-2691 1417.91,-1824 930.6,-1824"/> +<text text-anchor="middle" x="1174.26" y="-2675.8" font-family="Times-Roman" font-size="14.00">login_cap.c</text> +</g> +<!-- auth_mkvalue --> +<g id="node1" class="node"> +<title>auth_mkvalue</title> +<ellipse fill="none" stroke="black" cx="110.89" cy="-1523" rx="74.19" ry="18"/> +<text text-anchor="middle" x="110.89" y="-1519.3" font-family="Times-Roman" font-size="14.00">auth_mkvalue</text> +</g> +<!-- auth_checknologin --> +<g id="node2" class="node"> +<title>auth_checknologin</title> +<ellipse fill="none" stroke="black" cx="110.89" cy="-1451" rx="94.78" ry="18"/> +<text text-anchor="middle" x="110.89" y="-1447.3" font-family="Times-Roman" font-size="14.00">auth_checknologin</text> +</g> +<!-- _auth_checknologin --> +<g id="node3" class="node"> +<title>_auth_checknologin</title> +<ellipse fill="none" stroke="black" cx="413.22" cy="-1523" rx="99.38" ry="18"/> +<text text-anchor="middle" x="413.22" y="-1519.3" font-family="Times-Roman" font-size="14.00">_auth_checknologin</text> +</g> +<!-- auth_checknologin->_auth_checknologin --> +<g id="edge1" class="edge"> +<title>auth_checknologin->_auth_checknologin</title> +<path fill="none" stroke="black" d="M205.83,-1451C262.33,-1451 323.11,-1451 323.11,-1451 323.11,-1451 323.11,-1505.29 323.11,-1505.29"/> +<polygon fill="black" stroke="black" points="319.61,-1505.29 323.11,-1515.29 326.61,-1505.29 319.61,-1505.29"/> +</g> +<!-- auth_cat --> +<g id="node4" class="node"> +<title>auth_cat</title> +<ellipse fill="none" stroke="black" cx="719.46" cy="-1523" rx="49.29" ry="18"/> +<text text-anchor="middle" x="719.46" y="-1519.3" font-family="Times-Roman" font-size="14.00">auth_cat</text> +</g> +<!-- _auth_checknologin->auth_cat --> +<g id="edge4" class="edge"> +<title>_auth_checknologin->auth_cat</title> +<path fill="none" stroke="black" d="M513.07,-1523C513.07,-1523 659.96,-1523 659.96,-1523"/> +<polygon fill="black" stroke="black" points="659.96,-1526.5 669.96,-1523 659.96,-1519.5 659.96,-1526.5"/> +</g> +<!-- login_getcapstr --> +<g id="node39" class="node"> +<title>login_getcapstr</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2642" rx="79.89" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2638.3" font-family="Times-Roman" font-size="14.00">login_getcapstr</text> +</g> +<!-- _auth_checknologin->login_getcapstr --> +<g id="edge3" class="edge"> +<title>_auth_checknologin->login_getcapstr</title> +<path fill="none" stroke="black" d="M447.11,-1540.01C447.11,-1677.79 447.11,-2606 447.11,-2606 447.11,-2606 1322.11,-2606 1322.11,-2606 1322.11,-2606 1322.11,-2614 1322.11,-2614"/> +<polygon fill="black" stroke="black" points="1318.61,-2614 1322.11,-2624 1325.61,-2614 1318.61,-2614"/> +</g> +<!-- login_getcapbool --> +<g id="node43" class="node"> +<title>login_getcapbool</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2642" rx="87.18" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2638.3" font-family="Times-Roman" font-size="14.00">login_getcapbool</text> +</g> +<!-- _auth_checknologin->login_getcapbool --> +<g id="edge2" class="edge"> +<title>_auth_checknologin->login_getcapbool</title> +<path fill="none" stroke="black" d="M380.11,-1540.22C380.11,-1681.76 380.11,-2648 380.11,-2648 380.11,-2648 933.27,-2648 933.27,-2648"/> +<polygon fill="black" stroke="black" points="933.27,-2651.5 943.27,-2648 933.27,-2644.5 933.27,-2651.5"/> +</g> +<!-- _auth_validuser --> +<g id="node5" class="node"> +<title>_auth_validuser</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1408" rx="81.49" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1404.3" font-family="Times-Roman" font-size="14.00">_auth_validuser</text> +</g> +<!-- auth_approval --> +<g id="node6" class="node"> +<title>auth_approval</title> +<ellipse fill="none" stroke="black" cx="719.46" cy="-1341" rx="74.99" ry="18"/> +<text text-anchor="middle" x="719.46" y="-1337.3" font-family="Times-Roman" font-size="14.00">auth_approval</text> +</g> +<!-- auth_approval->_auth_validuser --> +<g id="edge7" class="edge"> +<title>auth_approval->_auth_validuser</title> +<path fill="none" stroke="black" d="M770.36,-1354.2C838.28,-1354.2 950.11,-1354.2 950.11,-1354.2 950.11,-1354.2 950.11,-1390.97 950.11,-1390.97"/> +<polygon fill="black" stroke="black" points="946.61,-1390.97 950.11,-1400.97 953.61,-1390.97 946.61,-1390.97"/> +</g> +<!-- auth_open --> +<g id="node12" class="node"> +<title>auth_open</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-898" rx="57.69" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-894.3" font-family="Times-Roman" font-size="14.00">auth_open</text> +</g> +<!-- auth_approval->auth_open --> +<g id="edge11" class="edge"> +<title>auth_approval->auth_open</title> +<path fill="none" stroke="black" d="M794.15,-1339.8C845,-1339.8 903.11,-1339.8 903.11,-1339.8 903.11,-1339.8 903.11,-901.6 903.11,-901.6 903.11,-901.6 958.7,-901.6 958.7,-901.6"/> +<polygon fill="black" stroke="black" points="958.7,-905.1 968.7,-901.6 958.7,-898.1 958.7,-905.1"/> +</g> +<!-- auth_close --> +<g id="node14" class="node"> +<title>auth_close</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-826" rx="58.49" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-822.3" font-family="Times-Roman" font-size="14.00">auth_close</text> +</g> +<!-- auth_approval->auth_close --> +<g id="edge17" class="edge"> +<title>auth_approval->auth_close</title> +<path fill="none" stroke="black" d="M793.08,-1337.4C837.32,-1337.4 885.11,-1337.4 885.11,-1337.4 885.11,-1337.4 885.11,-829.6 885.11,-829.6 885.11,-829.6 958.1,-829.6 958.1,-829.6"/> +<polygon fill="black" stroke="black" points="958.1,-833.1 968.1,-829.6 958.1,-826.1 958.1,-833.1"/> +</g> +<!-- auth_getitem --> +<g id="node18" class="node"> +<title>auth_getitem</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-178" rx="70.39" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-174.3" font-family="Times-Roman" font-size="14.00">auth_getitem</text> +</g> +<!-- auth_approval->auth_getitem --> +<g id="edge5" class="edge"> +<title>auth_approval->auth_getitem</title> +<path fill="none" stroke="black" d="M770.46,-1327.8C804.52,-1327.8 843.11,-1327.8 843.11,-1327.8 843.11,-1327.8 843.11,-187 843.11,-187 843.11,-187 954.89,-187 954.89,-187"/> +<polygon fill="black" stroke="black" points="954.89,-190.5 964.89,-187 954.89,-183.5 954.89,-190.5"/> +</g> +<!-- auth_setitem --> +<g id="node19" class="node"> +<title>auth_setitem</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-1096" rx="69.59" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-1092.3" font-family="Times-Roman" font-size="14.00">auth_setitem</text> +</g> +<!-- auth_approval->auth_setitem --> +<g id="edge13" class="edge"> +<title>auth_approval->auth_setitem</title> +<path fill="none" stroke="black" d="M792.95,-1344.6C958.07,-1344.6 1344.11,-1344.6 1344.11,-1344.6 1344.11,-1344.6 1344.11,-1123.09 1344.11,-1123.09"/> +<polygon fill="black" stroke="black" points="1347.61,-1123.09 1344.11,-1113.09 1340.61,-1123.09 1347.61,-1123.09"/> +</g> +<!-- auth_check_expire --> +<g id="node26" class="node"> +<title>auth_check_expire</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-106" rx="94.48" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-102.3" font-family="Times-Roman" font-size="14.00">auth_check_expire</text> +</g> +<!-- auth_approval->auth_check_expire --> +<g id="edge14" class="edge"> +<title>auth_approval->auth_check_expire</title> +<path fill="none" stroke="black" d="M756.94,-1325.4C789.38,-1325.4 831.11,-1325.4 831.11,-1325.4 831.11,-1325.4 831.11,-112 831.11,-112 831.11,-112 926.65,-112 926.65,-112"/> +<polygon fill="black" stroke="black" points="926.65,-115.5 936.65,-112 926.65,-108.5 926.65,-115.5"/> +</g> +<!-- auth_call --> +<g id="node28" class="node"> +<title>auth_call</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-538" rx="50.89" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-534.3" font-family="Times-Roman" font-size="14.00">auth_call</text> +</g> +<!-- auth_approval->auth_call --> +<g id="edge16" class="edge"> +<title>auth_approval->auth_call</title> +<path fill="none" stroke="black" d="M789.95,-1335C832.71,-1335 879.11,-1335 879.11,-1335 879.11,-1335 879.11,-544 879.11,-544 879.11,-544 967.69,-544 967.69,-544"/> +<polygon fill="black" stroke="black" points="967.69,-547.5 977.69,-544 967.69,-540.5 967.69,-547.5"/> +</g> +<!-- auth_setstate --> +<g id="node33" class="node"> +<title>auth_setstate</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-250" rx="71.49" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-246.3" font-family="Times-Roman" font-size="14.00">auth_setstate</text> +</g> +<!-- auth_approval->auth_setstate --> +<g id="edge12" class="edge"> +<title>auth_approval->auth_setstate</title> +<path fill="none" stroke="black" d="M779.35,-1330.2C815.69,-1330.2 855.11,-1330.2 855.11,-1330.2 855.11,-1330.2 855.11,-259 855.11,-259 855.11,-259 953.62,-259 953.62,-259"/> +<polygon fill="black" stroke="black" points="953.62,-262.5 963.62,-259 953.62,-255.5 953.62,-262.5"/> +</g> +<!-- auth_getstate --> +<g id="node35" class="node"> +<title>auth_getstate</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-322" rx="72.59" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-318.3" font-family="Times-Roman" font-size="14.00">auth_getstate</text> +</g> +<!-- auth_approval->auth_getstate --> +<g id="edge18" class="edge"> +<title>auth_approval->auth_getstate</title> +<path fill="none" stroke="black" d="M785.72,-1332.6C822.59,-1332.6 861.11,-1332.6 861.11,-1332.6 861.11,-1332.6 861.11,-328 861.11,-328 861.11,-328 946.84,-328 946.84,-328"/> +<polygon fill="black" stroke="black" points="946.84,-331.5 956.84,-328 946.84,-324.5 946.84,-331.5"/> +</g> +<!-- auth_getpwd --> +<g id="node36" class="node"> +<title>auth_getpwd</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-970" rx="69.59" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-966.3" font-family="Times-Roman" font-size="14.00">auth_getpwd</text> +</g> +<!-- auth_approval->auth_getpwd --> +<g id="edge6" class="edge"> +<title>auth_approval->auth_getpwd</title> +<path fill="none" stroke="black" d="M794.26,-1342.2C849.49,-1342.2 915.11,-1342.2 915.11,-1342.2 915.11,-1342.2 915.11,-970 915.11,-970 915.11,-970 945.97,-970 945.97,-970"/> +<polygon fill="black" stroke="black" points="945.97,-973.5 955.97,-970 945.97,-966.5 945.97,-973.5"/> +</g> +<!-- login_getclass --> +<g id="node37" class="node"> +<title>login_getclass</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2354" rx="74.19" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2350.3" font-family="Times-Roman" font-size="14.00">login_getclass</text> +</g> +<!-- auth_approval->login_getclass --> +<g id="edge8" class="edge"> +<title>auth_approval->login_getclass</title> +<path fill="none" stroke="black" d="M785.81,-1349.4C925.08,-1349.4 1235.11,-1349.4 1235.11,-1349.4 1235.11,-1349.4 1235.11,-2345 1235.11,-2345 1235.11,-2345 1246.91,-2345 1246.91,-2345"/> +<polygon fill="black" stroke="black" points="1246.91,-2348.5 1256.91,-2345 1246.91,-2341.5 1246.91,-2348.5"/> +</g> +<!-- auth_approval->login_getcapstr --> +<g id="edge10" class="edge"> +<title>auth_approval->login_getcapstr</title> +<path fill="none" stroke="black" d="M779.3,-1351.8C891.47,-1351.8 1122.11,-1351.8 1122.11,-1351.8 1122.11,-1351.8 1122.11,-2636 1122.11,-2636 1122.11,-2636 1236.13,-2636 1236.13,-2636"/> +<polygon fill="black" stroke="black" points="1236.13,-2639.5 1246.13,-2636 1236.13,-2632.5 1236.13,-2639.5"/> +</g> +<!-- auth_approval->login_getcapbool --> +<g id="edge15" class="edge"> +<title>auth_approval->login_getcapbool</title> +<path fill="none" stroke="black" d="M757,-1356.6C787.37,-1356.6 825.11,-1356.6 825.11,-1356.6 825.11,-1356.6 825.11,-2636 825.11,-2636 825.11,-2636 933.53,-2636 933.53,-2636"/> +<polygon fill="black" stroke="black" points="933.53,-2639.5 943.53,-2636 933.53,-2632.5 933.53,-2639.5"/> +</g> +<!-- login_close --> +<g id="node44" class="node"> +<title>login_close</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2282" rx="59.59" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2278.3" font-family="Times-Roman" font-size="14.00">login_close</text> +</g> +<!-- auth_approval->login_close --> +<g id="edge9" class="edge"> +<title>auth_approval->login_close</title> +<path fill="none" stroke="black" d="M789.94,-1347C931.32,-1347 1236.11,-1347 1236.11,-1347 1236.11,-1347 1236.11,-2271.2 1236.11,-2271.2 1236.11,-2271.2 1263.32,-2271.2 1263.32,-2271.2"/> +<polygon fill="black" stroke="black" points="1263.32,-2274.7 1273.32,-2271.2 1263.32,-2267.7 1263.32,-2274.7"/> +</g> +<!-- auth_usercheck --> +<g id="node7" class="node"> +<title>auth_usercheck</title> +<ellipse fill="none" stroke="black" cx="413.22" cy="-1269" rx="81.49" ry="18"/> +<text text-anchor="middle" x="413.22" y="-1265.3" font-family="Times-Roman" font-size="14.00">auth_usercheck</text> +</g> +<!-- auth_usercheck->_auth_validuser --> +<g id="edge19" class="edge"> +<title>auth_usercheck->_auth_validuser</title> +<path fill="none" stroke="black" d="M414.11,-1287C414.11,-1296 414.11,-1305 414.11,-1305 414.11,-1305 952.11,-1305 952.11,-1305 952.11,-1305 952.11,-1390.26 952.11,-1390.26"/> +<polygon fill="black" stroke="black" points="948.61,-1390.26 952.11,-1400.26 955.61,-1390.26 948.61,-1390.26"/> +</g> +<!-- auth_verify --> +<g id="node11" class="node"> +<title>auth_verify</title> +<ellipse fill="none" stroke="black" cx="719.46" cy="-1269" rx="61.19" ry="18"/> +<text text-anchor="middle" x="719.46" y="-1265.3" font-family="Times-Roman" font-size="14.00">auth_verify</text> +</g> +<!-- auth_usercheck->auth_verify --> +<g id="edge26" class="edge"> +<title>auth_usercheck->auth_verify</title> +<path fill="none" stroke="black" d="M478.54,-1258.2C478.54,-1258.2 660.32,-1258.2 660.32,-1258.2"/> +<polygon fill="black" stroke="black" points="660.32,-1261.7 670.32,-1258.2 660.32,-1254.7 660.32,-1261.7"/> +</g> +<!-- auth_usercheck->auth_open --> +<g id="edge23" class="edge"> +<title>auth_usercheck->auth_open</title> +<path fill="none" stroke="black" d="M414.11,-1250.84C414.11,-1174.97 414.11,-887.2 414.11,-887.2 414.11,-887.2 969.22,-887.2 969.22,-887.2"/> +<polygon fill="black" stroke="black" points="969.22,-890.7 979.22,-887.2 969.22,-883.7 969.22,-890.7"/> +</g> +<!-- auth_usercheck->auth_setitem --> +<g id="edge24" class="edge"> +<title>auth_usercheck->auth_setitem</title> +<path fill="none" stroke="black" d="M454.11,-1253.23C454.11,-1208.49 454.11,-1084 454.11,-1084 454.11,-1084 1259.54,-1084 1259.54,-1084"/> +<polygon fill="black" stroke="black" points="1259.54,-1087.5 1269.54,-1084 1259.54,-1080.5 1259.54,-1087.5"/> +</g> +<!-- auth_setdata --> +<g id="node23" class="node"> +<title>auth_setdata</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-34" rx="69.59" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-30.3" font-family="Times-Roman" font-size="14.00">auth_setdata</text> +</g> +<!-- auth_usercheck->auth_setdata --> +<g id="edge25" class="edge"> +<title>auth_usercheck->auth_setdata</title> +<path fill="none" stroke="black" d="M373.11,-1253.31C373.11,-1109.65 373.11,-28 373.11,-28 373.11,-28 949.83,-28 949.83,-28"/> +<polygon fill="black" stroke="black" points="949.83,-31.5 959.83,-28 949.83,-24.5 949.83,-31.5"/> +</g> +<!-- auth_usercheck->login_getclass --> +<g id="edge20" class="edge"> +<title>auth_usercheck->login_getclass</title> +<path fill="none" stroke="black" d="M492.87,-1272.6C530.42,-1272.6 567.11,-1272.6 567.11,-1272.6 567.11,-1272.6 567.11,-2318 567.11,-2318 567.11,-2318 1256.11,-2318 1256.11,-2318 1256.11,-2318 1256.11,-2335.29 1256.11,-2335.29"/> +<polygon fill="black" stroke="black" points="1252.61,-2335.29 1256.11,-2345.29 1259.61,-2335.29 1252.61,-2335.29"/> +</g> +<!-- login_getstyle --> +<g id="node38" class="node"> +<title>login_getstyle</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2570" rx="73.39" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2566.3" font-family="Times-Roman" font-size="14.00">login_getstyle</text> +</g> +<!-- auth_usercheck->login_getstyle --> +<g id="edge21" class="edge"> +<title>auth_usercheck->login_getstyle</title> +<path fill="none" stroke="black" d="M478.52,-1279.8C509.61,-1279.8 540.11,-1279.8 540.11,-1279.8 540.11,-1279.8 540.11,-2576 540.11,-2576 540.11,-2576 946.37,-2576 946.37,-2576"/> +<polygon fill="black" stroke="black" points="946.38,-2579.5 956.37,-2576 946.37,-2572.5 946.38,-2579.5"/> +</g> +<!-- auth_usercheck->login_close --> +<g id="edge22" class="edge"> +<title>auth_usercheck->login_close</title> +<path fill="none" stroke="black" d="M493.09,-1265.4C541.54,-1265.4 594.11,-1265.4 594.11,-1265.4 594.11,-1265.4 594.11,-2246 594.11,-2246 594.11,-2246 1302.11,-2246 1302.11,-2246 1302.11,-2246 1302.11,-2254.84 1302.11,-2254.84"/> +<polygon fill="black" stroke="black" points="1298.61,-2254.84 1302.11,-2264.84 1305.61,-2254.84 1298.61,-2254.84"/> +</g> +<!-- auth_userokay --> +<g id="node8" class="node"> +<title>auth_userokay</title> +<ellipse fill="none" stroke="black" cx="110.89" cy="-1233" rx="76.89" ry="18"/> +<text text-anchor="middle" x="110.89" y="-1229.3" font-family="Times-Roman" font-size="14.00">auth_userokay</text> +</g> +<!-- auth_userokay->auth_usercheck --> +<g id="edge27" class="edge"> +<title>auth_userokay->auth_usercheck</title> +<path fill="none" stroke="black" d="M111.11,-1251C111.11,-1260 111.11,-1269 111.11,-1269 111.11,-1269 321.86,-1269 321.86,-1269"/> +<polygon fill="black" stroke="black" points="321.86,-1272.5 331.86,-1269 321.86,-1265.5 321.86,-1272.5"/> +</g> +<!-- auth_userokay->auth_close --> +<g id="edge28" class="edge"> +<title>auth_userokay->auth_close</title> +<path fill="none" stroke="black" d="M111.11,-1214.78C111.11,-1134.36 111.11,-815.2 111.11,-815.2 111.11,-815.2 968.76,-815.2 968.76,-815.2"/> +<polygon fill="black" stroke="black" points="968.76,-818.7 978.76,-815.2 968.76,-811.7 968.76,-818.7"/> +</g> +<!-- auth_userchallenge --> +<g id="node9" class="node"> +<title>auth_userchallenge</title> +<ellipse fill="none" stroke="black" cx="719.46" cy="-1413" rx="98.58" ry="18"/> +<text text-anchor="middle" x="719.46" y="-1409.3" font-family="Times-Roman" font-size="14.00">auth_userchallenge</text> +</g> +<!-- auth_userchallenge->_auth_validuser --> +<g id="edge29" class="edge"> +<title>auth_userchallenge->_auth_validuser</title> +<path fill="none" stroke="black" d="M811.34,-1419.8C811.34,-1419.8 953.93,-1419.8 953.93,-1419.8"/> +<polygon fill="black" stroke="black" points="953.93,-1423.3 963.93,-1419.8 953.93,-1416.3 953.93,-1423.3"/> +</g> +<!-- auth_userchallenge->auth_open --> +<g id="edge32" class="edge"> +<title>auth_userchallenge->auth_open</title> +<path fill="none" stroke="black" d="M813.45,-1407.4C861.14,-1407.4 909.11,-1407.4 909.11,-1407.4 909.11,-1407.4 909.11,-908.8 909.11,-908.8 909.11,-908.8 969.28,-908.8 969.28,-908.8"/> +<polygon fill="black" stroke="black" points="969.28,-912.3 979.28,-908.8 969.28,-905.3 969.28,-912.3"/> +</g> +<!-- auth_userchallenge->auth_close --> +<g id="edge35" class="edge"> +<title>auth_userchallenge->auth_close</title> +<path fill="none" stroke="black" d="M794.25,-1401.2C840.5,-1401.2 891.11,-1401.2 891.11,-1401.2 891.11,-1401.2 891.11,-836.8 891.11,-836.8 891.11,-836.8 968.62,-836.8 968.62,-836.8"/> +<polygon fill="black" stroke="black" points="968.62,-840.3 978.62,-836.8 968.62,-833.3 968.62,-840.3"/> +</g> +<!-- auth_challenge --> +<g id="node15" class="node"> +<title>auth_challenge</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1042" rx="79.09" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1038.3" font-family="Times-Roman" font-size="14.00">auth_challenge</text> +</g> +<!-- auth_userchallenge->auth_challenge --> +<g id="edge36" class="edge"> +<title>auth_userchallenge->auth_challenge</title> +<path fill="none" stroke="black" d="M806.11,-1404.07C806.11,-1392.7 806.11,-1374.5 806.11,-1374.5 806.11,-1374.5 961.11,-1374.5 961.11,-1374.5 961.11,-1374.5 961.11,-1062.69 961.11,-1062.69"/> +<polygon fill="black" stroke="black" points="964.61,-1062.69 961.11,-1052.69 957.61,-1062.69 964.61,-1062.69"/> +</g> +<!-- auth_userchallenge->auth_setitem --> +<g id="edge34" class="edge"> +<title>auth_userchallenge->auth_setitem</title> +<path fill="none" stroke="black" d="M818.21,-1413.6C869.31,-1413.6 921.11,-1413.6 921.11,-1413.6 921.11,-1413.6 921.11,-1090 921.11,-1090 921.11,-1090 1245.85,-1090 1245.85,-1090"/> +<polygon fill="black" stroke="black" points="1245.85,-1093.5 1255.85,-1090 1245.85,-1086.5 1245.85,-1093.5"/> +</g> +<!-- auth_userchallenge->login_getclass --> +<g id="edge30" class="edge"> +<title>auth_userchallenge->login_getclass</title> +<path fill="none" stroke="black" d="M794.11,-1424.9C794.11,-1527.24 794.11,-2255 794.11,-2255 794.11,-2255 1260.11,-2255 1260.11,-2255 1260.11,-2255 1260.11,-2333.78 1260.11,-2333.78"/> +<polygon fill="black" stroke="black" points="1256.61,-2333.78 1260.11,-2343.78 1263.61,-2333.78 1256.61,-2333.78"/> +</g> +<!-- auth_userchallenge->login_getstyle --> +<g id="edge31" class="edge"> +<title>auth_userchallenge->login_getstyle</title> +<path fill="none" stroke="black" d="M782.11,-1427.14C782.11,-1558.69 782.11,-2564 782.11,-2564 782.11,-2564 946.21,-2564 946.21,-2564"/> +<polygon fill="black" stroke="black" points="946.21,-2567.5 956.21,-2564 946.21,-2560.5 946.21,-2567.5"/> +</g> +<!-- auth_userchallenge->login_close --> +<g id="edge33" class="edge"> +<title>auth_userchallenge->login_close</title> +<path fill="none" stroke="black" d="M806.11,-1421.7C806.11,-1509.76 806.11,-2237 806.11,-2237 806.11,-2237 1342.11,-2237 1342.11,-2237 1342.11,-2237 1342.11,-2254.99 1342.11,-2254.99"/> +<polygon fill="black" stroke="black" points="1338.61,-2254.99 1342.11,-2264.99 1345.61,-2254.99 1338.61,-2254.99"/> +</g> +<!-- auth_userresponse --> +<g id="node10" class="node"> +<title>auth_userresponse</title> +<ellipse fill="none" stroke="black" cx="719.46" cy="-1197" rx="96.68" ry="18"/> +<text text-anchor="middle" x="719.46" y="-1193.3" font-family="Times-Roman" font-size="14.00">auth_userresponse</text> +</g> +<!-- auth_userresponse->_auth_validuser --> +<g id="edge39" class="edge"> +<title>auth_userresponse->_auth_validuser</title> +<path fill="none" stroke="black" d="M816.52,-1197C882.6,-1197 958.11,-1197 958.11,-1197 958.11,-1197 958.11,-1387.82 958.11,-1387.82"/> +<polygon fill="black" stroke="black" points="954.61,-1387.82 958.11,-1397.82 961.61,-1387.82 954.61,-1387.82"/> +</g> +<!-- auth_userresponse->auth_close --> +<g id="edge40" class="edge"> +<title>auth_userresponse->auth_close</title> +<path fill="none" stroke="black" d="M789.11,-1184.11C789.11,-1118.24 789.11,-822.4 789.11,-822.4 789.11,-822.4 958.12,-822.4 958.12,-822.4"/> +<polygon fill="black" stroke="black" points="958.12,-825.9 968.12,-822.4 958.12,-818.9 958.12,-825.9"/> +</g> +<!-- auth_userresponse->auth_getitem --> +<g id="edge38" class="edge"> +<title>auth_userresponse->auth_getitem</title> +<path fill="none" stroke="black" d="M706.11,-1179.16C706.11,-1042.65 706.11,-169 706.11,-169 706.11,-169 954.83,-169 954.83,-169"/> +<polygon fill="black" stroke="black" points="954.83,-172.5 964.83,-169 954.83,-165.5 954.83,-172.5"/> +</g> +<!-- auth_userresponse->auth_setdata --> +<g id="edge41" class="edge"> +<title>auth_userresponse->auth_setdata</title> +<path fill="none" stroke="black" d="M651.11,-1184.01C651.11,-1056.89 651.11,-40 651.11,-40 651.11,-40 950.01,-40 950.01,-40"/> +<polygon fill="black" stroke="black" points="950.01,-43.5 960.01,-40 950.01,-36.5 950.01,-43.5"/> +</g> +<!-- auth_userresponse->auth_check_expire --> +<g id="edge43" class="edge"> +<title>auth_userresponse->auth_check_expire</title> +<path fill="none" stroke="black" d="M678.11,-1180.64C678.11,-1044.18 678.11,-100 678.11,-100 678.11,-100 926.63,-100 926.63,-100"/> +<polygon fill="black" stroke="black" points="926.63,-103.5 936.63,-100 926.63,-96.5 926.63,-103.5"/> +</g> +<!-- auth_userresponse->auth_setstate --> +<g id="edge37" class="edge"> +<title>auth_userresponse->auth_setstate</title> +<path fill="none" stroke="black" d="M734.11,-1179.18C734.11,-1048.3 734.11,-241 734.11,-241 734.11,-241 953.49,-241 953.49,-241"/> +<polygon fill="black" stroke="black" points="953.49,-244.5 963.49,-241 953.49,-237.5 953.49,-244.5"/> +</g> +<!-- auth_userresponse->auth_getstate --> +<g id="edge42" class="edge"> +<title>auth_userresponse->auth_getstate</title> +<path fill="none" stroke="black" d="M761.11,-1180.57C761.11,-1059.97 761.11,-316 761.11,-316 761.11,-316 946.86,-316 946.86,-316"/> +<polygon fill="black" stroke="black" points="946.86,-319.5 956.86,-316 946.86,-312.5 946.86,-319.5"/> +</g> +<!-- auth_verify->_auth_validuser --> +<g id="edge48" class="edge"> +<title>auth_verify->_auth_validuser</title> +<path fill="none" stroke="black" d="M759.97,-1282.5C827.34,-1282.5 955.11,-1282.5 955.11,-1282.5 955.11,-1282.5 955.11,-1388.97 955.11,-1388.97"/> +<polygon fill="black" stroke="black" points="951.61,-1388.97 955.11,-1398.97 958.61,-1388.97 951.61,-1388.97"/> +</g> +<!-- auth_verify->auth_open --> +<g id="edge44" class="edge"> +<title>auth_verify->auth_open</title> +<path fill="none" stroke="black" d="M778.61,-1273.5C830.29,-1273.5 897.11,-1273.5 897.11,-1273.5 897.11,-1273.5 897.11,-894.4 897.11,-894.4 897.11,-894.4 958.92,-894.4 958.92,-894.4"/> +<polygon fill="black" stroke="black" points="958.92,-897.9 968.92,-894.4 958.92,-890.9 958.92,-897.9"/> +</g> +<!-- auth_verify->auth_getitem --> +<g id="edge47" class="edge"> +<title>auth_verify->auth_getitem</title> +<path fill="none" stroke="black" d="M759.94,-1255.5C793.98,-1255.5 837.11,-1255.5 837.11,-1255.5 837.11,-1255.5 837.11,-178 837.11,-178 837.11,-178 945.47,-178 945.47,-178"/> +<polygon fill="black" stroke="black" points="945.47,-181.5 955.47,-178 945.47,-174.5 945.47,-181.5"/> +</g> +<!-- auth_verify->auth_setitem --> +<g id="edge46" class="edge"> +<title>auth_verify->auth_setitem</title> +<path fill="none" stroke="black" d="M772.43,-1278C915.53,-1278 1299.11,-1278 1299.11,-1278 1299.11,-1278 1299.11,-1123.12 1299.11,-1123.12"/> +<polygon fill="black" stroke="black" points="1302.61,-1123.12 1299.11,-1113.12 1295.61,-1123.12 1302.61,-1123.12"/> +</g> +<!-- auth_verify->auth_call --> +<g id="edge50" class="edge"> +<title>auth_verify->auth_call</title> +<path fill="none" stroke="black" d="M780.62,-1269C823.47,-1269 873.11,-1269 873.11,-1269 873.11,-1269 873.11,-532 873.11,-532 873.11,-532 967.83,-532 967.83,-532"/> +<polygon fill="black" stroke="black" points="967.83,-535.5 977.83,-532 967.83,-528.5 967.83,-535.5"/> +</g> +<!-- auth_verify->auth_setstate --> +<g id="edge45" class="edge"> +<title>auth_verify->auth_setstate</title> +<path fill="none" stroke="black" d="M772.56,-1260C808.37,-1260 849.11,-1260 849.11,-1260 849.11,-1260 849.11,-250 849.11,-250 849.11,-250 944.12,-250 944.12,-250"/> +<polygon fill="black" stroke="black" points="944.12,-253.5 954.12,-250 944.12,-246.5 944.12,-253.5"/> +</g> +<!-- auth_set_va_list --> +<g id="node34" class="node"> +<title>auth_set_va_list</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-466" rx="81.79" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-462.3" font-family="Times-Roman" font-size="14.00">auth_set_va_list</text> +</g> +<!-- auth_verify->auth_set_va_list --> +<g id="edge49" class="edge"> +<title>auth_verify->auth_set_va_list</title> +<path fill="none" stroke="black" d="M778.66,-1264.5C819.74,-1264.5 867.11,-1264.5 867.11,-1264.5 867.11,-1264.5 867.11,-466 867.11,-466 867.11,-466 933.61,-466 933.61,-466"/> +<polygon fill="black" stroke="black" points="933.61,-469.5 943.61,-466 933.61,-462.5 933.61,-469.5"/> +</g> +<!-- auth_clean --> +<g id="node13" class="node"> +<title>auth_clean</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1114" rx="59.59" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1110.3" font-family="Times-Roman" font-size="14.00">auth_clean</text> +</g> +<!-- auth_clrenv --> +<g id="node17" class="node"> +<title>auth_clrenv</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-718" rx="63.09" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-714.3" font-family="Times-Roman" font-size="14.00">auth_clrenv</text> +</g> +<!-- auth_clean->auth_clrenv --> +<g id="edge51" class="edge"> +<title>auth_clean->auth_clrenv</title> +<path fill="none" stroke="black" d="M1062.03,-1099.6C1122.48,-1099.6 1237.11,-1099.6 1237.11,-1099.6 1237.11,-1099.6 1237.11,-724 1237.11,-724 1237.11,-724 1251.98,-724 1251.98,-724"/> +<polygon fill="black" stroke="black" points="1251.98,-727.5 1261.98,-724 1251.98,-720.5 1251.98,-727.5"/> +</g> +<!-- auth_clean->auth_setitem --> +<g id="edge52" class="edge"> +<title>auth_clean->auth_setitem</title> +<path fill="none" stroke="black" d="M1073.55,-1103.2C1073.55,-1103.2 1247.7,-1103.2 1247.7,-1103.2"/> +<polygon fill="black" stroke="black" points="1247.7,-1106.7 1257.7,-1103.2 1247.7,-1099.7 1247.7,-1106.7"/> +</g> +<!-- auth_setenv --> +<g id="node16" class="node"> +<title>auth_setenv</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-826" rx="65.79" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-822.3" font-family="Times-Roman" font-size="14.00">auth_setenv</text> +</g> +<!-- auth_close->auth_setenv --> +<g id="edge53" class="edge"> +<title>auth_close->auth_setenv</title> +<path fill="none" stroke="black" d="M1084.49,-826C1084.49,-826 1245.62,-826 1245.62,-826"/> +<polygon fill="black" stroke="black" points="1245.62,-829.5 1255.62,-826 1245.62,-822.5 1245.62,-829.5"/> +</g> +<!-- auth_challenge->_auth_validuser --> +<g id="edge54" class="edge"> +<title>auth_challenge->_auth_validuser</title> +<path fill="none" stroke="black" d="M964.11,-1053.35C964.11,-1053.35 964.11,-1386.05 964.11,-1386.05"/> +<polygon fill="black" stroke="black" points="960.61,-1386.05 964.11,-1396.05 967.61,-1386.05 960.61,-1386.05"/> +</g> +<!-- auth_getvalue --> +<g id="node25" class="node"> +<title>auth_getvalue</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-1024" rx="74.99" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-1020.3" font-family="Times-Roman" font-size="14.00">auth_getvalue</text> +</g> +<!-- auth_challenge->auth_getvalue --> +<g id="edge55" class="edge"> +<title>auth_challenge->auth_getvalue</title> +<path fill="none" stroke="black" d="M1094.68,-1033C1094.68,-1033 1246.74,-1033 1246.74,-1033"/> +<polygon fill="black" stroke="black" points="1246.74,-1036.5 1256.74,-1033 1246.74,-1029.5 1246.74,-1036.5"/> +</g> +<!-- auth_setitem->_auth_validuser --> +<g id="edge57" class="edge"> +<title>auth_setitem->_auth_validuser</title> +<path fill="none" stroke="black" d="M1265.8,-1106.8C1199.05,-1106.8 1096.11,-1106.8 1096.11,-1106.8 1096.11,-1106.8 1096.11,-1388.99 1096.11,-1388.99"/> +<polygon fill="black" stroke="black" points="1092.61,-1388.99 1096.11,-1398.99 1099.61,-1388.99 1092.61,-1388.99"/> +</g> +<!-- auth_setitem->auth_setitem --> +<g id="edge56" class="edge"> +<title>auth_setitem->auth_setitem</title> +<path fill="none" stroke="black" d="M1279.43,-1110.4C1259.97,-1110.4 1241.11,-1110.4 1241.11,-1110.4 1241.11,-1110.4 1241.11,-1123 1241.11,-1123 1241.11,-1123 1406.11,-1123 1406.11,-1123 1406.11,-1123 1406.11,-1096 1406.11,-1096 1406.11,-1096 1401.37,-1096 1401.37,-1096"/> +<polygon fill="black" stroke="black" points="1401.37,-1092.5 1391.37,-1096 1401.37,-1099.5 1401.37,-1092.5"/> +</g> +<!-- auth_setoption --> +<g id="node20" class="node"> +<title>auth_setoption</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-754" rx="77.19" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-750.3" font-family="Times-Roman" font-size="14.00">auth_setoption</text> +</g> +<!-- auth_clroptions --> +<g id="node21" class="node"> +<title>auth_clroptions</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-682" rx="79.09" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-678.3" font-family="Times-Roman" font-size="14.00">auth_clroptions</text> +</g> +<!-- auth_clroption --> +<g id="node22" class="node"> +<title>auth_clroption</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-610" rx="74.99" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-606.3" font-family="Times-Roman" font-size="14.00">auth_clroption</text> +</g> +<!-- auth_setpwd --> +<g id="node24" class="node"> +<title>auth_setpwd</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-250" rx="68.49" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-246.3" font-family="Times-Roman" font-size="14.00">auth_setpwd</text> +</g> +<!-- auth_check_expire->auth_setpwd --> +<g id="edge58" class="edge"> +<title>auth_check_expire->auth_setpwd</title> +<path fill="none" stroke="black" d="M1113.11,-113.03C1113.11,-141.15 1113.11,-244 1113.11,-244 1113.11,-244 1247.01,-244 1247.01,-244"/> +<polygon fill="black" stroke="black" points="1247.01,-247.5 1257.01,-244 1247.01,-240.5 1247.01,-247.5"/> +</g> +<!-- auth_check_change --> +<g id="node27" class="node"> +<title>auth_check_change</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-394" rx="99.38" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-390.3" font-family="Times-Roman" font-size="14.00">auth_check_change</text> +</g> +<!-- auth_check_change->auth_setpwd --> +<g id="edge59" class="edge"> +<title>auth_check_change->auth_setpwd</title> +<path fill="none" stroke="black" d="M1106.11,-383.17C1106.11,-350.64 1106.11,-256 1106.11,-256 1106.11,-256 1246.89,-256 1246.89,-256"/> +<polygon fill="black" stroke="black" points="1246.89,-259.5 1256.89,-256 1246.89,-252.5 1246.89,-259.5"/> +</g> +<!-- auth_call->auth_clrenv --> +<g id="edge63" class="edge"> +<title>auth_call->auth_clrenv</title> +<path fill="none" stroke="black" d="M1066.33,-548.8C1128.25,-548.8 1239.11,-548.8 1239.11,-548.8 1239.11,-548.8 1239.11,-712 1239.11,-712 1239.11,-712 1252.06,-712 1252.06,-712"/> +<polygon fill="black" stroke="black" points="1252.06,-715.5 1262.06,-712 1252.06,-708.5 1252.06,-715.5"/> +</g> +<!-- _auth_spool --> +<g id="node30" class="node"> +<title>_auth_spool</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-538" rx="63.89" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-534.3" font-family="Times-Roman" font-size="14.00">_auth_spool</text> +</g> +<!-- auth_call->_auth_spool --> +<g id="edge61" class="edge"> +<title>auth_call->_auth_spool</title> +<path fill="none" stroke="black" d="M1075.54,-534.4C1075.54,-534.4 1249.11,-534.4 1249.11,-534.4"/> +<polygon fill="black" stroke="black" points="1249.11,-537.9 1259.11,-534.4 1249.11,-530.9 1249.11,-537.9"/> +</g> +<!-- _add_rmlist --> +<g id="node31" class="node"> +<title>_add_rmlist</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-610" rx="62.29" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-606.3" font-family="Times-Roman" font-size="14.00">_add_rmlist</text> +</g> +<!-- auth_call->_add_rmlist --> +<g id="edge62" class="edge"> +<title>auth_call->_add_rmlist</title> +<path fill="none" stroke="black" d="M1075.42,-541.6C1138.76,-541.6 1240.11,-541.6 1240.11,-541.6 1240.11,-541.6 1240.11,-610 1240.11,-610 1240.11,-610 1248.99,-610 1248.99,-610"/> +<polygon fill="black" stroke="black" points="1248.99,-613.5 1258.99,-610 1248.99,-606.5 1248.99,-613.5"/> +</g> +<!-- _auth_next_arg --> +<g id="node32" class="node"> +<title>_auth_next_arg</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-466" rx="79.09" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-462.3" font-family="Times-Roman" font-size="14.00">_auth_next_arg</text> +</g> +<!-- auth_call->_auth_next_arg --> +<g id="edge60" class="edge"> +<title>auth_call->_auth_next_arg</title> +<path fill="none" stroke="black" d="M1066.43,-527.2C1131.62,-527.2 1252.11,-527.2 1252.11,-527.2 1252.11,-527.2 1252.11,-484.77 1252.11,-484.77"/> +<polygon fill="black" stroke="black" points="1255.61,-484.77 1252.11,-474.77 1248.61,-484.77 1255.61,-484.77"/> +</g> +<!-- _recv_fd --> +<g id="node29" class="node"> +<title>_recv_fd</title> +<ellipse fill="none" stroke="black" cx="1566.01" cy="-538" rx="48.19" ry="18"/> +<text text-anchor="middle" x="1566.01" y="-534.3" font-family="Times-Roman" font-size="14.00">_recv_fd</text> +</g> +<!-- _auth_spool->_recv_fd --> +<g id="edge64" class="edge"> +<title>_auth_spool->_recv_fd</title> +<path fill="none" stroke="black" d="M1385.44,-538C1385.44,-538 1507.53,-538 1507.53,-538"/> +<polygon fill="black" stroke="black" points="1507.53,-541.5 1517.53,-538 1507.53,-534.5 1507.53,-541.5"/> +</g> +<!-- login_getstyle->login_getcapstr --> +<g id="edge65" class="edge"> +<title>login_getstyle->login_getcapstr</title> +<path fill="none" stroke="black" d="M1095.03,-2576C1109.83,-2576 1121.11,-2576 1121.11,-2576 1121.11,-2576 1121.11,-2648 1121.11,-2648 1121.11,-2648 1236.04,-2648 1236.04,-2648"/> +<polygon fill="black" stroke="black" points="1236.04,-2651.5 1246.04,-2648 1236.04,-2644.5 1236.04,-2651.5"/> +</g> +<!-- login_getcaptime --> +<g id="node40" class="node"> +<title>login_getcaptime</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2570" rx="87.99" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2566.3" font-family="Times-Roman" font-size="14.00">login_getcaptime</text> +</g> +<!-- login_getcapnum --> +<g id="node41" class="node"> +<title>login_getcapnum</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2426" rx="88.28" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2422.3" font-family="Times-Roman" font-size="14.00">login_getcapnum</text> +</g> +<!-- login_getcapsize --> +<g id="node42" class="node"> +<title>login_getcapsize</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2498" rx="85.29" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2494.3" font-family="Times-Roman" font-size="14.00">login_getcapsize</text> +</g> +<!-- gsetrl --> +<g id="node45" class="node"> +<title>gsetrl</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2498" rx="36.29" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2494.3" font-family="Times-Roman" font-size="14.00">gsetrl</text> +</g> +<!-- gsetrl->login_getcaptime --> +<g id="edge66" class="edge"> +<title>gsetrl->login_getcaptime</title> +<path fill="none" stroke="black" d="M1057.37,-2507C1086.14,-2507 1124.11,-2507 1124.11,-2507 1124.11,-2507 1124.11,-2564 1124.11,-2564 1124.11,-2564 1228.66,-2564 1228.66,-2564"/> +<polygon fill="black" stroke="black" points="1228.66,-2567.5 1238.66,-2564 1228.66,-2560.5 1228.66,-2567.5"/> +</g> +<!-- gsetrl->login_getcapnum --> +<g id="edge68" class="edge"> +<title>gsetrl->login_getcapnum</title> +<path fill="none" stroke="black" d="M1057.24,-2489C1084.01,-2489 1118.11,-2489 1118.11,-2489 1118.11,-2489 1118.11,-2438 1118.11,-2438 1118.11,-2438 1245.48,-2438 1245.48,-2438"/> +<polygon fill="black" stroke="black" points="1245.48,-2441.5 1255.48,-2438 1245.48,-2434.5 1245.48,-2441.5"/> +</g> +<!-- gsetrl->login_getcapsize --> +<g id="edge67" class="edge"> +<title>gsetrl->login_getcapsize</title> +<path fill="none" stroke="black" d="M1062.26,-2498C1062.26,-2498 1226.11,-2498 1226.11,-2498"/> +<polygon fill="black" stroke="black" points="1226.11,-2501.5 1236.11,-2498 1226.11,-2494.5 1226.11,-2501.5"/> +</g> +<!-- setclasscontext --> +<g id="node46" class="node"> +<title>setclasscontext</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2354" rx="80.69" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2350.3" font-family="Times-Roman" font-size="14.00">setclasscontext</text> +</g> +<!-- setclasscontext->login_getclass --> +<g id="edge69" class="edge"> +<title>setclasscontext->login_getclass</title> +<path fill="none" stroke="black" d="M1106.53,-2354C1106.53,-2354 1237.37,-2354 1237.37,-2354"/> +<polygon fill="black" stroke="black" points="1237.37,-2357.5 1247.37,-2354 1237.37,-2350.5 1237.37,-2357.5"/> +</g> +<!-- setclasscontext->login_close --> +<g id="edge70" class="edge"> +<title>setclasscontext->login_close</title> +<path fill="none" stroke="black" d="M1099.11,-2346.42C1099.11,-2328.61 1099.11,-2285.6 1099.11,-2285.6 1099.11,-2285.6 1252.79,-2285.6 1252.79,-2285.6"/> +<polygon fill="black" stroke="black" points="1252.79,-2289.1 1262.79,-2285.6 1252.79,-2282.1 1252.79,-2289.1"/> +</g> +<!-- setusercontext --> +<g id="node47" class="node"> +<title>setusercontext</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2426" rx="77.19" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2422.3" font-family="Times-Roman" font-size="14.00">setusercontext</text> +</g> +<!-- setusercontext->login_getclass --> +<g id="edge71" class="edge"> +<title>setusercontext->login_getclass</title> +<path fill="none" stroke="black" d="M1098.67,-2420C1108.95,-2420 1116.11,-2420 1116.11,-2420 1116.11,-2420 1116.11,-2363 1116.11,-2363 1116.11,-2363 1247.09,-2363 1247.09,-2363"/> +<polygon fill="black" stroke="black" points="1247.09,-2366.5 1257.09,-2363 1247.09,-2359.5 1247.09,-2366.5"/> +</g> +<!-- setusercontext->login_getcapnum --> +<g id="edge73" class="edge"> +<title>setusercontext->login_getcapnum</title> +<path fill="none" stroke="black" d="M1103.42,-2426C1103.42,-2426 1223.08,-2426 1223.08,-2426"/> +<polygon fill="black" stroke="black" points="1223.08,-2429.5 1233.08,-2426 1223.08,-2422.5 1223.08,-2429.5"/> +</g> +<!-- setusercontext->login_close --> +<g id="edge72" class="edge"> +<title>setusercontext->login_close</title> +<path fill="none" stroke="black" d="M1083.58,-2414C1100.77,-2414 1115.11,-2414 1115.11,-2414 1115.11,-2414 1115.11,-2292.8 1115.11,-2292.8 1115.11,-2292.8 1263.65,-2292.8 1263.65,-2292.8"/> +<polygon fill="black" stroke="black" points="1263.65,-2296.3 1273.65,-2292.8 1263.65,-2289.3 1263.65,-2296.3"/> +</g> +<!-- setlogin --> +<g id="node56" class="node"> +<title>setlogin</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2717" rx="46.29" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2713.3" font-family="Times-Roman" font-size="14.00">setlogin</text> +</g> +<!-- setusercontext->setlogin --> +<g id="edge74" class="edge"> +<title>setusercontext->setlogin</title> +<path fill="none" stroke="black" d="M1098.84,-2432C1110.65,-2432 1119.11,-2432 1119.11,-2432 1119.11,-2432 1119.11,-2717 1119.11,-2717 1119.11,-2717 1265.34,-2717 1265.34,-2717"/> +<polygon fill="black" stroke="black" points="1265.34,-2720.5 1275.34,-2717 1265.34,-2713.5 1265.34,-2720.5"/> +</g> +<!-- setuserpath --> +<g id="node48" class="node"> +<title>setuserpath</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2282" rx="64.99" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2278.3" font-family="Times-Roman" font-size="14.00">setuserpath</text> +</g> +<!-- login_setenv --> +<g id="node50" class="node"> +<title>login_setenv</title> +<ellipse fill="none" stroke="black" cx="1321.52" cy="-2210" rx="67.69" ry="18"/> +<text text-anchor="middle" x="1321.52" y="-2206.3" font-family="Times-Roman" font-size="14.00">login_setenv</text> +</g> +<!-- setuserpath->login_setenv --> +<g id="edge75" class="edge"> +<title>setuserpath->login_setenv</title> +<path fill="none" stroke="black" d="M1089.51,-2278.4C1158.31,-2278.4 1258.11,-2278.4 1258.11,-2278.4 1258.11,-2278.4 1258.11,-2226.31 1258.11,-2226.31"/> +<polygon fill="black" stroke="black" points="1261.61,-2226.31 1258.11,-2216.31 1254.61,-2226.31 1261.61,-2226.31"/> +</g> +<!-- setuserenv --> +<g id="node49" class="node"> +<title>setuserenv</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2210" rx="60.39" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2206.3" font-family="Times-Roman" font-size="14.00">setuserenv</text> +</g> +<!-- setuserenv->login_setenv --> +<g id="edge76" class="edge"> +<title>setuserenv->login_setenv</title> +<path fill="none" stroke="black" d="M1086.27,-2210C1086.27,-2210 1243.79,-2210 1243.79,-2210"/> +<polygon fill="black" stroke="black" points="1243.79,-2213.5 1253.79,-2210 1243.79,-2206.5 1243.79,-2213.5"/> +</g> +<!-- strtosize --> +<g id="node51" class="node"> +<title>strtosize</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2138" rx="49.29" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2134.3" font-family="Times-Roman" font-size="14.00">strtosize</text> +</g> +<!-- strtolimit --> +<g id="node52" class="node"> +<title>strtolimit</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-2066" rx="51.19" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-2062.3" font-family="Times-Roman" font-size="14.00">strtolimit</text> +</g> +<!-- multiply --> +<g id="node53" class="node"> +<title>multiply</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1994" rx="47.39" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1990.3" font-family="Times-Roman" font-size="14.00">multiply</text> +</g> +<!-- secure_path --> +<g id="node54" class="node"> +<title>secure_path</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1922" rx="65.79" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1918.3" font-family="Times-Roman" font-size="14.00">secure_path</text> +</g> +<!-- expandstr --> +<g id="node55" class="node"> +<title>expandstr</title> +<ellipse fill="none" stroke="black" cx="1025.69" cy="-1850" rx="56.59" ry="18"/> +<text text-anchor="middle" x="1025.69" y="-1846.3" font-family="Times-Roman" font-size="14.00">expandstr</text> +</g> +</g> +</svg> diff --git a/content/posts/WIP-how-bsd-authentication-works/index.org b/content/posts/WIP-how-bsd-authentication-works/index.org index e69a100..63cd38b 100644 --- a/content/posts/WIP-how-bsd-authentication-works/index.org +++ b/content/posts/WIP-how-bsd-authentication-works/index.org @@ -2694,6 +2694,10 @@ - The [[#auth_getchallenge][=auth_getchallenge=]] function in the [[https://man.openbsd.org/auth_subr.3#auth_getchallenge][=auth_subr(3)=]] man page doesn't seem to exist in the source code. +* Graph + +[[file:graph.svg]] + * Copyright :PROPERTIES: :CUSTOM_ID: copyright |