Bug 447045 - transparent proxying strips hostname from URI
Summary: transparent proxying strips hostname from URI
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: squid
Version: 9
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Martin Nagy
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-17 11:37 UTC by Matt Bernstein
Modified: 2016-07-26 23:46 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-06-06 08:44:48 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Capability version patch (672 bytes, patch)
2008-05-23 04:10 UTC, Bojan Smojver
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 447518 0 high CLOSED Call to capget() overflows buffers 2021-02-22 00:41:40 UTC

Internal Links: 447518

Description Matt Bernstein 2008-05-17 11:37:26 UTC
Description of problem:

Since F8, squid's transparent HTTP proxying mode has broken.

Version-Release number of selected component (if applicable):

squid-3.0.STABLE2-3.fc9.x86_64

How reproducible: completely

Steps to Reproduce:
1. configure "http_port 8080 transparent"
2. start squid
3. look at access log
  
Actual results:

NONE/400 $bytes GET /path/file.html

Expected results:

TCP_{HIT,MISS}/$code $bytes GET http://www.server.com/path/file.html

Additional info:

Worked fine in F8 squid 2.6. Non-transparent proxying still works fine.

Comment 1 Bojan Smojver 2008-05-19 07:45:45 UTC
Yeah, how about we get 3.0-STABLE5 for F9? There could be patches in there that
fix this...

Comment 2 Bojan Smojver 2008-05-19 08:06:51 UTC
BTW, I rebuilt the latest rawhide RPM on F9, but when I attempt to upgrade, I
get this (i.e. squid dies misearably):

warning: /root/squid-3.0.STABLE5-2.fc9.i386.rpm: Header V3 DSA signature: NOKEY,
key ID b832d3e3
Preparing...                ########################################### [100%]
   1:squid                  warning: /etc/squid/squid.conf created as
/etc/squid/squid.conf.rpmnew
########################################### [100%]
*** glibc detected *** squid: free(): invalid next size (fast): 0xb90170b0 ***
======= Backtrace: =========
/lib/libc.so.6[0x4e57e4]
/lib/libc.so.6(cfree+0x96)[0x4e7846]
squid(xfree+0x21)[0xb7f4f8e1]
squid[0xb7ee1a4f]
squid[0xb7ee1c84]
squid[0xb7e1a22d]
squid(main+0x4bf)[0xb7e9921f]
/lib/libc.so.6(__libc_start_main+0xe6)[0x48e5d6]
squid[0xb7deeba1]
======= Memory map: ========
00110000-0012c000 r-xp 00000000 fd:00 213122     /lib/ld-2.8.so
0012c000-0012d000 r--p 0001c000 fd:00 213122     /lib/ld-2.8.so
0012d000-0012e000 rw-p 0001d000 fd:00 213122     /lib/ld-2.8.so
0012e000-0012f000 r-xp 0012e000 00:00 0          [vdso]
0012f000-00138000 r-xp 00000000 fd:00 213133     /lib/libcrypt-2.8.so
00138000-00139000 r--p 00009000 fd:00 213133     /lib/libcrypt-2.8.so
00139000-0013a000 rw-p 0000a000 fd:00 213133     /lib/libcrypt-2.8.so
0013a000-00161000 rw-p 0013a000 00:00 0 
00161000-001a8000 r-xp 00000000 fd:00 213915     /lib/libssl.so.0.9.8g
001a8000-001ac000 rw-p 00046000 fd:00 213915     /lib/libssl.so.0.9.8g
001ac000-002e3000 r-xp 00000000 fd:00 213913     /lib/libcrypto.so.0.9.8g
002e3000-002f7000 rw-p 00136000 fd:00 213913     /lib/libcrypto.so.0.9.8g
002f7000-002fa000 rw-p 002f7000 00:00 0 
002fa000-00302000 r-xp 00000000 fd:00 213157     /lib/librt-2.8.so
00302000-00303000 r--p 00007000 fd:00 213157     /lib/librt-2.8.so
00303000-00304000 rw-p 00008000 fd:00 213157     /lib/librt-2.8.so
00304000-00319000 r-xp 00000000 fd:00 213153     /lib/libpthread-2.8.so
00319000-0031a000 r--p 00014000 fd:00 213153     /lib/libpthread-2.8.so
0031a000-0031b000 rw-p 00015000 fd:00 213153     /lib/libpthread-2.8.so
0031b000-0031d000 rw-p 0031b000 00:00 0 
0031d000-00320000 r-xp 00000000 fd:00 213135     /lib/libdl-2.8.so
00320000-00321000 r--p 00002000 fd:00 213135     /lib/libdl-2.8.so
00321000-00322000 rw-p 00003000 fd:00 213135     /lib/libdl-2.8.so
00322000-00333000 r-xp 00000000 fd:00 213155     /lib/libresolv-2.8.so
00333000-00334000 r--p 00010000 fd:00 213155     /lib/libresolv-2.8.so
00334000-00335000 rw-p 00011000 fd:00 213155     /lib/libresolv-2.8.so
00335000-00337000 rw-p 00335000 00:00 0 
00337000-0034d000 r-xp 00000000 fd:00 213139     /lib/libnsl-2.8.so
0034d000-0034e000 r--p 00015000 fd:00 213139     /lib/libnsl-2.8.so
0034e000-0034f000 rw-p 00016000 fd:00 213139     /lib/libnsl-2.8.so
0034f000-00351000 rw-p 0034f000 00:00 0 
00351000-00436000 r-xp 00000000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
00436000-0043a000 r--p 000e4000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
0043a000-0043b000 rw-p 000e8000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
0043b000-00441000 rw-p 0043b000 00:00 0 
00441000-00468000 r-xp 00000000 fd:00 213137     /lib/libm-2.8.so
00468000-00469000 r--p 00026000 fd:00 213137     /lib/libm-2.8.so
00469000-0046a000 rw-p 00027000 fd:00 213137     /lib/libm-2.8.so
0046a000-00477000 r-xp 00000000 fd:00 213187     /lib/libgcc_s-4.3.0-20080428.so.1
00477000-00478000 rw-p 0000c000 fd:00 213187     /lib/libgcc_s-4.3.0-20080428.so.1
00478000-005db000 r-xp 00000000 fd:00 213129     /lib/libc-2.8.so
005db000-005dd000 r--p 00163000 fd:00 213129     /lib/libc-2.8.so
005dd000-005de000 rw-p 00165000 fd:00 213129     /lib/libc-2.8.so
005de000-005e1000 rw-p 005de000 00:00 0 
005e1000-0060e000 r-xp 00000000 fd:00 297395     /usr/lib/libgssapi_krb5.so.2.2
0060e000-0060f000 rw-p 0002d000 fd:00 297395     /usr/lib/libgssapi_krb5.so.2.2
0060f000-006ac000 r-xp 00000000 fd:00 298221     /usr/lib/libkrb5.so.3.3
006ac000-006af000 rw-p 0009c000 fd:00 298221     /usr/lib/libkrb5.so.3.3
006af000-006b1000 r-xp 00000000 fd:00 213254     /lib/libcom_err.so.2.1
006b1000-006b2000 rw-p 00001000 fd:00 213254     /lib/libcom_err.so.2.1
006b2000-006d6000 r-xp 00000000 fd:00 297606     /usr/lib/libk5crypto.so.3.1
006d6000-006d7000 rw-p 00024000 fd:00 297606     /usr/lib/libk5crypto.so.3.1
006d7000-006ea000 r-xp 00000000 fd:00 213168     /lib/libz.so.1.2.3
006ea000-006eb000 rw-p 00012000 fd:00 213168     /lib/libz.so.1.2.3
006eb000-006f3000 r-xp 00000000 fd:00 298323     /usr/lib/libkrb5support.so.0.1
006f3000-006f4000 rw-p 00007000 fd:00 298323     /usr/lib/libkrb5support.so.0.1
006f4000-006f6000 r-xp 00000000 fd:00 213902     /lib/libkeyutils-1.2.so
006f6000-006f7000 rw-p 00001000 fd:00 213902     /lib/libkeyutils-1.2.so
006f7000-00711000 r-xp 00000000 fd:00 213212     /lib/libselinux.so.1
00711000-00712000 r--p 00019000 fd:00 213212     /lib/libselinux.so.1
00712000-00713000 rw-p 0001a000 fd:00 213212     /lib/libselinux.so.1
00713000-0071d000 r-xp 00000000 fd:00 213145     /lib/libnss_files-2.8.so
0071d000-0071e000 r--p 0000a000 fd:00 213145     /lib/libnss_files-2.8.so
0071e000-0071f000 rw-p 0000b000 fd:00 213145     /lib/libnss_files-2.8.so
0071f000-0076e000 r-xp 00000000 fd:00 301550     /usr/lib/libnss_ldap-259.so
0076e000-00770000 rw-p 0004e000 fd:00 301550     /usr/lib/libnss_ldap-259.so
00770000-0077b000 rw-p 00770000 00:00 0 
0077b000-00793000 r-xp 00000000 fd:00 296477     /usr/lib/libsasl2.so.2.0.22
00793000-00794000 rw-p 00017000 fd:00 296477     /usr/lib/libsasl2.so.2.0.22
b7c00000-b7c21000 rw-p b7c00000 00:00 0 
b7c21000-b7d00000 ---p b7c21000 00:00 0 
b7d46000-b7dce000 rw-p b7d46000 00:00 0 
b7dd6000-b7fbf000 r-xp 00000000 fd:00 295052     /usr/sbin/squid
b7fbf000-b7fc7000 rw-p 001e9000 fd:00 295052     /usr/sbin/squid
b7fc7000-b80c2000 rw-p b7fc7000 00:00 0 
b8f80000-b908c000 rw-p b8f80000 00:00 0          [heap]
bf9aa000-bf9bf000 rw-p bffeb000 00:00 0          [stack]
*** glibc detected *** squid: free(): invalid next size (fast): 0xb8d200b0 ***
======= Backtrace: =========
/lib/libc.so.6[0x4e57e4]
/lib/libc.so.6(cfree+0x96)[0x4e7846]
squid(xfree+0x21)[0xb7ff28e1]
squid[0xb7f84a4f]
squid[0xb7f84c84]
squid[0xb7ebd22d]
squid(main+0x4bf)[0xb7f3c21f]
/lib/libc.so.6(__libc_start_main+0xe6)[0x48e5d6]
squid[0xb7e91ba1]
======= Memory map: ========
00110000-0012c000 r-xp 00000000 fd:00 213122     /lib/ld-2.8.so
0012c000-0012d000 r--p 0001c000 fd:00 213122     /lib/ld-2.8.so
0012d000-0012e000 rw-p 0001d000 fd:00 213122     /lib/ld-2.8.so
0012e000-0012f000 r-xp 0012e000 00:00 0          [vdso]
0012f000-00138000 r-xp 00000000 fd:00 213133     /lib/libcrypt-2.8.so
00138000-00139000 r--p 00009000 fd:00 213133     /lib/libcrypt-2.8.so
00139000-0013a000 rw-p 0000a000 fd:00 213133     /lib/libcrypt-2.8.so
0013a000-00161000 rw-p 0013a000 00:00 0 
00161000-001a8000 r-xp 00000000 fd:00 213915     /lib/libssl.so.0.9.8g
001a8000-001ac000 rw-p 00046000 fd:00 213915     /lib/libssl.so.0.9.8g
001ac000-002e3000 r-xp 00000000 fd:00 213913     /lib/libcrypto.so.0.9.8g
002e3000-002f7000 rw-p 00136000 fd:00 213913     /lib/libcrypto.so.0.9.8g
002f7000-002fa000 rw-p 002f7000 00:00 0 
002fa000-00302000 r-xp 00000000 fd:00 213157     /lib/librt-2.8.so
00302000-00303000 r--p 00007000 fd:00 213157     /lib/librt-2.8.so
00303000-00304000 rw-p 00008000 fd:00 213157     /lib/librt-2.8.so
00304000-00319000 r-xp 00000000 fd:00 213153     /lib/libpthread-2.8.so
00319000-0031a000 r--p 00014000 fd:00 213153     /lib/libpthread-2.8.so
0031a000-0031b000 rw-p 00015000 fd:00 213153     /lib/libpthread-2.8.so
0031b000-0031d000 rw-p 0031b000 00:00 0 
0031d000-00320000 r-xp 00000000 fd:00 213135     /lib/libdl-2.8.so
00320000-00321000 r--p 00002000 fd:00 213135     /lib/libdl-2.8.so
00321000-00322000 rw-p 00003000 fd:00 213135     /lib/libdl-2.8.so
00322000-00333000 r-xp 00000000 fd:00 213155     /lib/libresolv-2.8.so
00333000-00334000 r--p 00010000 fd:00 213155     /lib/libresolv-2.8.so
00334000-00335000 rw-p 00011000 fd:00 213155     /lib/libresolv-2.8.so
00335000-00337000 rw-p 00335000 00:00 0 
00337000-0034d000 r-xp 00000000 fd:00 213139     /lib/libnsl-2.8.so
0034d000-0034e000 r--p 00015000 fd:00 213139     /lib/libnsl-2.8.so
0034e000-0034f000 rw-p 00016000 fd:00 213139     /lib/libnsl-2.8.so
0034f000-00351000 rw-p 0034f000 00:00 0 
00351000-00436000 r-xp 00000000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
00436000-0043a000 r--p 000e4000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
0043a000-0043b000 rw-p 000e8000 fd:00 297905     /usr/lib/libstdc++.so.6.0.10
0043b000-00441000 rw-p 0043b000 00:00 0 
00441000-00468000 r-xp 00000000 fd:00 213137     /lib/libm-2.8.so
00468000-00469000 r--p 00026000 fd:00 213137     /lib/libm-2.8.so
00469000-0046a000 rw-p 00027000 fd:00 213137     /lib/libm-2.8.so
0046a000-00477000 r-xp 00000000 fd:00 213187     /lib/libgcc_s-4.3.0-20080428.so.1
00477000-00478000 rw-p 0000c000 fd:00 213187     /lib/libgcc_s-4.3.0-20080428.so.1
00478000-005db000 r-xp 00000000 fd:00 213129     /lib/libc-2.8.so
005db000-005dd000 r--p 00163000 fd:00 213129     /lib/libc-2.8.so
005dd000-005de000 rw-p 00165000 fd:00 213129     /lib/libc-2.8.so
005de000-005e1000 rw-p 005de000 00:00 0 
005e1000-0060e000 r-xp 00000000 fd:00 297395     /usr/lib/libgssapi_krb5.so.2.2
0060e000-0060f000 rw-p 0002d000 fd:00 297395     /usr/lib/libgssapi_krb5.so.2.2
0060f000-006ac000 r-xp 00000000 fd:00 298221     /usr/lib/libkrb5.so.3.3
006ac000-006af000 rw-p 0009c000 fd:00 298221     /usr/lib/libkrb5.so.3.3
006af000-006b1000 r-xp 00000000 fd:00 213254     /lib/libcom_err.so.2.1
006b1000-006b2000 rw-p 00001000 fd:00 213254     /lib/libcom_err.so.2.1
006b2000-006d6000 r-xp 00000000 fd:00 297606     /usr/lib/libk5crypto.so.3.1
006d6000-006d7000 rw-p 00024000 fd:00 297606     /usr/lib/libk5crypto.so.3.1
006d7000-006ea000 r-xp 00000000 fd:00 213168     /lib/libz.so.1.2.3
006ea000-006eb000 rw-p 00012000 fd:00 213168     /lib/libz.so.1.2.3
006eb000-006f3000 r-xp 00000000 fd:00 298323     /usr/lib/libkrb5support.so.0.1
006f3000-006f4000 rw-p 00007000 fd:00 298323     /usr/lib/libkrb5support.so.0.1
006f4000-006f6000 r-xp 00000000 fd:00 213902     /lib/libkeyutils-1.2.so
006f6000-006f7000 rw-p 00001000 fd:00 213902     /lib/libkeyutils-1.2.so
006f7000-00711000 r-xp 00000000 fd:00 213212     /lib/libselinux.so.1
00711000-00712000 r--p 00019000 fd:00 213212     /lib/libselinux.so.1
00712000-00713000 rw-p 0001a000 fd:00 213212     /lib/libselinux.so.1
00713000-0071d000 r-xp 00000000 fd:00 213145     /lib/libnss_files-2.8.so
0071d000-0071e000 r--p 0000a000 fd:00 213145     /lib/libnss_files-2.8.so
0071e000-0071f000 rw-p 0000b000 fd:00 213145     /lib/libnss_files-2.8.so
0071f000-0076e000 r-xp 00000000 fd:00 301550     /usr/lib/libnss_ldap-259.so
0076e000-00770000 rw-p 0004e000 fd:00 301550     /usr/lib/libnss_ldap-259.so
00770000-0077b000 rw-p 00770000 00:00 0 
0077b000-00793000 r-xp 00000000 fd:00 296477     /usr/lib/libsasl2.so.2.0.22
00793000-00794000 rw-p 00017000 fd:00 296477     /usr/lib/libsasl2.so.2.0.22
b7c00000-b7c21000 rw-p b7c00000 00:00 0 
b7c21000-b7d00000 ---p b7c21000 00:00 0 
b7de9000-b7e71000 rw-p b7de9000 00:00 0 
b7e79000-b8062000 r-xp 00000000 fd:00 295052     /usr/sbin/squid
b8062000-b806a000 rw-p 001e9000 fd:00 295052     /usr/sbin/squid
b806a000-b8165000 rw-p b806a000 00:00 0 
b8c89000-b8d95000 rw-p b8c89000 00:00 0          [heap]
bf94c000-bf961000 rw-p bffeb000 00:00 0          [stack]

Comment 3 Bojan Smojver 2008-05-19 11:43:29 UTC
This crash from comment #2 happens in src/tools.cc, line 1390. From what I can
see there by looking briefly at it, it's a legitimate free, but something else
must have gone wrong.

Also, for me this problem (hostname being stripped) only occurs for some FQDNs,
namely on my own domain. Not sure why...

Comment 4 Bojan Smojver 2008-05-19 12:18:22 UTC
Actually, on closer inspection, there appears to be a problem with allocation. I
think it should be as below.

Anyhow, even that doesn't fix it - there is still a crash. There must be other
heap corruption somewhere...

--- squid-3.0.STABLE5/src/tools.cc.orig 2008-05-19 21:47:18.000000000 +1000
+++ squid-3.0.STABLE5/src/tools.cc      2008-05-19 21:47:34.000000000 +1000
@@ -1343,8 +1343,8 @@
 restoreCapabilities(int keep)
 {
 #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H
-    cap_user_header_t head = (cap_user_header_t) xcalloc(1,
sizeof(cap_user_header_t));
-    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t));
+    cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(*head));
+    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(*cap));
 
     head->version = _LINUX_CAPABILITY_VERSION;

Comment 5 Bojan Smojver 2008-05-20 06:49:14 UTC
This call screws things up (line 1351 of tools.cc):

 if (capget(head, cap) != 0) {

I'm guessing even after the above patch, there is still not enough space
allocated for what capget stuffs into the structures, possibly indicating that
/usr/include/linux/capabilities.h is busted.

If I do this (numbers pulled out of my arse, of course :-):
------------------------------------------------------------------------
--- squid-3.0.STABLE5/src/tools.cc.orig	2008-05-19 21:47:18.000000000 +1000
+++ squid-3.0.STABLE5/src/tools.cc	2008-05-19 21:47:34.000000000 +1000
@@ -1343,8 +1343,8 @@
 restoreCapabilities(int keep)
 {
 #if defined(_SQUID_LINUX_) && HAVE_SYS_CAPABILITY_H
-    cap_user_header_t head = (cap_user_header_t) xcalloc(1,
sizeof(cap_user_header_t));
-    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(cap_user_data_t));
+    cap_user_header_t head = (cap_user_header_t) xcalloc(1, 200);
+    cap_user_data_t cap = (cap_user_data_t) xcalloc(1, 400);
 
     head->version = _LINUX_CAPABILITY_VERSION;
------------------------------------------------------------------------
 
Squid then starts OK.

Comment 6 Bojan Smojver 2008-05-20 06:55:15 UTC
BTW, when I get STABLE5 into place, transparent proxying appears to work fine.
So, that's the ticket for this bug.

Comment 7 Martin Nagy 2008-05-20 10:46:29 UTC
*sigh*, this is the same as bug 435499 but I still can't reproduce it. I'll see
what I can do..

Comment 8 Martin Nagy 2008-05-20 12:24:59 UTC
Someone who can reproduce this, please give me the output of iptables-save. Thanks.

Comment 9 Bojan Smojver 2008-05-20 20:55:24 UTC
BTW, the fix for Squid code is now upstream:

http://www.squid-cache.org/bugs/show_bug.cgi?id=2350

Comment 10 Bojan Smojver 2008-05-20 23:14:25 UTC
Please note that just released STABLE6 does not include the fix from bug 2350.

Comment 11 Martin Nagy 2008-05-21 09:58:59 UTC
I've built a new rawhide package, updated to STABLE6 and included the fix.
Please try it and let me know how it works for you. If there won't be any
problems, I'll update it also for F9.

http://koji.fedoraproject.org/koji/taskinfo?taskID=622225

Comment 12 Bojan Smojver 2008-05-21 21:18:12 UTC
OK, will do. I'm hoping the fix includes the fix for bug #447518 as well, correct?

Comment 13 Martin Nagy 2008-05-21 21:25:19 UTC
Yes, I have included the patch you provided in comment #9

Comment 14 Matt Bernstein 2008-05-21 21:33:31 UTC
I built your .fc10 package (from koji) for F9 and it has fixed the bug for me.
Thanks!

Comment 15 Bojan Smojver 2008-05-21 23:24:01 UTC
The patch from comment #9 is (unfortunately) not sufficient to address the
issue. That's because capget() overflows buffers (see bug #447518). When I
rebuild on F9, I get:
------------------------------------------------------
*** glibc detected *** squid: free(): invalid next size (fast): 0xb879a720 ***
======= Backtrace: =========
/lib/libc.so.6[0x4e77e4]
/lib/libc.so.6(cfree+0x96)[0x4e9846]
squid(xfree+0x21)[0xb8013b71]
squid[0xb7fa5b7f]
squid[0xb7fa5db4]
squid[0xb7ede23d]
squid(main+0x4bf)[0xb7f5d2df]
/lib/libc.so.6(__libc_start_main+0xe6)[0x4905d6]
squid[0xb7eb2ba1]
======= Memory map: ========
00110000-0012c000 r-xp 00000000 08:02 2820377    /lib/ld-2.8.so
0012c000-0012d000 r--p 0001c000 08:02 2820377    /lib/ld-2.8.so
0012d000-0012e000 rw-p 0001d000 08:02 2820377    /lib/ld-2.8.so
0012e000-0012f000 r-xp 0012e000 00:00 0          [vdso]
0012f000-00138000 r-xp 00000000 08:02 2820391    /lib/libcrypt-2.8.so
00138000-00139000 r--p 00009000 08:02 2820391    /lib/libcrypt-2.8.so
00139000-0013a000 rw-p 0000a000 08:02 2820391    /lib/libcrypt-2.8.so
0013a000-00161000 rw-p 0013a000 00:00 0 
00161000-001a8000 r-xp 00000000 08:02 2820403    /lib/libssl.so.0.9.8g
001a8000-001ac000 rw-p 00046000 08:02 2820403    /lib/libssl.so.0.9.8g
001ac000-002e3000 r-xp 00000000 08:02 2820402    /lib/libcrypto.so.0.9.8g
002e3000-002f7000 rw-p 00136000 08:02 2820402    /lib/libcrypto.so.0.9.8g
002f7000-002fa000 rw-p 002f7000 00:00 0 
002fa000-00302000 r-xp 00000000 08:02 2820380    /lib/librt-2.8.so
00302000-00303000 r--p 00007000 08:02 2820380    /lib/librt-2.8.so
00303000-00304000 rw-p 00008000 08:02 2820380    /lib/librt-2.8.so
00304000-00319000 r-xp 00000000 08:02 2820379    /lib/libpthread-2.8.so
00319000-0031a000 r--p 00014000 08:02 2820379    /lib/libpthread-2.8.so
0031a000-0031b000 rw-p 00015000 08:02 2820379    /lib/libpthread-2.8.so
0031b000-0031d000 rw-p 0031b000 00:00 0 
0031d000-00320000 r-xp 00000000 08:02 2820381    /lib/libdl-2.8.so
00320000-00321000 r--p 00002000 08:02 2820381    /lib/libdl-2.8.so
00321000-00322000 rw-p 00003000 08:02 2820381    /lib/libdl-2.8.so
00322000-00333000 r-xp 00000000 08:02 2820400    /lib/libresolv-2.8.so
00333000-00334000 r--p 00010000 08:02 2820400    /lib/libresolv-2.8.so
00334000-00335000 rw-p 00011000 08:02 2820400    /lib/libresolv-2.8.so
00335000-00337000 rw-p 00335000 00:00 0 
00337000-0034d000 r-xp 00000000 08:02 2820398    /lib/libnsl-2.8.so
0034d000-0034e000 r--p 00015000 08:02 2820398    /lib/libnsl-2.8.so
0034e000-0034f000 rw-p 00016000 08:02 2820398    /lib/libnsl-2.8.so
0034f000-00351000 rw-p 0034f000 00:00 0 
00351000-00438000 r-xp 00000000 08:02 1156606    /usr/lib/libstdc++.so.6.0.10
00438000-0043c000 r--p 000e6000 08:02 1156606    /usr/lib/libstdc++.so.6.0.10
0043c000-0043e000 rw-p 000ea000 08:02 1156606    /usr/lib/libstdc++.so.6.0.10
0043e000-00443000 rw-p 0043e000 00:00 0 
00443000-0046a000 r-xp 00000000 08:02 2820389    /lib/libm-2.8.so
0046a000-0046b000 r--p 00026000 08:02 2820389    /lib/libm-2.8.so
0046b000-0046c000 rw-p 00027000 08:02 2820389    /lib/libm-2.8.so
0046c000-00479000 r-xp 00000000 08:02 2818255    /lib/libgcc_s-4.3.0-20080428.so.1
00479000-0047a000 rw-p 0000c000 08:02 2818255    /lib/libgcc_s-4.3.0-20080428.so.1
0047a000-005dd000 r-xp 00000000 08:02 2820378    /lib/libc-2.8.so
005dd000-005df000 r--p 00163000 08:02 2820378    /lib/libc-2.8.so
005df000-005e0000 rw-p 00165000 08:02 2820378    /lib/libc-2.8.so
005e0000-005e3000 rw-p 005e0000 00:00 0 
005e3000-00610000 r-xp 00000000 08:02 1162654    /usr/lib/libgssapi_krb5.so.2.2
00610000-00612000 rw-p 0002d000 08:02 1162654    /usr/lib/libgssapi_krb5.so.2.2
00612000-006af000 r-xp 00000000 08:02 1162641    /usr/lib/libkrb5.so.3.3
006af000-006b2000 rw-p 0009c000 08:02 1162641    /usr/lib/libkrb5.so.3.3
006b2000-006b4000 r-xp 00000000 08:02 2820401    /lib/libcom_err.so.2.1
006b4000-006b5000 rw-p 00001000 08:02 2820401    /lib/libcom_err.so.2.1
006b5000-006d9000 r-xp 00000000 08:02 1162614    /usr/lib/libk5crypto.so.3.1
006d9000-006da000 rw-p 00024000 08:02 1162614    /usr/lib/libk5crypto.so.3.1
006da000-006ed000 r-xp 00000000 08:02 2820392    /lib/libz.so.1.2.3
006ed000-006ee000 rw-p 00012000 08:02 2820392    /lib/libz.so.1.2.3
006ee000-006f6000 r-xp 00000000 08:02 1161479    /usr/lib/libkrb5support.so.0.1
006f6000-006f7000 rw-p 00007000 08:02 1161479    /usr/lib/libkrb5support.so.0.1
006f7000-006f9000 r-xp 00000000 08:02 2820399    /lib/libkeyutils-1.2.so
006f9000-006fa000 rw-p 00001000 08:02 2820399    /lib/libkeyutils-1.2.so
006fa000-00714000 r-xp 00000000 08:02 2820382    /lib/libselinux.so.1
00714000-00715000 r--p 00019000 08:02 2820382    /lib/libselinux.so.1
00715000-00716000 rw-p 0001a000 08:02 2820382    /lib/libselinux.so.1
00716000-00720000 r-xp 00000000 08:02 2818405    /lib/libnss_files-2.8.so
00720000-00721000 r--p 0000a000 08:02 2818405    /lib/libnss_files-2.8.so
00721000-00722000 rw-p 0000b000 08:02 2818405    /lib/libnss_files-2.8.so
00722000-00771000 r-xp 00000000 08:02 1172758    /usr/lib/libnss_ldap-259.so
00771000-00773000 rw-p 0004e000 08:02 1172758    /usr/lib/libnss_ldap-259.so
00773000-0077e000 rw-p 00773000 00:00 0 
0077e000-00796000 r-xp 00000000 08:02 1168391    /usr/lib/libsasl2.so.2.0.22
00796000-00797000 rw-p 00017000 08:02 1168391    /usr/lib/libsasl2.so.2.0.22
00797000-0079b000 r-xp 00000000 08:02 2818404    /lib/libnss_dns-2.8.so
0079b000-0079c000 r--p 00003000 08:02 2818404    /lib/libnss_dns-2.8.so
0079c000-0079d000 rw-p 00004000 08:02 2818404    /lib/libnss_dns-2.8.so
b7c00000-b7c21000 rw-p b7c00000 00:00 0 
b7c21000-b7d00000 ---p b7c21000 00:00 0 
b7dfb000-b7e83000 rw-p b7dfb000 00:00 0 
b7e9a000-b8083000 r-xp 00000000 08:02 1152162    /usr/sbin/squid
b8083000-b808b000 rw-p 001e9000 08:02 1152162    /usr/sbin/squid
b808b000-b8186000 rw-p b808b000 00:00 0 
b869a000-b882b000 rw-p b869a000 00:00 0          [heap]
bff6d000-bff82000 rw-p bffeb000 00:00 0          [stack]
/etc/init.d/squid: line 62:  7164 Aborted                 $SQUID -k parse
Starting squid:                                            [FAILED]
------------------------------------------------------

This is with squid-3.0.STABLE6-1.fc9.i386 in F9 i686. I think we'll need to wait
for kernel folks to tell us what's going on here...

PS. Trivial (and incorrect) workaround for this issue is to allocate double the
space required, like this:

cap_user_data_t cap = (cap_user_data_t) xcalloc(1, 2 * sizeof(*cap));


Comment 16 Bojan Smojver 2008-05-23 04:10:46 UTC
Created attachment 306446 [details]
Capability version patch

As suggested by kernel folks, as a short term solution for the problem at hand.

Comment 17 Martin Nagy 2008-05-23 11:29:50 UTC
Here is a scratch build of squid for F-9
http://koji.fedoraproject.org/koji/taskinfo?taskID=626036
Please try if this finally solves the problem.

Comment 18 Bojan Smojver 2008-05-24 15:06:20 UTC
Sorry, can't get to the build right now (Koji seems slow or out of action). Will
check when I get a chance, but I'm pretty confident that should be it.

BTW, that second patch is now also in Squid and kernel folks are thinking of
reverting the headers. In any event, the patch should cause no harm.

Comment 19 Bojan Smojver 2008-05-25 01:20:10 UTC
That build from comment #17 is looking good!

Comment 20 Fedora Update System 2008-05-26 10:14:18 UTC
squid-3.0.STABLE6-1.fc9 has been submitted as an update for Fedora 9

Comment 21 Fedora Update System 2008-05-29 02:42:12 UTC
squid-3.0.STABLE6-1.fc9 has been pushed to the Fedora 9 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update squid'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-4500

Comment 22 Fedora Update System 2008-06-06 07:51:34 UTC
squid-3.0.STABLE6-1.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.