Reply to I frames with REJ only with P/F bit set

This commit is contained in:
XANTRONIX Development 2020-07-14 22:00:31 -04:00 committed by XANTRONIX Industrial
parent 34353fa1d9
commit 6df612b910

View file

@ -1225,24 +1225,19 @@ static int handle_i(patty_ax25_server *server,
return frame->pf? reply_dm(iface, frame, PATTY_AX25_FRAME_FINAL): 0; return frame->pf? reply_dm(iface, frame, PATTY_AX25_FRAME_FINAL): 0;
} }
/*
* TODO: Validate RX and TX sequence numbers
*/
if (sock->seq_recv == frame->ns) { if (sock->seq_recv == frame->ns) {
patty_ax25_sock_seq_recv_incr(sock); patty_ax25_sock_seq_recv_incr(sock);
} else { } else {
return patty_ax25_sock_send_rej(sock, PATTY_AX25_FRAME_RESPONSE); return frame->pf?
patty_ax25_sock_send_rej(sock, PATTY_AX25_FRAME_RESPONSE): 0;
} }
if (write(sock->fd, frame->info, frame->infolen) < 0) { if (write(sock->fd, frame->info, frame->infolen) < 0) {
goto error_write; goto error_write;
} }
if (frame->pf) { return frame->pf?
return patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE); patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE): 0;
}
return 0;
error_write: error_write:
return -1; return -1;