Compare commits

..

9 Commits

Author SHA1 Message Date
Adrien Gallouët
0664fc3b21 Update mud 2017-01-18 15:27:18 +00:00
Adrien Gallouët
2cb24c0523 Update mud 2017-01-16 16:11:18 +00:00
Adrien Gallouët
65be22202c Update mud 2017-01-12 13:26:35 +00:00
Adrien Gallouët
6cc32bafd9 Code cleanup 2017-01-12 13:26:23 +00:00
Adrien Gallouët
6c268e658f Reset default MTU to 1500 2017-01-06 13:17:46 +00:00
Adrien Gallouët
33e24632d0 Update mud 2017-01-06 11:50:31 +00:00
Adrien Gallouët
e1b4c6aafc Add debug.bin 2017-01-06 11:02:09 +00:00
Adrien Gallouët
09d1932588 Code cleanup 2017-01-06 10:16:13 +00:00
Adrien Gallouët
4988479df4 Drop packets with bad length (too small) 2017-01-05 16:45:14 +00:00
5 changed files with 13 additions and 9 deletions

View File

@@ -11,5 +11,8 @@ cd ..
[ -x glorytun ] || exit 1 [ -x glorytun ] || exit 1
mkdir -p deploy mkdir -p deploy
cp glorytun deploy/glorytun-$(cat VERSION)-$(uname -m).debug.bin
strip -s glorytun strip -s glorytun
mv glorytun deploy/glorytun-$(cat VERSION)-$(uname -m).bin cp glorytun deploy/glorytun-$(cat VERSION)-$(uname -m).bin

View File

@@ -17,7 +17,6 @@ glorytun_SOURCES = \
src/db.c \ src/db.c \
src/db.h src/db.h
glorytun_CFLAGS += -I$(srcdir)/mud
glorytun_SOURCES += \ glorytun_SOURCES += \
mud/mud.h \ mud/mud.h \
mud/mud.c mud/mud.c

2
mud

Submodule mud updated: 7cc6e7ad72...f6b6610980

View File

@@ -30,7 +30,9 @@ ip_get_common(struct ip_common *ic, const uint8_t *data, size_t size)
ic->proto = data[9]; ic->proto = data[9];
ic->hdr_size = (data[0] & 0xF) << 2; ic->hdr_size = (data[0] & 0xF) << 2;
ic->size = ((data[2] << 8) | data[3]); ic->size = ((data[2] << 8) | data[3]);
return 0; if (ic->size >= 20)
return 0;
break;
case 6: case 6:
ic->tc = ((data[0] & 0xF) << 4) | (data[1] >> 4); ic->tc = ((data[0] & 0xF) << 4) | (data[1] >> 4);
ic->proto = data[6]; ic->proto = data[6];

View File

@@ -18,13 +18,13 @@
#include <arpa/inet.h> #include <arpa/inet.h>
#include <netdb.h> #include <netdb.h>
#include "mud.h" #include "../mud/mud.h"
#ifndef O_CLOEXEC #ifndef O_CLOEXEC
#define O_CLOEXEC 0 #define O_CLOEXEC 0
#endif #endif
#define GT_MTU(X) ((X) - 28) #define GT_MTU(X) ((X)-28)
static struct { static struct {
volatile sig_atomic_t quit; volatile sig_atomic_t quit;
@@ -50,6 +50,7 @@ static struct {
.bind = { .bind = {
.port = 5000, .port = 5000,
}, },
.mtu = 1500,
.timeout = 5000, .timeout = 5000,
.ipv4 = 1, .ipv4 = 1,
#ifdef __linux__ #ifdef __linux__
@@ -386,8 +387,7 @@ main(int argc, char **argv)
size_t size = 0; size_t size = 0;
while (sizeof(buf) - size >= gt.mtu) { while (sizeof(buf) - size >= gt.mtu) {
const int r = tun_read(tun_fd, &buf[size], const int r = tun_read(tun_fd, &buf[size], sizeof(buf) - size);
sizeof(buf) - size);
if (r <= 0 || r > gt.mtu) if (r <= 0 || r > gt.mtu)
break; break;
@@ -422,7 +422,7 @@ main(int argc, char **argv)
tc = ic.tc & 0xFC; tc = ic.tc & 0xFC;
} }
if (p == q) if (p >= q)
break; break;
int r = mud_send(mud, &buf[p], q - p, tc); int r = mud_send(mud, &buf[p], q - p, tc);