diff options
| -rw-r--r-- | content/posts/WIP-how-bsd-authentication-works/index.org | 48 | 
1 files changed, 24 insertions, 24 deletions
| diff --git a/content/posts/WIP-how-bsd-authentication-works/index.org b/content/posts/WIP-how-bsd-authentication-works/index.org index 7e7607f..ba5a5f4 100644 --- a/content/posts/WIP-how-bsd-authentication-works/index.org +++ b/content/posts/WIP-how-bsd-authentication-works/index.org @@ -323,8 +323,8 @@     @@html: </details> @@     [[https://man.openbsd.org/auth_subr.3#auth_setdata~2][=auth_setdata=]] allocates and initializes a new =authdata= struct, -   storing a copy of the data from =*ptr= and =len=. It then point the -   =next= field on the last =authdata= struct in =*as= to its +   storing a copy of the data from =ptr= and =len=. It then point the +   =next= field on the last =authdata= struct in =as= to its     location. It returns =0= on success.  ** auth_setitem / auth_getitem @@ -428,8 +428,8 @@     [[https://man.openbsd.org/auth_subr.3#auth_setitem][=auth_setitem=]] is used to set one of several different fields of     =as= to =value=. Depending on the value of =item=, it can be the     =challenge=, =class=, =name=, =service=, =style=, or =interactive= -   field. If =*value= is =NULL=, it clears that field. If =item= is -   =AUTHV_ALL= and =*value= is =NULL=, all fields are cleared. It +   field. If =value= is =NULL=, it clears that field. If =item= is +   =AUTHV_ALL= and =value= is =NULL=, all fields are cleared. It     returns =0= on success.     #+CAPTION: Taken from [[https://man.openbsd.org/auth_subr.3#auth_getitem][=auth_subr(3)=]] @@ -552,8 +552,8 @@     @@html: </details> @@     [[https://man.openbsd.org/auth_subr.3#auth_setoption][=auth_setoption=]] initializes a new =authopts= struct, and sets the -   =*opt= field to a string formatted as =sprintf("%s=%s", n, v)=. It -   then point the =*next= field on the last =authopts= struct in =*as= +   =opt= field to a string formatted as =sprintf("%s=%s", n, v)=. It +   then point the =next= field on the last =authopts= struct in =as=     to its location. It returns =0= on success.  ** auth_setstate / auth_getstate @@ -570,7 +570,7 @@     #+end_src     @@html: </details> @@ -   [[https://man.openbsd.org/auth_subr.3#auth_setstate][=auth_setstate=]] sets the =state= of =*as= to =s=. +   [[https://man.openbsd.org/auth_subr.3#auth_setstate][=auth_setstate=]] sets the =state= of =as= to =s=.     @@html: <details> <summary> @@     #+begin_src c @@ -582,7 +582,7 @@     #+end_src     @@html: </details> @@ -   [[https://man.openbsd.org/auth_subr.3#auth_getstate][=auth_getstate=]] return the =state= of =*as=. +   [[https://man.openbsd.org/auth_subr.3#auth_getstate][=auth_getstate=]] return the =state= of =as=.  ** auth_setpwd / auth_getpwd     :PROPERTIES: @@ -674,7 +674,7 @@     #+end_src     @@html: </details> @@ -   [[https://man.openbsd.org/auth_subr.3#auth_set_va_list][=auth_set_va_list=]] copies =ap= to the =ap= field in =*as= +   [[https://man.openbsd.org/auth_subr.3#auth_set_va_list][=auth_set_va_list=]] copies =ap= to the =ap= field in =as=  ** auth_clrenv     :PROPERTIES: @@ -1051,10 +1051,10 @@    #+end_src    @@html: </details> @@ -  [[https://man.openbsd.org/man3/authenticate.3#auth_usercheck][=auth_usercheck=]] first checks that =*name= is a valid username. This +  [[https://man.openbsd.org/man3/authenticate.3#auth_usercheck][=auth_usercheck=]] first checks that =name= is a valid username. This    means that it doesn't begin with a hyphen, had a non-zero length. -  If =*style= is =NULL=, it checks if =*name= is in the =user:style= +  If =style= is =NULL=, it checks if =name= is in the =user:style=    format, and splits it accordingly.    It then gets the user's password database entry through @@ -1064,13 +1064,13 @@    are stored in the [[https://man.openbsd.org/man5/login.conf.5][=login.conf(5)=]] database.    That struct is then passed into [[https://man.openbsd.org/login_getclass#login_getstyle][=login_getstyle(3)=]], which also -  received the =*style= and =*type=. If =*type= is =NULL=, it returns -  the first available login style for that class. If =*style= is +  received the =style= and =type=. If =type= is =NULL=, it returns +  the first available login style for that class. If =style= is    specified, it is returned if available, otherwise =NULL= is    returned, which causes =auth_usercheck= to return =NULL= as well.    It then creates a pointer =as= of type [[#auth_session_t][=auth_session_t=]], and handles -  it differently based on whether =*password= is =NULL=. +  it differently based on whether =password= is =NULL=.    - If the password is a string, it creates a new session using      [[#auth_open][=auth_open=]] and assigns it to =as=. It then sets the session @@ -1083,10 +1083,10 @@      auth_setdata(as, password, strlen(password) + 1);      #+END_SRC -  - If =*password= is =NULL=, it sets =as= to =NULL=. +  - If =password= is =NULL=, it sets =as= to =NULL=. -  It then passes the =auth_session_t= pointer (=as=), =*name=, -  =*style=, login class (=lc->lc_class=), and a =NULL= char pointer to +  It then passes the =auth_session_t= pointer (=as=), =name=, +  =style=, login class (=lc->lc_class=), and a =NULL= char pointer to    [[#auth_verify][=auth_verify=]]. Finally it returns the auth session pointer.    #+begin_src c @@ -1140,12 +1140,12 @@    [[https://man.openbsd.org/man3/authenticate.3#auth_verify][=auth_verify=]] is used as a frontend for [[#auth_call][=auth_call=]]. -  It creates an auth session using =auth_open= if =*as= is =NULL=. +  It creates an auth session using =auth_open= if =as= is =NULL=.    The =state= of the session is set to =0=.    It sets the =name= and =style= of the session, if the -  =*style= and/or =*name= are non-=NULL=. +  =style= and/or =name= are non-=NULL=.    After that it constructs the path of the authentication module,    placing it in the variable =path=. It is constructed by combining @@ -1986,10 +1986,10 @@    has a pointer to string, which is used to return the challenge to    the calling function. -  It first checks that =*name= is a valid username. This means that it +  It first checks that =name= is a valid username. This means that it    doesn't begin with a hyphen, had a non-zero length. -  If =*style= is =NULL=, it checks if =*name= is in the =user:style= +  If =style= is =NULL=, it checks if =name= is in the =user:style=    format, and splits it accordingly.    It then gets the user's password database entry through @@ -1999,8 +1999,8 @@    are stored in the [[https://man.openbsd.org/man5/login.conf.5][=login.conf(5)=]] database.    That struct is then passed into [[https://man.openbsd.org/login_getclass#login_getstyle][=login_getstyle(3)=]], which also -  received the =*style= and =*type=. If =*type= is =NULL=, it returns -  the first available login style for that class. If =*style= is +  received the =style= and =type=. If =type= is =NULL=, it returns +  the first available login style for that class. If =style= is    specified, it is returned if available, otherwise =NULL= is    returned, which causes =auth_userchallenge= to return =NULL= as    well. @@ -2013,7 +2013,7 @@    set using [[#auth_setitem][=auth_setitem=]].    It then calls [[#auth_challenge][=auth_challenge=]] with =as= as the argument. The return -  value from that call is used to set =*challengep=, and =as= is +  value from that call is used to set =challengep=, and =as= is    returned.    #+begin_src c | 
