change logic of how routing destination port is obtained

pull/14/head
Tom Early 7 years ago
parent 59ecf1a40b
commit ca9e21132a

@ -1390,10 +1390,9 @@ void CQnetGateway::ProcessModem()
from.append(1, i+'A'); from.append(1, i+'A');
ii[result]->sendPing(temp_radio_user, from); ii[result]->sendPing(temp_radio_user, from);
to_remote_g2[i].streamid = dsvt.streamid; to_remote_g2[i].streamid = dsvt.streamid;
if (ip.npos == ip.find(':')) if (ip.npos == ip.find(':') && af_family[result] == AF_INET6)
to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)g2_external.port, ip.c_str()); fprintf(stderr, "ERROR: IP returned from cache is IPV4 but family is AF_INET6!\n");
else to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)((af_family[result]==AF_INET6) ? g2_ipv6_external.port : g2_external.port), ip.c_str());
to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)g2_ipv6_external.port, ip.c_str());
/* set rpt1 */ /* set rpt1 */
memset(dsvt.hdr.rpt1, ' ', 8); memset(dsvt.hdr.rpt1, ' ', 8);
@ -1453,10 +1452,9 @@ void CQnetGateway::ProcessModem()
from.append(1, i+'A'); from.append(1, i+'A');
ii[result]->sendPing(arearp_cs, from); ii[result]->sendPing(arearp_cs, from);
to_remote_g2[i].streamid = dsvt.streamid; to_remote_g2[i].streamid = dsvt.streamid;
if (ip.npos == ip.find(':')) if (ip.npos == ip.find(':') && af_family[result] == AF_INET6)
to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)g2_external.port, ip.c_str()); fprintf(stderr, "ERROR: IP returned from cache is IPV4 but family is AF_INET6!\n");
else to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)((af_family[result]==AF_INET6) ? g2_ipv6_external.port : g2_ipv6_external.port), ip.c_str());
to_remote_g2[i].toDstar.Initialize(af_family[result], (uint16_t)g2_ipv6_external.port, ip.c_str());
/* set rpt1 */ /* set rpt1 */
memset(dsvt.hdr.rpt1, ' ', 8); memset(dsvt.hdr.rpt1, ' ', 8);

Loading…
Cancel
Save

Powered by TurnKey Linux.