diff options
author | Philipp Tölke <toelke@in.tum.de> | 2010-06-28 12:37:43 +0000 |
---|---|---|
committer | Philipp Tölke <toelke@in.tum.de> | 2010-06-28 12:37:43 +0000 |
commit | 7a2378763af1b240ac943a3d499f792bde48d02a (patch) | |
tree | 3df258ebddc68120950234399d28d284bc159ecf /src/vpn/packet.c | |
parent | 0bf6a2223e06988b5c84bb110aff12150b54ed93 (diff) | |
download | gnunet-7a2378763af1b240ac943a3d499f792bde48d02a.tar.gz gnunet-7a2378763af1b240ac943a3d499f792bde48d02a.zip |
vpn: tcp-natting in one direction
untested and most likly unworking code
Diffstat (limited to 'src/vpn/packet.c')
-rw-r--r-- | src/vpn/packet.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/vpn/packet.c b/src/vpn/packet.c index 37ce44863..2d52dbc81 100644 --- a/src/vpn/packet.c +++ b/src/vpn/packet.c | |||
@@ -9,12 +9,12 @@ | |||
9 | #include "debug.h" | 9 | #include "debug.h" |
10 | #include "packet.h" | 10 | #include "packet.h" |
11 | 11 | ||
12 | long payload(struct ip6_pkt* pkt) {{{ | 12 | long payload(struct ip6_hdr* hdr) {{{ |
13 | return (pkt->hdr.paylgth[0] << 8) + pkt->hdr.paylgth[1]; | 13 | return (hdr->paylgth[0] << 8) + hdr->paylgth[1]; |
14 | }}} | 14 | }}} |
15 | 15 | ||
16 | void send_pkt(int fd, struct ip6_pkt* pkt) {{{ | 16 | void send_pkt(int fd, struct ip6_pkt* pkt) {{{ |
17 | int sz = payload(pkt); | 17 | int sz = payload(&(pkt->hdr)); |
18 | int w = 0; | 18 | int w = 0; |
19 | char* buf = (char*)malloc(sz+40); | 19 | char* buf = (char*)malloc(sz+40); |
20 | 20 | ||
@@ -120,8 +120,8 @@ struct ip6_pkt* parse_ip6(struct pkt_tun* pkt) {{{ | |||
120 | pkt6->hdr.dadr[w] = pkt->data[24+w]; | 120 | pkt6->hdr.dadr[w] = pkt->data[24+w]; |
121 | } | 121 | } |
122 | 122 | ||
123 | pkt6->data = (unsigned char*)malloc(payload(pkt6)); | 123 | pkt6->data = (unsigned char*)malloc(payload(&(pkt6->hdr))); |
124 | memcpy(pkt6->data, pkt->data+40, payload(pkt6)); | 124 | memcpy(pkt6->data, pkt->data+40, payload(&(pkt6->hdr))); |
125 | 125 | ||
126 | return pkt6; | 126 | return pkt6; |
127 | }}} | 127 | }}} |
@@ -150,8 +150,8 @@ struct ip6_tcp* parse_ip6_tcp(struct ip6_pkt* pkt) {{{ | |||
150 | res->data.opt = (unsigned char*) malloc((res->data.off - 5)*4); | 150 | res->data.opt = (unsigned char*) malloc((res->data.off - 5)*4); |
151 | memcpy(res->data.opt, pkt->data+20, (res->data.off - 5)*4); | 151 | memcpy(res->data.opt, pkt->data+20, (res->data.off - 5)*4); |
152 | 152 | ||
153 | res->data.data = (unsigned char*) malloc(payload(pkt) - 4*(res->data.off)); | 153 | res->data.data = (unsigned char*) malloc(payload(&(pkt->hdr)) - 4*(res->data.off)); |
154 | memcpy(res->data.data, pkt->data+4*(res->data.off), payload(pkt) - 4*(res->data.off)); | 154 | memcpy(res->data.data, pkt->data+4*(res->data.off), payload(&(pkt->hdr)) - 4*(res->data.off)); |
155 | 155 | ||
156 | return res; | 156 | return res; |
157 | }}} | 157 | }}} |