I'm seeing some strange behavior with a 64-bit compile of uw-imapd with full ssl support. When compiled in 64-bit, it doesn't seem to use ssl when coming into port 993. If I compile in 32-bit, I can watch the stack trace and see it reference nsswitch.conf, then /etc/services and it knows it's going to be encrypted traffic. However, the 64-bit stack trace completely avoids this check and just uses normal text imap. Any ideas? No errors on compile, only the warnings about integer size from 64-bit. I've tried using both the sun compiler and gcc. Same results either way. I realize this is a long email, I apologize. I have other compiles built from the 64-bit c-client libraries, so I would rather not use a 32-bit imapd.
Solaris 10 on SPARC
32-bit trace:
25375/1: 0.0276 0.0002 close(2) = 0
25375/1: 0.0278 0.0002 open("/etc/c-client.cf", O_RDONLY) Err#2 ENOENT
25375/1: 0.0280 0.0002 alarm(0) = 0
25375/1: 0.0281 0.0001 getsockname(0, 0x00212210, 0xFFBFF3A4, SOV_DEFAULT) = 0
25375/1: AF_INET name = 127.0.0.1 port = 993
25375/1: 0.0286 0.0005 alarm(0) = 0
25375/1: 0.0288 0.0002 brk(0x00215928) = 0
25375/1: 0.0290 0.0002 brk(0x00217928) = 0
25375/1: 0.0292 0.0002 open("/etc/netconfig", O_RDONLY|O_LARGEFILE) = 2
25375/1: 0.0294 0.0002 brk(0x00217928) = 0
25375/1: 0.0295 0.0001 brk(0x00219928) = 0
25375/1: 0.0297 0.0002 fcntl(2, F_DUPFD, 0x00000100) Err#22 EINVAL
25375/1: 0.0299 0.0002 read(2, 0x002178A0, 1024) = 1024
.......
25375/1: 0.0798 0.0003 read(2, 0x002178A0, 1024) = 0
25375/1: 0.0799 0.0001 close(2) = 0
25375/1: 0.0804 0.0005 open("/dev/udp", O_RDONLY) = 2
25375/1: 0.0806 0.0002 ioctl(2, SIOCGLIFNUM, 0xFFBFE8B4) = 0
write/read (struct lifnum)
25375/1: 0.0808 0.0002 close(2) = 0
25375/1: 0.0810 0.0002 open("/dev/udp", O_RDONLY) = 2
25375/1: 0.0812 0.0002 ioctl(2, SIOCGLIFNUM, 0xFFBFE8B4) = 0
write/read (struct lifnum)
25375/1: 0.0813 0.0001 close(2) = 0
25375/1: 0.0816 0.0003 alarm(0) = 0
25375/1: 0.0817 0.0001 alarm(0) = 0
25375/1: 0.0819 0.0002 open("/etc/nsswitch.conf", O_RDONLY|O_LARGEFILE) = 2
25375/1: 0.0821 0.0002 fcntl(2, F_DUPFD, 0x00000100) Err#22 EINVAL
25375/1: 0.0823 0.0002 read(2, 0xFF392400, 1024) = 1024
......
25375/1: 0.0837 0.0003 read(2, 0xFF392400, 1024) = 0
25375/1: 0.0839 0.0002 close(2) = 0
25375/1: 0.0841 0.0002 stat("/lib/nss_files.so.1", 0xFFBFEC40) = 0
25375/1: d=0x0154000A i=2239 m=0100755 l=1 u=0 g=2 sz=57408
25375/1: at = Aug 18 10:50:00 CDT 2006 [ 1155916200 ]
25375/1: mt = Jan 22 19:44:58 CST 2005 [ 1106444698 ]
25375/1: ct = Apr 10 17:19:22 CDT 2006 [ 1144707562 ]
25375/1: bsz=8192 blks=114 fs=ufs
25375/1: 0.0844 0.0003 resolvepath("/lib/nss_files.so.1", "/lib/nss_files.so.1", 1023) = 19
25375/1: 0.0846 0.0002 open("/lib/nss_files.so.1", O_RDONLY) = 2
25375/1: 0.0848 0.0002 mmap(0x00010000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 2, 0) = 0xFF230000
25375/1: 0.0850 0.0002 mmap(0x00010000, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN, -1, 0) = 0xFF210000
25375/1: 0.0851 0.0001 mmap(0xFF210000, 19050, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_TEXT, 2, 0) = 0xFF210000
25375/1: 0.0853 0.0002 mmap(0xFF226000, 1680, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_INITDATA, 2, 24576) = 0xFF226000
25375/1: 0.0855 0.0002 munmap(0xFF216000, 65536) = 0
25375/1: 0.0857 0.0002 memcntl(0xFF210000, 5872, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
25375/1: 0.0858 0.0001 close(2) = 0
25375/1: 0.0861 0.0003 munmap(0xFF230000, 8192) = 0
25375/1: 0.0863 0.0002 open("/etc/services", O_RDONLY|O_LARGEFILE) = 2
25375/1: 0.0865 0.0002 brk(0x00219928) = 0
25375/1: 0.0866 0.0001 brk(0x0021B928) = 0
25375/1: 0.0868 0.0002 fcntl(2, F_DUPFD, 0x00000100) Err#22 EINVAL
25375/1: 0.0870 0.0002 read(2, 0x00219538, 1024) = 1024
64-bit trace:
25417/1: 0.0295 0.0002 close(2) = 0
25417/1: 0.0296 0.0001 open("/etc/c-client.cf", O_RDONLY) Err#2 ENOENT
25417/1: 0.0301 0.0005 alarm(0) = 0
25417/1: 0.0302 0.0001 getsockname(0, 0x100322D80, 0xFFFFFFFF7FFFEFF8, SOV_DEFAULT) = 0
25417/1: 0.0305 0.0003 sysinfo(SI_HOSTNAME, "ascc2", 1024) = 6
25417/1: 0.0307 0.0002 alarm(0) = 0
25417/1: 0.0309 0.0002 brk(0x100325310) = 0
25417/1: 0.0310 0.0001 brk(0x100329310) = 0
25417/1: 0.0313 0.0003 open("/etc/netconfig", O_RDONLY|O_LARGEFILE) = 2
25417/1: 0.0315 0.0002 fcntl(2, F_DUPFD, 0x00000100) Err#22 EINVAL
25417/1: 0.0317 0.0002 read(2, 0x100326024, 1024) = 1024
.....
25417/1: 0.0335 0.0002 read(2, 0x100326024, 1024) = 0
25417/1: 0.0337 0.0002 close(2) = 0
25417/1: 0.0340 0.0003 open("/dev/udp", O_RDONLY) = 2
25417/1: 0.0343 0.0003 ioctl(2, SIOCGLIFNUM, 0xFFFFFFFF7FFFDE94) = 0
write/read (struct lifnum)
25417/1: 0.0344 0.0001 close(2) = 0
25417/1: 0.0347 0.0003 open("/dev/udp", O_RDONLY) = 2
25417/1: 0.0350 0.0003 ioctl(2, SIOCGLIFNUM, 0xFFFFFFFF7FFFDE94) = 0
write/read (struct lifnum)
25417/1: 0.0352 0.0002 close(2) = 0
25417/1: 0.0356 0.0004 open("/var/run/name_service_door", O_RDONLY) = 2
25417/1: 0.0358 0.0002 dup(2) = 3
25417/1: 0.0359 0.0001 close(2) = 0
25417/1: 0.0360 0.0001 fcntl(3, F_SETFD, 0x00000001) = 0
25417/1: 0.0361 0.0001 door_info(3, 0xFFFFFFFF7EBF28A8) = 0
25417/1: target=4987 proc=0x13CE0 data="">
25417/1: attributes=DOOR_UNREF
25417/1: uniquifier=1079
25417/1: 0.0365 0.0004 door_call(3, 0xFFFFFFFF7FFFBDB8) = 0
25417/1: data_ptr=0xFFFFFFFF7FFFBEE8 data_size=141
25417/1: desc_ptr=0x0 desc_num=0
25417/1: rbuf=0xFFFFFFFF7FFFBEE8 rsize=8192
25417/1: 0.0367 0.0002 alarm(0) = 0
25417/1: 0.0369 0.0002 alarm(0) = 0
25417/1: 0.0370 0.0001 alarm(0) = 0
25417/1: 0.0371 0.0001 umask(022) = 022
<<< Below here is new data that isn't in the 32-bit. >>>
25417/1: 0.0373 0.0002 sigaction(SIGALRM, 0xFFFFFFFF7FFFEF90, 0xFFFFFFFF7FFFF080) = 0
25417/1: new: hand = 0xFFFFFFFF7EAC1908 mask = 0xFFBFFEFF 0x0000FFFF 0 0 flags = 0x0004
25417/1: old: hand = 0x00000000 mask = 0 0 0 0 flags = 0x0000
25417/1: 0.0376 0.0003 sigaction(SIGUSR2, 0xFFFFFFFF7FFFEF90, 0xFFFFFFFF7FFFF080) = 0
25417/1: new: hand = 0xFFFFFFFF7EAC1908 mask = 0xFFBFFEFF 0x0000FFFF 0 0 flags = 0x0004
25417/1: old: hand = 0x00000000 mask = 0 0 0 0 flags = 0x0000
25417/1: 0.0378 0.0002 sigaction(SIGHUP, 0xFFFFFFFF7FFFEF90, 0xFFFFFFFF7FFFF080) = 0
25417/1: new: hand = 0xFFFFFFFF7EAC1908 mask = 0xFFBFFEFF 0x0000FFFF 0 0 flags = 0x0004
25417/1: old: hand = 0x00000000 mask = 0 0 0 0 flags = 0x0000
25417/1: 0.0380 0.0002 sigaction(SIGTERM, 0xFFFFFFFF7FFFF050, 0xFFFFFFFF7FFFF140) = 0
25417/1: new: hand = 0xFFFFFFFF7EAC1908 mask = 0xFFBFFEFF 0x0000FFFF 0 0 flags = 0x0004
25417/1: old: hand = 0x00000000 mask = 0 0 0 0 flags = 0x0000
<<< Above here is new data that isn't in the 32-bit. >>>
25417/1: 0.0383 0.0003 stat("/etc/nologin", 0xFFFFFFFF7FFFF890) Err#2 ENOENT
25417/1: 0.0384 0.0001 open("/etc/imapd.nntp", O_RDONLY) Err#2 ENOENT
25417/1: 0.0386 0.0002 getuid() = 0 [0]
=============================
Ken Koch
Information Systems
314.935.8315
=============================
_______________________________________________ Imap-uw mailing list [email protected] https://mailman1.u.washington.edu/mailman/listinfo/imap-uw
