This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On Mon, Apr 08, 2013 at 10:57:13AM +0530, Siddhesh Poyarekar wrote:
> On Mon, Apr 08, 2013 at 07:36:14AM +0400, Dmitry V. Levin wrote:
> > There is a slightly different case when it also shouldn't be EAI_SYSTEM:
> >
> > $ strace -econnect,sendto ./t
> > ...
> > connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.0.43.10")}, 16) = 0
> > sendto(3, "\317I\1\0\0\1\0\0\0\0\0\0\7example\3net\0\0\1\0\1", 29, MSG_NOSIGNAL, NULL, 0) = -1 EPERM (Operation not permitted)
> > ...
> > System error: Resource temporarily unavailable
> > +++ exited with 1 +++
> >
> > Such an environment could be constructed, e.g. by filtering outgoing
> > packets using iptables (-j REJECT --reject-with icmp-net-unreachable).
> >
>
> Have you tried this with the patch I posted[1] last week? I get
> EAI_NONAME with my patch.
Yes, your patch passes the first (unshare -n) test: if connect fails with
ENETUNREACH, getaddrinfo returns EAI_NONAME with errno set to ECONNREFUSED.
But if sendto fails with EPERM, getaddrinfo returns EAI_SYSTEM with errno
set to EAGAIN.
--
ldv
Attachment:
pgpvfM2BWdw5e.pgp
Description: PGP signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |