freebsd-src/crypto/openssl/util/mkpod2html.pl
Cy Schubert e0c4386e7e OpenSSL: Vendor import of OpenSSL 3.0.13
* Fixed PKCS12 Decoding crashes ([CVE-2024-0727])
 * Fixed Excessive time spent checking invalid RSA public keys
   ([CVE-2023-6237])
 * Fixed POLY1305 MAC implementation corrupting vector registers on
   PowerPC CPUs which support PowerISA 2.07 ([CVE-2023-6129])
 * Fix excessive time spent in DH check / generation with large Q
   parameter value ([CVE-2023-5678])

Release notes can be found at
            https://www.openssl.org/news/openssl-3.0-notes.html.

Approved by:	emaste
MFC after:	3 days

Merge commit '9dd13e84fa8eca8f3462bd55485aa3da8c37f54a'
2024-02-02 13:21:36 -08:00

62 lines
1.7 KiB
Perl
Executable file

#! /usr/bin/env perl
# Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
# in the file LICENSE in the source distribution or at
# https://www.openssl.org/source/license.html
use strict;
use warnings;
use lib ".";
use Getopt::Std;
use Pod::Html;
use File::Spec::Functions qw(:DEFAULT rel2abs);
# Options.
our($opt_i); # -i INFILE
our($opt_o); # -o OUTFILE
our($opt_t); # -t TITLE
our($opt_r); # -r PODROOT
getopts('i:o:t:r:');
die "-i flag missing" unless $opt_i;
die "-o flag missing" unless $opt_o;
die "-t flag missing" unless $opt_t;
die "-r flag missing" unless $opt_r;
# We originally used realpath() here, but the Windows implementation appears
# to require that the directory or file exist to be able to process the input,
# so we use rel2abs() instead, which only processes the string without
# looking further.
$opt_i = rel2abs($opt_i) or die "Can't convert to real path: $!";
$opt_o = rel2abs($opt_o) or die "Can't convert to real path: $!";
$opt_r = rel2abs($opt_r) or die "Can't convert to real path: $!";
pod2html
"--infile=$opt_i",
"--outfile=$opt_o",
"--title=$opt_t",
"--podroot=$opt_r",
"--podpath=man1:man3:man5:man7",
"--htmldir=..";
# Read in contents.
open F, "<$opt_o"
or die "Can't read $opt_o, $!";
my $contents = '';
{
local $/ = undef;
$contents = <F>;
}
close F;
unlink $opt_o;
$contents =~
s|href="http://man\.he\.net/(man\d/[^"]+)(?:\.html)?"|href="../$1.html"|g;
open F, ">$opt_o"
or die "Can't write $opt_o, $!";
print F $contents;
close F;