[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r12685 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r12685 - gnunet/src/transport |
Date: |
Fri, 20 Aug 2010 14:48:22 +0200 |
Author: grothoff
Date: 2010-08-20 14:48:22 +0200 (Fri, 20 Aug 2010)
New Revision: 12685
Modified:
gnunet/src/transport/gnunet-nat-server-windows.c
Log:
code cleanup
Modified: gnunet/src/transport/gnunet-nat-server-windows.c
===================================================================
--- gnunet/src/transport/gnunet-nat-server-windows.c 2010-08-20 12:45:35 UTC
(rev 12684)
+++ gnunet/src/transport/gnunet-nat-server-windows.c 2010-08-20 12:48:22 UTC
(rev 12685)
@@ -141,8 +141,11 @@
struct icmp_packet
{
uint8_t type;
+
uint8_t code;
+
uint16_t checksum;
+
uint32_t reserved;
};
@@ -158,14 +161,28 @@
uint32_t length;
};
+/**
+ * Socket we use to receive "fake" ICMP replies.
+ */
static SOCKET icmpsock;
+/**
+ * Socket we use to send our ICMP requests.
+ */
static SOCKET rawsock;
+/**
+ * Target "dummy" address.
+ */
static struct in_addr dummy;
+
/**
* CRC-16 for IP/ICMP headers.
+ *
+ * @param data what to calculate the CRC over
+ * @param bytes number of bytes in data (must be multiple of 2)
+ * @return the CRC 16.
*/
static uint16_t
calc_checksum(const uint16_t *data,
@@ -182,12 +199,14 @@
return sum;
}
+
/**
* Convert IPv4 address from text to binary form.
*
* @param af address family
* @param cp the address to print
* @param buf where to write the address result
+ * @return 1 on success
*/
static int
inet_pton (int af,
@@ -270,6 +289,9 @@
}
+/**
+ * We've received an ICMP response. Process it.
+ */
static void
process_icmp_response ()
{
@@ -379,6 +401,9 @@
}
+/**
+ * Create an ICMP raw socket for reading.
+ */
static SOCKET
make_icmp_socket ()
{
@@ -396,6 +421,9 @@
}
+/**
+ * Create an ICMP raw socket for writing.
+ */
static SOCKET
make_raw_socket ()
{
@@ -498,10 +526,11 @@
process_icmp_response ();
send_icmp_echo (&external);
}
+ /* select failed (internal error or OS out of resources) */
closesocket(icmpsock);
closesocket(rawsock);
WSACleanup ();
- return 4; /* select failed! */
+ return 4;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r12685 - gnunet/src/transport,
gnunet <=