summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDante Catalfamo2021-10-18 15:32:13 -0400
committerDante Catalfamo2021-10-18 15:32:13 -0400
commit941b9a3c1ad59ac7f54abe787f36c44eb7dc4a36 (patch)
tree539c936acd19031ac4712c314a2eae05f01282e3
parentc8579984806b54f8278952e5d16f9dadea658a87 (diff)
downloadblog-941b9a3c1ad59ac7f54abe787f36c44eb7dc4a36.tar.gz
blog-941b9a3c1ad59ac7f54abe787f36c44eb7dc4a36.tar.bz2
blog-941b9a3c1ad59ac7f54abe787f36c44eb7dc4a36.zip
bsd-auth: move notes to their own file
-rw-r--r--content/posts/WIP-how-bsd-authentication-works/index.org84
-rw-r--r--content/posts/WIP-how-bsd-authentication-works/notes.org83
2 files changed, 83 insertions, 84 deletions
diff --git a/content/posts/WIP-how-bsd-authentication-works/index.org b/content/posts/WIP-how-bsd-authentication-works/index.org
index ba5a5f4..6c211a9 100644
--- a/content/posts/WIP-how-bsd-authentication-works/index.org
+++ b/content/posts/WIP-how-bsd-authentication-works/index.org
@@ -152,7 +152,6 @@
The simplest way to authenticate a user with BSD Auth is by using
[[#auth_userokay][=auth_userokay=]].
-** TODO How are these configured in login.conf?
* Approval Scripts
:PROPERTIES:
:CUSTOM_ID: approval
@@ -174,7 +173,6 @@
section of the =login.conf= man page.
Approval scripts are run using [[#auth_approval][=auth_approval=]].
-** TODO How are these configured in login.conf?
* auth_userokay
:PROPERTIES:
@@ -2637,88 +2635,6 @@
#+INCLUDE: "gen_dot.rb" src ruby
@@html: </details> @@
-* Notes
- https://web.archive.org/web/20170327150148/http://www.penzin.net/bsdauth/
- - In the man page for [[https://man.openbsd.org/auth_subr.3#auth_call][=auth_call=]] it says
- #+begin_src text
- path The full path name of the login script to run. The call will
- fail if path does not pass the requirements of the secure_path(3)
- function.
- #+end_src
-
- However I don't see this enforced anywhere, I even wrote a small test
- script to prove it.
-
- #+CAPTION: =authfail.c=
- #+begin_src c
- #include <sys/types.h>
- #include <login_cap.h>
- #include <bsd_auth.h>
- #include <stdio.h>
-
- int main(void) {
- auth_session_t *as;
-
- as = auth_open();
- auth_call(as, "/home/dante/auth_tests/authtest/test", "hello", NULL);
- auth_close(as);
- }
- #+end_src
-
- Changing ="/home/dante/auth_tests/authtest/test"= to the location
- of the =test= binary.
-
- #+CAPTION: =test.c=
- #+begin_src c
- #include <stdio.h>
-
- int main(void) {
- printf("Hello! I don't have a secure path!\n");
- return 0;
- }
- #+end_src
-
- #+CAPTION: =Makefile=
- #+begin_src makefile
- CFLAGS = -Wall -Wextra
-
- run: authfail test
- ./authfail
-
- authfail: authfail.c
- $(CC) -o $@ $(CFLAGS) $<
-
- test: test.c
- $(CC) -o $@ $(CFLAGS) $<
- #+end_src
-
- Which results in the following:
-
- #+begin_src text
- $ pwd && ls -l && make
- /home/dante/auth_tests/authtest
- total 12
- -rw-r--r-- 1 dante dante 143 May 30 19:20 Makefile
- -rw-r--r-- 1 dante dante 248 May 29 19:30 authfail.c
- -rw-r--r-- 1 dante dante 115 May 29 19:22 test.c
- cc -o authfail -Wall -Wextra authfail.c
- cc -o test -Wall -Wextra test.c
- ./authfail
- Hello! I don't have a secure path!
- #+end_src
-
- - The manpage also says the path is limited to =/bin/= and =/usr/bin=,
- which is also not the case.
-
- - The man page describes the interface for =auth_getitem= is in the
- format of =AUTH_<item>=, but in reality it is =AUTHV_<item>=.
-
- # Ask jcs about the file descriptor situation, I don't understand it
- # after reading both the man page and source.
-
- - 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.
-
* Copyright
:PROPERTIES:
:CUSTOM_ID: copyright
diff --git a/content/posts/WIP-how-bsd-authentication-works/notes.org b/content/posts/WIP-how-bsd-authentication-works/notes.org
new file mode 100644
index 0000000..9bd67d4
--- /dev/null
+++ b/content/posts/WIP-how-bsd-authentication-works/notes.org
@@ -0,0 +1,83 @@
+* Notes
+ https://web.archive.org/web/20170327150148/http://www.penzin.net/bsdauth/
+ - In the man page for [[https://man.openbsd.org/auth_subr.3#auth_call][=auth_call=]] it says
+ #+begin_src text
+ path The full path name of the login script to run. The call will
+ fail if path does not pass the requirements of the secure_path(3)
+ function.
+ #+end_src
+
+ However I don't see this enforced anywhere, I even wrote a small test
+ script to prove it.
+
+ #+CAPTION: =authfail.c=
+ #+begin_src c
+ #include <sys/types.h>
+ #include <login_cap.h>
+ #include <bsd_auth.h>
+ #include <stdio.h>
+
+ int main(void) {
+ auth_session_t *as;
+
+ as = auth_open();
+ auth_call(as, "/home/dante/auth_tests/authtest/test", "hello", NULL);
+ auth_close(as);
+ }
+ #+end_src
+
+ Changing ="/home/dante/auth_tests/authtest/test"= to the location
+ of the =test= binary.
+
+ #+CAPTION: =test.c=
+ #+begin_src c
+ #include <stdio.h>
+
+ int main(void) {
+ printf("Hello! I don't have a secure path!\n");
+ return 0;
+ }
+ #+end_src
+
+ #+CAPTION: =Makefile=
+ #+begin_src makefile
+ CFLAGS = -Wall -Wextra
+
+ run: authfail test
+ ./authfail
+
+ authfail: authfail.c
+ $(CC) -o $@ $(CFLAGS) $<
+
+ test: test.c
+ $(CC) -o $@ $(CFLAGS) $<
+ #+end_src
+
+ Which results in the following:
+
+ #+begin_src text
+ $ pwd && ls -l && make
+ /home/dante/auth_tests/authtest
+ total 12
+ -rw-r--r-- 1 dante dante 143 May 30 19:20 Makefile
+ -rw-r--r-- 1 dante dante 248 May 29 19:30 authfail.c
+ -rw-r--r-- 1 dante dante 115 May 29 19:22 test.c
+ cc -o authfail -Wall -Wextra authfail.c
+ cc -o test -Wall -Wextra test.c
+ ./authfail
+ Hello! I don't have a secure path!
+ #+end_src
+
+ - The manpage also says the path is limited to =/bin/= and =/usr/bin=,
+ which is also not the case.
+
+ - The man page describes the interface for =auth_getitem= is in the
+ format of =AUTH_<item>=, but in reality it is =AUTHV_<item>=.
+
+ # Ask jcs about the file descriptor situation, I don't understand it
+ # after reading both the man page and source.
+
+ - 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.
+
+** TODO How are these configured in login.conf?