Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140630012830.GA16088@newbook>
Date: Sun, 29 Jun 2014 18:28:31 -0700
From: Isaac Dunham <ibid.ag@...il.com>
To: alpine-devel@...ts.alpinelinux.org
Cc: musl@...ts.openwall.com
Subject: cups debugging, continued

On Sun, Jun 29, 2014 at 05:12:01PM -0700, Isaac Dunham wrote:
> Now I hit the next issue: the 'lpd' backend reports 
> 'Unable to reserve port: Invalid argument'
> And I need to figure out what's causing this--or rather, what the solution is.
> Right now, I'm stuck (lpd is the main way to access it, and it isn't working).
OK, now we're in cups-1.7.3/backend/lpd.c:

...the problem is a local implementation of rresvport_af(), trying to reserve
a port but failing.

And strace -p `pidof lpd` says this:
Process 16113 attached
restart_syscall(<... resuming interrupted call ...>) = 0
geteuid32()                             = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(905), sin_addr=inet_addr("0.0.0.0")}, 256) = -1 EINVAL (Invalid argument)
close(7)                                = 0
writev(2, [{"", 0}, {"DEBUG: Unable to reserve port", 29}], 2) = 29
writev(2, [{"", 0}, {":", 1}], 2)       = 1
writev(2, [{"", 0}, {" ", 1}], 2)       = 1
writev(2, [{"", 0}, {"Invalid argument", 16}], 2) = 16
writev(2, [{"", 0}, {"\n", 1}], 2)      = 1
nanosleep({1, 0}, 0x5d2bcae8)           = 0
geteuid32()                             = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(904), sin_addr=inet_addr("0.0.0.0")}, 256) = -1 EINVAL (Invalid argument)
close(7)                                = 0
writev(2, [{"", 0}, {"DEBUG: Unable to reserve port", 29}], 2) = 29
writev(2, [{"", 0}, {":", 1}], 2)       = 1
writev(2, [{"", 0}, {" ", 1}], 2)       = 1
writev(2, [{"", 0}, {"Invalid argument", 16}], 2) = 16
writev(2, [{"", 0}, {"\n", 1}], 2)      = 1
nanosleep({1, 0}, 0x5d2bcae8)           = 0
geteuid32()                             = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(903), sin_addr=inet_addr("0.0.0.0")}, 256) = -1 EINVAL (Invalid argument)
close(7)                                = 0
writev(2, [{"", 0}, {"DEBUG: Unable to reserve port", 29}], 2) = 29
writev(2, [{"", 0}, {":", 1}], 2)       = 1
writev(2, [{"", 0}, {" ", 1}], 2)       = 1
writev(2, [{"", 0}, {"Invalid argument", 16}], 2) = 16
writev(2, [{"", 0}, {"\n", 1}], 2)      = 1
nanosleep({1, 0}, Process 16113 detached
 <detached ...>

Clearly something needs to be adjusted for this to work with musl; I'm not sure what it is.

Thanks,
Isaac Dunham

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.