has to be on my side. i made a change in the way i read/write to the socket and 
now i get 

socket(AF_UNIX, SOCK_STREAM, 0)         = 12
connect(12, {sa_family=AF_UNIX, sun_path="/tmp/pra.sock"}, 110) = 0
write(12, "{\"method\": \"initialize\", \"parame"..., 66) = 66
poll([{fd=12, events=POLLIN}], 1, 1000) = 1 ([{fd=12, revents=POLLIN}])
read(12, "{\"result\":true}", 1500)     = 15
write(12, "{\"method\": \"getAllDomains\", \"par"..., 70) = 70
poll([{fd=12, events=POLLIN}], 1, 1000) = 0 (Timeout)
poll([{fd=12, events=POLLIN}], 1, 1000) = 0 (Timeout)
close(12)

pdns now dies after the two POLL (timeout), i’ll work on my read/write code to 
fix this and let you know.

thanks again






> On 28 Nov 2023, at 16:21, Alexis Fidalgo <alz...@gmail.com> wrote:
> 
> the mail with the whole strace is kept because of the attach but i can see 
> this
> 
> 
> sendto(3, "<30>Nov 28 16:17:46 pdns[167106]"..., 57, MSG_NOSIGNAL, NULL, 0) = 
> 57
> socket(AF_UNIX, SOCK_STREAM, 0)         = 12
> connect(12, {sa_family=AF_UNIX, sun_path="/tmp/pra.sock"}, 110) = 0
> write(12, "{\"method\": \"initialize\", \"parame"..., 66) = 66
> poll([{fd=12, events=POLLIN}], 1, 1000) = 1 ([{fd=12, revents=POLLIN}])
> read(12, "{\"result\":true}", 1500)     = 15
> write(12, "{\"method\": \"getAllDomains\", \"par"..., 70) = -1 EPIPE (Broken 
> pipe)
> --- SIGPIPE {si_signo=SIGPIPE, si_code=SI_USER, si_pid=167106, si_uid=0} ---
> close(12)                               = 0
> futex(0x7f5d0c6181e0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> write(2, "Nov 28 16:17:46 PDNSException wh"..., 134Nov 28 16:17:46 
> PDNSException while filling the zone cache: Exception caught when sending: 
> Could not send a message to remote process
> ) = 134
> 
> 
> 
> it looks like the socket is being closed when pdns is trying to send a new 
> message (the getAllDomains)?
> 
> 
>> On 28 Nov 2023, at 16:13, Remi Gacogne via Pdns-users 
>> <pdns-users@mailman.powerdns.com> wrote:
>> 
>> Hi!
>> 
>> On 28/11/2023 19:59, Alexis Fidalgo via Pdns-users wrote:
>>> Sorry about that, yes, this will work locally, meaning the remote responder 
>>> (my script) will run on the same VM than pdns-auth, so pdns-auth will 
>>> connect using a unix socket with the responder using remote backend.
>>> That actually occurs, this is what is shown from the pdns
>>> ---
>>> alz@nuc  /opt/pdns-auth-4.8.3/sbin  ./pdns_server
>>> Nov 28 14:52:54 This is a standalone pdns
>>> Nov 28 14:52:54 Listening on controlsocket in 
>>> '/var/run/pdns/pdns.controlsocket'
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 UDP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 TCP server bound to 0.0.0.0:5300
>>> Nov 28 14:52:54 PowerDNS Authoritative Server 4.8.3 (C) 2001-2022 
>>> PowerDNS.COM BV
>>> Nov 28 14:52:54 Using 64-bits mode. Built using gcc 10.2.1 20210110 on Nov 
>>> 28 2023 11:42:16 by a...@nuc.lesi.com.
>>> Nov 28 14:52:54 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free 
>>> software, and you are welcome to redistribute it according to the terms of 
>>> the GPL version 2.
>>> Nov 28 14:52:54 [stub-resolver] Doing stub resolving for 
>>> 'auth-4.8.3.security-status.secpoll.powerdns.com.|TXT', using resolvers: 
>>> 192.168.86.1
>>> Nov 28 14:52:54 [stub-resolver] Question for 
>>> 'auth-4.8.3.security-status.secpoll.powerdns.com.|TXT' got answered by 
>>> 192.168.86.1
>>> Nov 28 14:52:54 Polled security status of version 4.8.3 at startup, no 
>>> known issues reported: OK
>>> Nov 28 14:52:54 Reconnecting to backend
>>> Nov 28 14:52:54 PDNSException while filling the zone cache: Exception 
>>> caught when sending: Could not send a message to remote process
>>> —
>>> this is what is showed on the responder when the
>>> ---
>>> 2023-11-28T14:52:54.907-0300 DEBUG handlers/handlers.go:65 pdns request 
>>> received: {"method": "initialize", "parameters": {"path": "/tmp/pra.sock"}}
>>> 2023-11-28T14:52:54.907-0300 DEBUG handlers/handlers.go:50 Response 
>>> {"result":true}
>>> —
>>> This same responder script, if using http returns exactly the same json, 
>>> getAllDomains comes after the initialize, then the lookups, so the 
>>> responder works ok.
>>> Problem is, when i switch to unix socket, throws the error on the red line 
>>> after the initialize and dies
>> 
>> That's very weird indeed, and unfortunately the unix connector is lacking a 
>> bit of logging in this area. Any chance you would be able to strace the 
>> authoritative server process?
>> 
>> Cheers,f
>> -- 
>> Remi Gacogne
>> PowerDNS.COM <http://powerdns.com/> BV - https://www.powerdns.com/
>> _______________________________________________
>> Pdns-users mailing list
>> Pdns-users@mailman.powerdns.com <mailto:Pdns-users@mailman.powerdns.com>
>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
> 

_______________________________________________
Pdns-users mailing list
Pdns-users@mailman.powerdns.com
https://mailman.powerdns.com/mailman/listinfo/pdns-users

Reply via email to