f3a034122f
FossilOrigin-Name: 81ab5c5c07e3ed0b84527274f3c80314fc6411fdd9aede3dba3b2cb2ae0eef8c
61 lines
1.2 KiB
C
61 lines
1.2 KiB
C
|
|
#include "action.h"
|
|
#include "capwap.h"
|
|
|
|
|
|
|
|
int cw_in_set_state_none(struct conn *conn,struct cw_action_in * a,uint8_t *data,int len)
|
|
{
|
|
conn->capwap_state=CW_STATE_NONE;
|
|
return 1;
|
|
}
|
|
|
|
|
|
struct mbag_item *cw_out_get_outgoing(struct conn *conn, struct cw_action_out *a)
|
|
{
|
|
return mbag_get(conn->outgoing, a->item_id);
|
|
}
|
|
|
|
struct mbag_item *cw_out_get_incomming(struct conn *conn, struct cw_action_out *a)
|
|
{
|
|
return mbag_get(conn->incomming, a->item_id);
|
|
}
|
|
|
|
struct mbag_item *cw_out_get_local(struct conn *conn, struct cw_action_out *a)
|
|
{
|
|
return mbag_get(conn->local,a->item_id);
|
|
}
|
|
|
|
struct mbag_item *cw_out_get_config(struct conn *conn, struct cw_action_out *a)
|
|
{
|
|
return mbag_get(conn->config,a->item_id);
|
|
}
|
|
|
|
|
|
|
|
#include "capwap.h"
|
|
#include "capwap_items.h"
|
|
|
|
#include "log.h"
|
|
#include "rand.h"
|
|
|
|
struct mbag_item * cw_out_get_session_id(struct conn *conn,struct cw_action_out * a)
|
|
{
|
|
uint8_t session_id[16];
|
|
|
|
int slen;
|
|
if ( conn->capwap_mode == CW_MODE_CISCO){
|
|
slen=2;
|
|
}
|
|
else
|
|
slen=16;
|
|
|
|
int l = cw_rand(session_id,slen);
|
|
if ( l!=slen ) {
|
|
cw_log(LOG_ERR,"Can't init session ID.");
|
|
return NULL;
|
|
}
|
|
return mbag_set_bstrn(conn->local,CW_ITEM_SESSION_ID,session_id,slen);
|
|
}
|
|
|