sockadd2str is c90 compliant
FossilOrigin-Name: 6336ae782e53db768fb7edb6b784c2c2abed4f45b0b1da98a24ac34f7360187f
This commit is contained in:
		@ -365,6 +365,7 @@ int ac_run()
 | 
			
		||||
 | 
			
		||||
void process_cw_data_packet(int index, struct sockaddr *addr, uint8_t * buffer, int len)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	cw_dbg(DBG_X, "There is a data packet now");
 | 
			
		||||
 | 
			
		||||
	dataman_list_lock();
 | 
			
		||||
@ -372,12 +373,12 @@ void process_cw_data_packet(int index, struct sockaddr *addr, uint8_t * buffer,
 | 
			
		||||
	struct dataman * dm = dataman_list_get(socklist[index].data_sockfd,addr);
 | 
			
		||||
	cw_dbg(DBG_X, "Dataman list locked, now gotted");
 | 
			
		||||
 | 
			
		||||
	cw_dbg(DBG_INFO,"Packet for dataman %s,%d",sock_addr2str_p(addr),socklist[index].data_sockfd);
 | 
			
		||||
	cw_dbg(DBG_INFO,"Packet for dataman %s,%d",sock_addr2str_p(addr,sock_buf),socklist[index].data_sockfd);
 | 
			
		||||
	if (!dm) {
 | 
			
		||||
		cw_dbg(DBG_INFO,"No dataman %s,%d",sock_addr2str_p(addr),socklist[index].data_sockfd);
 | 
			
		||||
		cw_dbg(DBG_INFO,"No dataman %s,%d",sock_addr2str_p(addr,sock_buf),socklist[index].data_sockfd);
 | 
			
		||||
		dm = dataman_create(socklist[index].data_sockfd,addr);
 | 
			
		||||
		if (!dm){
 | 
			
		||||
			cw_log(LOG_ERR,"Can't create dataman for packet from %s",sock_addr2str_p(addr));
 | 
			
		||||
			cw_log(LOG_ERR,"Can't create dataman for packet from %s",sock_addr2str_p(addr,sock_buf));
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		dataman_list_add(dm);
 | 
			
		||||
@ -401,7 +402,7 @@ void process_cw_data_packet(int index, struct sockaddr *addr, uint8_t * buffer,
 | 
			
		||||
	exit(0);
 | 
			
		||||
	struct wtpman *wtpman = wtplist_get(addr);
 | 
			
		||||
	if (!wtpman){
 | 
			
		||||
		cw_dbg(DBG_PKT_ERR,"Discarding packet on data channel from %s - No wtpman found.",sock_addr2str(addr));
 | 
			
		||||
		cw_dbg(DBG_PKT_ERR,"Discarding packet on data channel from %s - No wtpman found.",sock_addr2str(addr,sock_buf));
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -412,7 +413,7 @@ void process_cw_data_packet(int index, struct sockaddr *addr, uint8_t * buffer,
 | 
			
		||||
 | 
			
		||||
void process_cw_ctrl_packet(int index, struct sockaddr *addr, uint8_t * buffer, int len)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
 | 
			
		||||
	/* first of all check preamble */
 | 
			
		||||
	int preamble = cw_get_hdr_preamble(buffer);
 | 
			
		||||
@ -420,7 +421,7 @@ void process_cw_ctrl_packet(int index, struct sockaddr *addr, uint8_t * buffer,
 | 
			
		||||
	if (preamble != CAPWAP_PACKET_PREAMBLE && preamble != CAPWAP_DTLS_PACKET_PREAMBLE) {
 | 
			
		||||
		cw_dbg(DBG_PKT_ERR,
 | 
			
		||||
		       "Discarding packet from %s, wrong preamble, preamble = 0x%01X",
 | 
			
		||||
		       sock_addr2str(addr), preamble);
 | 
			
		||||
		       sock_addr2str(addr,sock_buf), preamble);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -332,7 +332,7 @@ static int socklist_check_size()
 | 
			
		||||
 | 
			
		||||
int socklist_add_unicast(const char *addr, const char *port, int ac_proto)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
 | 
			
		||||
	if (!socklist_check_size())
 | 
			
		||||
		return 0;
 | 
			
		||||
@ -402,7 +402,7 @@ int socklist_add_unicast(const char *addr, const char *port, int ac_proto)
 | 
			
		||||
			       sock_addrlen(res->ai_addr));
 | 
			
		||||
			cw_log(LOG_INFO,
 | 
			
		||||
			       "Bound to: %s:%s (%i) on interface %s, netmask %s", addr,
 | 
			
		||||
			       port, sockfd, ifname, sock_addr2str(&netmask));
 | 
			
		||||
			       port, sockfd, ifname, sock_addr2str(&netmask,sock_buf));
 | 
			
		||||
		} else {
 | 
			
		||||
			cw_log(LOG_INFO, "Bound to: [%s]:%s (%i) on interface %s", addr,
 | 
			
		||||
			       port, sockfd, ifname);
 | 
			
		||||
 | 
			
		||||
@ -45,6 +45,7 @@
 | 
			
		||||
 | 
			
		||||
static void reset_echointerval_timer(struct wtpman *wtpman)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	uint16_t ct = mbag_get_word(wtpman->conn->local, CW_ITEM_CAPWAP_TIMERS,
 | 
			
		||||
				    CW_MAX_DISCOVERY_INTERVAL << 8 |
 | 
			
		||||
				    CAPWAP_ECHO_INTERVAL);
 | 
			
		||||
@ -52,7 +53,7 @@ static void reset_echointerval_timer(struct wtpman *wtpman)
 | 
			
		||||
	/* start echinterval timer and put 2 seconds for "safety" on it */
 | 
			
		||||
 | 
			
		||||
	wtpman->echointerval_timer = cw_timer_start(2+ (ct & 0xff));
 | 
			
		||||
	db_ping_wtp(sock_addr2str_p(&wtpman->conn->addr), conf_acname);
 | 
			
		||||
	db_ping_wtp(sock_addr2str_p(&wtpman->conn->addr,sock_buf), conf_acname);
 | 
			
		||||
//	cw_dbg(DBG_X, "Starting capwap timer: %d", wtpman->echointerval_timer);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@ -130,6 +131,7 @@ int xprocess_message(struct conn *conn, uint8_t * rawmsg, int rawlen,
 | 
			
		||||
 | 
			
		||||
static int wtpman_establish_dtls(void *arg)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	struct wtpman *wtpman = (struct wtpman *) arg;
 | 
			
		||||
 | 
			
		||||
	/* setup cipher */
 | 
			
		||||
@ -165,18 +167,19 @@ static int wtpman_establish_dtls(void *arg)
 | 
			
		||||
	/* try to accept the connection */
 | 
			
		||||
	if (!dtls_accept(wtpman->conn)) {
 | 
			
		||||
		cw_dbg(DBG_DTLS, "Error establishing DTLS session with %s",
 | 
			
		||||
		       sock_addr2str_p(&wtpman->conn->addr));
 | 
			
		||||
		       sock_addr2str_p(&wtpman->conn->addr,sock_buf));
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	cw_dbg(DBG_DTLS, "DTLS session established with %s, cipher=%s",
 | 
			
		||||
	       sock_addr2str_p(&wtpman->conn->addr), dtls_get_cipher(wtpman->conn));
 | 
			
		||||
	       sock_addr2str_p(&wtpman->conn->addr,sock_buf), dtls_get_cipher(wtpman->conn));
 | 
			
		||||
 | 
			
		||||
	return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int wtpman_join(void *arg, time_t timer)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	struct wtpman *wtpman = (struct wtpman *) arg;
 | 
			
		||||
	struct conn *conn = wtpman->conn;
 | 
			
		||||
 | 
			
		||||
@ -195,7 +198,7 @@ static int wtpman_join(void *arg, time_t timer)
 | 
			
		||||
//      wtpman->conn->itemstore = mbag_create();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	cw_dbg(DBG_INFO, "Join State - %s", sock_addr2str(&conn->addr));
 | 
			
		||||
	cw_dbg(DBG_INFO, "Join State - %s", sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
 | 
			
		||||
	int rc;
 | 
			
		||||
	while (!cw_timer_timeout(timer) && wtpman->conn->capwap_state == CAPWAP_STATE_JOIN) {
 | 
			
		||||
@ -214,7 +217,7 @@ static int wtpman_join(void *arg, time_t timer)
 | 
			
		||||
 | 
			
		||||
	if (wtpman->conn->capwap_state == CAPWAP_STATE_JOIN) {
 | 
			
		||||
		cw_dbg(DBG_MSG_ERR, "No join request from %s after %d seconds, WTP died.",
 | 
			
		||||
		       sock_addr2str(&wtpman->conn->addr), wtpman->conn->wait_dtls);
 | 
			
		||||
		       sock_addr2str(&wtpman->conn->addr,sock_buf), wtpman->conn->wait_dtls);
 | 
			
		||||
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
@ -227,6 +230,7 @@ static int wtpman_join(void *arg, time_t timer)
 | 
			
		||||
 | 
			
		||||
static void wtpman_image_data(struct wtpman *wtpman)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	struct conn *conn = wtpman->conn;
 | 
			
		||||
 | 
			
		||||
	/* Image upload */
 | 
			
		||||
@ -234,15 +238,15 @@ static void wtpman_image_data(struct wtpman *wtpman)
 | 
			
		||||
	if (!filename) {
 | 
			
		||||
		cw_log(LOG_ERR,
 | 
			
		||||
		       "Can't send image to %s. No Image Filename Item found.",
 | 
			
		||||
		       sock_addr2str(&conn->addr));
 | 
			
		||||
		       sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	cw_dbg(DBG_INFO, "Sending image file '%s' to '%s'.", filename,
 | 
			
		||||
	       sock_addr2str(&conn->addr));
 | 
			
		||||
	       sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
	FILE *infile = fopen(filename, "rb");
 | 
			
		||||
	if (infile == NULL) {
 | 
			
		||||
		cw_log(LOG_ERR, "Can't open image %s: %s",
 | 
			
		||||
		       sock_addr2str(&conn->addr), strerror(errno));
 | 
			
		||||
		       sock_addr2str(&conn->addr,sock_buf), strerror(errno));
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -263,10 +267,10 @@ static void wtpman_image_data(struct wtpman *wtpman)
 | 
			
		||||
 | 
			
		||||
	if (rc) {
 | 
			
		||||
		cw_log(LOG_ERR, "Error sending image to %s: %s",
 | 
			
		||||
		       sock_addr2str(&conn->addr), cw_strrc(rc));
 | 
			
		||||
		       sock_addr2str(&conn->addr,sock_buf), cw_strrc(rc));
 | 
			
		||||
	} else {
 | 
			
		||||
		cw_dbg(DBG_INFO, "Image '%s' sucessful sent to %s in %0.1f seconds.",
 | 
			
		||||
		       filename, sock_addr2str(&conn->addr), cw_clock_stop(&clk));
 | 
			
		||||
		       filename, sock_addr2str(&conn->addr,sock_buf), cw_clock_stop(&clk));
 | 
			
		||||
		conn->capwap_state = CW_STATE_NONE;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -424,7 +428,8 @@ void radio_to_sql(struct conn *conn, char *wtp_id, int rid, mbag_t radio)
 | 
			
		||||
 | 
			
		||||
void radios_to_sql(struct conn *conn)
 | 
			
		||||
{
 | 
			
		||||
	char *wtp_id = sock_addr2str(&conn->addr);
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	char *wtp_id = sock_addr2str(&conn->addr,sock_buf);
 | 
			
		||||
	MAVLITER_DEFINE(it, conn->radios);
 | 
			
		||||
	mavliter_foreach(&it) {
 | 
			
		||||
		struct mbag_item * i = mavliter_get(&it);
 | 
			
		||||
@ -475,7 +480,7 @@ static int msg_end_handler(struct conn *conn, struct cw_action_in *a, uint8_t *
 | 
			
		||||
 | 
			
		||||
static void wtpman_run(void *arg)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
 | 
			
		||||
	struct wtpman *wtpman = (struct wtpman *) arg;
 | 
			
		||||
 | 
			
		||||
@ -514,7 +519,7 @@ static void wtpman_run(void *arg)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	cw_dbg(DBG_INFO, "WTP from %s has joined with session id: %s",
 | 
			
		||||
			sock_addr2str_p(&conn->addr),
 | 
			
		||||
			sock_addr2str_p(&conn->addr,sock_buf),
 | 
			
		||||
			format_bin2hex(conn->session_id,16));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -579,7 +584,7 @@ static void wtpman_run(void *arg)
 | 
			
		||||
		if (cw_timer_timeout(wtpman->echointerval_timer)) {
 | 
			
		||||
 | 
			
		||||
			cw_dbg(DBG_INFO, "Lost connection to WTP:%s",
 | 
			
		||||
			       sock_addr2str_p(&conn->addr));
 | 
			
		||||
			       sock_addr2str_p(&conn->addr,sock_buf));
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -592,13 +597,13 @@ static void wtpman_run(void *arg)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		mavl_conststr_t r;
 | 
			
		||||
		r = db_get_update_tasks(conn, sock_addr2str(&conn->addr));
 | 
			
		||||
		r = db_get_update_tasks(conn, sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
		if (r) {
 | 
			
		||||
 | 
			
		||||
			if (!conn->outgoing->count)
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
			cw_dbg(DBG_INFO, "Updating WTP %s",sock_addr2str(&conn->addr));
 | 
			
		||||
			cw_dbg(DBG_INFO, "Updating WTP %s",sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
 | 
			
		||||
			rc = cw_send_request(conn, CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST);
 | 
			
		||||
			mavl_merge(conn->config, conn->outgoing);
 | 
			
		||||
@ -609,13 +614,13 @@ static void wtpman_run(void *arg)
 | 
			
		||||
			mavl_destroy(r);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		r = db_get_radio_tasks(conn, sock_addr2str(&conn->addr));
 | 
			
		||||
		r = db_get_radio_tasks(conn, sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
		if (r) {
 | 
			
		||||
 | 
			
		||||
			if (!conn->radios_upd->count)
 | 
			
		||||
				continue;
 | 
			
		||||
 | 
			
		||||
			cw_dbg(DBG_INFO, "Updating Radios for %s",sock_addr2str(&conn->addr));
 | 
			
		||||
			cw_dbg(DBG_INFO, "Updating Radios for %s",sock_addr2str(&conn->addr,sock_buf));
 | 
			
		||||
			rc = cw_send_request(conn, CAPWAP_MSG_CONFIGURATION_UPDATE_REQUEST);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -642,7 +647,7 @@ static void wtpman_run(void *arg)
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	db_ping_wtp(sock_addr2str_p(&conn->addr), "");
 | 
			
		||||
	db_ping_wtp(sock_addr2str_p(&conn->addr,sock_buf), "");
 | 
			
		||||
	wtpman_remove(wtpman);
 | 
			
		||||
	return;
 | 
			
		||||
}
 | 
			
		||||
@ -650,7 +655,7 @@ static void wtpman_run(void *arg)
 | 
			
		||||
 | 
			
		||||
static void wtpman_run_dtls(void *arg)
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	struct wtpman *wtpman = (struct wtpman *) arg;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -658,7 +663,7 @@ static void wtpman_run_dtls(void *arg)
 | 
			
		||||
	/* reject connections to our multi- or broadcast sockets */
 | 
			
		||||
	if (socklist[wtpman->socklistindex].type != SOCKLIST_UNICAST_SOCKET) {
 | 
			
		||||
		cw_dbg(DBG_DTLS, "Dropping connection from %s to non-unicast socket.",
 | 
			
		||||
		       sock_addr2str_p(&wtpman->conn->addr));
 | 
			
		||||
		       sock_addr2str_p(&wtpman->conn->addr,sock_buf));
 | 
			
		||||
		wtpman_remove(wtpman);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
@ -686,6 +691,7 @@ void wtpman_destroy(struct wtpman *wtpman)
 | 
			
		||||
 | 
			
		||||
struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr)
 | 
			
		||||
{
 | 
			
		||||
	char sock_buf[SOCK_ADDR_BUFSIZE];
 | 
			
		||||
	struct wtpman *wtpman;
 | 
			
		||||
	wtpman = malloc(sizeof(struct wtpman));
 | 
			
		||||
	if (!wtpman)
 | 
			
		||||
@ -701,7 +707,7 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr)
 | 
			
		||||
 | 
			
		||||
		if (replyfd == -1) {
 | 
			
		||||
			cw_log(LOG_ERR, "Can't find reply socket for request from %s",
 | 
			
		||||
			       sock_addr2str(srcaddr));
 | 
			
		||||
			       sock_addr2str(srcaddr,sock_buf));
 | 
			
		||||
			free(wtpman);
 | 
			
		||||
			return NULL;
 | 
			
		||||
		}
 | 
			
		||||
@ -717,7 +723,7 @@ struct wtpman *wtpman_create(int socklistindex, struct sockaddr *srcaddr)
 | 
			
		||||
	getsockname(sockfd, &dbgaddr, &dbgaddrl);
 | 
			
		||||
 | 
			
		||||
	cw_dbg(DBG_INFO, "Creating wtpman on socket %d, %s:%d", sockfd,
 | 
			
		||||
	       sock_addr2str(&dbgaddr), sock_getport(&dbgaddr));
 | 
			
		||||
	       sock_addr2str(&dbgaddr,sock_buf), sock_getport(&dbgaddr));
 | 
			
		||||
 | 
			
		||||
//extern int conn_process_packet2(struct conn *conn, uint8_t * packet, int len,
 | 
			
		||||
//                        struct sockaddr *from);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user