incoming g2 gets reversed r1 and r2 for icom stack

lastudp
Tom Early 7 years ago
parent 33c8142b8a
commit c35e27066d

@ -1209,8 +1209,13 @@ void CQnetGateway::Process()
rptrbuf.vpkt.streamid = g2buf.streamid;
rptrbuf.vpkt.ctrl = g2buf.ctrl;
memcpy(rptrbuf.vpkt.hdr.flag, g2buf.hdr.flag, 3);
memcpy(rptrbuf.vpkt.hdr.r1, g2buf.hdr.rpt1, 8);
memcpy(rptrbuf.vpkt.hdr.r2, g2buf.hdr.rpt2, 8);
if (is_icom) {
memcpy(rptrbuf.vpkt.hdr.r1, g2buf.hdr.rpt2, 8);
memcpy(rptrbuf.vpkt.hdr.r2, g2buf.hdr.rpt1, 8);
} else {
memcpy(rptrbuf.vpkt.hdr.r1, g2buf.hdr.rpt1, 8);
memcpy(rptrbuf.vpkt.hdr.r2, g2buf.hdr.rpt2, 8);
}
memcpy(rptrbuf.vpkt.hdr.ur, g2buf.hdr.urcall, 8);
memcpy(rptrbuf.vpkt.hdr.my, g2buf.hdr.mycall, 8);
memcpy(rptrbuf.vpkt.hdr.nm, g2buf.hdr.sfx, 4);

@ -1509,8 +1509,7 @@ void CQnetLink::Process()
found = false;
for (int i=0; i<3; i++) {
if ((fromDst4.sin_addr.s_addr == to_remote_g2[i].toDst4.sin_addr.s_addr) &&
(to_remote_g2[i].toDst4.sin_port == htons(rmt_xrf_port))) {
if ((fromDst4.sin_addr.s_addr == to_remote_g2[i].toDst4.sin_addr.s_addr) && (to_remote_g2[i].toDst4.sin_port == htons(rmt_xrf_port))) {
to_remote_g2[i].countdown = TIMEOUT;
found = true;
}
@ -1524,8 +1523,7 @@ void CQnetLink::Process()
source_stn[8] = '\0';
/* some bad hotspot programs out there using INCORRECT flag */
if (dsvt.hdr.flag[0]==0x40U || dsvt.hdr.flag[0]==0x48U || dsvt.hdr.flag[0]==0x60U || dsvt.hdr.flag[0]==0x68U)
dsvt.hdr.flag[0] -= 0x40;
if (dsvt.hdr.flag[0]==0x40U || dsvt.hdr.flag[0]==0x48U || dsvt.hdr.flag[0]==0x60U || dsvt.hdr.flag[0]==0x68U) dsvt.hdr.flag[0] -= 0x40;
/* A reflector will send to us its own RPT1 */
/* A repeater will send to us our RPT1 */
@ -1573,9 +1571,7 @@ void CQnetLink::Process()
/* Last Heard */
if (old_sid[i].sid != dsvt.streamid) {
if (qso_details)
printf("START from remote g2: streamID=%04x, flags=%02x:%02x:%02x, my=%.8s, sfx=%.4s, ur=%.8s, rpt1=%.8s, rpt2=%.8s, %d bytes fromIP=%s, source=%.8s\n",
ntohs(dsvt.streamid), dsvt.hdr.flag[0], dsvt.hdr.flag[1], dsvt.hdr.flag[2], dsvt.hdr.mycall, dsvt.hdr.sfx,
dsvt.hdr.urcall, dsvt.hdr.rpt1, dsvt.hdr.rpt2, length, inet_ntoa(fromDst4.sin_addr), source_stn);
printf("START from remote g2: streamID=%04x, flags=%02x:%02x:%02x, my=%.8s, sfx=%.4s, ur=%.8s, rpt1=%.8s, rpt2=%.8s, %d bytes fromIP=%s, source=%.8s\n", ntohs(dsvt.streamid), dsvt.hdr.flag[0], dsvt.hdr.flag[1], dsvt.hdr.flag[2], dsvt.hdr.mycall, dsvt.hdr.sfx, dsvt.hdr.urcall, dsvt.hdr.rpt1, dsvt.hdr.rpt2, length, inet_ntoa(fromDst4.sin_addr), source_stn);
// put user into tmp1
memcpy(tmp1, dsvt.hdr.mycall, 8);

Loading…
Cancel
Save

Powered by TurnKey Linux.