set -e; \
here=`cd $(SRCDIR); pwd`; \
point=$$here/util/point.sh; \
- for ds in apps:1 crypto:3 ssl:3; do \
- defdir=`echo $$ds | cut -f1 -d:`; \
- defsec=`echo $$ds | cut -f2 -d:`; \
- for p in $(SRCDIR)/doc/$$defdir/*.pod; do \
- SEC=`sed -ne 's/^=for *comment *openssl_manual_section: *\([0-9]\) *$$/\1/p' $$p`; \
- [ -z "$$SEC" ] && SEC=$$defsec; \
+ for ds in man1 man3 man5 man7 ; do \
+ SEC=`echo $$ds | sed -e s/man//`; \
+ for p in $(SRCDIR)/doc/$$ds/*.pod; do \
fn=`basename $$p .pod`; \
Name=$$fn; \
NAME=`echo $$fn | tr '[a-z]' '[A-Z]'`; \
UNINSTALL_DOCS=\
set -e; \
here=`cd $(SRCDIR); pwd`; \
- for ds in apps:1 crypto:3 ssl:3; do \
- defdir=`echo $$ds | cut -f1 -d:`; \
- defsec=`echo $$ds | cut -f2 -d:`; \
- for p in $(SRCDIR)/doc/$$defdir/*.pod; do \
- SEC=`sed -ne 's/^=for *comment *openssl_manual_section: *\([0-9]\) *$$/\1/p' $$p`; \
- [ -z "$$SEC" ] && SEC=$$defsec; \
+ for ds in man1 man3 man5 man7 ; do \
+ SEC=`echo $$ds | sed -e s/man//`; \
+ for p in $(SRCDIR)/doc/$$ds/*.pod; do \
fn=`basename $$p .pod`; \
suf=`eval "echo $$OUTSUFFIX"`; \
top=`eval "echo $$OUTTOP"`; \
HOWTO/
A few how-to documents; not necessarily up-to-date
-apps/
+
+man1/
The openssl command-line tools; start with openssl.pod
-ssl/
- The SSL library; start with ssl.pod
-crypto/
- The cryptographic library; start with crypto.pod
+
+man3/
+ The SSL library and the crypto library
+
+man5/
+ File formats
+
+man7/
+ Overviews; start with crypto.pod and ssl.pod, for example
Formatted versions of the manpages (apps,ssl,crypto) can be found at
https://www.openssl.org/docs/manpages.html
X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted,
X509_STORE_CTX_get_num_untrusted,
X509_STORE_CTX_set_default,
-X509_STORE_CTX_set_verify,
-X509_STORE_set_verify,
-X509_STORE_CTX_get_verify - X509_STORE_CTX initialisation
+X509_STORE_CTX_set_verify
+- X509_STORE_CTX initialisation
=head1 SYNOPSIS
int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx);
typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
- X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx);
void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_fn verify);
- void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify verify);
-
=head1 DESCRIPTION
These functions initialise an B<X509_STORE_CTX> structure for subsequent use
X509_STORE_CTX_set_verify() provides the capability for overriding the default
verify function. This function is responsible for verifying chain signatures and
-expiration times. X509_STORE_CTX_get_verify() obtains the current verify
-function being used.
-
-X509_STORE_set_verify() works in the same way as for X509_STORE_CTX_set_verify()
-but sets the default verify function to be used by all X509_STORE_CTX objects
-created for this X509_STORE.
+expiration times.
A verify function is defined as an X509_STORE_CTX_verify type which has the
following signature:
X509_STORE_CTX_get_num_untrusted() returns the number of untrusted certificates
used.
-X509_STORE_CTX_get_verify() returns the current verify function in use for this
-X509_STORE_CTX.
-
=head1 SEE ALSO
L<X509_verify_cert(3)>
X509_STORE_CTX_set0_crls() was first added to OpenSSL 1.0.0
X509_STORE_CTX_get_num_untrusted() was first added to OpenSSL 1.1.0
-X509_STORE_set_verify() was first added to OpenSSL 1.1.0. It was previously
-available as a macro X509_STORE_set_verify_func(). This macro still exists but
-simply calls this function.
=head1 COPYRIGHT
X509_STORE_CTX_get_check_revocation,
X509_STORE_CTX_get_check_issued,
X509_STORE_CTX_get_get_issuer,
-X509_STORE_CTX_get_verify,
X509_STORE_CTX_get_verify_cb,
X509_STORE_CTX_set_verify_cb - get and set verification callback
void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
X509_STORE_CTX_verify_cb verify_cb);
- X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx);
X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx);
X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx);
X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx);
X509_STORE_CTX_get_verify_cb() returns the value of the current callback
for the specific B<ctx>.
-X509_STORE_CTX_get_verify(), X509_STORE_CTX_get_get_issuer(),
+X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_check_issued(), X509_STORE_CTX_get_check_revocation(),
X509_STORE_CTX_get_get_crl(), X509_STORE_CTX_get_check_crl(),
X509_STORE_CTX_get_cert_crl(), X509_STORE_CTX_get_check_policy(),
=head1 HISTORY
-X509_STORE_CTX_get_verify(), X509_STORE_CTX_get_get_issuer(),
+X509_STORE_CTX_get_get_issuer(),
X509_STORE_CTX_get_check_issued(), X509_STORE_CTX_get_check_revocation(),
X509_STORE_CTX_get_get_crl(), X509_STORE_CTX_get_check_crl(),
X509_STORE_CTX_get_cert_crl(), X509_STORE_CTX_get_check_policy(),
RSA_OAEP_PARAMS_new,
RSA_PSS_PARAMS_free,
RSA_PSS_PARAMS_new,
-SCT_LIST_free,
SXNETID_free,
SXNETID_new,
SXNET_free,
=pod
-=for comment openssl_manual_section:5
-
=head1 NAME
config - OpenSSL CONF library configuration files
=pod
-=for comment openssl_manual_section:5
-
=head1 NAME
x509v3_config - X509 V3 certificate extension configuration format
=pod
-=for comment openssl_manual_section 7
-
=head1 NAME
bio - Basic I/O abstraction
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
crypto - OpenSSL cryptographic library
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
ct - Certificate Transparency
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
des_modes - the variants of DES and other crypto algorithms of OpenSSL
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
evp - high-level cryptographic functions
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
SSL - OpenSSL SSL/TLS library
=pod
-=for comment openssl_manual_section:7
-
=head1 NAME
x509 - X.509 certificate handling
3 => [ 'SYNOPSIS', 'RETURN\s+VALUES' ],
5 => [ ],
7 => [ ] );
-my %default_sections =
- ( apps => 1,
- crypto => 3,
- ssl => 3 );
# Cross-check functions in the NAME and SYNOPSIS section.
sub name_synopsis()
&name_synopsis($id, $filename, $contents)
unless $contents =~ /=for comment generic/
- or $contents =~ /=for comment openssl_manual_section:7/
- or $filename =~ m@/apps/@;
+ or $filename =~ m@man[157]/@;
print "$id doesn't start with =pod\n"
if $contents !~ /^=pod/;
# Find what section this page is in. If run from "." assume
# section 3.
- my $section = $default_sections{$dirname} || 3;
- if ($contents =~ /^=for\s+comment\s+openssl_manual_section:\s*(\d+)\s*$/m) {
- $section = $1;
- }
+ my $section = 3;
+ $section = $1 if $dirname =~ /man([1-9])/;
foreach ((@{$mandatory_sections{'*'}}, @{$mandatory_sections{$section}})) {
print "$id doesn't have a head1 section matching $_\n"
my %return;
foreach my $pod ( glob("$dir/*.pod") ) {
- next if $pod eq 'doc/crypto/crypto.pod';
- next if $pod eq 'doc/ssl/ssl.pod';
my %podinfo = extract_pod_info($pod);
foreach my $n ( @{$podinfo{names}} ) {
$return{$n} = $pod;
print "# Duplicate $n in $pod and $dups{$n}\n"
- if defined $dups{$n};
+ if defined $dups{$n} && $dups{$n} ne $pod;
$dups{$n} = $pod;
}
}
return %return;
}
+my %docced = &getdocced('doc/man3');
+
sub printem()
{
- my $docdir = shift;
my $numfile = shift;
- my %docced = &getdocced($docdir);
my $count = 0;
foreach my $func ( &parsenum($numfile) ) {
print "# Found $count missing from $numfile\n\n";
}
-
-&printem('doc/crypto', 'util/libcrypto.num');
-&printem('doc/ssl', 'util/libssl.num');
+&printem('util/libcrypto.num');
+&printem('util/libssl.num');
=item B<section =E<gt> N>
-The value MUST be a number, and will be the default man section number
-to be used with the given .pod file. This number can be altered if
-the .pod file has a line like this:
-
- =for comment openssl_manual_section: 4
+The value MUST be a number, and will be the man section number
+to be used with the given .pod file.
=item B<debug =E<gt> 0|1>
my %podinfo = ( section => $defaults{section});
while(<$input>) {
s|\R$||;
- if (m|^=for\s+comment\s+openssl_manual_section:\s*([0-9])\s*$|) {
- print STDERR "DEBUG: Found man section number $1\n"
- if $defaults{debug};
- $podinfo{section} = $1;
- }
-
# Stop reading when we have reached past the NAME section.
last if (m|^=head1|
&& defined $podinfo{lastsect}
my %options = ();
GetOptions(\%options,
'sourcedir=s', # Source directory
- 'subdir=s%', # Subdirectories to look through,
+ 'section=i@', # Subdirectories to look through,
# with associated section numbers
'destdir=s', # Destination directory
#'in=s@', # Explicit files to process (ignores sourcedir)
- #'section=i', # Default section used for --in files
'type=s', # The result type, 'man' or 'html'
'remove', # To remove files rather than writing them
'dry-run|n', # Only output file names on STDOUT
'debug|D+',
);
-unless ($options{subdir}) {
- $options{subdir} = { apps => '1',
- crypto => '3',
- ssl => '3' };
+unless ($options{section}) {
+ $options{section} = [ 1, 3, 5, 7 ];
}
unless ($options{sourcedir}) {
$options{sourcedir} = catdir($config{sourcedir}, "doc");
}
-pod2usage(1) unless ( defined $options{subdir}
+pod2usage(1) unless ( defined $options{section}
&& defined $options{sourcedir}
&& defined $options{destdir}
&& defined $options{type}
if defined $options{destdir};
print STDERR "DEBUG: --type = $options{type}\n"
if defined $options{type};
- foreach (keys %{$options{subdir}}) {
- print STDERR "DEBUG: --subdir = $_=$options{subdir}->{$_}\n";
+ foreach (sort @{$options{section}}) {
+ print STDERR "DEBUG: --section = $_\n";
}
print STDERR "DEBUG: --remove = $options{remove}\n"
if defined $options{remove};
my $symlink_exists = eval { symlink("",""); 1 };
-foreach my $subdir (keys %{$options{subdir}}) {
- my $section = $options{subdir}->{$subdir};
+foreach my $section (sort @{$options{section}}) {
+ my $subdir = "man$section";
my $podsourcedir = catfile($options{sourcedir}, $subdir);
my $podglob = catfile($podsourcedir, "*.pod");