Re: remote backend

Alexis Fidalgo via Pdns-users <[email protected]>
Newsgroups gmane.network.dns.powerdns.user
Message-ID <[email protected]>
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 <[email protected]> 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 <[email protected]> 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 [email protected].
>>> 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
>> [email protected] <mailto:[email protected]>
>> https://mailman.powerdns.com/mailman/listinfo/pdns-users
>

_______________________________________________
Pdns-users mailing list
[email protected]
https://mailman.powerdns.com/mailman/listinfo/pdns-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.