Quote:
Originally Posted by xCPx
Hey.Rev 2089:
Code:
while ( v6 );
if ( v6 )
{
LABEL_27:
strlcpy(g_szInternalIP, v7, 16);
fprintf(_stderrp__FBSD_1_0, "INTERNAL_IP: %s interface %s\n", v15, v4->ifa_name);
}
else
{
if ( g_szPublicIP[0] == 48 )
{
strlcpy(g_szPublicIP, v7, 16);
fprintf(_stderrp__FBSD_1_0, "PUBLIC_IP: %s interface %s\n", v15, v4->ifa_name);
}
}
schaut man sich das nuneinmal genauer an, so fällt einem auf, dass die PUBLIC_IP bei der rev nur eingetragen wird, wenn sie mit 48. anfängt.
|
Leider falsch.
g_szPublicIP[0] == 48 prüft, welches Zeichen an erster Stelle der IP steht, nicht was der erste Block ist.
48 ist der ASCII-Code für die 0, also prüft die Abfrage, ob eine IP mit einer 0 am Anfang eingelesen wurde.
Edit:
g_szPublicIP ist ein vom Typ char[] - das unterstreicht meine Aussage.
Wahrscheinlich wird geprüft, ob bereits eine IP festgelegt wurde.
Mit Hamachi und DynDNS hat das aber leider wenig zu tun.
Eine IP per
bind_ip in der Config festzulegen, geht aber.