From d3f4e55538788ec7569c5eb4a21622c516aa0d92 Mon Sep 17 00:00:00 2001 From: Håkon Nessjøen Date: Wed, 16 Feb 2011 19:39:11 +0100 Subject: Fix: Send IP address (if available) of machine also when sending mndp packets using raw udp mode --- mactelnetd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mactelnetd.c b/mactelnetd.c index e7b64fa..7e2b1dc 100644 --- a/mactelnetd.c +++ b/mactelnetd.c @@ -215,7 +215,7 @@ static void setup_sockets() { strncpy(mysocket->name, devicename, MT_INTERFACE_LEN - 1); mysocket->name[MT_INTERFACE_LEN - 1] = '\0'; - if (use_raw_socket == 0 && get_device_ip(insockfd, devicename, &myip) > 0) { + if (get_device_ip(insockfd, devicename, &myip) > 0) { mysocket->sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (mysocket->sockfd < 0) { @@ -266,8 +266,8 @@ static int send_mndp_udp(const struct mt_socket *sock, const struct mt_packet *p unsigned char dstmac[6]; if (use_raw_socket) { - memset(dstmac, 255, 6); - return send_custom_udp(sockfd, sock->device_index, sock->mac, dstmac, &sourceip, MT_MNDP_PORT, &destip, MT_MNDP_PORT, packet->data, packet->size); + memset(dstmac, 0xff, 6); + return send_custom_udp(sockfd, sock->device_index, sock->mac, dstmac, (const struct in_addr *)sock->ip, MT_MNDP_PORT, &destip, MT_MNDP_PORT, packet->data, packet->size); } else { /* Init SendTo struct */ struct sockaddr_in socket_address; -- cgit v1.2.3