diff options
author | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2011-02-16 19:39:11 +0100 |
---|---|---|
committer | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2011-02-16 19:39:11 +0100 |
commit | d3f4e55538788ec7569c5eb4a21622c516aa0d92 (patch) | |
tree | 40dca502b320693704b573162003d43d81217174 | |
parent | 09d8ca45a5f0711ae28988ccfbaf917439c31b44 (diff) | |
download | MAC-Telnet-d3f4e55538788ec7569c5eb4a21622c516aa0d92.tar.gz MAC-Telnet-d3f4e55538788ec7569c5eb4a21622c516aa0d92.zip |
Fix: Send IP address (if available) of machine also when sending mndp packets using raw udp mode
-rw-r--r-- | mactelnetd.c | 6 |
1 files 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; |