diff --git a/src/cw/cw_init_data_keep_alive_msg.c b/src/cw/cw_init_data_keep_alive_msg.c new file mode 100644 index 00000000..755389fb --- /dev/null +++ b/src/cw/cw_init_data_keep_alive_msg.c @@ -0,0 +1,23 @@ +#include "cw.h" +#include "capwap.h" + + + + +uint8_t *cw_init_data_keep_alive_msg(uint8_t * buffer,uint8_t *rmac) +{ + /* zero the first 8 bytes */ + memset(buffer,0,8); + + /* put capwap header, unencrypted */ +#if CAPWAP_PACKET_PREAMBLE != 0 + cw_set_hdr_preamble(buffer, CAPWAP_PACKET_PREAMBLE); +#endif + + cw_set_hdr_rmac(buffer, rmac); + + cw_set_hdr_flags(buffer, CW_FLAG_HDR_K,1); + + return cw_get_hdr_payload_ptr(buffer); +} + diff --git a/src/include/capwap_actions.h b/src/include/capwap_actions.h new file mode 120000 index 00000000..bc97dfb0 --- /dev/null +++ b/src/include/capwap_actions.h @@ -0,0 +1 @@ +../mod/capwap/capwap_actions.h \ No newline at end of file diff --git a/src/mod/capwap/capwap_actions.h b/src/mod/capwap/capwap_actions.h new file mode 100644 index 00000000..813655b2 --- /dev/null +++ b/src/mod/capwap/capwap_actions.h @@ -0,0 +1,7 @@ +#ifndef __CAPWAP_ACTIONS_H +#define __CAPWAP_ACTIONS_H + +int capwap_in_session_id(struct conn *conn, struct cw_action_in *a, uint8_t * data, + int len, struct sockaddr *from); + +#endif diff --git a/src/mod/capwap/capwap_in_session_id.c b/src/mod/capwap/capwap_in_session_id.c new file mode 100644 index 00000000..fca5f85a --- /dev/null +++ b/src/mod/capwap/capwap_in_session_id.c @@ -0,0 +1,12 @@ + + +#include "cw/action.h" + + +int capwap_in_session_id(struct conn *conn, struct cw_action_in *a, uint8_t * data, + int len, struct sockaddr *from){ + + memcpy(conn->session_id,data,len); + return 1; +} +