DNSCrypt

What features/apps/bugfixes needed in a future Puppy
Post Reply
Message
Author
labbe5
Posts: 2159
Joined: Wed 13 Nov 2013, 14:26
Location: Canada

DNSCrypt

#1 Post by labbe5 »

DNSCrypt is being adopted by more and more distros, in the wake of mass surveillance by ISPs and unofficially, at some level, by governments, if not by criminals looking for a quick profit.

It's a fact of digital life nowadays.

But the response by developers is develop means to protect what is left of our privacy, and DNSCrypt is one that is now available, and useful to crypt a soft spot in the network, the DNS resolving, a spot that is open to man-in-the-middle attacks, not to take lightly. Originally, it is coming from OpenDNS, but some developers are providing the technical know-how and links to help with the implementation.

Here's some links :
https://github.com/jedisct1/dnscrypt-proxy
http://dnscrypt.org/
https://www.opendns.com/about/innovations/dnscrypt/
http://www.webupd8.org/2014/08/encrypt- ... .html#more

Ubuntu-based Puppy is the best fit, because information is targeted at Ubuntu users (12.04 +)

Even if you use a VPN, such as VPNBook, combined with OpenVPN, there is still a soft spot that can be taken advantage of, the DNS resolving, which is normally not encrypted in order for the ISP to convert your input, say Murga-linux, into an IP address that a computer understands.

If you are interested, you will do a favor to the community by helping wtih the privacy and security of Puppy.

Mass surveillance is challenged by some big internet names, such as Wikimedia, but the lawsuit against NSA and DOJ will come to a close in a few years, and the end result may be that mass surveillance is ok by modern standards, if only because of terrorist threats.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#2 Post by s243a »

delete

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#3 Post by s243a »

So I downloaded this from here:
http://download.dnscrypt.org/dnscrypt-proxy/

The checksum apears to be an octet stream. How do I check the download via the octet stream? I think wget can do this.

Edit: Some quick skimming of the net makes me think wget automatically checks the octet stream. Perhaps I can make a script where if I feed it the url of the sig:
http://download.dnscrypt.org/dnscrypt-p ... tar.gz.sig
then it will auotmaically down the actual file
http://download.dnscrypt.org/dnscrypt-p ... 4.3.tar.gz
and then check the download against the sig. Perhaps, I can have my browser automatically open .sig files this way. I'm new to linux so I need an expert to tell me if this makes sense. Will a browser tell a program the URL where something is opened from or only tell it where it is downloaded after the fact?

Edit2 looking at this script (which seems to be written for something like cygwin), I think I need GNU privacy guard. I wonder which versions of puppy that this is built into. Does wget use GNU privacy gaurd?

Edit3 I typed "find . -name *gnupg*
and I found

Code: Select all

/usr/lib/gnupg2
/usr/lib/gnupg
(amoung others)
Either I installed these at some point or they came with precise. I'm guessing that I have to create a symbolic link between these and
/usr/bin/
in order to be able to use them as a command. I might have to give them executing privileges. I'm going to try this and type both

Code: Select all

gnupg2 -h
gnupg -h

and see what happens and see if this tells me how to check the sig.

Edit 4
Found what I have this way. I went to package manager in precise. I searched for gnupg. I found that I had gnupg_1.4.11
I typed "find / -name *gnupg*1.4.11*" and from this I found the files for this package listed in
/root/.packages/gnupg_1.4.11.files
I noted that for this package there was a program in the bin called
gpg

So I guess in the version I have I type "gpg" rather than "gnupg"

Edit 5
I put both the file and the sig in the same directory and typed

Code: Select all

gpg --verify dns*.sig dns*.gz
and got:

Code: Select all

gpg: Signature made Tue 10 Feb 2015 04:00:24 AM MST using RSA key ID 2B6F76DA
gpg: Can't check signature: public key not found
My question is why do I need a public key to verify a signature. Wouldn't it make more sense to have something like a checksum? Where would I look to find the public key?

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#4 Post by bark_bark_bark »

s243a wrote: My question is why do I need a public key to verify a signature. Wouldn't it make more sense to have something like a checksum? Where would I look to find the public key?
Public keys are more secure than just checksums. You should be able to find the public key on the website.
....

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#5 Post by s243a »

bark_bark_bark wrote:
s243a wrote: My question is why do I need a public key to verify a signature. Wouldn't it make more sense to have something like a checksum? Where would I look to find the public key?
Public keys are more secure than just checksums. You should be able to find the public key on the website.
I found instructions here:
Download and integrity check

DNSCrypt can be downloaded here: dnscrypt download.

After having downloaded a file, compute its SHA256 digest. For example:

Code: Select all

$ openssl dgst -sha256 dnscrypt-proxy-1.4.3.tar.bz2
 


Verify this digest against the expected one, that can be retrieved using a simple DNS query:

Code: Select all

$ drill -D TXT dnscrypt-proxy-1.4.3.tar.bz2.download.dnscrypt.org


or:

Code: Select all

$ dig +short +dnssec TXT dnscrypt-proxy-1.4.3.tar.bz2.download.dnscrypt.org


If the content of the TXT record doesn't match the SHA256 digest you computed, please file a bug report on Github as soon as possible and don't go any further.
http://dnscrypt.org/

I typed both "drill -h" and "dig -h" and nothing, so I need to figure out what packages I need to use these commands or something similar.

edit:
these links seem relevant:
https://github.com/apache/drill/blob/master/KEYS

according to here:
http://www.nlnetlabs.nl/projects/drill/
drill is bundled with idns:
http://www.nlnetlabs.nl/projects/ldns/

perhaps dig has to do with DNSSEC, not sure. I need to go to work now so I'll look at it when I get home:
https://grepular.com/Understanding_DNSSEC

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#6 Post by s243a »

Some further info related to the above post:
BIND, the most popular DNS name server (which includes dig), incorporates the newer DNSSEC-bis (DS records) protocol as well as support for NSEC3 records.
Drill is a DNSSEC-enabled dig-like tool bundled with ldns.
http://en.wikipedia.org/wiki/Domain_Nam ... Extensions

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#7 Post by s243a »

So I've installed BIND client, (and also BInd utils but I don't know if I needed Bind utils) via the puppy package manager and then typed:

Code: Select all

 dig +short +dnssec TXT dnscrypt-proxy-1.4.3.tar.bz2.download.dnscrypt.org 
I got the error:

Code: Select all

"dst_lib_init: openssl failure"
According to here:
https://www.cygwin.com/ml/cygwin/2012-08/msg00514.html

this error suggest that I need openssl but according to my package manager I have openssl_1.0.1. Perhaps I need another openssl_1.0.1 but which one? A search in puppy package manager reveals quite a few. I'm current attempting to do this on precise but will try it on other versions of puppy once successful.

User avatar
8Geee
Posts: 2181
Joined: Mon 12 May 2008, 11:29
Location: N.E. USA

#8 Post by 8Geee »

s243a:

If you have openssl 1.0.1 the latest version is "k". There is also a .so lib file that goes with it. Since you're compiling, the DOCS files may be useful, otherwise discard.
**EDIT**
If using a slackware puppy, use the slackware package manager instead.
Otherwise, there are still versions of 1.0.0 and 0.9.8 being supported. It might also be you are using the "wrong" openssl.
Linux user #498913 "Some people need to reimagine their thinking."
"Zuckerberg: a large city inhabited by mentally challenged people."

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#9 Post by s243a »

Ran

Code: Select all

strace -o bla.txt dig dnscrypt.org &>bla2.txt
bla2.txt shown below.

it looks like I'm missing a bunch of tsl (transport layer security) libraries for openssl. I'll try installing these and see what happens.

Code: Select all

execve("/usr/bin/dig", ["dig", "dnscrypt.org"], [/* 57 vars */]) = 0
brk(0)                                  = 0xb7714000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76d0000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/sse2", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/lib/tls/i686/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/i686", 0xbfaf4370)     = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/lib/tls/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/sse2", 0xbfaf4370)     = -1 ENOENT (No such file or directory)
open("/lib/tls/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls/cmov", 0xbfaf4370)     = -1 ENOENT (No such file or directory)
open("/lib/tls/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/tls", 0xbfaf4370)          = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/lib/i686/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/sse2", 0xbfaf4370)    = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686/cmov", 0xbfaf4370)    = -1 ENOENT (No such file or directory)
open("/lib/i686/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/i686", 0xbfaf4370)         = -1 ENOENT (No such file or directory)
open("/lib/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2/cmov", 0xbfaf4370)    = -1 ENOENT (No such file or directory)
open("/lib/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/sse2", 0xbfaf4370)         = -1 ENOENT (No such file or directory)
open("/lib/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib/cmov", 0xbfaf4370)         = -1 ENOENT (No such file or directory)
open("/lib/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("/usr/lib/tls/i686/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/sse2", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/i686/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/i686", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/sse2", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/tls/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/tls", 0xbfaf4370)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/sse2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686/cmov", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/i686/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/i686", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/sse2/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2/cmov", 0xbfaf4370) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/sse2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/lib/cmov/liblwres.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/cmov", 0xbfaf4370)     = -1 ENOENT (No such file or directory)
open("/usr/lib/liblwres.so.80", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20 \0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=75040, ...}) = 0
mmap2(NULL, 77940, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76bc000
mmap2(0xb76ce000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11) = 0xb76ce000
close(3)                                = 0
open("/lib/libdns.so.81", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libdns.so.81", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libdns.so.81", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libdns.so.81", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libdns.so.81", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libdns.so.81", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0Pm\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1713896, ...}) = 0
mmap2(NULL, 1714536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7519000
mmap2(0xb76b8000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f) = 0xb76b8000
close(3)                                = 0
open("/lib/libbind9.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libbind9.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libbind9.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libbind9.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libbind9.so.80", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libbind9.so.80", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\32\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=46272, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7518000
mmap2(NULL, 49180, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb750b000
mmap2(0xb7516000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa) = 0xb7516000
close(3)                                = 0
open("/lib/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libisccfg.so.82", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p`\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=93564, ...}) = 0
mmap2(NULL, 99744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb74f2000
mmap2(0xb7506000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb7506000
mmap2(0xb750a000, 1440, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb750a000
close(3)                                = 0
open("/lib/libisc.so.83", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libisc.so.83", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libisc.so.83", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libisc.so.83", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libisc.so.83", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libisc.so.83", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\226\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=370812, ...}) = 0
mmap2(NULL, 374080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7496000
mprotect(0xb74ef000, 4096, PROT_NONE)   = 0
mmap2(0xb74f0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x59) = 0xb74f0000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p[\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=124663, ...}) = 0
mmap2(NULL, 107008, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb747b000
mmap2(0xb7492000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb7492000
mmap2(0xb7494000, 4608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7494000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\226\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1730024, ...}) = 0
mmap2(NULL, 1739484, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb72d2000
mmap2(0xb7475000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a3) = 0xb7475000
mmap2(0xb7478000, 10972, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7478000
close(3)                                = 0
open("/lib/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libgssapi_krb5.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0pg\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=249660, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb72d1000
mmap2(NULL, 252712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7293000
mprotect(0xb72ce000, 4096, PROT_NONE)   = 0
mmap2(0xb72cf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3b) = 0xb72cf000
close(3)                                = 0
open("/lib/libcrypto.so.1.0.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\201\3\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1734772, ...}) = 0
mmap2(NULL, 1746768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb70e8000
mmap2(0xb727a000, 90112, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x192) = 0xb727a000
mmap2(0xb7290000, 10064, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7290000
close(3)                                = 0
open("/lib/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libGeoIP.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0000\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=204172, ...}) = 0
mmap2(NULL, 202968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb70b6000
mmap2(0xb70e6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x30) = 0xb70e6000
close(3)                                = 0
open("/lib/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libxml2.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libxml2.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\271\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1360484, ...}) = 0
mmap2(NULL, 1362932, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f69000
mmap2(0xb70b0000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x147) = 0xb70b0000
mmap2(0xb70b5000, 3060, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb70b5000
close(3)                                = 0
open("/lib/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libkrb5.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\345\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=842684, ...}) = 0
mmap2(NULL, 845804, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e9a000
mmap2(0xb6f62000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xc7) = 0xb6f62000
close(3)                                = 0
open("/lib/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libk5crypto.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P&\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=157284, ...}) = 0
mmap2(NULL, 163668, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e72000
mmap2(0xb6e98000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25) = 0xb6e98000
close(3)                                = 0
open("/lib/libcom_err.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\r\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13864, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e71000
mmap2(NULL, 16580, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e6c000
mmap2(0xb6e6f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb6e6f000
close(3)                                = 0
open("/lib/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/sse2/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/libkrb5support.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\27\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=30320, ...}) = 0
mmap2(NULL, 33116, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e63000
mmap2(0xb6e6a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb6e6a000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13940, ...}) = 0
mmap2(NULL, 16504, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e5e000
mmap2(0xb6e61000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb6e61000
close(3)                                = 0
open("/lib/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\27\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=83572, ...}) = 0
mmap2(NULL, 86288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e48000
mmap2(0xb6e5c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb6e5c000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000D\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=173576, ...}) = 0
mmap2(NULL, 176256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e1c000
mmap2(0xb6e46000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29) = 0xb6e46000
close(3)                                = 0
open("/lib/libkeyutils.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200\v\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13672, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6e1b000
mmap2(NULL, 12340, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e17000
mmap2(0xb6e19000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb6e19000
close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260&\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=83776, ...}) = 0
mmap2(NULL, 96296, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6dff000
mprotect(0xb6e12000, 4096, PROT_NONE)   = 0
mmap2(0xb6e13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13) = 0xb6e13000
mmap2(0xb6e15000, 6184, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e15000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dfe000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dfd000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb6dfd700, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7475000, 8192, PROT_READ)   = 0
mprotect(0xb6e13000, 4096, PROT_READ)   = 0
mprotect(0xb6e19000, 4096, PROT_READ)   = 0
mprotect(0xb6e46000, 4096, PROT_READ)   = 0
mprotect(0xb6e5c000, 4096, PROT_READ)   = 0
mprotect(0xb6e61000, 4096, PROT_READ)   = 0
mprotect(0xb6e6a000, 4096, PROT_READ)   = 0
mprotect(0xb7492000, 4096, PROT_READ)   = 0
mprotect(0xb6e6f000, 4096, PROT_READ)   = 0
mprotect(0xb6e98000, 4096, PROT_READ)   = 0
mprotect(0xb6f62000, 24576, PROT_READ)  = 0
mprotect(0xb70b0000, 16384, PROT_READ)  = 0
mprotect(0xb70e6000, 4096, PROT_READ)   = 0
mprotect(0xb727a000, 61440, PROT_READ)  = 0
mprotect(0xb72cf000, 4096, PROT_READ)   = 0
mprotect(0xb74f0000, 4096, PROT_READ)   = 0
mprotect(0xb76b8000, 4096, PROT_READ)   = 0
mprotect(0xb7506000, 4096, PROT_READ)   = 0
mprotect(0xb7516000, 4096, PROT_READ)   = 0
mprotect(0xb76ce000, 4096, PROT_READ)   = 0
mprotect(0xb7711000, 4096, PROT_READ)   = 0
mprotect(0xb76f2000, 4096, PROT_READ)   = 0
set_tid_address(0xb6dfd768)             = 7971
set_robust_list(0xb6dfd770, 0xc)        = 0
futex(0xbfaf4984, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, b6dfd700) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0xb7480570, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb74805f0, [], SA_RESTART|SA_SIGINFO}, 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
uname({sys="Linux", node="puppypc19500", ...}) = 0
rt_sigaction(SIGINT, {0xb74c6ef0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, {0xb74c6ef0, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGHUP, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT TERM], NULL, 8) = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
close(3)                                = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = -1 EAFNOSUPPORT (Address family not supported by protocol)
socket(PF_FILE, SOCK_STREAM, 0)         = 3
close(3)                                = 0
futex(0xb74f14f8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb74f140c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
brk(0)                                  = 0xb7714000
brk(0xb7735000)                         = 0xb7735000
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6dbc000
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb65bb000
mprotect(0xb65bb000, 4096, PROT_NONE)   = 0
clone(child_stack=0xb6dbb424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb6dbbba8, {entry_number:6, base_addr:0xb6dbbb40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb6dbbba8) = 7975
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb5dba000
mprotect(0xb5dba000, 4096, PROT_NONE)   = 0
clone(child_stack=0xb65ba424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb65baba8, {entry_number:6, base_addr:0xb65bab40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb65baba8) = 7976
pipe([3, 4])                            = 0
fcntl64(3, F_GETFL)                     = 0 (flags O_RDONLY)
fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
epoll_create(64)                        = 5
epoll_ctl(5, EPOLL_CTL_ADD, 3, {EPOLLIN, {u32=3, u64=3}}) = 0
mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xb55b9000
mprotect(0xb55b9000, 4096, PROT_NONE)   = 0
clone(child_stack=0xb5db9424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0xb5db9ba8, {entry_number:6, base_addr:0xb5db9b40, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}, child_tidptr=0xb5db9ba8) = 7977
open("/usr/share/locale/en_CA.UTF-8/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_CA.UTF-8/LC_MESSAGES/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libdst.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0xb76bb960, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/share/locale/en_CA.UTF-8/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_CA.UTF-8/LC_MESSAGES/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libisc.cat", O_RDONLY) = -1 ENOENT (No such file or directory)
futex(0xb74f13f0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb74f146c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0xb76bb964, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/ssl/openssl.cnf", O_RDONLY|O_LARGEFILE) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=9374, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb55b8000
read(6, "#\n# OpenSSL example configuratio"..., 4096) = 4096
read(6, "_name ]\ncountryName\t\t\t= Country "..., 4096) = 4096
read(6, " an SSL server.\n# nsCertType\t\t\t="..., 4096) = 1182
read(6, "", 4096)                       = 0
close(6)                                = 0
munmap(0xb55b8000, 4096)                = 0
futex(0xb6e62050, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgost.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "dig: ", 5dig: )                    = 5
write(2, "dst_lib_init: openssl failure", 29dst_lib_init: openssl failure) = 29
write(2, "\n", 1
)                       = 1
exit_group(10)                          = ?


s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#10 Post by s243a »

I found another error. I had to reinstall lib5kcrypto. The package manger said I had it, but there was no associated file, in /root/.packages which suggested to me that it was missing. Let's see what else I'm missing.

edit: also installed liblwres80_9.8.1.dfsg.P1

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#11 Post by s243a »

I think I need libgost

https://github.com/luvit/openssl/tree/m ... nes/ccgost

since the last missing file listed in my strace output was:

Code: Select all

open("/usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgost.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "dig: ", 5dig: )                    = 5

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#12 Post by s243a »

So I got gost-engine working (see my thread) and Now I follow the instructions at:

http://dnscrypt.org/

Code: Select all

Kerberos V5-1.13.1 

# openssl dgst -sha256 dnscrypt-proxy-1.4.3.tar.bz2
SHA256(dnscrypt-proxy-1.4.3.tar.gz)= f10f10c18e25ced3c5ec5d0c4145d33270f9cfa991fd1b18d5d9af00e4d9b68e
SHA256(dnscrypt-proxy-1.4.3.tar.gz.sig)= 5d068a463707ec350620554d8d1b3cbe5e6f3e3e11875773e2e5baf0465a2ad4


# dig +short +dnssec TXT dnscrypt-proxy-1.4.3.tar.bz2.download.dnscrypt.org
f10f10c18e25ced3c5ec5d0c4145d33270f9cfa991fd1b18d5d9af00e4d9b68e
Edit:
The sigs now match. I re-downloaded the stuff, this may of fixed it, or alternatively maybe I put a "gz" in place of a "bz2" somewhere because there are both types of files at the download site.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#13 Post by s243a »

So Here are the pets that I've built so far for DNSCrypt
1. open-ssl w/ cost-engine (not required: see this thread: )
http://murga-linux.com/puppy/viewtopic.php?t=98768

2. libsodium (a required dependency for dnscrypt-proxy)
http://murga-linux.com/puppy/viewtopic.php?t=98778

3. dnscrypt-proxy
http://murga-linux.com/puppy/viewtopic.php?t=98781

4. dnscrypt-tools (Provides a GUI interface for dnscrypt-proxy)
http://murga-linux.com/puppy/viewtopic. ... 017#841017

Item #4 is a bash script. I built Items #1,#2,#3 as 32 bit binaries with #3 compiled for 2 cores. These were tested on the version of pupplinux called "precise". I should bundle Items #2,#3,#4 into a single pet.

Item #4 could use some more menu options. Also, I want to now do a pet for a DNS cache. At http://dnscrypt.org/ they suggested either unbound or powerdns-recursor. Any recommendations?

-----------
It may be my imagination but I swear that facebook is running faster now that I've added this proxy.

Post Reply