]>
Commit | Line | Data |
---|---|---|
e0a65194 RS |
1 | #! /usr/bin/env perl |
2 | # Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved. | |
4c048211 | 3 | # |
c7fcbc09 | 4 | # Licensed under the Apache License 2.0 (the "License"). You may not use |
e0a65194 RS |
5 | # this file except in compliance with the License. You can obtain a copy |
6 | # in the file LICENSE in the source distribution or at | |
7 | # https://www.openssl.org/source/license.html | |
8 | ||
4c048211 AP |
9 | # pull APPLINK_MAX value from applink.c... |
10 | $applink_c=$0; | |
11 | $applink_c=~s|[^/\\]+$||g; | |
12 | $applink_c.="applink.c"; | |
13 | open(INPUT,$applink_c) || die "can't open $applink_c: $!"; | |
14 | @max=grep {/APPLINK_MAX\s+(\d+)/} <INPUT>; | |
15 | close(INPUT); | |
16 | ($#max==0) or die "can't find APPLINK_MAX in $applink_c"; | |
17 | ||
18 | $max[0]=~/APPLINK_MAX\s+(\d+)/; | |
19 | $N=$1; # number of entries in OPENSSL_UplinkTable not including | |
20 | # OPENSSL_UplinkTable[0], which contains this value... | |
21 | ||
22 | 1; | |
23 | ||
24 | # Idea is to fill the OPENSSL_UplinkTable with pointers to stubs | |
25 | # which invoke 'void OPENSSL_Uplink (ULONG_PTR *table,int index)'; | |
26 | # and then dereference themselves. Latter shall result in endless | |
27 | # loop *unless* OPENSSL_Uplink does not replace 'table[index]' with | |
28 | # something else, e.g. as 'table[index]=unimplemented;'... |