Unfortunately, I don't understand it.
If one would stick to the intended protocol, then wouldn't it work to simply route the packet content with the server address in it into the subnet?
Why is the server IP address not entered in the announcement server but '\xff\xff\xff\xff'?
def __init__(self, tcpport, key=0,
tcpaddr='\xff\xff\xff\xff',
udpaddrs=[('<broadcast>',5049)],
period=15.0):
if sys.version_info[0] < 3:
self.msg = _Ann.pack(0x5243, 0, tcpaddr, tcpport, 0, key)
else:
self.msg = _Ann.pack(0x5243, 0, tcpaddr.encode('latin-1'), tcpport, 0, key)
And is that why castudp.c contains this workaround?
static void haveCandidate(caster_t *self,
casterAnnounce *buf,
osiSockAddr* peer)
{
if(ntohs(buf->pid) != RECAST_MAGIC)
return; /* not a recast announcement */
if(ntohs(buf->version)!=0)
return; /* reserved for later expansion */
self->nameserv.ia.sin_family = AF_INET;
if(ntohl(buf->serverIP)==0xffffffff) {
/* direct from the source */
self->nameserv.ia.sin_addr = peer->ia.sin_addr;
} else {
/* proxied */
self->nameserv.ia.sin_addr.s_addr = buf->serverIP;
}
self->nameserv.ia.sin_port = buf->serverPort;
/* ignore TOU16(buf,0xA) */
self->servkey = ntohl(buf->serverKey);
self->haveserv = 1;
}
Surely this would not have to be the case if the announcer were to enter his address?
Can you bring light into my darkness?
Danke, Heinz
> On 22. Apr 2022, at 21:41, Michael Davidsaver <mdavidsaver at gmail.com> wrote:
>
> On 4/22/22 11:51, Heinz Junkes via Tech-talk wrote:
>> Hi,
>> we need to route the announcements from our central Channelfinder server to a subnet so that the
>> recasters on the IOCs in the subnet can send their PV information to the server.
>> Unfortunately, the announcement package does not contain the IP of the server but FF:FF:FF:FF.
>
> How are you planning to "route"?
>
> Playing games with routing rules, or mangling via. something like iptables/netfilter won't change
> the IP source address, which is what SERV ADDR == 0xffffffff means (as with CA or PVA).
>
> If you are thinking to create an active repeater (application level proxy), then this app. will
> need to copy the original IP source address into SERV ADDR field.
>
> https://github.com/ChannelFinder/recsync#udp-protocol
>
>
>> root@priscilla:~# socat -ls -u -v -x UDP4-RECVFROM:5049,broadcast,fork,bind=141.14.143.255 UDP4-SENDTO:10.0.1.255:5049,broadcast
>>> 2022/04/22 17:22:18.879313 length=16 from=0 to=15
>> 52 43 00 00 ff ff ff ff 84 81 00 00 61 bf c1 23 RC..........a..#
>> Gruss Heinz
>
- Replies:
- Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- References:
- Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Heinz Junkes via Tech-talk
- Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- Navigate by Date:
- Prev:
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- Next:
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
<2022>
2023
2024
- Navigate by Thread:
- Prev:
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- Next:
Re: Recsync: RecCeiver Server announcement contains Broadcast address instead of server ip address Michael Davidsaver via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
<2022>
2023
2024
|