Bug#526881: locale: should issue better warning about unsupported values

2009-05-04 Thread Yann Dirson
Package: libc6
Version: 2.9-4
Severity: wishlist

When eg. LC_CTYPE gets set by error with double-quotes inside (eg. by
wrongly writing LC_CTYPE=foo in /etc/environment), then nothing
distinguishes the set-but-wrong variable from a defaulted one in the
locale(1) output, and the messages themselves are not really
self-explainatory:

$ LANG=fr_FR.UTF-8 LC_CTYPE='fr_FR.UTF-8' locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Ne peut initialiser LC_ALL ? la locale par d?faut: Aucun fichier
ou dossier de ce type
LANG=fr_FR.UTF-8
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE=fr_FR.UTF-8
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES=fr_FR.UTF-8
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=





--
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: [glibc] DNS problems with version = (2.9-8) - Can you provide i386 packages for testing?

2009-05-04 Thread Sedat Dilek
Hi Aurelien,

since upgrading to glibc (2.9-8) and higher I have serious DNS problems.
Using OpenDNS dns-servers [1] and adding single-request to
/etc/resolv.conf did *not* help.

For amd64 arch you provided deb-files, can you offer packages for i386?

Is it possible to re-add glibc (2.9-7) back to the mirrors or give a
web-link where I can download it?

Thanks in advance.

Kind Regards,
Sedat

[1] Use OpenDNS
https://www.opendns.com/start/



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3443 - in glibc-package/trunk/debian: . patches/kfreebsd

2009-05-04 Thread Petr Salinger
Author: ps-guest
Date: 2009-05-04 14:32:21 + (Mon, 04 May 2009)
New Revision: 3443

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/kfreebsd/local-sys_queue_h.diff
Log:
fix up GNU/kFreeBSD specific macro LIST_FOREACH_SAFE.



Modified: glibc-package/trunk/debian/changelog
===
--- glibc-package/trunk/debian/changelog2009-05-03 22:10:42 UTC (rev 
3442)
+++ glibc-package/trunk/debian/changelog2009-05-04 14:32:21 UTC (rev 
3443)
@@ -4,6 +4,9 @@
   * hurd-i386/local-pthread_posix-option.diff: Set _POSIX_TIMEOUTS to 200112
 too, to fix gthread compilation in gcc-4.4
 
+  [ Petr Salinger ]
+  * fix up GNU/kFreeBSD specific macro LIST_FOREACH_SAFE.
+
  -- Aurelien Jarno aure...@debian.org  Tue, 28 Apr 2009 23:11:30 +0200
 
 glibc (2.9-9) unstable; urgency=low

Modified: glibc-package/trunk/debian/patches/kfreebsd/local-sys_queue_h.diff
===
--- glibc-package/trunk/debian/patches/kfreebsd/local-sys_queue_h.diff  
2009-05-03 22:10:42 UTC (rev 3442)
+++ glibc-package/trunk/debian/patches/kfreebsd/local-sys_queue_h.diff  
2009-05-04 14:32:21 UTC (rev 3443)
@@ -18,7 +18,7 @@
(var) = ((var)-field.le_next))
  
 +#define   LIST_FOREACH_SAFE(var, head, field, tvar)   
\
-+  for (((var) = ((head)-lh_first);   \
++  for ((var) = ((head)-lh_first);\
 +  (var)  ((tvar) = ((var)-field.le_next), 1);  \
 +  (var) = (tvar))
 +


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3444 - glibc-package/branches/eglibc-2.9/debian/testsuite-checking

2009-05-04 Thread Aurelien Jarno
Author: aurel32
Date: 2009-05-04 15:36:47 + (Mon, 04 May 2009)
New Revision: 3444

Modified:
   
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-i686-kfreebsd-i386
   
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32-linux-mipsn32
   
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32el-linux-mipsn32
   
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64-linux-mips64
   
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64el-linux-mips64
Log:
Update testsuite results. Those failures are not regressions, but are now
detected by eglibc. They are important though, so we should fix them asap.



Modified: 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-i686-kfreebsd-i386
===
--- 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-i686-kfreebsd-i386
 2009-05-04 14:32:21 UTC (rev 3443)
+++ 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-i686-kfreebsd-i386
 2009-05-04 15:36:47 UTC (rev 3444)
@@ -5,11 +5,13 @@
 #
 annexc.out, Error 1 (ignored)
 check-localplt.out, Error 1
+test-ifaddrs.out, Error 1
+test_ifindex.out, Error 1
 tst-aio10.out, Error 1
 tst-aio9.out, Error 1
 tst-chk1.out, Error 1
 tst-chk2.out, Error 1
-tst-chk3.out, Error 1
+itst-chk3.out, Error 1
 tst-chk4.out, Error 1
 tst-chk5.out, Error 1
 tst-chk6.out, Error 1

Modified: 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32-linux-mipsn32
===
--- 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32-linux-mipsn32
   2009-05-04 14:32:21 UTC (rev 3443)
+++ 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32-linux-mipsn32
   2009-05-04 15:36:47 UTC (rev 3444)
@@ -4,7 +4,10 @@
 # Format: Failed test, Error Make error code [(ignored)]
 #
 annexc.out, Error 1 (ignored)
+bug-nextafter.out, Error 8
+bug-nexttoward.out, Error 8
 check-localplt.out, Error 1
+test-misc.out, Error 1
 tst-audit1.out, Error 127
 tst-audit2.out, Error 127
 tst-cancelx4.out, Error 1

Modified: 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32el-linux-mipsn32
===
--- 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32el-linux-mipsn32
 2009-05-04 14:32:21 UTC (rev 3443)
+++ 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips32el-linux-mipsn32
 2009-05-04 15:36:47 UTC (rev 3444)
@@ -4,7 +4,10 @@
 # Format: Failed test, Error Make error code [(ignored)]
 #
 annexc.out, Error 1 (ignored)
+bug-nextafter.out, Error 8
+bug-nexttoward.out, Error 8
 check-localplt.out, Error 1
+test-misc.out, Error 1
 tst-audit1.out, Error 127
 tst-audit2.out, Error 127
 tst-cancelx4.out, Error 1

Modified: 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64-linux-mips64
===
--- 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64-linux-mips64
2009-05-04 14:32:21 UTC (rev 3443)
+++ 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64-linux-mips64
2009-05-04 15:36:47 UTC (rev 3444)
@@ -4,7 +4,10 @@
 # Format: Failed test, Error Make error code [(ignored)]
 #
 annexc.out, Error 1 (ignored)
+bug-nextafter.out, Error 8
+bug-nexttoward.out, Error 8
 check-localplt.out, Error 1
+test-misc.out, Error 1
 tst-audit1.out, Error 127
 tst-audit2.out, Error 127
 tst-cancelx4.out, Error 1

Modified: 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64el-linux-mips64
===
--- 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64el-linux-mips64
  2009-05-04 14:32:21 UTC (rev 3443)
+++ 
glibc-package/branches/eglibc-2.9/debian/testsuite-checking/expected-results-mips64el-linux-mips64
  2009-05-04 15:36:47 UTC (rev 3444)
@@ -4,7 +4,10 @@
 # Format: Failed test, Error Make error code [(ignored)]
 #
 annexc.out, Error 1 (ignored)
+bug-nextafter.out, Error 8
+bug-nexttoward.out, Error 8
 check-localplt.out, Error 1
+test-misc.out, Error 1
 tst-audit1.out, Error 127
 tst-audit2.out, Error 127
 tst-cancelx4.out, Error 1


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: [glibc] DNS problems with version = (2.9-8) - Can you provide i386 packages for testing?

2009-05-04 Thread Aurelien Jarno
On Mon, May 04, 2009 at 11:38:19AM +0200, Sedat Dilek wrote:
 Hi Aurelien,
 
 since upgrading to glibc (2.9-8) and higher I have serious DNS problems.
 Using OpenDNS dns-servers [1] and adding single-request to
 /etc/resolv.conf did *not* help.
 
 For amd64 arch you provided deb-files, can you offer packages for i386?

I have added them at the same location.

 Is it possible to re-add glibc (2.9-7) back to the mirrors or give a
 web-link where I can download it?
 

Unfortunately they are gone from the mirrors and it is not possible to
re-add them.

Aurelien

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Aurelien Jarno
On Mon, May 04, 2009 at 09:59:22PM +0200, Luca Tettamanti wrote:
 On Mon, May 4, 2009 at 6:45 AM, Aurelien Jarno aurel...@aurel32.net wrote:
  On Sun, May 03, 2009 at 08:54:07PM +0200, Luca Tettamanti wrote:
  Package: libc6
  Version: 2.9-9
  Severity: normal
 
  Hello, I was affected by the resolver bug that was solved in 2.9-7; as of 
  2.9-9
  the resolver stopped working again. The automatic workaround that is 
  mentioned
  in the changelog is not working, and single-request in resolv.conf 
  doesn't
  seem to have any effect either.
 
  Here's a dump of the resolver trying to get the address of google.com:
 
  14:11:00.754265 IP (tos 0x0, ttl 64, id 45448, offset 0, flags [DF], proto 
  UDP (17), length 60)
      10.0.0.3.60486  10.0.0.138.53: [udp sum ok] 39108+ A? www.google.com. 
  (32)
  14:11:00.754303 IP (tos 0x0, ttl 64, id 45449, offset 0, flags [DF], proto 
  UDP (17), length 60)
      10.0.0.3.60486  10.0.0.138.53: [udp sum ok] 48015+ ? 
  www.google.com. (32)
  14:11:00.759312 IP (tos 0x0, ttl 64, id 1324, offset 0, flags [none], 
  proto UDP (17), length 60)
      10.0.0.138.53  10.0.0.3.60486: [udp sum ok] 48015 NotImp q: ? 
  www.google.com. 0/0/0 (32)
  14:11:00.817710 IP (tos 0x0, ttl 64, id 1325, offset 0, flags [none], 
  proto UDP (17), length 144)
      10.0.0.138.53  10.0.0.3.60486: 39108 q: A? www.google.com. 5/0/0 
  www.google.com. CNAME www.l.google.com.[|domain]
 
  The DNS server (it's my ADSL router) responds NotImp to the  query (it 
  does
  not support IPv6). The reply (CNAME) to the A query seems correct though.
 
 
  Could you please try the glibc from http://temp.aurel32.net/glibc-test/ ?
  I have backported a few more patch from upstream, but I have no way to
  know if they change something or not.
 
 The option single-request works, the automagic workaround does not,

That's a good news.

 i.e. I always see the two requests going out in parallel.
 Actually I'm not sure I understand how it's supposes to work: if the
 first request fails usually the caller gives up, no?

The first request done by a program should timeout, and the second
request by the same program should then be done sequentially, like when
single-request is set.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Luca Tettamanti
On Mon, May 4, 2009 at 6:45 AM, Aurelien Jarno aurel...@aurel32.net wrote:
 On Sun, May 03, 2009 at 08:54:07PM +0200, Luca Tettamanti wrote:
 Package: libc6
 Version: 2.9-9
 Severity: normal

 Hello, I was affected by the resolver bug that was solved in 2.9-7; as of 
 2.9-9
 the resolver stopped working again. The automatic workaround that is 
 mentioned
 in the changelog is not working, and single-request in resolv.conf doesn't
 seem to have any effect either.

 Here's a dump of the resolver trying to get the address of google.com:

 14:11:00.754265 IP (tos 0x0, ttl 64, id 45448, offset 0, flags [DF], proto 
 UDP (17), length 60)
     10.0.0.3.60486  10.0.0.138.53: [udp sum ok] 39108+ A? www.google.com. 
 (32)
 14:11:00.754303 IP (tos 0x0, ttl 64, id 45449, offset 0, flags [DF], proto 
 UDP (17), length 60)
     10.0.0.3.60486  10.0.0.138.53: [udp sum ok] 48015+ ? 
 www.google.com. (32)
 14:11:00.759312 IP (tos 0x0, ttl 64, id 1324, offset 0, flags [none], proto 
 UDP (17), length 60)
     10.0.0.138.53  10.0.0.3.60486: [udp sum ok] 48015 NotImp q: ? 
 www.google.com. 0/0/0 (32)
 14:11:00.817710 IP (tos 0x0, ttl 64, id 1325, offset 0, flags [none], proto 
 UDP (17), length 144)
     10.0.0.138.53  10.0.0.3.60486: 39108 q: A? www.google.com. 5/0/0 
 www.google.com. CNAME www.l.google.com.[|domain]

 The DNS server (it's my ADSL router) responds NotImp to the  query (it 
 does
 not support IPv6). The reply (CNAME) to the A query seems correct though.


 Could you please try the glibc from http://temp.aurel32.net/glibc-test/ ?
 I have backported a few more patch from upstream, but I have no way to
 know if they change something or not.

The option single-request works, the automagic workaround does not,
i.e. I always see the two requests going out in parallel.
Actually I'm not sure I understand how it's supposes to work: if the
first request fails usually the caller gives up, no?

Luca



--
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Luca Tettamanti
On Mon, May 4, 2009 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote:
 On Mon, May 04, 2009 at 09:59:22PM +0200, Luca Tettamanti wrote:
 The option single-request works, the automagic workaround does not,

 That's a good news.

 i.e. I always see the two requests going out in parallel.
 Actually I'm not sure I understand how it's supposes to work: if the
 first request fails usually the caller gives up, no?

 The first request done by a program should timeout, and the second
 request by the same program should then be done sequentially, like when
 single-request is set.

That's not what is happening though. I try to open a page in konqueror
(I also tried other programs, it's not specific to konqueror): I see
two request (A and ) going out at the same time; konqueror says
it's unable to resolve the address - so far so good. I try to reload
the page and I still see both requests going out at the same time
(failure again). With single-request I see the first query, its answer
and only then the second query and its reply - as expected.
Furthermore I fear the workaround won't work for one-shot programs,
like apt helpers, right?

Luca



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Aurelien Jarno
On Mon, May 04, 2009 at 10:32:09PM +0200, Luca Tettamanti wrote:
 On Mon, May 4, 2009 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote:
  On Mon, May 04, 2009 at 09:59:22PM +0200, Luca Tettamanti wrote:
  The option single-request works, the automagic workaround does not,
 
  That's a good news.
 
  i.e. I always see the two requests going out in parallel.
  Actually I'm not sure I understand how it's supposes to work: if the
  first request fails usually the caller gives up, no?
 
  The first request done by a program should timeout, and the second
  request by the same program should then be done sequentially, like when
  single-request is set.
 
 That's not what is happening though. I try to open a page in konqueror
 (I also tried other programs, it's not specific to konqueror): I see
 two request (A and ) going out at the same time; konqueror says
 it's unable to resolve the address - so far so good. I try to reload

That's the problem. When I say it should timeout, I mean it should take
long time to resolve, but at the end an answer should be returned.

 the page and I still see both requests going out at the same time
 (failure again). With single-request I see the first query, its answer
 and only then the second query and its reply - as expected.
 Furthermore I fear the workaround won't work for one-shot programs,
 like apt helpers, right?
 

It should work, with just a longer timeout.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Aurelien Jarno
On Mon, May 04, 2009 at 11:55:22PM +0200, Luca Tettamanti wrote:
 On Mon, May 4, 2009 at 10:57 PM, Aurelien Jarno aurel...@aurel32.net wrote:
  On Mon, May 04, 2009 at 10:32:09PM +0200, Luca Tettamanti wrote:
  On Mon, May 4, 2009 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net 
  wrote:
   On Mon, May 04, 2009 at 09:59:22PM +0200, Luca Tettamanti wrote:
   The option single-request works, the automagic workaround does not,
  
   That's a good news.
  
   i.e. I always see the two requests going out in parallel.
   Actually I'm not sure I understand how it's supposes to work: if the
   first request fails usually the caller gives up, no?
  
   The first request done by a program should timeout, and the second
   request by the same program should then be done sequentially, like when
   single-request is set.
 
  That's not what is happening though. I try to open a page in konqueror
  (I also tried other programs, it's not specific to konqueror): I see
  two request (A and ) going out at the same time; konqueror says
  it's unable to resolve the address - so far so good. I try to reload
 
  That's the problem. When I say it should timeout, I mean it should take
  long time to resolve, but at the end an answer should be returned.
 
 Ah ok, __libc_res_nsend should to statp-retry queries, which by
 default is 2 (confirmed by gdb).
 send_dg() returns 1 (reply), the socket is then closed; return value
 is 1 and control goes back to
 __libc_res_nquery.
 
 At this point we have the two answers:
 
 hp = {id = 27765, rd = 1, tc = 1, aa = 0, opcode = 5, qr = 0, rcode =
 1, cd = 0, ad = 0, unused = 0, ra = 1,
   qdcount = 128, ancount = 1, nscount = 2, arcount = 0}
 hp2 = {id = 6, rd = 1, tc = 0, aa = 0, opcode = 0, qr = 1, rcode =
 0, cd = 0, ad = 0, unused = 0, ra = 1,
   qdcount = 256, ancount = 512, nscount = 0, arcount = 0}
 
 The error in first one is FORMERR (I'd expect NOTIMP...), which is
 treated as an unrecoverable failure even if the second one succeeded.
 answer contains a 76bytes of reply:
 
 756c 2b81 8000 0100 0200  0003 6674  ul+...ft
 7002 6974 0664 6562 6961 6e03 6f72 6700  p.it.debian.org.
 0001 0001 c00c 0005 0001  02f5 000d  
 0366 7470 0462 6f66 6802 6974 00c0 2f00  .ftp.bofh.it../.
 0100 0100 0063 9400 04d5 5c08.c\.
 
 which seems sensible to me (ftp.it.debian.org is the name that I
 request, and it's a CNAME for ftp.bofh.it).
 
 To recap: my ADSL router receives two requests and sends back *two*
 answers; to the A query it replies with the expected data, to the 
 query it replies NotImpl (see the tcpdump in the first email). When
 both queries and sent in parallel __libc_res_nquery consider an
 unrecoverable failure an error in any of the two (even if one of them
 is valid): the logic should be reversed: the query was successful if
 we get _at least_ one response.

That's probably why some people reported success with this version of
the code, as in their case only one answer is received.

The problem is that the glibc considers NotImpl as an unrecoverable
failure, as it applies to the opcode type (here query), not to the
content of the query. Taking into account every possible answer
engineers have imagined to says that a DNS software does not support 
 query (while there is a correct way to say that) is not something
easy to do in the glibc.

 After careful pondering I think that my router is actually sane  (IOW,
 it doesn't discard  requests - it correctly replies that it does
 not support that query); I think that it's a real bug in glibc.

Your router is buggy. According to the RFC it answers that it does not
support queries.

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Luca Tettamanti
On Mon, May 4, 2009 at 10:57 PM, Aurelien Jarno aurel...@aurel32.net wrote:
 On Mon, May 04, 2009 at 10:32:09PM +0200, Luca Tettamanti wrote:
 On Mon, May 4, 2009 at 10:11 PM, Aurelien Jarno aurel...@aurel32.net wrote:
  On Mon, May 04, 2009 at 09:59:22PM +0200, Luca Tettamanti wrote:
  The option single-request works, the automagic workaround does not,
 
  That's a good news.
 
  i.e. I always see the two requests going out in parallel.
  Actually I'm not sure I understand how it's supposes to work: if the
  first request fails usually the caller gives up, no?
 
  The first request done by a program should timeout, and the second
  request by the same program should then be done sequentially, like when
  single-request is set.

 That's not what is happening though. I try to open a page in konqueror
 (I also tried other programs, it's not specific to konqueror): I see
 two request (A and ) going out at the same time; konqueror says
 it's unable to resolve the address - so far so good. I try to reload

 That's the problem. When I say it should timeout, I mean it should take
 long time to resolve, but at the end an answer should be returned.

Ah ok, __libc_res_nsend should to statp-retry queries, which by
default is 2 (confirmed by gdb).
send_dg() returns 1 (reply), the socket is then closed; return value
is 1 and control goes back to
__libc_res_nquery.

At this point we have the two answers:

hp = {id = 27765, rd = 1, tc = 1, aa = 0, opcode = 5, qr = 0, rcode =
1, cd = 0, ad = 0, unused = 0, ra = 1,
  qdcount = 128, ancount = 1, nscount = 2, arcount = 0}
hp2 = {id = 6, rd = 1, tc = 0, aa = 0, opcode = 0, qr = 1, rcode =
0, cd = 0, ad = 0, unused = 0, ra = 1,
  qdcount = 256, ancount = 512, nscount = 0, arcount = 0}

The error in first one is FORMERR (I'd expect NOTIMP...), which is
treated as an unrecoverable failure even if the second one succeeded.
answer contains a 76bytes of reply:

756c 2b81 8000 0100 0200  0003 6674  ul+...ft
7002 6974 0664 6562 6961 6e03 6f72 6700  p.it.debian.org.
0001 0001 c00c 0005 0001  02f5 000d  
0366 7470 0462 6f66 6802 6974 00c0 2f00  .ftp.bofh.it../.
0100 0100 0063 9400 04d5 5c08.c\.

which seems sensible to me (ftp.it.debian.org is the name that I
request, and it's a CNAME for ftp.bofh.it).

To recap: my ADSL router receives two requests and sends back *two*
answers; to the A query it replies with the expected data, to the 
query it replies NotImpl (see the tcpdump in the first email). When
both queries and sent in parallel __libc_res_nquery consider an
unrecoverable failure an error in any of the two (even if one of them
is valid): the logic should be reversed: the query was successful if
we get _at least_ one response.

After careful pondering I think that my router is actually sane  (IOW,
it doesn't discard  requests - it correctly replies that it does
not support that query); I think that it's a real bug in glibc.

Luca



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#526823: libc6 2.9-9 broke DNS resolver again

2009-05-04 Thread Bastian Blank
On Mon, May 04, 2009 at 11:55:22PM +0200, Luca Tettamanti wrote:
 To recap: my ADSL router receives two requests and sends back *two*
 answers; to the A query it replies with the expected data, to the 
 query it replies NotImpl (see the tcpdump in the first email).

I doubt that this behaviour is allowed. Not implemented is a response
to the query type, aka standard query or inverse query, not to the
contents of the query.[1]

This behaviour also violates the transparency considerations.[2]

Bastian

[1]: http://tools.ietf.org/html/rfc1035
[2]: http://tools.ietf.org/html/rfc3597

-- 
We have the right to survive!
Not by killing others.
-- Deela and Kirk, Wink of An Eye, stardate 5710.5



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3445 - in glibc-package/trunk/debian: . patches/any

2009-05-04 Thread Aurelien Jarno
Author: aurel32
Date: 2009-05-04 22:37:13 + (Mon, 04 May 2009)
New Revision: 3445

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/any/cvs-broken-dns.diff
Log:
  * any/cvs-broken_dns.diff: backport more parts from upstream.



Modified: glibc-package/trunk/debian/changelog
===
--- glibc-package/trunk/debian/changelog2009-05-04 15:36:47 UTC (rev 
3444)
+++ glibc-package/trunk/debian/changelog2009-05-04 22:37:13 UTC (rev 
3445)
@@ -1,11 +1,14 @@
 glibc (2.9-10) unstable; urgency=low
 
- [ Samuel Thibault ]
+  [ Samuel Thibault ]
   * hurd-i386/local-pthread_posix-option.diff: Set _POSIX_TIMEOUTS to 200112
 too, to fix gthread compilation in gcc-4.4
 
   [ Petr Salinger ]
   * fix up GNU/kFreeBSD specific macro LIST_FOREACH_SAFE.
+  
+  [ Aurelien Jarno ]
+  * any/cvs-broken_dns.diff: backport more parts from upstream.
 
  -- Aurelien Jarno aure...@debian.org  Tue, 28 Apr 2009 23:11:30 +0200
 

Modified: glibc-package/trunk/debian/patches/any/cvs-broken-dns.diff
===
--- glibc-package/trunk/debian/patches/any/cvs-broken-dns.diff  2009-05-04 
15:36:47 UTC (rev 3444)
+++ glibc-package/trunk/debian/patches/any/cvs-broken-dns.diff  2009-05-04 
22:37:13 UTC (rev 3445)
@@ -13,6 +13,17 @@
only get one reply before timeout switch to mode where we send the
second request only after the first answer has been received
 
+2008-12-29  Ulrich Drepper  drep...@redhat.com
+
+   * sysdeps/posix/getaddrinfo.c (gaih_inet): When the
+   gethostbyname4_r function call succeeded, just leave the loop.
+
+2008-12-02  Ulrich Drepper  drep...@redhat.com
+
+* sysdeps/posix/getaddrinfo.c (gaih_inet): In case we use
+gethostbyname4_r, we don't have a separate IPv6 status, so copy
+the no_data variable.
+
 diff --git a/resolv/res_send.c b/resolv/res_send.c
 index f75a26e..25a854f 100644
 --- a/resolv/res_send.c
@@ -119,3 +130,25 @@
  
  #define RES_DEFAULT   (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT)
  
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index 72fbdb0..d346c62 100644
+--- a/sysdeps/posix/getaddrinfo.c
 b/sysdeps/posix/getaddrinfo.c
+@@ -714,6 +714,8 @@ gaih_inet (const char *name, const struct gaih_service 
*service,
+ status = DL_CALL_FCT (fct4, (name, pat, tmpbuf,
+  tmpbuflen, rc, herrno,
+  NULL));
++if (status == NSS_STATUS_SUCCESS)
++  break;
+ if (status != NSS_STATUS_TRYAGAIN
+ || rc != ERANGE || herrno != NETDB_INTERNAL)
+   {
+@@ -733,6 +735,8 @@ gaih_inet (const char *name, const struct gaih_service 
*service,
+ tmpbuflen, 2 * tmpbuflen);
+   }
+ 
++no_inet6_data = no_data;
++
+ if (status == NSS_STATUS_SUCCESS)
+   {
+ if ((req-ai_flags  AI_CANONNAME) != 0  canon == NULL)


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3446 - glibc-package/trunk/debian

2009-05-04 Thread Aurelien Jarno
Author: aurel32
Date: 2009-05-04 22:38:08 + (Mon, 04 May 2009)
New Revision: 3446

Modified:
   glibc-package/trunk/debian/changelog
Log:
small fix in changelog


Modified: glibc-package/trunk/debian/changelog
===
--- glibc-package/trunk/debian/changelog2009-05-04 22:37:13 UTC (rev 
3445)
+++ glibc-package/trunk/debian/changelog2009-05-04 22:38:08 UTC (rev 
3446)
@@ -8,7 +8,7 @@
   * fix up GNU/kFreeBSD specific macro LIST_FOREACH_SAFE.
   
   [ Aurelien Jarno ]
-  * any/cvs-broken_dns.diff: backport more parts from upstream.
+  * any/cvs-broken-dns.diff: backport more parts from upstream.
 
  -- Aurelien Jarno aure...@debian.org  Tue, 28 Apr 2009 23:11:30 +0200
 
@@ -32,7 +32,7 @@
 UTF-16 surrogates in iconv.  Closes: #525299.
   * any/local-getaddrinfo-interface.diff: ignore addresses with no interface
 assigned while sorting with rule 7.  Closes: #521439.
-  * any/cvs-broken_dns.diff: new patch from CVS to provide a fallback for 
+  * any/cvs-broken-dns.diff: new patch from CVS to provide a fallback for 
 broken DNS server while doing unified IPv4/IPv6 requests. The first lookup
 will be slow, but subsequent requests will fallback to the previous 
 behaviour. This can be enabled by default by setting 'single-request' in 


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#524664: libc6-amd64: post-removal script returned error

2009-05-04 Thread Aurelien Jarno
On Thu, Apr 23, 2009 at 10:41:05PM +0200, Aurelien Jarno wrote:
 On Sat, Apr 18, 2009 at 10:58:37PM +0200, Hector Oron wrote:
  Package: libc6-amd64
  Version: 2.9-7
  Severity: normal
  
  Hi,
  
  I am getting this error while installing this package in an i386 chroot 
  running under a amd64 system.
  
  Cheers
  
  --
  The following extra packages will be installed:
   libc6-amd64
  The following packages will be upgraded:
   libc6-amd64
  1 upgraded, 0 newly installed, 0 to remove and 37 not upgraded.
  3 not fully installed or removed.
  Need to get 4165kB of archives.
  After this operation, 0B of additional disk space will be used.
  Get:1 http://ftp.uk.debian.org unstable/main libc6-amd64 2.9-7 [4165kB]
  Fetched 4165kB in 0s (4875kB/s)
  Can not write log, openpty() failed (/dev/pts not mounted?)
  (Reading database ... 36698 files and directories currently installed.)
  Preparing to replace libc6-amd64 2.9-6 (using 
  .../libc6-amd64_2.9-7_i386.deb) ...
  Unpacking replacement libc6-amd64 ...
  dpkg (subprocess): unable to execute old post-removal script: Accessing a 
  corrupted shared library
  dpkg: warning - old post-removal script returned error exit status 2
  dpkg - trying script from the new package instead ...
  dpkg (subprocess): unable to execute new post-removal script: Accessing a 
  corrupted shared library
  dpkg: error processing /var/cache/apt/archives/libc6-amd64_2.9-7_i386.deb 
  (--unpack):
   subprocess new post-removal script returned error exit status 2
  Errors were encountered while processing:
   /var/cache/apt/archives/libc6-amd64_2.9-7_i386.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)
 
 Looks like you have a broken chroot/filesystem. Does the problem appears
 only on libc6-amd64 or also while installing other packages?
  
  -- System Information:
  Debian Release: 5.0
APT prefers stable
APT policy: (500, 'stable')
  Architecture: armel (armv5tel)
  
  Kernel: Linux 2.6.26-1-iop32x
 
 That looks totally wrong. What kernel are you using? 2.6.26-1-amd64?
 

Any news on that?


-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3447 - in glibc-package/trunk/debian: . patches patches/any

2009-05-04 Thread Aurelien Jarno
Author: aurel32
Date: 2009-05-04 22:50:43 + (Mon, 04 May 2009)
New Revision: 3447

Added:
   glibc-package/trunk/debian/patches/any/submitted-broken-dns.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * any/submitted-broken-dns.diff: new patch to not raise an error if one
query returns NOTIMP or FORMERR and the other NOERROR.



Modified: glibc-package/trunk/debian/changelog
===
--- glibc-package/trunk/debian/changelog2009-05-04 22:38:08 UTC (rev 
3446)
+++ glibc-package/trunk/debian/changelog2009-05-04 22:50:43 UTC (rev 
3447)
@@ -9,6 +9,8 @@
   
   [ Aurelien Jarno ]
   * any/cvs-broken-dns.diff: backport more parts from upstream.
+  * any/submitted-broken-dns.diff: new patch to not raise an error if one
+query returns NOTIMP or FORMERR and the other NOERROR.
 
  -- Aurelien Jarno aure...@debian.org  Tue, 28 Apr 2009 23:11:30 +0200
 

Added: glibc-package/trunk/debian/patches/any/submitted-broken-dns.diff
===
--- glibc-package/trunk/debian/patches/any/submitted-broken-dns.diff
(rev 0)
+++ glibc-package/trunk/debian/patches/any/submitted-broken-dns.diff
2009-05-04 22:50:43 UTC (rev 3447)
@@ -0,0 +1,18 @@
+2009-05-05  Aurelien Jarno  aurel...@aurel32.net
+
+   * resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP
+   or FORMERR and the other NOERROR, don't raise an error.
+
+--- a/resolv/res_query.c
 b/resolv/res_query.c
+@@ -289,6 +289,10 @@ __libc_res_nquery(res_state statp,
+   break;
+   case FORMERR:
+   case NOTIMP:
++  if ((hp-rcode == NOERROR  ntohs (hp-ancount) != 0)
++  || (hp2-rcode == NOERROR
++   ntohs (hp2-ancount) != 0))
++  goto success;
+   case REFUSED:
+   default:
+   RES_SET_H_ERRNO(statp, NO_RECOVERY);

Modified: glibc-package/trunk/debian/patches/series
===
--- glibc-package/trunk/debian/patches/series   2009-05-04 22:38:08 UTC (rev 
3446)
+++ glibc-package/trunk/debian/patches/series   2009-05-04 22:50:43 UTC (rev 
3447)
@@ -203,3 +203,4 @@
 any/local-getaddrinfo-interface.diff
 any/cvs-broken-dns.diff
 any/cvs-binutils_2.20.diff
+any/submitted-broken-dns.diff


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



r3448 - glibc-package/trunk/debian

2009-05-04 Thread Aurelien Jarno
Author: aurel32
Date: 2009-05-04 22:56:41 + (Mon, 04 May 2009)
New Revision: 3448

Modified:
   glibc-package/trunk/debian/changelog
Log:
Add bug number


Modified: glibc-package/trunk/debian/changelog
===
--- glibc-package/trunk/debian/changelog2009-05-04 22:50:43 UTC (rev 
3447)
+++ glibc-package/trunk/debian/changelog2009-05-04 22:56:41 UTC (rev 
3448)
@@ -10,7 +10,7 @@
   [ Aurelien Jarno ]
   * any/cvs-broken-dns.diff: backport more parts from upstream.
   * any/submitted-broken-dns.diff: new patch to not raise an error if one
-query returns NOTIMP or FORMERR and the other NOERROR.
+query returns NOTIMP or FORMERR and the other NOERROR.  Closes: #526823.
 
  -- Aurelien Jarno aure...@debian.org  Tue, 28 Apr 2009 23:11:30 +0200
 


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#504196: glibc: experimental upgrade breaks epiphany-browser

2009-05-04 Thread Aurelien Jarno
On Sat, Nov 01, 2008 at 07:09:03PM +0100, Johannes Berg wrote:
 On Sat, 2008-11-01 at 18:40 +0100, Pierre Habouzit wrote:
  On Sat, Nov 01, 2008 at 03:45:56PM +, Johannes Berg wrote:
   Package: glibc
   Version: 2.8+20080809-1
   Severity: normal
   
   I have no idea why, but upgrading to libc6 from experimental
   on an otherwise mostly unstable system breaks epiphany-browser,
   it will segfault right away at start.
  
  Could you at least care to give a backtrace with libc6-dbg installed
  please ?
 
 Problem is that the backtrace is making no sense, it's crashing in
 libglib:
 
 #0  0x0e8d1290 in waitpid () from /lib/libpthread.so.0
 #1  0x0e7a5630 in IA__g_spawn_sync (working_directory=value optimized out, 
 argv=value optimized out, envp=0x0, flags=value optimized out, 
 child_setup=value optimized out, user_data=value optimized out, 
 standard_output=0x0, standard_error=0x0, exit_status=0x0, 
 error=0xbf9e2818) at /build/buildd/glib2.0-2.18.2/glib/gspawn.c:382
 

Is the problem still reproducible with glibc 2.9?

-- 
Aurelien Jarno  GPG: 1024D/F1BCDB73
aurel...@aurel32.net http://www.aurel32.net



-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org