diff --git a/src/capwap/conn_get_message.c b/src/capwap/conn_get_message.c index 2282f213..233c62e2 100644 --- a/src/capwap/conn_get_message.c +++ b/src/capwap/conn_get_message.c @@ -6,22 +6,26 @@ #include "conn.h" #include "cwrmsg.h" +#include "cw_log.h" +#include "capwap.h" +#include "sock.h" -struct args{ - struct conn * conn; - struct cwrmsg * cwrmsg; +struct args { + struct conn *conn; + struct cwrmsg *cwrmsg; }; -static int pmessage(void *p, struct cwrmsg * cwrmsg) +static int pmessage(void *p, struct cwrmsg *cwrmsg) { - struct args * args = (struct args*)p; - struct conn * conn = args->conn; + struct args *args = (struct args *) p; + struct conn *conn = args->conn; - memcpy(&conn->cwrmsg,cwrmsg,sizeof(struct cwrmsg)); - memcpy(conn->cwrmsg_buffer,cwrmsg->msgelems,cwrmsg->msgelems_len); - conn->cwrmsg.msgelems=conn->cwrmsg_buffer; + memcpy(&conn->cwrmsg, cwrmsg, sizeof(struct cwrmsg)); + memcpy(conn->cwrmsg_buffer, cwrmsg->msgelems, + cwrmsg->msgelems_len); + conn->cwrmsg.msgelems = conn->cwrmsg_buffer; args->cwrmsg = &conn->cwrmsg; return 0; } @@ -29,18 +33,28 @@ static int pmessage(void *p, struct cwrmsg * cwrmsg) -struct cwrmsg * conn_get_message(struct conn * conn) +struct cwrmsg *conn_get_message(struct conn *conn) { struct args args; - args.cwrmsg=0; - args.conn=conn; + args.cwrmsg = 0; + args.conn = conn; uint8_t buf[2024]; - int len=2024; + int len = 2024; - int n = conn->read(conn,buf,len); - if (n>0) - conn_process_packet(conn,buf,n,pmessage,&args); + int n = conn->read(conn, buf, len); + if (n > 0) + conn_process_packet(conn, buf, n, pmessage, &args); + + + if (args.cwrmsg) { + + cw_dbg(DBG_CW_MSG, + "Received message from %s, type=%d - %s, seq=%d", + sock_addr2str(&conn->addr), args.cwrmsg->type, + cw_msgtostr(args.cwrmsg->type), + args.cwrmsg->seqnum); + + } return args.cwrmsg; } -