Implement replies to TEST frames
This commit is contained in:
parent
f364604dcb
commit
3d12ab33e3
1 changed files with 19 additions and 0 deletions
19
src/server.c
19
src/server.c
|
@ -1140,6 +1140,18 @@ static int reply_ua(patty_ax25_if *iface,
|
||||||
return reply_to(iface, frame, &reply);
|
return reply_to(iface, frame, &reply);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int reply_test(patty_ax25_if *iface,
|
||||||
|
patty_ax25_frame *frame) {
|
||||||
|
patty_ax25_frame reply = {
|
||||||
|
.control = PATTY_AX25_FRAME_UA | (PATTY_AX25_FRAME_FINAL << 4),
|
||||||
|
.proto = PATTY_AX25_PROTO_NONE,
|
||||||
|
.info = frame->info,
|
||||||
|
.infolen = frame->infolen
|
||||||
|
};
|
||||||
|
|
||||||
|
return reply_to(iface, frame, &reply);
|
||||||
|
}
|
||||||
|
|
||||||
static int handle_frmr(patty_ax25_server *server,
|
static int handle_frmr(patty_ax25_server *server,
|
||||||
patty_ax25_if *iface,
|
patty_ax25_if *iface,
|
||||||
patty_ax25_sock *sock,
|
patty_ax25_sock *sock,
|
||||||
|
@ -1227,6 +1239,12 @@ error_client_by_sock:
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int handle_test(patty_ax25_server *server,
|
||||||
|
patty_ax25_if *iface,
|
||||||
|
patty_ax25_frame *frame) {
|
||||||
|
return reply_test(iface, frame);
|
||||||
|
}
|
||||||
|
|
||||||
static int handle_ua(patty_ax25_server *server,
|
static int handle_ua(patty_ax25_server *server,
|
||||||
patty_ax25_if *iface,
|
patty_ax25_if *iface,
|
||||||
patty_ax25_sock *sock,
|
patty_ax25_sock *sock,
|
||||||
|
@ -1586,6 +1604,7 @@ static int handle_frame(patty_ax25_server *server,
|
||||||
case PATTY_AX25_FRAME_XID: return handle_xid(server, iface, &frame, buf, offset, len);
|
case PATTY_AX25_FRAME_XID: return handle_xid(server, iface, &frame, buf, offset, len);
|
||||||
case PATTY_AX25_FRAME_SABM:
|
case PATTY_AX25_FRAME_SABM:
|
||||||
case PATTY_AX25_FRAME_SABME: return handle_sabm(server, iface, &frame);
|
case PATTY_AX25_FRAME_SABME: return handle_sabm(server, iface, &frame);
|
||||||
|
case PATTY_AX25_FRAME_TEST: return handle_test(server, iface, &frame);
|
||||||
case PATTY_AX25_FRAME_UA: return handle_ua(server, iface, sock, &frame);
|
case PATTY_AX25_FRAME_UA: return handle_ua(server, iface, sock, &frame);
|
||||||
case PATTY_AX25_FRAME_DM: return handle_dm(server, iface, sock, &frame);
|
case PATTY_AX25_FRAME_DM: return handle_dm(server, iface, sock, &frame);
|
||||||
case PATTY_AX25_FRAME_DISC: return handle_disc(server, iface, sock, &frame);
|
case PATTY_AX25_FRAME_DISC: return handle_disc(server, iface, sock, &frame);
|
||||||
|
|
Loading…
Add table
Reference in a new issue