# Using Crypt::OpenSSL::RSA with http\_perl\_module problem

**URL:** <https://www.ruby-forum.com/t/using-crypt-rsa-with-http-perl-module-problem/246547>\
**Category:** NGINX\
**Created:** [December 25, 2012, 6:39pm UTC](https://www.ruby-forum.com/t/using-crypt-rsa-with-http-perl-module-problem/246547 "2012-12-25T18:39:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [December 25, 2012, 6:39pm UTC](https://www.ruby-forum.com/t/using-crypt-rsa-with-http-perl-module-problem/246547/1 "2012-12-25T18:39:36Z")

</div>

Hi all:

I am trying to utilize Crypt::OpenSSL::RSA perl module that is called  
from  
within the the http\_perl\_module handler. The interesting part is that if  
I  
use this module from a strait perl script then it works fine but when I  
call  
from the handler in nginx then it fail nginx’s sanity test check.  
Hopefully  
someone can shed some light here. I suspect  
/usr/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so to be the culprit  
somewhere.

First, I created two perl scripts as mentioned at  
[Encrypting Sensitive Data with Perl - Stuff... And Things...](http://stuff-things.net/2007/05/02/encrypting-sensitive-data-with-perl/).  
Here is the output from these two scripts, thus indicating that Perl  
modules  
installed are sane and complete …

Let me know if any additional piece of info is needed.

Thanks.

-------Version information

root@master-01:/home/theapp/theEnDec/conf# perl -version

This is perl 5, version 12, subversion 4 (v5.12.4) built for  
x86\_64-linux-gnu-thread-multi  
(with 48 registered patches, see perl -V for more detail)

Copyright 1987-2010, Larry Wall

Perl may be copied only under the terms of either the Artistic License  
or  
the  
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on  
this system using “man perl” or “perldoc perl”. If you have access to  
the  
Internet, point your browser at [http://www.perl.org/](http://www.perl.org/), the Perl Home  
Page.

root@master-01:/home/theapp/theEnDec/conf# /usr/local/nginx/sbin/nginx  
-v  
nginx version: nginx/1.2.6

ii libclass-accessor-perl 0.34-1  
Perl module that automatically generates accessors  
ii libclass-isa-perl 0.36-1  
report the search path for a class’s ISA tree  
ii libcurses-perl 1.28-1build1  
Curses interface for Perl  
ii libcurses-ui-perl 0.9607-2  
curses-based OO user interface framework for Perl  
ii liberror-perl 0.17-1  
Perl module for error/exception handling in an OO-ish way  
ii libio-string-perl 1.08-2  
Emulate IO::File interface for in-core strings  
ii liblocale-gettext-perl 1.05-6build1  
Using libc functions for internationalization in Perl  
ii libparse-debianchangelog-perl 1.2.0-1ubuntu1  
parse Debian changelogs and output them in other formats  
ii libperl-dev 5.12.4-4ubuntu0.1  
Perl library: development files  
ii libperl5.12 5.12.4-4ubuntu0.1  
shared Perl library  
ii libpod-plainer-perl 1.03-1  
Perl extension for converting Pod to old-style Pod.  
ii libsub-name-perl 0.05-1build1  
module for assigning a new name to referenced sub  
ii libswitch-perl 2.16-1  
A switch statement for Perl  
ii libterm-readkey-perl 2.30-4build2  
A perl module for simple terminal control  
ii libtext-charwidth-perl 0.04-6build1  
get display widths of characters on the terminal  
ii libtext-iconv-perl 1.7-2build1  
converts between character sets in Perl  
ii libtext-wrapi18n-perl 0.06-7  
internationalized substitute of Text::Wrap  
ii libtimedate-perl 1.2000-1  
collection of modules to manipulate date/time information  
ii perl 5.12.4-4ubuntu0.1  
Larry Wall’s Practical Extraction and Report Language  
ii perl-base 5.12.4-4ubuntu0.1  
minimal Perl system  
ii perl-modules 5.12.4-4ubuntu0.1  
Core Perl modules

-------Encryption script

root@master-01:/home/theapp/theEnDec/perl# cat test\_encrypt.pl  
#!/usr/bin/perl

use Crypt::OpenSSL::RSA;  
use MIME::Base64;  
use strict;

my $public\_key = ‘public.pem’;  
my $string = ‘Hello World!’;

print encryptPublic($public\_key,$string);

exit;

sub encryptPublic {  
my ($public\_key,$string) = @\_;

my $key\_string;  
open(PUB,$public\_key) || die “$public\_key: $!”;  
read(PUB,$key\_string,-s PUB); # Suck in the whole file  
close(PUB);

my $public =  
Crypt::OpenSSL::RSA-\>new\_public\_key($key\_string);  
encode\_base64($public-\>encrypt($string));  
}

root@master-01:/home/theapp/theEnDec/perl# ./test\_encrypt.pl  
gFG/i6YvQ54hEmlYf1D8MEZ4wPs9GANJ8WkBGkokyT4u6aYPuff8DmgFiXMgUvjPIfiOtf8JDaiS  
wr7FpXfSi1TuZVb9waFTZitxJ9Gh7PRBw1YLr/ZQWGSf7ZzOF0iuIEl8q4C+MZScCFjiYjqz4qc0  
6ehgnmggDA5R2RmlvVv0q1H5Orrv0xlucAxNpMvg9CD74tKg+192unGOhWOK29G4uf2jE5I9CfbI  
TJU7vrpD7RY1RFR+BAdNRe6W6+VadcLc/vytMp175JDD9tBsUKm/ZueGTJ6L7Y7kQ6yx+trvhgNQ  
zjmFg7wQ+2x9V0fcA4uUueRT58dqFjAQpXVnCw==

-------Decryption script

root@master-01:/home/theapp/theEnDec/perl# cat test\_decrypt.pl  
#!/usr/bin/perl

use Convert::PEM;  
use Crypt::OpenSSL::RSA;  
use MIME::Base64;  
use strict;

my $encrypted\_string =q(  
gFG/i6YvQ54hEmlYf1D8MEZ4wPs9GANJ8WkBGkokyT4u6aYPuff8DmgFiXMgUvjPIfiOtf8JDaiS  
wr7FpXfSi1TuZVb9waFTZitxJ9Gh7PRBw1YLr/ZQWGSf7ZzOF0iuIEl8q4C+MZScCFjiYjqz4qc0  
6ehgnmggDA5R2RmlvVv0q1H5Orrv0xlucAxNpMvg9CD74tKg+192unGOhWOK29G4uf2jE5I9CfbI  
TJU7vrpD7RY1RFR+BAdNRe6W6+VadcLc/vytMp175JDD9tBsUKm/ZueGTJ6L7Y7kQ6yx+trvhgNQ  
zjmFg7wQ+2x9V0fcA4uUueRT58dqFjAQpXVnCw==  
);

my $private\_key = ‘private.pem’;

my $password = ‘testing’;

print decryptPrivate($private\_key,$password,$encrypted\_string), “\n”;

exit;

sub decryptPrivate {  
my ($private\_key,$password,$string) = @\_;  
my $key\_string = readPrivateKey($private\_key,$password);

return(undef) unless ($key\_string); # Decrypt failed.  
my $private = Crypt::OpenSSL::RSA-\>new\_private\_key($key\_string) ||  
die “$!”;

$private-\>decrypt(decode\_base64($string));  
}

sub readPrivateKey {  
my ($file,$password) = @\_;  
my $key\_string;  
$key\_string = decryptPEM($file,$password);  
}

sub decryptPEM {  
my ($file,$password) = @\_;

my $pem = Convert::PEM-\>new(  
Name =\> ‘RSA PRIVATE KEY’,  
ASN =\> qq(  
RSAPrivateKey SEQUENCE {  
version INTEGER,  
n INTEGER,  
e INTEGER,  
d INTEGER,  
p INTEGER,  
q INTEGER,  
dp INTEGER,  
dq INTEGER,  
iqmp INTEGER  
}  
));

my $pkey =  
$pem-\>read(Filename =\> $file, Password =\> $password);

return(undef) unless ($pkey); # Decrypt failed.  
$pem-\>encode(Content =\> $pkey);  
}

root@master-01:/home/theapp/theEnDec/perl# ./test\_decrypt.pl  
Hello World!

-------Perl handler for NGINX

package theEnDec;

use Convert::PEM;  
use Crypt::OpenSSL::RSA;  
use MIME::Base64;  
use strict;  
use nginx;

sub handler {  
my $r = shift;

my $public\_key = ‘public.pem’;  
my $private\_key = ‘private.pem’;

my $password = ‘testing’;

my $operation = r-\>variable(‘operation’);  
my $op\_string = r-\>variable(‘op\_string’);  
my $result = ‘Error: no operation performed!’;

if (lc($operation) eq ‘encode’) {  
$result = encryptPublic($public\_key,$op\_string);  
}

if (lc($operation) eq ‘decode’) {  
$result = decryptPrivate($private\_key,$password,$op\_string);  
}

$r-\>header\_out (“X-theAnswerIs=”, $result);

$r-\>send\_http\_header(“text/html”);

$r-\>rflush;

return OK if $r-\>header\_only;

my $bodyis = CGI-\>new;  
$bodyis-\>compile();  
$r-\>print ($bodyis-\>start\_html(‘Test Page’));  
$r-\>print ($bodyis-\>h3({-align=\>right},‘That is the only thing I can  
give.  
Use it wisely!’));  
$r-\>print ($bodyis-\>end\_html);

$r-\>rflush;

return OK;

#-## Encryption sub-routines

sub encryptPublic {  
my ($public\_key,$string) = @\_;

```
my $key_string;
open(PUB,$public_key) || die "$public_key: $!";
read(PUB,$key_string,-s PUB); # Suck in the whole file
close(PUB);

my $public =
        Crypt::OpenSSL::RSA->new_public_key($key_string);
encode_base64($public->encrypt($string));

```

}

#-## Decryption sub-routines

sub decryptPrivate {  
my ($private\_key,$password,$string) = @\_;  
my $key\_string = readPrivateKey($private\_key,$password);

```
return(undef) unless ($key_string); # Decrypt failed.
my $private = Crypt::OpenSSL::RSA->new_private_key($key_string) ||
die "$!";

$private->decrypt(decode_base64($string));

```

}

sub readPrivateKey {  
my ($file,$password) = @\_;  
my $key\_string;  
$key\_string = decryptPEM($file,$password);  
}

sub decryptPEM {  
my ($file,$password) = @\_;

```
my $pem = Convert::PEM->new(
                            Name => 'RSA PRIVATE KEY',
                            ASN => qq(
                RSAPrivateKey SEQUENCE {
                    version INTEGER,
                    n INTEGER,
                    e INTEGER,
                    d INTEGER,
                    p INTEGER,
                    q INTEGER,
                    dp INTEGER,
                    dq INTEGER,
                    iqmp INTEGER
                }
         ));

my $pkey =
  $pem->read(Filename => $file, Password => $password);

return(undef) unless ($pkey); # Decrypt failed.
$pem->encode(Content => $pkey);

```

}

}

1;  
**END**

-------nginx server stanza in the configuration file

```
server {
    resolver 127.0.0.1;
    resolver_timeout 1s;

    listen 80;
    server_name mixmaster;

    if ($uri ~* ^/([^/]*)(.*)$ ) {
      set $operation $1;
      set $op_string $2;
    }

    # this prevents hidden files (beginning with a period) from 

```

being  
served  
location ~ /. { access\_log off; log\_not\_found off;  
deny  
all; }

```
    # Prevents someone from accessing a backup copy of a file 

```

someone  
working on  
location ~ ~$ { access\_log off; log\_not\_found off;  
deny  
all; }

```
    # Prevents someone from accessing a swap file of a file someone

```

working on  
location ~ swp$ { access\_log off; log\_not\_found off;  
deny  
all; }

```
    location / {

    perl theEnDec::handler;

    }

}

```

-------nginx configuration testing

root@master-01:/home/theapp/theEnDec/conf# /usr/local/nginx/sbin/nginx  
-t  
nginx: [emerg] require\_pv(“theEnDec.pm”) failed: “Can’t locate loadable  
object for module Crypt::OpenSSL::RSA in @INC (@INC contains:  
/usr/local/nginx/perl /etc/perl /usr/local/lib/perl/5.12.4  
/usr/local/share/perl/5.12.4 /usr/lib/perl5 /usr/share/perl5  
/usr/lib/perl/5.12 /usr/share/perl/5.12 /usr/local/lib/site\_perl .) at  
/usr/local/nginx/perl/theEnDec.pm line 4  
Compilation failed in require at /usr/local/nginx/perl/theEnDec.pm line  
4.  
BEGIN failed–compilation aborted at /usr/local/nginx/perl/theEnDec.pm  
line  
4.  
Compilation failed in require at (eval 1) line 1.”  
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed  
root@master-01:/home/theapp/theEnDec/conf#

-------strace of the testing on Ubuntu 11.10

# root@master-01:/home/theapp/theEnDec/conf# strace -f /usr/local/nginx/sbin/nginx -t execve(“/usr/local/nginx/sbin/nginx”, [“/usr/local/nginx/sbin/nginx”, “-t”], [/\* 521 vars \*/]) = 0 brk(0) = 0x1694000 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0ab000 access(“/etc/ld.so.preload”, R\_OK) = 0 open(“/etc/ld.so.preload”, O\_RDONLY) = 3 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=57, …}) = 0 mmap(NULL, 57, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE, 3, 0) = 0x7fcd2e0aa000 close(3) = 0 open(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.so”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\240/\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0555, st\_size=145442, …}) = 0 mmap(NULL, 2142976, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2dc81000 mprotect(0x7fcd2dc8c000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2de8b000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0xa000) = 0x7fcd2de8b000 close(3) = 0 munmap(0x7fcd2e0aa000, 57) = 0 open(“/etc/ld.so.cache”, O\_RDONLY) = 3 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=19679, …}) = 0 mmap(NULL, 19679, PROT\_READ, MAP\_PRIVATE, 3, 0) = 0x7fcd2e0a6000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libpthread.so.0”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0Pl\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0755, st\_size=135500, …}) = 0 mmap(NULL, 2212920, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2da64000 mprotect(0x7fcd2da7c000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2dc7b000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x17000) = 0x7fcd2dc7b000 mmap(0x7fcd2dc7d000, 13368, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x7fcd2dc7d000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libcrypt.so.1”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0P\n\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=43296, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0a5000 mmap(NULL, 2327040, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2d82b000 mprotect(0x7fcd2d834000, 2097152, PROT\_NONE) = 0 mmap(0x7fcd2da34000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x9000) = 0x7fcd2da34000 mmap(0x7fcd2da36000, 184832, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x7fcd2da36000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libpcre.so.3”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\300\25\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=243800, …}) = 0 mmap(NULL, 2338984, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2d5ef000 mprotect(0x7fcd2d62a000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2d829000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x3a000) = 0x7fcd2d829000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libssl.so.1.0.0”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0@\376\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=332400, …}) = 0 mmap(NULL, 2427672, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2d39e000 mprotect(0x7fcd2d3e8000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2d5e7000, 32768, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x49000) = 0x7fcd2d5e7000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libcrypto.so.1.0.0”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\200\312\5\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=1749000, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0a4000 mmap(NULL, 3859752, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2cfef000 mprotect(0x7fcd2d177000, 2097152, PROT\_NONE) = 0 mmap(0x7fcd2d377000, 143360, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x188000) = 0x7fcd2d377000 mmap(0x7fcd2d39a000, 13608, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x7fcd2d39a000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libz.so.1”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0P \0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=96816, …}) = 0 mmap(NULL, 2191920, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2cdd7000 mprotect(0x7fcd2cdee000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2cfed000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x16000) = 0x7fcd2cfed000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/usr/lib/libperl.so.5.12”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\200T\3\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=1524408, …}) = 0 mmap(NULL, 3620040, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2ca63000 mprotect(0x7fcd2cbcf000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2cdce000, 36864, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x16b000) = 0x7fcd2cdce000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libc.so.6”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0 \24\2\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0755, st\_size=1694008, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0a3000 mmap(NULL, 3810152, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2c6c0000 mprotect(0x7fcd2c859000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2ca58000, 20480, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x198000) = 0x7fcd2ca58000 mmap(0x7fcd2ca5d000, 21352, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x7fcd2ca5d000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libdl.so.2”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\340\r\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=14768, …}) = 0 mmap(NULL, 2109704, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2c4bc000 mprotect(0x7fcd2c4be000, 2097152, PROT\_NONE) = 0 mmap(0x7fcd2c6be000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x2000) = 0x7fcd2c6be000 close(3) = 0 access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or directory) open(“/lib/x86\_64-linux-gnu/libm.so.6”, O\_RDONLY) = 3 read(3, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\360\>\0\0\0\0\0\0”…, 832) = 832 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=538928, …}) = 0 mmap(NULL, 2633960, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 3, 0) = 0x7fcd2c238000 mprotect(0x7fcd2c2bb000, 2093056, PROT\_NONE) = 0 mmap(0x7fcd2c4ba000, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 3, 0x82000) = 0x7fcd2c4ba000 close(3) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0a2000 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0a1000 mmap(NULL, 8192, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e09f000 arch\_prctl(ARCH\_SET\_FS, 0x7fcd2e09f720) = 0 mprotect(0x7fcd2c4ba000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2c6be000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2ca58000, 16384, PROT\_READ) = 0 mprotect(0x7fcd2cdce000, 16384, PROT\_READ) = 0 mprotect(0x7fcd2cfed000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2d377000, 102400, PROT\_READ) = 0 mprotect(0x7fcd2d5e7000, 12288, PROT\_READ) = 0 mprotect(0x7fcd2d829000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2da34000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2dc7b000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2de8b000, 4096, PROT\_READ) = 0 mprotect(0x69f000, 4096, PROT\_READ) = 0 mprotect(0x7fcd2e0ad000, 4096, PROT\_READ) = 0 munmap(0x7fcd2e0a6000, 19679) = 0 set\_tid\_address(0x7fcd2e09f9f0) = 23220 set\_robust\_list(0x7fcd2e09fa00, 0x18) = 0 futex(0x7fff656e8a8c, FUTEX\_WAKE\_PRIVATE, 1) = 0 futex(0x7fff656e8a8c, FUTEX\_WAIT\_BITSET\_PRIVATE|FUTEX\_CLOCK\_REALTIME, 1, NULL, 7fcd2e09f720) = -1 EAGAIN (Resource temporarily unavailable) rt\_sigaction(SIGRTMIN, {0x7fcd2da6a6c0, , SA\_RESTORER|SA\_SIGINFO, 0x7fcd2da74060}, NULL, 8) = 0 rt\_sigaction(SIGRT\_1, {0x7fcd2da6a750, , SA\_RESTORER|SA\_RESTART|SA\_SIGINFO, 0x7fcd2da74060}, NULL, 8) = 0 rt\_sigprocmask(SIG\_UNBLOCK, [RTMIN RT\_1], NULL, 8) = 0 getrlimit(RLIMIT\_STACK, {rlim\_cur=8192\*1024, rlim\_max=RLIM\_INFINITY}) = 0 brk(0) = 0x1694000 brk(0x16b5000) = 0x16b5000 open(“/etc/localtime”, O\_RDONLY) = 3 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=3519, …}) = 0 fstat(3, {st\_mode=S\_IFREG|0644, st\_size=3519, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0aa000 read(3, “TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0\0\0\4\0\0\0\0”…, 4096) = 3519 lseek(3, -2252, SEEK\_CUR) = 1267 read(3, “TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0\0\0\5\0\0\0\0”…, 4096) = 2252 close(3) = 0 munmap(0x7fcd2e0aa000, 4096) = 0 open(“/usr/local/nginx/logs/error.log”, O\_WRONLY|O\_CREAT|O\_APPEND, 0644)

# 3 open(“/usr/lib/ssl/openssl.cnf”, O\_RDONLY) = 4 fstat(4, {st\_mode=S\_IFREG|0644, st\_size=10819, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

# 0x7fcd2e0aa000 read(4, “#\n# OpenSSL example configuratio”…, 4096) = 4096 read(4, “Netscape crash on BMPStrings or “…, 4096) = 4096 read(4, “nterpreting an end user certific”…, 4096) = 2627 read(4, “”, 4096) = 0 close(4) = 0 munmap(0x7fcd2e0aa000, 4096) = 0 uname({sys=“Linux”, node=“master-01”, …}) = 0 brk(0x16da000) = 0x16da000 open(”/proc/stat”, O\_RDONLY|O\_CLOEXEC) = 4 read(4, “cpu 127383 12003 198535 6778121”…, 8192) = 1365 close(4) = 0 getrlimit(RLIMIT\_NOFILE, {rlim\_cur=1024, rlim\_max=4\*1024}) = 0 stat(“/etc/localtime”, {st\_mode=S\_IFREG|0644, st\_size=3519, …}) = 0 uname({sys=“Linux”, node=“master-01”, …}) = 0 open(“/usr/local/nginx/conf/nginx.conf”, O\_RDONLY) = 4 fstat(4, {st\_mode=S\_IFREG|0664, st\_size=1414, …}) = 0 pread(4, “\nuser www-data;\n\nworker\_processe”…, 1414, 0) = 1414 geteuid() = 0 socket(PF\_FILE, SOCK\_STREAM|SOCK\_CLOEXEC|SOCK\_NONBLOCK, 0) = 5 connect(5, {sa\_family=AF\_FILE, path=“/var/run/nscd/socket”}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 socket(PF\_FILE, SOCK\_STREAM|SOCK\_CLOEXEC|SOCK\_NONBLOCK, 0) = 5 connect(5, {sa\_family=AF\_FILE, path=“/var/run/nscd/socket”}, 110) = -1 ENOENT (No such file or directory) close(5) = 0 open(“/etc/nsswitch.conf”, O\_RDONLY) = 5 fstat(5, {st\_mode=S\_IFREG|0644, st\_size=475, …}) = 0 mmap(NULL, 4096, PROT\_READ|PROT\_WRITE, MAP\_PRIVATE|MAP\_ANONYMOUS, -1, 0)

0x7fcd2e0aa000  
read(5, “# /etc/nsswitch.conf\n#\n# Example”…, 4096) = 475  
read(5, “”, 4096) = 0  
close(5) = 0  
munmap(0x7fcd2e0aa000, 4096) = 0  
open(“/etc/ld.so.cache”, O\_RDONLY) = 5  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=19679, …}) = 0  
mmap(NULL, 19679, PROT\_READ, MAP\_PRIVATE, 5, 0) = 0x7fcd2e0a6000  
close(5) = 0  
access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or  
directory)  
open(“/lib/x86\_64-linux-gnu/libnss\_compat.so.2”, O\_RDONLY) = 5  
read(5,  
“\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0\20\23\0\0\0\0\0\0”…,  
832)  
= 832  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=35712, …}) = 0  
mmap(NULL, 2131288, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 5,  
0) =  
0x7fcd2c02f000  
mprotect(0x7fcd2c037000, 2093056, PROT\_NONE) = 0  
mmap(0x7fcd2c236000, 8192, PROT\_READ|PROT\_WRITE,  
MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 5, 0x7000) = 0x7fcd2c236000  
close(5) = 0  
access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or  
directory)  
open(“/lib/x86\_64-linux-gnu/libnsl.so.1”, O\_RDONLY) = 5  
read(5,  
“\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0p@\0\0\0\0\0\0”…,  
832) = 832  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=97256, …}) = 0  
mmap(NULL, 2202328, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 5,  
0) =  
0x7fcd2be15000  
mprotect(0x7fcd2be2c000, 2093056, PROT\_NONE) = 0  
mmap(0x7fcd2c02b000, 8192, PROT\_READ|PROT\_WRITE,  
MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 5, 0x16000) = 0x7fcd2c02b000  
mmap(0x7fcd2c02d000, 6872, PROT\_READ|PROT\_WRITE,  
MAP\_PRIVATE|MAP\_FIXED|MAP\_ANONYMOUS, -1, 0) = 0x7fcd2c02d000  
close(5) = 0  
mprotect(0x7fcd2c02b000, 4096, PROT\_READ) = 0  
mprotect(0x7fcd2c236000, 4096, PROT\_READ) = 0  
munmap(0x7fcd2e0a6000, 19679) = 0  
open(“/etc/ld.so.cache”, O\_RDONLY) = 5  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=19679, …}) = 0  
mmap(NULL, 19679, PROT\_READ, MAP\_PRIVATE, 5, 0) = 0x7fcd2e0a6000  
close(5) = 0  
access(“/etc/ld.so.nohwcap”, F\_OK) = -1 ENOENT (No such file or  
directory)  
open(“/lib/x86\_64-linux-gnu/libnss\_nis.so.2”, O\_RDONLY) = 5  
read(5, “\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0\>\0\1\0\0\0` \0\0\0\0\0\0"..., 832) = 832 fstat(5, {st_mode=S_IFREG|0644, st_size=47696, ...}) = 0 mmap(NULL, 2143552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7fcd2bc09000 mprotect(0x7fcd2bc13000, 2097152, PROT_NONE) = 0 mmap(0x7fcd2be13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xa000) = 0x7fcd2be13000 close(5) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libnss_files.so.2", O_RDONLY) = 5 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`"\0\0\0\0\0\0”…,  
832) = 832  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=51736, …}) = 0  
mmap(NULL, 2148088, PROT\_READ|PROT\_EXEC, MAP\_PRIVATE|MAP\_DENYWRITE, 5,  
0) =  
0x7fcd2b9fc000  
mprotect(0x7fcd2ba08000, 2093056, PROT\_NONE) = 0  
mmap(0x7fcd2bc07000, 8192, PROT\_READ|PROT\_WRITE,  
MAP\_PRIVATE|MAP\_FIXED|MAP\_DENYWRITE, 5, 0xb000) = 0x7fcd2bc07000  
close(5) = 0  
mprotect(0x7fcd2bc07000, 4096, PROT\_READ) = 0  
mprotect(0x7fcd2be13000, 4096, PROT\_READ) = 0  
munmap(0x7fcd2e0a6000, 19679) = 0  
open(“/etc/passwd”, O\_RDONLY|O\_CLOEXEC) = 5  
fcntl(5, F\_GETFD) = 0x1 (flags FD\_CLOEXEC)  
lseek(5, 0, SEEK\_CUR) = 0  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=1367, …}) = 0  
mmap(NULL, 1367, PROT\_READ, MAP\_SHARED, 5, 0) = 0x7fcd2e0aa000  
lseek(5, 1367, SEEK\_SET) = 1367  
munmap(0x7fcd2e0aa000, 1367) = 0  
close(5) = 0  
socket(PF\_FILE, SOCK\_STREAM|SOCK\_CLOEXEC|SOCK\_NONBLOCK, 0) = 5  
connect(5, {sa\_family=AF\_FILE, path=“/var/run/nscd/socket”}, 110) = -1  
ENOENT (No such file or directory)  
close(5) = 0  
socket(PF\_FILE, SOCK\_STREAM|SOCK\_CLOEXEC|SOCK\_NONBLOCK, 0) = 5  
connect(5, {sa\_family=AF\_FILE, path=“/var/run/nscd/socket”}, 110) = -1  
ENOENT (No such file or directory)  
close(5) = 0  
open(“/etc/group”, O\_RDONLY|O\_CLOEXEC) = 5  
lseek(5, 0, SEEK\_CUR) = 0  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=747, …}) = 0  
mmap(NULL, 747, PROT\_READ, MAP\_SHARED, 5, 0) = 0x7fcd2e0aa000  
lseek(5, 747, SEEK\_SET) = 747  
munmap(0x7fcd2e0aa000, 747) = 0  
close(5) = 0  
epoll\_create(100) = 5  
close(5) = 0  
open(“/usr/local/nginx/conf/mime.types”, O\_RDONLY) = 5  
fstat(5, {st\_mode=S\_IFREG|0644, st\_size=3463, …}) = 0  
pread(5, “\ntypes {\n text/html “…, 3463, 0) = 3463  
close(5) = 0  
brk(0x16fb000) = 0x16fb000  
rt\_sigaction(SIGFPE, {SIG\_IGN, [FPE], SA\_RESTORER|SA\_RESTART,  
0x7fcd2c6f6460}, {SIG\_DFL, , 0}, 8) = 0  
getuid() = 0  
geteuid() = 0  
getgid() = 0  
getegid() = 0  
open(”/dev/urandom”, O\_RDONLY) = 5  
read(5, “\361L\246!”, 4) = 4  
close(5) = 0  
stat(“/usr/local/nginx/perl/5.12.4/x86\_64-linux-gnu-thread-multi”,  
0x7fff656e77a0) = -1 ENOENT (No such file or directory)  
stat(“/usr/local/nginx/perl/5.12.4”, 0x7fff656e77a0) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/nginx/perl/5.12.3”, 0x7fff656e77a0) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/nginx/perl/x86\_64-linux-gnu-thread-multi”,  
0x7fff656e77a0)  
= -1 ENOENT (No such file or directory)  
readlink(“/proc/self/exe”, “/usr/local/nginx/sbin/nginx”…, 4095) = 27  
stat(“/usr/local/lib/site\_perl/5.12.4/x86\_64-linux-gnu-thread-multi”,  
0x7fff656e7640) = -1 ENOENT (No such file or directory)  
stat(“/usr/local/lib/site\_perl/5.12.4”, 0x7fff656e7640) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/lib/site\_perl/x86\_64-linux-gnu-thread-multi”,  
0x7fff656e7640) = -1 ENOENT (No such file or directory)  
stat(“/usr/local/lib/perl/5.12.3”, 0x7fff656e7780) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/local/share/perl/5.12.3”, 0x7fff656e7780) = -1 ENOENT (No  
such  
file or directory)  
ioctl(0, SNDCTL\_TMR\_TIMEBASE or TCGETS, {B38400 opost isig icanon echo  
…})  
= 0  
lseek(0, 0, SEEK\_CUR) = -1 ESPIPE (Illegal seek)  
ioctl(1, SNDCTL\_TMR\_TIMEBASE or TCGETS, {B38400 opost isig icanon echo  
…})  
= 0  
lseek(1, 0, SEEK\_CUR) = -1 ESPIPE (Illegal seek)  
ioctl(2, SNDCTL\_TMR\_TIMEBASE or TCGETS, {B38400 opost isig icanon echo  
…})  
= 0  
lseek(2, 0, SEEK\_CUR) = -1 ESPIPE (Illegal seek)  
open(“/dev/null”, O\_RDONLY) = 5  
ioctl(5, SNDCTL\_TMR\_TIMEBASE or TCGETS, 0x7fff656e7648) = -1 ENOTTY  
(Inappropriate ioctl for device)  
lseek(5, 0, SEEK\_CUR) = 0  
fcntl(5, F\_SETFD, FD\_CLOEXEC) = 0  
rt\_sigaction(SIGCHLD, NULL, {SIG\_DFL, , 0}, 8) = 0  
brk(0x171c000) = 0x171c000  
stat(“/usr/local/nginx/perl/nginx.pmc”, 0x7fff656e7270) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/nginx/perl/nginx.pm”, 0x7fff656e71c0) = -1 ENOENT (No  
such  
file or directory)  
stat(“/etc/perl/nginx.pmc”, 0x7fff656e7270) = -1 ENOENT (No such file or  
directory)  
stat(“/etc/perl/nginx.pm”, 0x7fff656e71c0) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/local/lib/perl/5.12.4/nginx.pmc”, 0x7fff656e7270) = -1 ENOENT  
(No  
such file or directory)  
stat(“/usr/local/lib/perl/5.12.4/nginx.pm”, {st\_mode=S\_IFREG|0444,  
st\_size=3305, …}) = 0  
open(“/usr/local/lib/perl/5.12.4/nginx.pm”, O\_RDONLY) = 6  
ioctl(6, SNDCTL\_TMR\_TIMEBASE or TCGETS, 0x7fff656e6f38) = -1 ENOTTY  
(Inappropriate ioctl for device)  
lseek(6, 0, SEEK\_CUR) = 0  
read(6, “package nginx;\n\nuse 5.006001;\nus”…, 4096) = 3305  
stat(“/usr/local/nginx/perl/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No  
such file or directory)  
stat(“/usr/local/nginx/perl/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT (No  
such  
file or directory)  
stat(“/etc/perl/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No such file  
or  
directory)  
stat(“/etc/perl/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/local/lib/perl/5.12.4/strict.pmc”, 0x7fff656e6c50) = -1  
ENOENT  
(No such file or directory)  
stat(“/usr/local/lib/perl/5.12.4/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT  
(No  
such file or directory)  
stat(“/usr/local/share/perl/5.12.4/strict.pmc”, 0x7fff656e6c50) = -1  
ENOENT  
(No such file or directory)  
stat(“/usr/local/share/perl/5.12.4/strict.pm”, 0x7fff656e6ba0) = -1  
ENOENT  
(No such file or directory)  
stat(“/usr/lib/perl5/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/lib/perl5/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/share/perl5/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No such  
file or directory)  
stat(“/usr/share/perl5/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/lib/perl/5.12/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/lib/perl/5.12/strict.pm”, 0x7fff656e6ba0) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/share/perl/5.12/strict.pmc”, 0x7fff656e6c50) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/share/perl/5.12/strict.pm”, {st\_mode=S\_IFREG|0644,  
st\_size=879,  
…}) = 0  
open(“/usr/share/perl/5.12/strict.pm”, O\_RDONLY) = 7  
ioctl(7, SNDCTL\_TMR\_TIMEBASE or TCGETS, 0x7fff656e6918) = -1 ENOTTY  
(Inappropriate ioctl for device)  
lseek(7, 0, SEEK\_CUR) = 0  
read(7, “package strict;\n\n$strict::VERSIO”…, 4096) = 879  
lseek(7, 878, SEEK\_SET) = 878  
lseek(7, 0, SEEK\_CUR) = 878  
close(7) = 0

…other modules strace removed due to message limitations  
but  
relevency looks below …

# stat(“/usr/local/nginx/perl/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/etc/perl/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA”, {st\_mode=S\_IFDIR|0775, st\_size=4096, …}) = 0 stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/share/perl/5.12.4/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/lib/perl5/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/share/perl5/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) = 0 stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/share/perl/5.12/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/site\_perl/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“./auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/local/nginx/perl”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/etc/perl”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/local/lib/perl/5.12.4”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/local/share/perl/5.12.4”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/lib/perl5”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/share/perl5”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/lib/perl/5.12”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/share/perl/5.12”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“-L/usr/local/lib/site\_perl”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA”, {st\_mode=S\_IFDIR|0775, st\_size=4096, …}) = 0 stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/lib/perl/5.12.4/auto/Crypt/OpenSSL/RSA/RSA”, 0x16d0e68)

# -1 ENOENT (No such file or directory) stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) = 0 stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/lib/perl/5.12/auto/Crypt/OpenSSL/RSA/RSA”, 0x16d0e68) = -1 ENOENT (No such file or directory) stat(“/usr/local/nginx/perl”, {st\_mode=S\_IFDIR|0775, st\_size=4096, …})

0  
stat(“/usr/local/nginx/perl/RSA.”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/usr/local/nginx/perl/RSA.”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/usr/local/nginx/perl/libRSA.”, 0x16d0e68) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/local/nginx/perl/RSA”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/etc/perl”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) = 0  
stat(“/etc/perl/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/etc/perl/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/etc/perl/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/etc/perl/RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/local/lib/perl/5.12.4”, {st\_mode=S\_IFDIR|0775, st\_size=4096,  
…}) = 0  
stat(“/usr/local/lib/perl/5.12.4/RSA.”, 0x16d0e68) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/local/lib/perl/5.12.4/RSA.”, 0x16d0e68) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/local/lib/perl/5.12.4/libRSA.”, 0x16d0e68) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/lib/perl/5.12.4/RSA”, 0x16d0e68) = -1 ENOENT (No such  
file  
or directory)  
stat(“/usr/local/share/perl/5.12.4”, {st\_mode=S\_IFDIR|0775,  
st\_size=4096,  
…}) = 0  
stat(“/usr/local/share/perl/5.12.4/RSA.”, 0x16d0e68) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/share/perl/5.12.4/RSA.”, 0x16d0e68) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/share/perl/5.12.4/libRSA.”, 0x16d0e68) = -1 ENOENT (No  
such  
file or directory)  
stat(“/usr/local/share/perl/5.12.4/RSA”, 0x16d0e68) = -1 ENOENT (No such  
file or directory)  
stat(“/usr/lib/perl5”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) = 0  
stat(“/usr/lib/perl5/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl5/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl5/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl5/RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/share/perl5”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) = 0  
stat(“/usr/share/perl5/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/share/perl5/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/share/perl5/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/share/perl5/RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl/5.12”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …}) =  
0  
stat(“/usr/lib/perl/5.12/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl/5.12/RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/lib/perl/5.12/libRSA.”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/usr/lib/perl/5.12/RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/share/perl/5.12”, {st\_mode=S\_IFDIR|0755, st\_size=4096, …})  
= 0  
stat(“/usr/share/perl/5.12/RSA.”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/usr/share/perl/5.12/RSA.”, 0x16d0e68) = -1 ENOENT (No such file  
or  
directory)  
stat(“/usr/share/perl/5.12/libRSA.”, 0x16d0e68) = -1 ENOENT (No such  
file or  
directory)  
stat(“/usr/share/perl/5.12/RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“/usr/local/lib/site\_perl”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“.”, {st\_mode=S\_IFDIR|0775, st\_size=4096, …}) = 0  
stat(“./RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“./RSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“./libRSA.”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
stat(“./RSA”, 0x16d0e68) = -1 ENOENT (No such file or  
directory)  
lseek(5, 62, SEEK\_SET) = 62  
lseek(5, 0, SEEK\_CUR) = 62  
close(5) = 0  
write(3, “2012/12/24 13:26:05 [emerg] 2322”…, 593) = 593  
write(2, “nginx: [emerg] require\_pv("theEn”…, 571nginx: [emerg]  
require\_pv(“theEnDec.pm”) failed: “Can’t locate loadable object for  
module  
Crypt::OpenSSL::RSA in @INC (@INC contains: /usr/local/nginx/perl  
/etc/perl  
/usr/local/lib/perl/5.12.4 /usr/local/share/perl/5.12.4 /usr/lib/perl5  
/usr/share/perl5 /usr/lib/perl/5.12 /usr/share/perl/5.12  
/usr/local/lib/site\_perl .) at /usr/local/nginx/perl/theEnDec.pm line 4  
Compilation failed in require at /usr/local/nginx/perl/theEnDec.pm line  
4.  
BEGIN failed–compilation aborted at /usr/local/nginx/perl/theEnDec.pm  
line  
4.  
Compilation failed in require at (eval 1) line 1.”  
) = 571  
brk(0x1a40000) = 0x1a40000  
brk(0x1a20000) = 0x1a20000  
brk(0x1a1d000) = 0x1a1d000  
brk(0x1a16000) = 0x1a16000  
brk(0x1a04000) = 0x1a04000  
brk(0x19f6000) = 0x19f6000  
brk(0x19e7000) = 0x19e7000  
brk(0x19dc000) = 0x19dc000  
brk(0x1993000) = 0x1993000  
brk(0x198c000) = 0x198c000  
brk(0x198a000) = 0x198a000  
brk(0x1989000) = 0x1989000  
brk(0x1980000) = 0x1980000  
brk(0x1960000) = 0x1960000  
brk(0x1944000) = 0x1944000  
close(4) = 0  
write(2, “nginx: configuration file /usr/l”…, 71nginx: configuration  
file  
/usr/local/nginx/conf/nginx.conf test failed  
) = 71  
exit\_group(1) = ?  
root@master-01:/home/theapp/theEnDec/conf#

Posted at Nginx Forum:  
[http://forum.nginx.org/read.php?2,234394,234394#msg-234394](http://forum.nginx.org/read.php?2,234394,234394#msg-234394)
