summaryrefslogtreecommitdiff
path: root/net/freeradius-client/files/patch-lib::sendserver.c
blob: 5d47a599a08550febae321ebfdd29235d4a154e9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--- lib/sendserver.c
+++ lib/sendserver.c
@@ -196,6 +196,7 @@
 	char            send_buffer[BUFFER_LEN];
 	int		retries;
 	VALUE_PAIR 	*vp;
+	unsigned long	nasaddr;
 
 	server_name = data->server;
 	if (server_name == NULL || server_name[0] == '\0')
@@ -259,6 +262,9 @@
 	/*
 	 * Fill in NAS-IP-Address
 	 */
+	nas_ipaddr = rc_nasaddress(rh);
+	if (nas_ipaddr != 0)
+		sinlocal.sin_addr.s_addr = htonl(nas_ipaddr);
 	if (sinlocal.sin_addr.s_addr == htonl(INADDR_ANY)) {
 		if (rc_get_srcaddr(SA(&sinlocal), SA(&sinremote)) != 0) {
 			close (sockfd);