Fix SOAP request functions name.

Add check WTP session into capwap echo request
This commit is contained in:
vemax78
2013-09-16 22:11:32 +02:00
parent 08a8af0a70
commit 3465879b3e
7 changed files with 88 additions and 48 deletions

View File

@ -5,12 +5,31 @@
/* */
static int receive_echo_request(struct ac_session_t* session, struct capwap_parsed_packet* packet) {
int validsession = 0;
struct ac_soap_response* response;
struct capwap_header_data capwapheader;
struct capwap_packet_txmng* txmngpacket;
ASSERT(session != NULL);
ASSERT(packet != NULL);
/* Check session */
response = ac_soap_checkwtpsession(session, session->wtpid);
if (response) {
if ((response->responsecode == HTTP_RESULT_OK) && response->xmlResponseReturn) {
xmlChar* xmlResult = xmlNodeGetContent(response->xmlResponseReturn);
if (!xmlStrcmp(xmlResult, (const xmlChar *)"true")) {
validsession = 1;
}
}
ac_soapclient_free_response(response);
}
if (!validsession) {
return -1;
}
/* Create response */
capwap_header_init(&capwapheader, CAPWAP_RADIOID_NONE, GET_WBID_HEADER(packet->rxmngpacket->header));
txmngpacket = capwap_packet_txmng_create_ctrl_message(&capwapheader, CAPWAP_ECHO_RESPONSE, packet->rxmngpacket->ctrlmsg.seq, session->mtu);