1*ebfedea0SLionel Sambuc#! /usr/bin/perl 2*ebfedea0SLionel Sambuc 3*ebfedea0SLionel Sambucuse strict; 4*ebfedea0SLionel Sambucuse warnings; 5*ebfedea0SLionel Sambuc 6*ebfedea0SLionel Sambucmy @directory_vars = ( "dir", "certs", "crl_dir", "new_certs_dir" ); 7*ebfedea0SLionel Sambucmy @file_vars = ( "database", "certificate", "serial", "crlnumber", 8*ebfedea0SLionel Sambuc "crl", "private_key", "RANDFILE" ); 9*ebfedea0SLionel Sambucwhile(<STDIN>) { 10*ebfedea0SLionel Sambuc chomp; 11*ebfedea0SLionel Sambuc foreach my $d (@directory_vars) { 12*ebfedea0SLionel Sambuc if (/^(\s*\#?\s*${d}\s*=\s*)\.\/([^\s\#]*)([\s\#].*)$/) { 13*ebfedea0SLionel Sambuc $_ = "$1sys\\\$disk:\[.$2$3"; 14*ebfedea0SLionel Sambuc } elsif (/^(\s*\#?\s*${d}\s*=\s*)(\w[^\s\#]*)([\s\#].*)$/) { 15*ebfedea0SLionel Sambuc $_ = "$1sys\\\$disk:\[.$2$3"; 16*ebfedea0SLionel Sambuc } 17*ebfedea0SLionel Sambuc s/^(\s*\#?\s*${d}\s*=\s*\$\w+)\/([^\s\#]*)([\s\#].*)$/$1.$2\]$3/; 18*ebfedea0SLionel Sambuc while(/^(\s*\#?\s*${d}\s*=\s*(\$\w+\.|sys\\\$disk:\[\.)[\w\.]+)\/([^\]]*)\](.*)$/) { 19*ebfedea0SLionel Sambuc $_ = "$1.$3]$4"; 20*ebfedea0SLionel Sambuc } 21*ebfedea0SLionel Sambuc } 22*ebfedea0SLionel Sambuc foreach my $f (@file_vars) { 23*ebfedea0SLionel Sambuc s/^(\s*\#?\s*${f}\s*=\s*)\.\/(.*)$/$1sys\\\$disk:\[\/$2/; 24*ebfedea0SLionel Sambuc while(/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+\/[^\s\#]*)([\s\#].*)$/) { 25*ebfedea0SLionel Sambuc $_ = "$1.$3$4"; 26*ebfedea0SLionel Sambuc } 27*ebfedea0SLionel Sambuc if (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/(\w+)([\s\#].*)$/) { 28*ebfedea0SLionel Sambuc $_ = "$1]$3.$4"; 29*ebfedea0SLionel Sambuc } elsif (/^(\s*\#?\s*${f}\s*=\s*(\$\w+|sys\\\$disk:\[)[^\/]*)\/([^\s\#]*)([\s\#].*)$/) { 30*ebfedea0SLionel Sambuc $_ = "$1]$3$4"; 31*ebfedea0SLionel Sambuc } 32*ebfedea0SLionel Sambuc } 33*ebfedea0SLionel Sambuc print $_,"\n"; 34*ebfedea0SLionel Sambuc} 35