diff --git a/src/tun.c b/src/tun.c index 9a82621..bfaaba4 100644 --- a/src/tun.c +++ b/src/tun.c @@ -363,7 +363,7 @@ close_tun(int tun_fd) } int -write_tun(int tun_fd, char *data, size_t len) +write_tun(int tun_fd, unsigned char *data, size_t len) { #if defined (FREEBSD) || defined (DARWIN) || defined(NETBSD) || defined(WINDOWS32) data += 4; @@ -372,8 +372,8 @@ write_tun(int tun_fd, char *data, size_t len) #ifdef LINUX data[0] = 0x00; data[1] = 0x00; - data[2] = 0x08; - data[3] = 0x00; + data[2] = 0x86; + data[3] = 0xdd; #else /* OPENBSD */ data[0] = 0x00; data[1] = 0x00; diff --git a/src/tun.h b/src/tun.h index 9fbdae7..78f3aa1 100644 --- a/src/tun.h +++ b/src/tun.h @@ -19,7 +19,7 @@ int open_tun(const char *); void close_tun(int); -int write_tun(int, char *, size_t); +int write_tun(int, unsigned char *, size_t); ssize_t read_tun(int, char *, size_t); int tun_setip(const char *, const char *, int); int tun_setmtu(unsigned); diff --git a/src/user.c b/src/user.c index feeda3d..a8b4061 100644 --- a/src/user.c +++ b/src/user.c @@ -113,6 +113,8 @@ find_user_by_ip(uint32_t ip) int ret; int i; + return 0; + ret = -1; for (i = 0; i < usercount; i++) { if (users[i].active && !users[i].disabled &&