Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 May 2002 15:59:45 -0700 (PDT)
From:      Dag-Erling Smorgrav <des@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 11991 for review
Message-ID:  <200205272259.g4RMxjY43483@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=11991

Change 11991 by des@des.at.des.thinksec.com on 2002/05/27 15:58:47

	Split the summar page in two (one for the standard API, one for
	extensions).  Also add a page about the conversation system, and
	remove that information from the pam_start page.
	
	Sponsored by:	DARPA, NAI Labs

Affected files ...

... //depot/projects/openpam/MANIFEST#11 edit
... //depot/projects/openpam/doc/man/Makefile#10 edit
... //depot/projects/openpam/doc/man/openpam.man#1 add
... //depot/projects/openpam/doc/man/pam.man#1 add
... //depot/projects/openpam/doc/man/pam_conv.3#1 add
... //depot/projects/openpam/lib/pam_start.c#15 edit
... //depot/projects/openpam/misc/gendoc.pl#16 edit

Differences ...

==== //depot/projects/openpam/MANIFEST#11 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $P4: //depot/projects/openpam/MANIFEST#10 $
+# $P4: //depot/projects/openpam/MANIFEST#11 $
 #
 CREDITS
 HISTORY
@@ -15,6 +15,7 @@
 doc/Makefile
 doc/man/Makefile
 doc/man/openpam.3
+doc/man/openpam.man
 doc/man/openpam_borrow_cred.3
 doc/man/openpam_free_data.3
 doc/man/openpam_get_option.3
@@ -23,10 +24,13 @@
 doc/man/openpam_restore_cred.3
 doc/man/openpam_set_option.3
 doc/man/openpam_ttyconv.3
+doc/man/pam.3
+doc/man/pam.man
 doc/man/pam_acct_mgmt.3
 doc/man/pam_authenticate.3
 doc/man/pam_chauthtok.3
 doc/man/pam_close_session.3
+doc/man/pam_conv.3
 doc/man/pam_end.3
 doc/man/pam_error.3
 doc/man/pam_get_authtok.3

==== //depot/projects/openpam/doc/man/Makefile#10 (text+ko) ====

@@ -31,64 +31,75 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $P4: //depot/projects/openpam/doc/man/Makefile#9 $
+# $P4: //depot/projects/openpam/doc/man/Makefile#10 $
 #
 
 GENDOC		 = ${.CURDIR}/../../misc/gendoc.pl
 
-CMAN		 =
-CMAN		+= openpam_borrow_cred.3
-CMAN		+= openpam_free_data.3
-CMAN		+= openpam_get_option.3
-CMAN		+= openpam_log.3
-CMAN		+= openpam_nullconv.3
-CMAN		+= openpam_restore_cred.3
-CMAN		+= openpam_set_option.3
-CMAN		+= openpam_ttyconv.3
-CMAN		+= pam_acct_mgmt.3
-CMAN		+= pam_authenticate.3
-CMAN		+= pam_chauthtok.3
-CMAN		+= pam_close_session.3
-CMAN		+= pam_end.3
-CMAN		+= pam_error.3
-CMAN		+= pam_get_authtok.3
-CMAN		+= pam_get_data.3
-CMAN		+= pam_get_item.3
-CMAN		+= pam_get_user.3
-CMAN		+= pam_getenv.3
-CMAN		+= pam_getenvlist.3
-CMAN		+= pam_info.3
-CMAN		+= pam_open_session.3
-CMAN		+= pam_prompt.3
-CMAN		+= pam_putenv.3
-CMAN		+= pam_set_data.3
-CMAN		+= pam_set_item.3
-CMAN		+= pam_setcred.3
-CMAN		+= pam_setenv.3
-CMAN		+= pam_sm_acct_mgmt.3
-CMAN		+= pam_sm_authenticate.3
-CMAN		+= pam_sm_chauthtok.3
-CMAN		+= pam_sm_close_session.3
-CMAN		+= pam_sm_open_session.3
-CMAN		+= pam_sm_setcred.3
-CMAN		+= pam_start.3
-CMAN		+= pam_strerror.3
-CMAN		+= pam_verror.3
-CMAN		+= pam_vinfo.3
-CMAN		+= pam_vprompt.3
+# Standard PAM API
+PMAN		 =
+PMAN		+= pam_acct_mgmt.3
+PMAN		+= pam_authenticate.3
+PMAN		+= pam_chauthtok.3
+PMAN		+= pam_close_session.3
+PMAN		+= pam_end.3
+PMAN		+= pam_get_data.3
+PMAN		+= pam_get_item.3
+PMAN		+= pam_get_user.3
+PMAN		+= pam_getenv.3
+PMAN		+= pam_getenvlist.3
+PMAN		+= pam_open_session.3
+PMAN		+= pam_putenv.3
+PMAN		+= pam_set_data.3
+PMAN		+= pam_set_item.3
+PMAN		+= pam_setcred.3
+PMAN		+= pam_start.3
+PMAN		+= pam_strerror.3
+
+# Standard module API
+MMAN		 =
+MMAN		+= pam_sm_acct_mgmt.3
+MMAN		+= pam_sm_authenticate.3
+MMAN		+= pam_sm_chauthtok.3
+MMAN		+= pam_sm_close_session.3
+MMAN		+= pam_sm_open_session.3
+MMAN		+= pam_sm_setcred.3
+
+# OpenPAM extensions
+OMAN		 =
+OMAN		+= openpam_borrow_cred.3
+OMAN		+= openpam_free_data.3
+OMAN		+= openpam_get_option.3
+OMAN		+= openpam_log.3
+OMAN		+= openpam_nullconv.3
+OMAN		+= openpam_restore_cred.3
+OMAN		+= openpam_set_option.3
+OMAN		+= openpam_ttyconv.3
+OMAN		+= pam_error.3
+OMAN		+= pam_get_authtok.3
+OMAN		+= pam_info.3
+OMAN		+= pam_prompt.3
+OMAN		+= pam_setenv.3
+OMAN		+= pam_verror.3
+OMAN		+= pam_vinfo.3
+OMAN		+= pam_vprompt.3
 
-MAN		 = ${CMAN}
+MAN		 = ${PMAN} ${OMAN} ${MMAN}
 MAN		+= openpam.3
-MLINKS		 = openpam.3 pam.3
+MAN		+= pam.3
+MAN		+= pam_conv.3
 
-CLEANFILES	+= ${CMAN} openpam.3
+CLEANFILES	+= ${PMAN} ${OMAN} ${MMAN} openpam.3 pam.3
 
-.for man in ${CMAN}
+.for man in ${PMAN} ${OMAN} ${MMAN}
 ${man}: ${.CURDIR}/../../lib/${man:R}.c ${GENDOC}
 	perl -w ${GENDOC} ${.CURDIR}/../../lib/${man:R}.c
 .endfor
 
-openpam.3: ${CMAN} ${GENDOC}
-	perl -w ${GENDOC} -s ${CMAN}
+openpam.3: ${OMAN} ${GENDOC} openpam.man
+	perl -w ${GENDOC} -o ${OMAN} <${.CURDIR}/openpam.man
+
+pam.3: ${PMAN} ${GENDOC} pam.man
+	perl -w ${GENDOC} -p ${PMAN} <${.CURDIR}/pam.man
 
 .include <bsd.prog.mk>

==== //depot/projects/openpam/lib/pam_start.c#15 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $P4: //depot/projects/openpam/lib/pam_start.c#14 $
+ * $P4: //depot/projects/openpam/lib/pam_start.c#15 $
  */
 
 #include <stdlib.h>
@@ -98,14 +98,7 @@
  * It is stored in the =PAM_USER item in the created context.
  *
  * The =pam_conv argument points to a =struct pam_conv describing the
- * conversation function to use.
- * This structure is defined as follows:
- *
- *     struct pam_conv {
- *          int   (*conv)(int, const struct pam_message **,
- *              struct pam_response **, void *);
- *          void   *appdata_ptr;
- *     };
+ * conversation function to use; see =pam_conv for details.
  *
  * >pam_get_item
  * >pam_set_item

==== //depot/projects/openpam/misc/gendoc.pl#16 (text+ko) ====

@@ -32,7 +32,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $P4: //depot/projects/openpam/misc/gendoc.pl#15 $
+# $P4: //depot/projects/openpam/misc/gendoc.pl#16 $
 #
 
 use strict;
@@ -455,51 +455,77 @@
     }
 }
 
-sub gensummary() {
+sub gensummary($) {
+    my $page = shift;		# Which page to produce
 
     local *FILE;
+    my $upage;
     my $func;
+    my %xref;
 
-    sysopen(FILE, "openpam.3", O_RDWR|O_CREAT|O_TRUNC)
-	or die("openpam.3: $!\n");
+    sysopen(FILE, "$page.3", O_RDWR|O_CREAT|O_TRUNC)
+	or die("$page.3: $!\n");
 
+    $upage = uc($page);
     print FILE "$COPYRIGHT
 .Dd $TODAY
-.Dt PAM 3
+.Dt $upage 3
 .Os
 .Sh NAME
 ";
-    foreach $func (sort(keys(%FUNCTIONS))) {
-	print FILE ".Nm $FUNCTIONS{$func}->{'Nm'}\n";
+    my @funcs = sort(keys(%FUNCTIONS));
+    while ($func = shift(@funcs)) {
+	print FILE ".Nm $FUNCTIONS{$func}->{'Nm'}";
+	print FILE " ,"
+		if (@funcs);
+	print FILE "\n";
     }
     print FILE ".Nd Pluggable Authentication Modules Library
 .Sh LIBRARY
 .Lb libpam
-.Sh SYNOPSIS
-.In security/pam_appl.h
-";
+.Sh SYNOPSIS\n";
+    if ($page eq 'pam') {
+	print FILE ".In security/pam_appl.h\n";
+    } else {
+	print FILE ".In security/openpam.h\n";
+    }
     foreach $func (sort(keys(%FUNCTIONS))) {
 	print FILE ".Ft $FUNCTIONS{$func}->{'Ft'}\n";
 	print FILE ".Fn $FUNCTIONS{$func}->{'Fn'}\n";
     }
-    print FILE ".Sh DESCRIPTION
-.Sh RETURN VALUES
-The following return codes are defined in the
-.In security/pam_constants.h
-header:
+    while (<STDIN>) {
+	if (m/^\.Xr (\S+)\s*(\d)\s*$/) {
+	    $xref{$1} = $2;
+        }
+	print FILE $_;
+    }
+
+    if ($page eq 'pam') {
+	print FILE ".Sh RETURN VALUES
+The following return codes are defined by
+.Aq Pa security/pam_constants.h :
 .Bl -tag -width 18n
 ";
-    foreach (sort(keys(%PAMERR))) {
-	print FILE ".It Bq Er $_\n$PAMERR{$_}.\n";
+	foreach (sort(keys(%PAMERR))) {
+	    print FILE ".It Bq Er $_\n$PAMERR{$_}.\n";
+	}
+	print FILE ".El\n";
     }
-    print FILE ".El
-.Sh SEE ALSO
+    print FILE ".Sh SEE ALSO
 ";
-    foreach $func (sort(keys(%FUNCTIONS))) {
-	print FILE ".Xr $func 3 ,\n";
+    print FILE ".Xr openpam 3\n"
+	if ($page eq 'pam');
+    foreach $func (keys(%FUNCTIONS)) {
+        $xref{$func} = 3;
+    }
+    my @refs = sort(keys(%xref));
+    while ($_ = shift(@refs)) {
+	print FILE ".Xr $_ $xref{$_}";
+        print FILE " ,"
+	    if (@refs);
+        print FILE "\n";
     }
-    print FILE ".Xr pam.conf 5
-.Sh STANDARDS
+    print FILE ".Sh STANDARDS
 .Rs
 .%T \"X/Open Single Sign-On Service (XSSO) - Pluggable Authentication Modules\"
 .%D \"June 1997\"
@@ -525,14 +551,17 @@
     my %opts;
 
     usage()
-	unless (@ARGV && getopts("s", \%opts));
+	unless (@ARGV && getopts("op", \%opts));
     $TODAY = strftime("%B %e, %Y", localtime(time()));
     $TODAY =~ s,\s+, ,g;
-    if ($opts{'s'}) {
+    if ($opts{'o'} || $opts{'p'}) {
 	foreach my $fn (@ARGV) {
 	    readproto($fn);
 	}
-	gensummary();
+	gensummary('openpam')
+	    if ($opts{'o'});
+	gensummary('pam')
+	    if ($opts{'p'});
     } else {
 	foreach my $fn (@ARGV) {
 	    my $func = parse_source($fn);

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe p4-projects" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205272259.g4RMxjY43483>