Re: Simple cell with standalone router/server + backup

"Elvis Stansvik" <[email protected]> Sat, 13 Sep 2008 16:31:26 +0200
Newsgroups gmane.network.silc.user
Message-ID <[email protected]>
2008/9/13 Elvis Stansvik <[email protected]>:
> 2008/9/13 Elvis Stansvik <[email protected]>:
>> 2008/9/13 Pekka Riikonen <[email protected]>:
>>>
>>> : > It segfaults right at the connection attempt from the backup. Got any
>>> : > ideas off the top of your head about this, or should I bring out gdb?
>>> : > :)
>>> :
>>> : I now compiled silc-server with --enable-debug on the primary router
>>> : and got a backtrace from the segfault:
>>> :
>>> : Program received signal SIGSEGV, Segmentation fault.
>>> : [Switching to Thread 0x28401100 (LWP 100212)]
>>> : silc_pkcs_public_key_copy (public_key=0x0) at silcpkcs.c:637
>>> : 637     key->pkcs = public_key->pkcs;
>>> : #0  silc_pkcs_public_key_copy (public_key=0x0) at silcpkcs.c:637
>>> : #1  0x08061ff5 in silc_server_accept_completed (ske=0x284490c0,
>>> : status=SILC_SKE_STATUS_OK, prop=0x284058a0,
>>> :     keymat=0x2840eca0, rekey=0x2840b820, context=0x2842c080) at server.c:2578
>>> : #2  0x0810f8ee in silc_ske_st_responder_end (fsm=0x28449124,
>>> :
>>> Yes, there appears to be stupid bug where if your configuration uses only
>>> public keys (even client connections uses public keys) then the server
>>> will crash.  If clients are accepted without authentication or with
>>> passphrase auth then it doesn't crash...  I will fix this to next version.
>>
>> Alright. That's great. For now I guess I will accept both passphrase
>> and keys as a temporary solution.
>>
>>>
>>> : [astan@franz ~/silc/sbin]$ sudo ./silcd -f /usr/local/etc/silc/silcd.conf -D 99
>>> : [Logging] [Info] SILC Server started
>>> : [Logging] [Info] Incoming connection h251n2fls33o879.telia.com (213.66.197.251)
>>> : [Logging] [Error] Remote connection not configured
>>> : [Logging] [Error] Authentication failed
>>> : [Logging] [Info] Authentication failed for h251n2fls33o879.telia.com
>>> : (213.66.197.251) [Unknown]
>>> : [Logging] [Info] Closing connection h251n2fls33o879.telia.com:25591 [Unknown]
>>> :
>>> : Sorry for all the troubles, but I really think it should work when I
>>> : use just Passphrase. Any more ideas?
>>> :
>>>
>>> [Logging] [Error] Remote connection not configured
>>>
>>> Verify IP addresses and hostnames...h251n2fls33o879.telia.com isn't what
>>> you had in the config you sent...
>>
>> Well the hostnames in my config are correct, it's just that reverse
>> lookup of those IP-addresses will give my the hostnames from my ISP,
>> as I've not set up reverse records in my DNS, should that be a
>> problem? But the IP there in the silcd output is definately correct.
>
> I just tried with changing the hostnames in my RouterConnections to IP
> addresses instead, and removed both Passphrase and PublicKey, so no
> authentication. What I get then is:
>
> [astan@franz ~/silc-server-1.1.11/lib/silcske]$ sudo
> /home/astan/silc/sbin/silcd -f /usr/local/etc/silc/silcd.conf -D 99
> [Logging] [Info] SILC Server started
> [Logging] [Info] Incoming connection h251n2fls33o879.telia.com (213.66.197.251)
> [Logging] [Info] Connection h251n2fls33o879.telia.com (213.66.197.251)
> is backup router
> [Logging] [Info] Invalid server ID sent by 213.66.197.251
> (h251n2fls33o879.telia.com)
> [Logging] [Info] Closing connection h251n2fls33o879.telia.com:28876 [Server]
>
> I don't see why I should have to use IP addresses just because the
> reverse lookup does not match the FQDN in the config, but I can live
> with having to specify IP addresses. However what's the problem above
> about? Invalid server ID.

I did some investigation on my own, and right before this (which is
false, hence the error):

if (!memcmp(server_id->ip.data, ip, 4))

in silc_id_is_valid_server_id(), I printed some of the values:

[Logging] [Error] remote_ip 213.66.197.251
[Logging] [Error] server_id->ip.data
[Logging] [Error] server_id->ip.data_len 4
[Logging] [Error] server_id->rnd 255
[Logging] [Error] server_id->port 49666

See how server_id->ip.data is completely empty.. I'm not really sure
where to go from here. The code is very beautiful and clean by the
way!

Elvis

>
> Elvis
>
>>
>> Elvis
>>
>>>
>>>        Pekka
>>> ________________________________________________________________________
>>>  Pekka Riikonen                                 priikone at silcnet.org
>>>  Secure Internet Live Conferencing (SILC)       http://silcnet.org/
>>>
>>
>

_______________________________________________________________
Info:    https://lists.silcnet.org/mailman/listinfo/silc-users
Archive: https://lists.silcnet.org/pipermail/silc-users
FAQ:     http://silcnet.org/support/faq/