1 | #! /usr/bin/env perl
|
---|
2 | # Copyright 2004-2016 The OpenSSL Project Authors. All Rights Reserved.
|
---|
3 | #
|
---|
4 | # Licensed under the OpenSSL license (the "License"). You may not use
|
---|
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 |
|
---|
9 |
|
---|
10 | use strict;
|
---|
11 | use warnings;
|
---|
12 |
|
---|
13 | my @directory_vars = ( "dir", "certs", "crl_dir", "new_certs_dir" );
|
---|
14 | my @file_vars = ( "database", "certificate", "serial", "crlnumber",
|
---|
15 | "crl", "private_key", "RANDFILE" );
|
---|
16 | while(<STDIN>) {
|
---|
17 | s|\R$||;
|
---|
18 | foreach my $d (@directory_vars) {
|
---|
19 | if (/^(\s*\#?\s*${d}\s*=\s*)\.\/([^\s\#]*)([\s\#].*)$/) {
|
---|
20 | $_ = "$1sys\\\$disk:\[.$2$3";
|
---|
21 | } elsif (/^(\s*\#?\s*${d}\s*=\s*)(\w[^\s\#]*)([\s\#].*)$/) {
|
---|
22 | $_ = "$1sys\\\$disk:\[.$2$3";
|
---|
23 | }
|
---|
24 | s/^(\s*\#?\s*${d}\s*=\s*\$\w+)\/([^\s\#]*)([\s\#].*)$/$1.$2\]$3/;
|
---|
25 | while(/^(\s*\#?\s*${d}\s*=\s*(\$\w+\.|sys\\\$disk:\[\.)[\w\.]+)\/([^\]]*)\](.*)$/) {
|
---|
26 | $_ = "$1.$3]$4";
|
---|
27 | }
|
---|
28 | }
|
---|
29 | foreach my $f (@file_vars) {
|
---|
30 | s/^(\s*\#?\s*${f}\s*=\s*)\.\/(.*)$/$1sys\\\$disk:\[\/$2/;
|
---|
31 | while(/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+\/[^\s\#]*)([\s\#].*)$/) {
|
---|
32 | $_ = "$1.$3$4";
|
---|
33 | }
|
---|
34 | if (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+)([\s\#].*)$/) {
|
---|
35 | $_ = "$1]$3.$4";
|
---|
36 | } elsif (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/([^\s\#]*)([\s\#].*)$/) {
|
---|
37 | $_ = "$1]$3$4";
|
---|
38 | }
|
---|
39 | }
|
---|
40 | print $_,"\n";
|
---|
41 | }
|
---|