Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
AUTHSRV(3)		   Library Functions Manual		    AUTHSRV(3)

       authdial,  passtokey,  nvcsum,  readnvram,  convT2M, convM2T, convTR2M,
       convM2TR, convA2M, convM2A, convPR2M, convM2PR, _asgetticket, _asrdresp
       - routines for communicating with authentication	servers

       #include	<u.h>
       #include	<libc.h>
       #include	<authsrv.h>

       int     authdial(char *netroot, char *ad);

       int     passtokey(char key[DESKEYLEN], char *password)

       uchar   nvcsum(void *mem, int len)

       int     readnvram(Nvrsafe  *nv,	int  flag); int	    convT2M(Ticket *t,
       char *msg, char *key)

       void    convM2T(char *msg, Ticket *t, char *key)

       int     convA2M(Authenticator *a, char *msg, char *key)

       void    convM2A(char *msg, Authenticator	*a, char *key)

       int     convTR2M(Ticketreq *tr, char *msg)

       void    convM2TR(char *msg, Ticketreq *tr)

       int     convPR2M(Passwordreq *pr, char *msg, char *key)

       void    convM2PR(char *msg, Passwordreq *pr, char *key)

       int     _asgetticket(int	fd, char *trbuf, char *tbuf);

       int     _asrdresp(int fd, char *buf, int	len);

       Authdial	dials an authentication	server over the	network	rooted at net,
       default /net.  The authentication domain, ad, specifies which server to
       call.  If ad is non-nil,	the network database (see is  queried  for  an
       entry  which  contains  authdom=ad  or dom=ad, the former having	prece-
       dence, and which	also contains an auth attribute.  The string dialed is
       then netroot!server!ticket where	server is the value of the auth	attri-
       bute.  If no entry is found, the	error string is	set to ``no  authenti-
       cation  server  found''	and  -1	 is  returned.	If authdom is nil, the
       string netroot!$auth!ticket is used to make the call.

       Passtokey converts password into	a DES key and  stores  the  result  in
       key.  It	returns	0 if password could not	be converted, and 1 otherwise.

       Readnvram reads authentication information into the structure:
	   struct Nvrsafe
	       char    machkey[DESKEYLEN];
	       uchar   machsum;
	       char    authkey[DESKEYLEN];
	       uchar   authsum;
	       char    config[CONFIGLEN];
	       uchar   configsum;
	       char    authid[ANAMELEN];
	       uchar   authidsum;
	       char    authdom[DOMLEN];
	       uchar   authdomsum;

       On  Sparc,  MIPS,  and SGI machines this	information is in non-volatile
       ram, accessible in the file #r/nvram.  On  x86s	and  Alphas  readnvram
       successively  opens the following areas stopping	with the first to suc-

       - the partition named by	the $nvram environment variable
       - the partition #S/sdC0/nvram
       - a file	called plan9.nvr in the	partition #S/sdC0/9fat
       - the partition #S/sd00/nvram
       - a file	called plan9.nvr in the	partition #S/sd00/9fat
       - a file	called plan9.nvr on a DOS floppy in drive 0
       - a file	called plan9.nvr on a DOS floppy in drive 1

       The nvcsums of the fields machkey, authid, and authdom must match their
       respective  checksum or that field is zeroed.  If flag is NVwrite or at
       least one checksum fails	 and  flag  is	NVwriteonerr,  readnvram  will
       prompt  for new values on #c/cons and then write	them back to the stor-
       age area.

       ConvT2M,	convA2M, convTR2M, and convPR2M	convert	 tickets,  authentica-
       tors,  ticket  requests,	 and  password	change request structures into
       transmittable messages.	ConvM2T, convM2A, convM2TR, and	 convM2PR  are
       used  to	convert	them back.  Key	is used	for encrypting the message be-
       fore transmission and decrypting	after reception.

       The routine _asgetresp receives either a	character array	 or  an	 error
       string.	 On  error,  it	sets errstr and	returns	-1.  If	successful, it
       returns the number of bytes received.

       The routine _asgetticket	sends a	ticket request message and  then  uses
       _asgetresp to recieve an	answer.


       Plan 9's	authsrv(6).

       These  routines	set errstr.  Integer-valued functions return -1	on er-



Want to link to this manual page? Use this URL:

home | help