man
diff --git a/man/man3/INDEX b/man/man3/INDEX
index b64cc21..86c5369 100644
--- a/man/man3/INDEX
+++ b/man/man3/INDEX
@@ -282,6 +282,8 @@
 announce dial.3
 dial dial.3
 dialparse dial.3
+freenetconninfo dial.3
+getnetconninfo dial.3
 listen dial.3
 netmkaddr dial.3
 reject dial.3
@@ -340,6 +342,7 @@
 stringnbgop draw.3
 stringnop draw.3
 stringop draw.3
+asn1toDSApriv dsa.3
 dsa dsa.3
 dsagen dsa.3
 dsaprivalloc dsa.3
diff --git a/man/man3/authsrv.3 b/man/man3/authsrv.3
index 6b64ed8..a0b6857 100644
--- a/man/man3/authsrv.3
+++ b/man/man3/authsrv.3
@@ -212,7 +212,7 @@
 .SH SOURCE
 .B \*9/src/libauthsrv
 .SH SEE ALSO
-.IR netkey (1),
+.IR passwd (1),
 .IR dial (3),
 Plan 9's
 \fIauthsrv\fR(6).
diff --git a/man/man3/dial.3 b/man/man3/dial.3
index 0c8c96a..7177e53 100644
--- a/man/man3/dial.3
+++ b/man/man3/dial.3
@@ -1,6 +1,6 @@
 .TH DIAL 3
 .SH NAME
-dial, announce, listen, accept, reject, netmkaddr, dialparse \- make and break network connections
+dial, announce, listen, accept, reject, netmkaddr, getnetconninfo, freenetconninfo, dialparse \- make and break network connections
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -26,12 +26,12 @@
 .\" .PP
 .\" .B
 .\" void  setnetmtpt(char *to, int tolen, char *from)
-.\" .PP
-.\" .B
-.\" NetConnInfo*  getnetconninfo(char *conndir, int fd)
-.\" .PP
-.\" .B
-.\" void freenetconninfo(NetConnINfo*)
+.PP
+.B
+NetConnInfo*  getnetconninfo(char *dir, int fd)
+.PP
+.B
+void freenetconninfo(NetConnINfo*)
 .PP
 .B
 int   dialparse(char *addr, char **net, char **unix,
@@ -94,19 +94,19 @@
 networks in common between source and destination
 until a call succeeds.
 It returns a file descriptor open for reading and writing the
-.B data
-file in the line directory.
-The
-.B addr
-file in the line directory contains the address called.
-.\" If the network allows the local address to be set,
-.\" as is the case with UDP and TCP port numbers, and
-.\" .IR local
-.\" is non-zero, the local address will be set to
-.\" .IR local .
+call.
+.\" .B data
+.\" file in the line directory.
+.\" The
+.\" .B addr
+.\" file in the line directory contains the address called.
+If the network allows the local address to be set,
+as is the case with UDP and TCP port numbers, and
+.IR local
+is non-zero, the local address will be set to
+.IR local .
 .IR Dial 's
-.IR local ,
-.IR dir ,
+.IR dir 
 and
 .I cfdp
 arguments
@@ -166,39 +166,41 @@
 parses a network address as described above
 into a network name, a Unix domain socket address,
 an IPv4 host address, and an IPv4 port number.
-.\" .PP
-.\" .I Getnetconninfo
-.\" returns a structure containing information about a
-.\" network connection.  The structure is:
-.\" .EX
-.\"   typedef struct NetConnInfo NetConnInfo;
-.\"   struct NetConnInfo
-.\"   {
-.\" 	char	*dir;		/* connection directory */
-.\" 	char	*root;		/* network root */
-.\" 	char	*spec;		/* binding spec */
-.\" 	char	*lsys;		/* local system */
-.\" 	char	*lserv;		/* local service */
-.\" 	char	*rsys;		/* remote system */
-.\" 	char	*rserv;		/* remote service */
-.\"   };
-.\" .EE
-.\" .PP
-.\" The information is obtained from the connection directory,
-.\" .IR conndir .
-.\" If
-.\" .I conndir
-.\" is nil, the directory is obtained by performing
-.\" .IR fd2path (3)
-.\" on
-.\" .IR fd .
-.\" .I Getnetconninfo
-.\" returns either a completely specified structure, or
-.\" nil if either the structure can't be allocated or the
-.\" network directory can't be determined.
-.\" The structure
-.\" is freed using
-.\" .IR freenetconninfo .
+.PP
+.I Getnetconninfo
+returns a structure containing information about a
+network connection.  The structure is:
+.PP
+.EX
+  typedef struct NetConnInfo NetConnInfo;
+  struct NetConnInfo
+  {
+	char	*dir;		/* connection directory */
+	char	*root;		/* network root */
+	char	*spec;		/* binding spec */
+	char	*lsys;		/* local system */
+	char	*lserv;		/* local service */
+	char	*rsys;		/* remote system */
+	char	*rserv;		/* remote service */
+	char *laddr;		/* local address */
+	char *raddr;		/* remote address */
+  };
+.EE
+.PP
+The information is obtained from the
+`line directory'
+.IR dir ,
+or if
+.I dir
+is nil, from the connection file descriptor
+.IR fd .
+.I Getnetconninfo
+returns either a completely specified structure, or
+nil if either the structure can't be allocated or the
+network directory can't be determined.
+The structure
+is freed using
+.IR freenetconninfo .
 .\" .PP
 .\" .I Setnetmtpt
 .\" copies the name of the network mount point into
@@ -307,6 +309,8 @@
 .B \*9/src/lib9/announce.c
 .br
 .B \*9/src/lib9/_p9dialparse.c
+.br
+.B \*9/src/lib9/getnetconn.c
 .SH DIAGNOSTICS
 .IR Dial ,
 .IR announce ,
diff --git a/man/man3/dsa.3 b/man/man3/dsa.3
index c29d287..41532b8 100644
--- a/man/man3/dsa.3
+++ b/man/man3/dsa.3
@@ -1,6 +1,6 @@
 .TH DSA 3
 .SH NAME
-dsagen, dsasign, dsaverify, dsapuballoc, dsapubfree, dsaprivalloc, dsaprivfree, dsasigalloc, dsasigfree, dsaprivtopub - digital signature algorithm
+asn1toDSApriv, dsagen, dsasign, dsaverify, dsapuballoc, dsapubfree, dsaprivalloc, dsaprivfree, dsasigalloc, dsasigfree, dsaprivtopub - digital signature algorithm
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -39,6 +39,9 @@
 .PP
 .B
 DSApub*	dsaprivtopub(DSApriv*)
+.PP
+.B
+DSApriv*	asn1toDSApriv(uchar *priv, int npriv)
 .SH DESCRIPTION
 .PP
 DSA is the NIST approved digital signature algorithm.  The owner of a key publishes
@@ -120,6 +123,13 @@
 and
 .I dsasigfree
 are provided to manage signature storage.
+.PP
+.I Asn1toDSApriv
+converts an ASN1 formatted DSA private key into the corresponding
+.B DSApriv
+structure; see 
+.IR rsa (3)
+for other ASN1 routines.
 .SH SOURCE
 .B \*9/src/libsec
 .SH SEE ALSO
diff --git a/man/man3/readcons.3 b/man/man3/readcons.3
index 1f5d986..dd284b9 100644
--- a/man/man3/readcons.3
+++ b/man/man3/readcons.3
@@ -29,7 +29,9 @@
 is non-zero, the input is not echoed to the screen.
 .SH EXAMPLE
 A stripped-down version of
-.IR netkey (1):
+.I netkey
+(see
+.IR passwd (1)):
 .IP
 .EX
 pass = readcons("password", nil, 1);