#! /usr/bin/env perl
-# Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 1999-2020 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
}
$rcodes{$name} = $code;
} elsif ( $name =~ /^(?:OSSL_|OPENSSL_)?[A-Z0-9]{2,}_F_/ ) {
- die "$lib function code $code collision at $name\n"
- if $fassigned{$lib} =~ /:$code:/;
$fassigned{$lib} .= "$code:";
$fmax{$lib} = $code if $code > $fmax{$lib};
$fcodes{$name} = $code;
s/[\n\s]*$//g;
# Skip over recognized non-function declarations
- next if /typedef\W/ or /DECLARE_STACK_OF/ or /TYPEDEF_.*_OF/;
+ next if /typedef\W/;
# Remove STACK_OF(foo)
s/STACK_OF\(\w+\)/void/;
$fnew{$2}++;
}
$ftrans{$3} = $func unless exists $ftrans{$3};
- if ( uc($func) ne $3 ) {
- print STDERR "ERROR: mismatch $file:$linenr $func:$3\n";
- $errors++;
- }
print STDERR " Function $1 = $fcodes{$1}\n"
if $debug;
}
next if ! $fnew{$lib} && ! $rnew{$lib} && ! $rebuild;
next if scalar keys %modules > 0 && !$modules{$lib};
next if $nowrite;
+ next if $hinc{$lib} eq 'NONE';
print STDERR "$lib: $fnew{$lib} new functions\n" if $fnew{$lib};
print STDERR "$lib: $rnew{$lib} new reasons\n" if $rnew{$lib};
$newstate = 1;
* https://www.openssl.org/source/license.html
*/
-#ifndef HEADER_${lib}ERR_H
-# define HEADER_${lib}ERR_H
+#ifndef OPENSSL_${lib}ERR_H
+# define OPENSSL_${lib}ERR_H
+# pragma once
# include <openssl/opensslconf.h>
# include <openssl/symhacks.h>
}
print OUT "\n/*\n * $lib function codes.\n */\n";
- print OUT "# if !OPENSSL_API_3\n";
+ print OUT "# ifndef OPENSSL_NO_DEPRECATED_3_0\n";
foreach my $i ( @function ) {
my $z = 48 - length($i);
$z = 0 if $z < 0;
int ERR_load_${lib}_strings(void)
{
#ifndef OPENSSL_NO_ERR
- if (ERR_func_error_string(${lib}_str_reasons[0].error) == NULL)
+ if (ERR_reason_error_string(${lib}_str_reasons[0].error) == NULL)
ERR_load_strings_const(${lib}_str_reasons);
#endif
return 1;
{
if (lib_code == 0)
lib_code = ERR_get_next_error_library();
- ERR_PUT_error(lib_code, function, reason, file, line);
+ ERR_raise(lib_code, reason);
+ ERR_set_debug(file, line, NULL);
}
EOF