mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-11-02 19:37:51 +00:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			v1.1.1-rc1
			...
			v1.0.4-rc1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					7aea689d9a | ||
| 
						 | 
					7a634d80ed | 
@@ -30,4 +30,9 @@ static inline timer * tm_new_set( void (*hook)(struct _timer *), void *data, uns
 | 
			
		||||
    return t;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline void tm_free(timer *t)
 | 
			
		||||
{
 | 
			
		||||
    free(t);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,7 @@ static struct proto * apc_init(struct proto_config * c)
 | 
			
		||||
{
 | 
			
		||||
	struct proto * P = mb_allocz(sizeof(struct apc_proto));
 | 
			
		||||
 | 
			
		||||
	printf("apc_init\n");
 | 
			
		||||
	P->cf = c;
 | 
			
		||||
	P->debug = c->debug;
 | 
			
		||||
	P->mrtdump = c->mrtdump;
 | 
			
		||||
 
 | 
			
		||||
@@ -103,6 +103,7 @@ void apc_send_hello(struct apc_iface * ifa, int kind )
 | 
			
		||||
	struct apc_hello2_packet ps;
 | 
			
		||||
	unsigned int length, report = 0;
 | 
			
		||||
	struct apc_spec ApcSpec;
 | 
			
		||||
	char dst_ip[16];
 | 
			
		||||
	
 | 
			
		||||
	if (WaitingToReelect )
 | 
			
		||||
		return;
 | 
			
		||||
@@ -203,7 +204,6 @@ void apc_send_hello(struct apc_iface * ifa, int kind )
 | 
			
		||||
	length += i * sizeof(u32);
 | 
			
		||||
 | 
			
		||||
	printf("HELLO packet sent via  %s\n", ifa->ifname );
 | 
			
		||||
	char *dst_ip = malloc(16);
 | 
			
		||||
	memset(dst_ip, 0, 16);
 | 
			
		||||
	if ((get_current_ip(dst_ip, IAC_IFACE)) < 0) {
 | 
			
		||||
		printf("Error: Cannot get IP for %s", IAC_IFACE);
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ reset_lists(struct apc_proto *p, struct apc_neighbor *n)
 | 
			
		||||
struct apc_neighbor * apc_neighbor_new(struct apc_iface * ifa)
 | 
			
		||||
{
 | 
			
		||||
	struct apc_neighbor * n = mb_allocz(sizeof(struct apc_neighbor));
 | 
			
		||||
	
 | 
			
		||||
	printf("apc_new_neighbor\n");	
 | 
			
		||||
	n->ifa = ifa;
 | 
			
		||||
	add_tail(&ifa->neigh_list, NODE n);
 | 
			
		||||
	n->adj = 0;
 | 
			
		||||
@@ -58,6 +58,8 @@ static void apc_neigh_down(struct apc_neighbor * n)
 | 
			
		||||
	rem_node(NODE n);
 | 
			
		||||
	
 | 
			
		||||
	printf("Neighbor %x on %s removed", n->rid, ifa->ifname );
 | 
			
		||||
	tm_free(n->inactim);
 | 
			
		||||
	mb_free(n);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ static void receive_data_uloop(struct uloop_fd *fd, unsigned int events)
 | 
			
		||||
		printf("recvfrom() failed");
 | 
			
		||||
 | 
			
		||||
	ra.cb(recv_data, recv_data_len);
 | 
			
		||||
	free(recv_data);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -41,6 +42,7 @@ static void receive_data(struct ev_loop *ev, ev_io *io, int event)
 | 
			
		||||
		printf("recvfrom() failed");
 | 
			
		||||
 | 
			
		||||
	ra.cb(recv_data, recv_data_len);
 | 
			
		||||
	free(recv_data);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,35 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
if [ $# -ne 1 ] ; then
 | 
			
		||||
	echo "Usage: $0 <redirector address>" >&2
 | 
			
		||||
AP_PRIVATE_KEY_FILE="/usr/opensync/certs/client_dec.key"
 | 
			
		||||
AP_CERTIFICATE_FILE="/usr/opensync/certs/client.pem"
 | 
			
		||||
AP_DEVICE_ID_FILE="/usr/opensync/certs/client_deviceid.txt"
 | 
			
		||||
DIGICERT_API_URI="clientauth.one.digicert.com"
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "-h" ]; then
 | 
			
		||||
  echo "Usage: $0 [redirector address]" >&2
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
redirector_addr=$1
 | 
			
		||||
# Query DigiCert's API if redirector wasn't specified
 | 
			
		||||
if [ -z "$1" ]; then
 | 
			
		||||
  if [ ! -f "$AP_DEVICE_ID_FILE" ]; then
 | 
			
		||||
      echo "Device ID file $AP_DEVICE_ID_FILE does not exist. Make sure to create it or specify the redirector address manually."
 | 
			
		||||
      exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # TODO: this command should be retried if it fails
 | 
			
		||||
  digicert_device_id=`cat ${AP_DEVICE_ID_FILE}`
 | 
			
		||||
  device_data=`curl -s \
 | 
			
		||||
    --key "${AP_PRIVATE_KEY_FILE}" \
 | 
			
		||||
    --cert "${AP_CERTIFICATE_FILE}" \
 | 
			
		||||
    "https://${DIGICERT_API_URI}/iot/api/v2/device/${digicert_device_id}"`
 | 
			
		||||
 | 
			
		||||
  controller_url=`echo ${device_data} | jsonfilter -e '@.fields[@.name="Redirector"].value'`
 | 
			
		||||
  # TODO: we should get the port with the redirector record and only default to 6643 if no port was specified
 | 
			
		||||
  redirector_addr="ssl:${controller_url}:6643"
 | 
			
		||||
else
 | 
			
		||||
  redirector_addr=$1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
uci set system.tip.redirector="${redirector_addr}"
 | 
			
		||||
uci commit system
 | 
			
		||||
 
 | 
			
		||||
@@ -130,6 +130,7 @@ static int rx_msg(struct nl_msg *msg, void* arg)
 | 
			
		||||
	struct nlattr *attr[GENL_UCC_ATTR_MAX+1];
 | 
			
		||||
 | 
			
		||||
	struct voip_session *data;
 | 
			
		||||
	char dst_ip[16];
 | 
			
		||||
	genlmsg_parse(nlmsg_hdr(msg), 0, attr, 
 | 
			
		||||
			GENL_UCC_ATTR_MAX, genl_ucc_policy);
 | 
			
		||||
 | 
			
		||||
@@ -140,7 +141,6 @@ static int rx_msg(struct nl_msg *msg, void* arg)
 | 
			
		||||
		return NL_OK;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	char *dst_ip = malloc(16);
 | 
			
		||||
	memset(dst_ip, 0, 16);
 | 
			
		||||
	if((get_current_ip(dst_ip, IAC_IFACE)) < 0) {
 | 
			
		||||
		LOGI("Error: Cannot get IP for %s", IAC_IFACE);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user