Remove old code from qos
This commit is contained in:
73
src/main.c
73
src/main.c
@@ -51,11 +51,6 @@ struct fdbuf {
|
|||||||
buffer_t write;
|
buffer_t write;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct blk {
|
|
||||||
size_t size;
|
|
||||||
uint8_t data[GT_MTU_MAX] _align_(16);
|
|
||||||
};
|
|
||||||
|
|
||||||
struct crypto_ctx {
|
struct crypto_ctx {
|
||||||
struct {
|
struct {
|
||||||
crypto_aead_aes256gcm_state state;
|
crypto_aead_aes256gcm_state state;
|
||||||
@@ -966,14 +961,6 @@ int main (int argc, char **argv)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct blk *blks = calloc(256, sizeof(struct blk));
|
|
||||||
size_t blk_count = 0;
|
|
||||||
uint8_t blk_read = 0;
|
|
||||||
uint8_t blk_write = 0;
|
|
||||||
|
|
||||||
if (!blks)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
fd_set_nonblock(tun.fd);
|
fd_set_nonblock(tun.fd);
|
||||||
|
|
||||||
buffer_setup(&tun.write, NULL, GT_TUNW_SIZE);
|
buffer_setup(&tun.write, NULL, GT_TUNW_SIZE);
|
||||||
@@ -1126,7 +1113,9 @@ int main (int argc, char **argv)
|
|||||||
goto restart;
|
goto restart;
|
||||||
FD_CLR(tun.fd, &rfds);
|
FD_CLR(tun.fd, &rfds);
|
||||||
} else {
|
} else {
|
||||||
if (!blks[blk_write].size) {
|
buffer_shift(&tun.read);
|
||||||
|
|
||||||
|
if (buffer_write_size(&tun.read)>=GT_MTU_MAX) {
|
||||||
FD_SET(tun.fd, &rfds);
|
FD_SET(tun.fd, &rfds);
|
||||||
} else {
|
} else {
|
||||||
FD_CLR(tun.fd, &rfds);
|
FD_CLR(tun.fd, &rfds);
|
||||||
@@ -1157,9 +1146,13 @@ int main (int argc, char **argv)
|
|||||||
// gettimeofday(&now, NULL);
|
// gettimeofday(&now, NULL);
|
||||||
|
|
||||||
if (FD_ISSET(tun.fd, &rfds)) {
|
if (FD_ISSET(tun.fd, &rfds)) {
|
||||||
while (!blks[blk_write].size) {
|
while (1) {
|
||||||
uint8_t *data = blks[blk_write].data;
|
const size_t size = buffer_write_size(&tun.read);
|
||||||
const ssize_t r = tun_read(tun.fd, data, GT_MTU_MAX);
|
|
||||||
|
if (size<GT_MTU_MAX)
|
||||||
|
break;
|
||||||
|
|
||||||
|
const ssize_t r = tun_read(tun.fd, tun.read.write, GT_MTU_MAX);
|
||||||
|
|
||||||
if (r<=0) {
|
if (r<=0) {
|
||||||
gt_close |= !r;
|
gt_close |= !r;
|
||||||
@@ -1168,60 +1161,38 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
struct ip_common ic;
|
struct ip_common ic;
|
||||||
|
|
||||||
if (ip_get_common(&ic, data, GT_MTU_MAX))
|
if (ip_get_common(&ic, tun.read.write, GT_MTU_MAX))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if _0_(ic.size!=r) {
|
if _0_(ic.size!=r) {
|
||||||
char tmp[2*GT_MTU_MAX+1];
|
char tmp[2*GT_MTU_MAX+1];
|
||||||
gt_tohex(tmp, sizeof(tmp), data, r);
|
gt_tohex(tmp, sizeof(tmp), tun.read.write, r);
|
||||||
gt_log("%s: DUMP %zi %s\n", sockname, r, tmp);
|
gt_log("%s: DUMP %zi %s\n", sockname, r, tmp);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if _0_(debug) {
|
if _0_(debug) {
|
||||||
gt_print_hdr(&ic, data);
|
gt_print_hdr(&ic, tun.read.write);
|
||||||
|
|
||||||
if (gt_track(&db, &ic, data, 0))
|
if (gt_track(&db, &ic, tun.read.write, 0))
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
blks[blk_write++].size = r;
|
tun.read.write += r;
|
||||||
blk_count++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if _1_(!stop_loop)
|
||||||
|
gt_encrypt(&ctx, &sock.write, &tun.read);
|
||||||
}
|
}
|
||||||
|
|
||||||
while (1) {
|
if (buffer_read_size(&sock.write)) {
|
||||||
buffer_shift(&tun.read);
|
|
||||||
|
|
||||||
if _0_(!stop_loop) {
|
|
||||||
for (; blk_count; blk_read++) {
|
|
||||||
const size_t size = blks[blk_read].size;
|
|
||||||
|
|
||||||
if (!size || buffer_write_size(&tun.read)<size)
|
|
||||||
break;
|
|
||||||
|
|
||||||
memcpy(tun.read.write, blks[blk_read].data, size);
|
|
||||||
tun.read.write += size;
|
|
||||||
|
|
||||||
blks[blk_read].size = 0;
|
|
||||||
blk_count--;
|
|
||||||
}
|
|
||||||
|
|
||||||
gt_encrypt(&ctx, &sock.write, &tun.read);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!buffer_read_size(&sock.write))
|
|
||||||
break;
|
|
||||||
|
|
||||||
const ssize_t r = fd_write(sock.fd, sock.write.read,
|
const ssize_t r = fd_write(sock.fd, sock.write.read,
|
||||||
buffer_read_size(&sock.write));
|
buffer_read_size(&sock.write));
|
||||||
|
|
||||||
if (r>0) {
|
if (r>0) {
|
||||||
sock.write.read += r;
|
sock.write.read += r;
|
||||||
} else {
|
} else if (!r) {
|
||||||
if (!r)
|
stop_loop |= (1<<2);
|
||||||
stop_loop |= (1<<2);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1305,8 +1276,6 @@ int main (int argc, char **argv)
|
|||||||
|
|
||||||
freeaddrinfo(ai);
|
freeaddrinfo(ai);
|
||||||
|
|
||||||
free(blks);
|
|
||||||
|
|
||||||
free(sock.write.data);
|
free(sock.write.data);
|
||||||
free(sock.read.data);
|
free(sock.read.data);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user