package: nagios-plugins
version: 1.4-6
severity: normal

Unfortunately, check_smtp can't handle being asked for a client
certificate, it immediately segfaults:

$ ./check_smtp -H foobar -S
Segmentation fault

Postfix logs (munged):

May 12 23:21:06 bahamut postfix/smtpd[8488]: >
evenstar.silverdream.org[82.133.58.132]: 220 smtp.pinklemon.net ESMTP
pinklemon.net (Debian/GNU)
May 12 23:21:06 bahamut postfix/smtpd[8488]: <
evenstar.silverdream.org[82.133.58.132]: STARTTLS
May 12 23:21:06 bahamut postfix/smtpd[8488]: >
evenstar.silverdream.org[82.133.58.132]: 220 Ready to start TLS
May 12 23:21:06 bahamut postfix/smtpd[8488]: setting up TLS connection
from evenstar.silverdream.org[82.133.58.132]
May 12 23:21:06 bahamut postfix/smtpd[8488]: send attr request = seed
May 12 23:21:06 bahamut postfix/smtpd[8488]: send attr size = 32
May 12 23:21:07 bahamut postfix/smtpd[8488]: private/tlsmgr: wanted
attribute: status
May 12 23:21:07 bahamut postfix/smtpd[8488]: input attribute name:
status
May 12 23:21:07 bahamut postfix/smtpd[8488]: input attribute value: 0
May 12 23:21:07 bahamut postfix/smtpd[8488]: private/tlsmgr: wanted
attribute: seed
May 12 23:21:07 bahamut postfix/smtpd[8488]: input attribute name: seed
May 12 23:21:07 bahamut postfix/smtpd[8488]: input attribute value:
Om480LBs0x8w4101Vtq6OWhsCyCGAN/rl76Tl2fKePg=
May 12 23:21:07 bahamut postfix/smtpd[8488]: private/tlsmgr: wanted
attribute: (list terminator)
May 12 23:21:07 bahamut postfix/smtpd[8488]: input attribute name: (end)
May 12 23:21:07 bahamut postfix/smtpd[8488]: SSL_accept error from
evenstar.silverdream.org[127.0.0.1]: 0
May 12 23:21:07 bahamut postfix/smtpd[8488]: warning: TLS library
problem: 8488:error:140710CA:SSL routines:REQUEST_CERTIFICATE:peer

The output of strace is attached.

Thanks,

-- 
-Jamie L. Penman-Smithson <[EMAIL PROTECTED]>
 t: +44 1273 424795; f: +44 1273 424795
 PGP: C0A7 955E EED6 A309 23D7 863B C76A 26A3 F0DC FCA8
 never send mail to: [EMAIL PROTECTED]
execve("./check_smtp", ["./check_smtp", "-H", "smtp.pinklemon.net", "-S", "-f", 
"[EMAIL PROTECTED]", "-C", "RCPT 
TO:<[EMAIL PROTECTED]>", "-R", "250"], [/* 16 vars */]) = 0
uname({sys="Linux", node="evenstar.silverdream.org", ...}) = 0
brk(0)                                  = 0x8050000
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40017000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25623, ...}) = 0
old_mmap(NULL, 25623, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libnsl.so.1", O_RDONLY)  = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 <\0\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=73304, ...}) = 0
old_mmap(NULL, 80544, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001f000
old_mmap(0x40030000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x11000) = 0x40030000
old_mmap(0x40031000, 6816, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40031000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libresolv.so.2", O_RDONLY) = 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)\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=64924, ...}) = 0
old_mmap(NULL, 73640, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40033000
old_mmap(0x40042000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xf000) = 0x40042000
old_mmap(0x40043000, 8104, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40043000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libssl.so.0.9.7", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\205\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=198576, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40045000
old_mmap(NULL, 199344, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40046000
old_mmap(0x40074000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x2e000) = 0x40074000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/i686/cmov/libcrypto.so.0.9.7", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\300\2"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1029672, ...}) = 0
old_mmap(NULL, 1043608, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40077000
old_mmap(0x40161000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0xea000) = 0x40161000
old_mmap(0x40173000, 11416, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40173000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`Z\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1254468, ...}) = 0
old_mmap(NULL, 1264780, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40176000
old_mmap(0x402a0000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x129000) = 0x402a0000
old_mmap(0x402a9000, 7308, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402a9000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libdl.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\32"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=9872, ...}) = 0
old_mmap(NULL, 8632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402ab000
old_mmap(0x402ad000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x2000) = 0x402ad000
close(3)                                = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402ae000
set_thread_area({entry_number:-1 -> 6, base_addr:0x402ae300, limit:1048575, 
seg_32bit:1, contents:0, read_exec_only:0, 
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
munmap(0x40018000, 25623)               = 0
brk(0)                                  = 0x8050000
brk(0x8071000)                          = 0x8071000
brk(0)                                  = 0x8071000
gettimeofday({1115936315, 322346}, NULL) = 0
getpid()                                = 24807
open("/etc/resolv.conf", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=172, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40018000
read(3, "# Dynamic resolv.conf(5) file fo"..., 4096) = 172
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40018000, 4096)                = 0
uname({sys="Linux", node="evenstar.silverdream.org", ...}) = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
connect(3, {sa_family=AF_FILE, path="/var/run/.nscd_socket"}, 110) = -1 ENOENT 
(No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=465, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402af000
read(3, "# /etc/nsswitch.conf\n#\n# Example"..., 131072) = 465
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x402af000, 131072)              = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25623, ...}) = 0
old_mmap(NULL, 25623, PROT_READ, MAP_PRIVATE, 3, 0) = 0x402af000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libnss_files.so.2", O_RDONLY) = 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\35"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=34748, ...}) = 0
old_mmap(NULL, 38044, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402b6000
old_mmap(0x402bf000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x8000) = 0x402bf000
close(3)                                = 0
munmap(0x402af000, 25623)               = 0
open("/etc/host.conf", O_RDONLY)        = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402c0000
read(3, "order hosts,bind\nmulti on\n", 131072) = 26
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x402c0000, 131072)              = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=357, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402c0000
read(3, "127.0.0.1\tlocalhost\n82.133.58.13"..., 131072) = 357
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x402c0000, 131072)              = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=25623, ...}) = 0
old_mmap(NULL, 25623, PROT_READ, MAP_PRIVATE, 3, 0) = 0x402c0000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/tls/libnss_dns.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\16"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=13976, ...}) = 0
old_mmap(NULL, 12704, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402c7000
old_mmap(0x402ca000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x3000) = 0x402ca000
close(3)                                = 0
munmap(0x402c0000, 25623)               = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, 28) = 0
send(3, "]\367\1\0\0\1\0\0\0\0\0\0\4smtp\tpinklemon\3net\0"..., 36, 0) = 36
gettimeofday({1115936315, 333931}, NULL) = 0
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [170])               = 0
recvfrom(3, "]\367\205\200\0\1\0\1\0\4\0\2\4smtp\tpinklemon\3net\0"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 170
close(3)                                = 0
uname({sys="Linux", node="evenstar.silverdream.org", ...}) = 0
rt_sigaction(SIGALRM, {0x804a890, [ALRM], SA_RESTART}, {SIG_DFL}, 8) = 0
alarm(10)                               = 0
gettimeofday({1115936315, 335591}, NULL) = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=357, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402cb000
read(3, "127.0.0.1\tlocalhost\n82.133.58.13"..., 131072) = 357
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x402cb000, 131072)              = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl64(3, F_GETFD)                     = 0
fcntl64(3, F_SETFD, FD_CLOEXEC)         = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=357, ...}) = 0
mmap2(NULL, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x402cb000
read(3, "127.0.0.1\tlocalhost\n82.133.58.13"..., 131072) = 357
read(3, "", 131072)                     = 0
close(3)                                = 0
munmap(0x402cb000, 131072)              = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, 28) = 0
send(3, "]\370\1\0\0\1\0\0\0\0\0\0\4smtp\tpinklemon\3net\0"..., 36, 0) = 36
gettimeofday({1115936315, 339311}, NULL) = 0
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [87])                = 0
recvfrom(3, "]\370\205\200\0\1\0\0\0\1\0\0\4smtp\tpinklemon\3net\0"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 87
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, 28) = 0
send(3, "]\371\1\0\0\1\0\0\0\0\0\0\4smtp\tpinklemon\3net\v"..., 52, 0) = 52
gettimeofday({1115936315, 341333}, NULL) = 0
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [116])               = 0
recvfrom(3, "]\371\205\203\0\1\0\0\0\1\0\0\4smtp\tpinklemon\3net\v"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 116
close(3)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, 28) = 0
send(3, "]\372\1\0\0\1\0\0\0\0\0\0\4smtp\tpinklemon\3net\0"..., 36, 0) = 36
gettimeofday({1115936315, 343330}, NULL) = 0
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [170])               = 0
recvfrom(3, "]\372\205\200\0\1\0\1\0\4\0\2\4smtp\tpinklemon\3net\0"..., 1024, 
0, {sa_family=AF_INET, sin_port=htons(53), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 170
close(3)                                = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(25), 
sin_addr=inet_addr("82.133.58.135")}, 16) = 0
recv(3, "220 smtp.pinklemon.net ESMTP pin"..., 1023, 0) = 57
send(3, "STARTTLS\r\n", 10, 0)          = 10
recv(3, "220 Ready to start TLS\r\n", 1023, 0) = 24
time(NULL)                              = 1115936315
getpid()                                = 24807
time(NULL)                              = 1115936315
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
open("/dev/urandom", O_RDONLY|O_NONBLOCK|O_NOCTTY) = 4
select(5, [4], NULL, NULL, {0, 10000})  = 1 (in [4], left {0, 10000})
read(4, "8_\304\257\6\203<n\1\2156\315r\262\277\363\276\242\370"..., 32) = 32
close(4)                                = 0
getpid()                                = 24807
getpid()                                = 24807
getuid32()                              = 0
getpid()                                = 24807
time(NULL)                              = 1115936315
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
write(3, "\200.\1\0\2\0\25\0\0\0\20\7\0\300\3\0\200\1\0\200\10\0"..., 48) = 48
read(3, "\204Q", 2)                     = 2
read(3, "\4\0\1\0\2\4!\0\25\0\0200\202\4\0350\202\3\206\240\3\2"..., 1105) = 
1105
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
getpid()                                = 24807
write(3, "\200\222\2\7\0\300\0\0\0\200\0\10>-G\211%\230\365y\205"..., 148) = 148
write(3, "\0(\7\340DN&\230oa\327+\201\203\310\312\30\247\326\341"..., 43) = 43
read(3, "\0(", 2)                       = 2
read(3, "\7A\\0]\327\210F\320\5\220\206\267\304\361\220&\23X\336"..., 41) = 41
read(3, "\0(", 2)                       = 2
read(3, "\6\240)\276\215\265\\\245\217>\223\f\210p\306b,\305\271"..., 41) = 41
write(3, "\0\30\5\225Y\37\'PQ \243\314\353W(\242i\t\364h\3613\027"..., 27) = 27
read(3, "", 2)                          = 0
getpid()                                = 24807
getpid()                                = 24807
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to