ipc: uniformly ignore preshared keys that are zero
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
		
							parent
							
								
									f51349c52b
								
							
						
					
					
						commit
						4e4867dc95
					
				@ -136,7 +136,8 @@ static int kernel_get_device(struct wgdevice **device, const char *ifname)
 | 
				
			|||||||
			binary = nvlist_get_binary(nvl_peers[i], "preshared-key", &size);
 | 
								binary = nvlist_get_binary(nvl_peers[i], "preshared-key", &size);
 | 
				
			||||||
			if (binary && size == sizeof(peer->preshared_key)) {
 | 
								if (binary && size == sizeof(peer->preshared_key)) {
 | 
				
			||||||
				memcpy(peer->preshared_key, binary, sizeof(peer->preshared_key));
 | 
									memcpy(peer->preshared_key, binary, sizeof(peer->preshared_key));
 | 
				
			||||||
				peer->flags |= WGPEER_HAS_PRESHARED_KEY;
 | 
									if (!key_is_zero(peer->preshared_key))
 | 
				
			||||||
 | 
										peer->flags |= WGPEER_HAS_PRESHARED_KEY;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (nvlist_exists_number(nvl_peers[i], "persistent-keepalive-interval")) {
 | 
							if (nvlist_exists_number(nvl_peers[i], "persistent-keepalive-interval")) {
 | 
				
			||||||
 | 
				
			|||||||
@ -129,7 +129,8 @@ static int kernel_get_device(struct wgdevice **device, const char *iface)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		if (wg_peer->p_flags & WG_PEER_HAS_PSK) {
 | 
							if (wg_peer->p_flags & WG_PEER_HAS_PSK) {
 | 
				
			||||||
			memcpy(peer->preshared_key, wg_peer->p_psk, sizeof(peer->preshared_key));
 | 
								memcpy(peer->preshared_key, wg_peer->p_psk, sizeof(peer->preshared_key));
 | 
				
			||||||
			peer->flags |= WGPEER_HAS_PRESHARED_KEY;
 | 
								if (!key_is_zero(peer->preshared_key))
 | 
				
			||||||
 | 
									peer->flags |= WGPEER_HAS_PRESHARED_KEY;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if (wg_peer->p_flags & WG_PEER_HAS_PKA) {
 | 
							if (wg_peer->p_flags & WG_PEER_HAS_PKA) {
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user