ntlm_auth seg faults with Squid-2.5stable4
Dave Augustus
davea at support.kcm.org
Fri Nov 21 14:31:58 GMT 2003
Hello all,
I am hoping some of you have some insight into the problems I am
experiencing. I have been discussing this with others on the squid list
but it appears to be *more* relevant here, based on recent findings.
You can read the entire discussion at the following thread:
http://www.squid-cache.org/mail-archive/squid-users/200311/0795.html
Here is the setup, (all of which are within a VMWare environment):
Windows 2003 Enterprise Server running AD
Windows 2000 Workstation running IE6 Sp1
Redhat 9 running: Samba 3.0.0, Kerberos 1.3.1, Squid-2.5Stable4
Here is the problem in a nutshell: ntlm_auth seg faults when used by
squid for user authentication to a W2k3 AD server.
Here is the strace output from the ntlm_auth process that dies
attempting to perform the procedure:
"YR\n", 4096) = 3
time(NULL) = 1069420262
geteuid32() = 81
write(2, "[2003/11/21 07:11:02, 10] utils/"..., 71) = 71
geteuid32() = 81
write(2, " Got \'YR\' from squid (length: 2"..., 35) = 35
time(NULL) = 1069420262
geteuid32() = 81
write(2, "[2003/11/21 07:11:02, 10] utils/"..., 78) = 78
geteuid32() = 81
write(2, " got NTLMSSP packet:\n", 22) = 22
open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 3
read(3, "\341\337\313,\332<\3\4", 8) = 8
uname({sys="Linux", node="caleb", ...}) = 0
gettimeofday({1069420262, 921369}, NULL) = 0
getpid() = 1987
open("/etc/resolv.conf", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=71, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1,
0) = 0x4045f000
read(4, "search localdomain\n\nnameserver 6"..., 4096) = 71
read(4, "", 4096) = 0
close(4) = 0
munmap(0x4045f000, 4096) = 0
socket(PF_UNIX, SOCK_STREAM, 0) = 4
connect(4, {sa_family=AF_UNIX, path="/var/run/.nscd_socket"}, 110) =
-1
ENOENT (No such file or directory)
close(4) = 0
open("/etc/nsswitch.conf", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=1712, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1,
0) = 0x4045f000
read(4, "#\n# /etc/nsswitch.conf\n#\n# An ex"..., 4096) = 1712
read(4, "", 4096) = 0
close(4) = 0
munmap(0x4045f000, 4096) = 0
open("/etc/ld.so.cache", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=16384, ...}) = 0
old_mmap(NULL, 16384, PROT_READ, MAP_PRIVATE, 4, 0) = 0x4045f000
close(4) = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 4
read(4,
"\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20\35\0"...,
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=52472, ...}) = 0
old_mmap(NULL, 47068, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) =
0x40463000
old_mmap(0x4046e000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED,
4, 0xa000) = 0x4046e000
close(4) = 0
munmap(0x4045f000, 16384) = 0
open("/etc/host.conf", O_RDONLY) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=17, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1,
0) = 0x4045f000
read(4, "order hosts,bind\n", 4096) = 17
read(4, "", 4096) = 0
close(4) = 0
munmap(0x4045f000, 4096) = 0
open("/etc/hosts", O_RDONLY) = 4
fcntl64(4, F_GETFD) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=329, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1,
0) = 0x4045f000
read(4, "# Do not remove the following li"..., 4096) = 329
close(4) = 0
munmap(0x4045f000, 4096) = 0
uname({sys="Linux", node="caleb", ...}) = 0
write(1, "TT TlRMTVNTUAACAAAAAAAAADAAAAACA"..., 68) = 68
time(NULL) = 1069420262
geteuid32() = 81
write(2, "[2003/11/21 07:11:02, 10] utils/"..., 78) = 78
geteuid32() = 81
write(2, " NTLMSSP challenge\n", 20) = 20
read(0, "KK TlRMTVNTUAADAAAAGAAYAFIAAAAYA"..., 4096) = 180
time(NULL) = 1069420262
geteuid32() = 81
write(2, "[2003/11/21 07:11:02, 10] utils/"..., 71) = 71
geteuid32() = 81
write(2, " Got \'KK TlRMTVNTUAADAAAAGAAYAF"..., 214) = 214
time(NULL) = 1069420263
geteuid32() = 81
write(2, "[2003/11/21 07:11:03, 10] utils/"..., 78) = 78
geteuid32() = 81
write(2, " got NTLMSSP packet:\n", 22) = 22
time(NULL) = 1069420263
geteuid32() = 81
write(2, "[2003/11/21 07:11:03, 10] lib/ut"..., 53) = 53
geteuid32() = 81
write(2, " [000] 4E 54 4C 4D 53 53 50 00 "..., 76) = 76
geteuid32() = 81
write(2, " [010] 52 00 00 00 18 00 18 00 "..., 76) = 76
geteuid32() = 81
write(2, " [020] 40 00 00 00 06 00 06 00 "..., 76) = 76
geteuid32() = 81
write(2, " [030] 4A 00 00 00 00 00 00 00 "..., 76) = 76
geteuid32() = 81
write(2, " [040] 42 55 47 53 53 55 52 46 "..., 76) = 76
geteuid32() = 81
write(2, " [050] 39 38 9E DE 60 1C C6 CC "..., 76) = 76
geteuid32() = 81
write(2, " [060] B8 44 EB 35 C1 75 17 AB "..., 76) = 76
geteuid32() = 81
write(2, " [070] 9B 40 20 D3 86 56 08 12 "..., 76) = 76
geteuid32() = 81
write(2, " [080] 19 3A 40 "..., 63) = 63
time(NULL) = 1069420263
geteuid32() = 81
write(2, "[2003/11/21 07:11:03, 3] libsmb/"..., 67) = 67
geteuid32() = 81
write(2, " Got user=[SURFER] domain=[BUGS"..., 73) = 73
getpid() = 1987
getpid() = 1987
getpid() = 1987
lstat64("/tmp/.winbindd", {st_mode=S_IFDIR|0755, st_size=4096, ...})
= 0
lstat64("/tmp/.winbindd/pipe", {st_mode=S_IFSOCK|0777, st_size=0,
...})
= 0
socket(PF_UNIX, SOCK_STREAM, 0) = 4
fcntl64(4, F_GETFD) = 0
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
connect(4, {sa_family=AF_UNIX, path="/tmp/.winbindd/pipe"}, 110) = 0
getpid() = 1987
getpid() = 1987
select(5, [4], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "
\6\0\0\0\0\0\0\303\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1568) = 1568
read(4, "\24\5\0\0\1\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1300) = 1300
getpid() = 1987
getpid() = 1987
select(5, [4], NULL, NULL, {0, 0}) = 0 (Timeout)
write(4, "
\6\0\0(\0\0\0\303\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1568) = 1568
read(4,
"9\5\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1300) = 1300
read(4, "/var/cache/samba/winbindd_privil"..., 37) = 37
lstat64("/var/cache/samba/winbindd_privileged",
{st_mode=S_IFDIR|0750,
st_size=4096, ...}) = 0
lstat64("/var/cache/samba/winbindd_privileged/pipe",
{st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0
socket(PF_UNIX, SOCK_STREAM, 0) = 5
fcntl64(5, F_GETFD) = 0
fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
connect(5, {sa_family=AF_UNIX,
path="/var/cache/samba/winbindd_privileged/pipe"}, 110) = 0
close(4) = 0
select(6, [5], NULL, NULL, {0, 0}) = 0 (Timeout)
write(5, "
\6\0\0\r\0\0\0\303\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
1568) = 1568
read(5, "\24\5\0\0\1\0\0\0\0\0\0\0NT_STATUS_OK\0\0\0\0\0\0\0\0"...,
1300) = 1300
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
The thread mentioned previously has all the setup, compile
statements,
config file settings, etc that are used in this setup.
Thanks for your help in this matter,
Dave Augustus
More information about the samba-technical
mailing list