about summary refs log tree commit diff
path: root/src/tools
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-24 16:03:58 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-24 16:03:58 +0000
commit4739966e14ca2df24d4f44fb814b6275b9bf2a3c (patch)
tree2398dee3380dfa48582a71a4f2d4278448fa6cb8 /src/tools
parent1ea859c431b33a384727c0016917dde15bceeff3 (diff)
downloadzcatch-4739966e14ca2df24d4f44fb814b6275b9bf2a3c.tar.gz
zcatch-4739966e14ca2df24d4f44fb814b6275b9bf2a3c.zip
larger restructure to improve security
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/packetgen.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/tools/packetgen.c b/src/tools/packetgen.c
new file mode 100644
index 00000000..dcfe0885
--- /dev/null
+++ b/src/tools/packetgen.c
@@ -0,0 +1,36 @@
+/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */
+#include <engine/e_system.h>
+
+enum { NUM_SOCKETS = 64 };
+
+int run(NETADDR4 dest)
+{
+	NETSOCKET sockets[NUM_SOCKETS];
+	int i;
+	
+	for(i = 0; i < NUM_SOCKETS; i++)
+	{
+		NETADDR4 bindaddr = {{0,0,0,0}, 0};
+	 	sockets[i] = net_udp4_create(bindaddr);
+	}
+	
+	while(1)
+	{
+		unsigned char data[1024];
+		int size = 0;
+		int socket_to_use = 0;
+		io_read(io_stdin(), &size, 2);
+		io_read(io_stdin(), &socket_to_use, 1);
+		size %= 256;
+		socket_to_use %= NUM_SOCKETS;
+		io_read(io_stdin(), data, size);
+		net_udp4_send(sockets[socket_to_use], &dest, data, size);
+	}
+}
+
+int main(int argc, char **argv)
+{
+	NETADDR4 dest = {{127,0,0,1},8303};
+	run(dest);
+	return 0;
+}