diff --git a/src/server.c b/src/server.c index 98097b5..eb020a8 100644 --- a/src/server.c +++ b/src/server.c @@ -1225,24 +1225,19 @@ static int handle_i(patty_ax25_server *server, 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) { patty_ax25_sock_seq_recv_incr(sock); } 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) { goto error_write; } - if (frame->pf) { - return patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE); - } - - return 0; + return frame->pf? + patty_ax25_sock_send_rr(sock, PATTY_AX25_FRAME_RESPONSE): 0; error_write: return -1;