mirror of
				https://github.com/Telecominfraproject/wlan-ap.git
				synced 2025-10-30 18:07:52 +00:00 
			
		
		
		
	hostapd: mpskd: use mpsk from wireless config
In MPSK AAA need to use mpsk info to block scans becasue keys are not configured. Signed-off-by: Marek Kwaczynski <marek@shasta.cloud>
This commit is contained in:
		 Marek Kwaczynski
					Marek Kwaczynski
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							7847e1778e
						
					
				
				
					commit
					18bb47be4d
				
			| @@ -26,7 +26,8 @@ function event_cb_6g(req) { | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid = iface.ssid; | ||||
| 	if (!ssid || !length(ssids[ssid].keys)) | ||||
|  | ||||
| 	if (!ssid || !ssids[ssid].mpsk) | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid_cache = cache[ssid]; | ||||
| @@ -53,7 +54,7 @@ function event_cb(req) { | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid = iface.ssid; | ||||
| 	if (!ssid || !length(ssids[ssid].keys)) | ||||
| 	if (!ssid || !ssids[ssid].mpsk) | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid_cache = cache[ssid]; | ||||
| @@ -143,6 +144,7 @@ function netifd_reload() { | ||||
|  | ||||
| 			push(ssid.interfaces, iface.ifname); | ||||
| 			ssid.bands[band] = iface.ifname; | ||||
| 			ssid.mpsk = config.multi_psk; | ||||
| 			for (let sta in iface.stations) { | ||||
| 				let stacfg = sta.config; | ||||
|  | ||||
| @@ -174,6 +176,20 @@ function iface_ssid(ifname) { | ||||
| 	return iface.ssid; | ||||
| } | ||||
|  | ||||
| function is_ssid_mpsk(ifname) { | ||||
|         let ssid = iface_ssid(ifname); | ||||
|         if (!ssid) | ||||
|                 return false; | ||||
|  | ||||
| 	if (!ssids[ssid]) | ||||
| 		return false; | ||||
|  | ||||
|         if (!ssids[ssid]?.mpsk) | ||||
|                 return false; | ||||
|  | ||||
| 	return ssids[ssid].mpsk; | ||||
| } | ||||
|  | ||||
| function sta_cache_entry_get(ssid, addr) { | ||||
| 	let ssid_cache = cache[ssid] ?? {}; | ||||
|  | ||||
| @@ -292,6 +308,9 @@ function sta_auth_cache(ifname, addr, idx, phrase) { | ||||
| function auth_cb(msg) { | ||||
| 	let data = msg.data; | ||||
|  | ||||
| 	if (!is_ssid_mpsk(data.iface)) | ||||
| 		return; | ||||
|  | ||||
| 	printf(`Event ${msg.type}: ${msg.data}\n`); | ||||
| 	switch (msg.type) { | ||||
| 	case 'sta_auth': | ||||
|   | ||||
| @@ -26,7 +26,8 @@ function event_cb_6g(req) { | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid = iface.ssid; | ||||
| 	if (!ssid || !length(ssids[ssid].keys)) | ||||
|  | ||||
| 	if (!ssid || !ssids[ssid].mpsk) | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid_cache = cache[ssid]; | ||||
| @@ -53,7 +54,7 @@ function event_cb(req) { | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid = iface.ssid; | ||||
| 	if (!ssid || !length(ssids[ssid].keys)) | ||||
| 	if (!ssid || !ssids[ssid].mpsk) | ||||
| 		return 0; | ||||
|  | ||||
| 	let ssid_cache = cache[ssid]; | ||||
| @@ -143,6 +144,7 @@ function netifd_reload() { | ||||
|  | ||||
| 			push(ssid.interfaces, iface.ifname); | ||||
| 			ssid.bands[band] = iface.ifname; | ||||
| 			ssid.mpsk = config.multi_psk; | ||||
| 			for (let sta in iface.stations) { | ||||
| 				let stacfg = sta.config; | ||||
|  | ||||
| @@ -174,6 +176,20 @@ function iface_ssid(ifname) { | ||||
| 	return iface.ssid; | ||||
| } | ||||
|  | ||||
| function is_ssid_mpsk(ifname) { | ||||
|         let ssid = iface_ssid(ifname); | ||||
|         if (!ssid) | ||||
|                 return false; | ||||
|  | ||||
| 	if (!ssids[ssid]) | ||||
| 		return false; | ||||
|  | ||||
|         if (!ssids[ssid]?.mpsk) | ||||
|                 return false; | ||||
|  | ||||
| 	return ssids[ssid].mpsk; | ||||
| } | ||||
|  | ||||
| function sta_cache_entry_get(ssid, addr) { | ||||
| 	let ssid_cache = cache[ssid] ?? {}; | ||||
|  | ||||
| @@ -292,6 +308,9 @@ function sta_auth_cache(ifname, addr, idx, phrase) { | ||||
| function auth_cb(msg) { | ||||
| 	let data = msg.data; | ||||
|  | ||||
| 	if (!is_ssid_mpsk(data.iface)) | ||||
| 		return; | ||||
|  | ||||
| 	printf(`Event ${msg.type}: ${msg.data}\n`); | ||||
| 	switch (msg.type) { | ||||
| 	case 'sta_auth': | ||||
|   | ||||
		Reference in New Issue
	
	Block a user