gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r12301 - in gnunet/src: include vpn


From: gnunet
Subject: [GNUnet-SVN] r12301 - in gnunet/src: include vpn
Date: Wed, 21 Jul 2010 00:21:59 +0200

Author: toelke
Date: 2010-07-21 00:21:59 +0200 (Wed, 21 Jul 2010)
New Revision: 12301

Modified:
   gnunet/src/include/gnunet_protocols.h
   gnunet/src/vpn/gnunet-daemon-vpn.c
   gnunet/src/vpn/gnunet-vpn-helper-p.h
   gnunet/src/vpn/gnunet-vpn-helper.c
   gnunet/src/vpn/gnunet-vpn-packet.h
Log:
Changed the communication between the vpn-helper and the daemon to use 
GNUNET_MessageHeaders

Modified: gnunet/src/include/gnunet_protocols.h
===================================================================
--- gnunet/src/include/gnunet_protocols.h       2010-07-20 22:21:57 UTC (rev 
12300)
+++ gnunet/src/include/gnunet_protocols.h       2010-07-20 22:21:59 UTC (rev 
12301)
@@ -611,6 +611,11 @@
 
 
 /**
+ * Type of messages between the gnunet-vpn-helper and the daemon
+ */
+#define GNUNET_MESSAGE_TYPE_VPN_HELPER 185
+
+/**
  * Type used to match 'all' message types.
  */
 #define GNUNET_MESSAGE_TYPE_ALL 65535

Modified: gnunet/src/vpn/gnunet-daemon-vpn.c
===================================================================
--- gnunet/src/vpn/gnunet-daemon-vpn.c  2010-07-20 22:21:57 UTC (rev 12300)
+++ gnunet/src/vpn/gnunet-daemon-vpn.c  2010-07-20 22:21:59 UTC (rev 12301)
@@ -30,6 +30,8 @@
 #include "gnunet-vpn-helper-p.h"
 #include "gnunet-vpn-packet.h"
 #include "gnunet-vpn-pretty-print.h"
+#include "gnunet_common.h"
+#include "gnunet_protocols.h"
 /* #include "gnunet_template_service.h" */
 
 /**
@@ -86,15 +88,15 @@
 
 static void helper_read(void* cls, const struct GNUNET_SCHEDULER_TaskContext* 
tsdkctx) {
        struct vpn_cls* mycls = (struct vpn_cls*) cls;
-       struct suid_packet_header hdr = { .size = 0 };
+       struct GNUNET_MessageHeader hdr = { .size = 0, .type = 0 };
 
        int r = 0;
 
        if (tsdkctx->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)
                return;
 
-       while (r < sizeof(struct suid_packet_header)) {
-               int t = GNUNET_DISK_file_read(mycls->fh_from_helper, &hdr, 
sizeof(struct suid_packet_header));
+       while (r < sizeof(struct GNUNET_MessageHeader)) {
+               int t = GNUNET_DISK_file_read(mycls->fh_from_helper, &hdr, 
sizeof(struct GNUNET_MessageHeader));
                if (t<=0) {
                        fprintf(stderr, "Read error for header: %m\n");
                        GNUNET_SCHEDULER_add_now(mycls->sched, restart_helper, 
cls);
@@ -103,12 +105,12 @@
                r += t;
        }
 
-       struct suid_packet *pkt = (struct suid_packet*) 
GNUNET_malloc(ntohl(hdr.size));
+       struct suid_packet *pkt = (struct suid_packet*) 
GNUNET_malloc(ntohs(hdr.size));
 
-       memcpy(pkt, &hdr, sizeof(struct suid_packet_header));
+       memcpy(pkt, &hdr, sizeof(struct GNUNET_MessageHeader));
 
-       while (r < ntohl(pkt->hdr.size)) {
-               int t = GNUNET_DISK_file_read(mycls->fh_from_helper, (unsigned 
char*)pkt + r, ntohl(pkt->hdr.size) - r);
+       while (r < ntohs(pkt->hdr.size)) {
+               int t = GNUNET_DISK_file_read(mycls->fh_from_helper, (unsigned 
char*)pkt + r, ntohs(pkt->hdr.size) - r);
                if (t<=0) {
                        fprintf(stderr, "Read error for data: %m\n");
                        GNUNET_SCHEDULER_add_now(mycls->sched, restart_helper, 
cls);

Modified: gnunet/src/vpn/gnunet-vpn-helper-p.h
===================================================================
--- gnunet/src/vpn/gnunet-vpn-helper-p.h        2010-07-20 22:21:57 UTC (rev 
12300)
+++ gnunet/src/vpn/gnunet-vpn-helper-p.h        2010-07-20 22:21:59 UTC (rev 
12301)
@@ -1,12 +1,10 @@
 #ifndef GN_VPN_HELPER_P_H
 #define GN_VPN_HELPER_P_H
 
-struct suid_packet_header {
-       uint32_t size;
-};
+#include "gnunet_common.h"
 
 struct suid_packet {
-       struct suid_packet_header hdr;
+       struct GNUNET_MessageHeader hdr;
        unsigned char data[1];
 };
 

Modified: gnunet/src/vpn/gnunet-vpn-helper.c
===================================================================
--- gnunet/src/vpn/gnunet-vpn-helper.c  2010-07-20 22:21:57 UTC (rev 12300)
+++ gnunet/src/vpn/gnunet-vpn-helper.c  2010-07-20 22:21:59 UTC (rev 12301)
@@ -40,8 +40,10 @@
 #include <stdio.h>
 #include <unistd.h>
 
+#include "gnunet-vpn-tun.h"
+#include "gnunet_common.h"
+#include "gnunet_protocols.h"
 #include "gnunet-vpn-helper-p.h"
-#include "gnunet-vpn-tun.h"
 
 #ifndef _LINUX_IN6_H
 // This is in linux/include/net/ipv6.h.
@@ -168,7 +170,7 @@
                        if (FD_ISSET(0, &fds_r) && write_fd_possible) {
                                write_fd_possible = 0;
                                struct suid_packet *pkt = (struct suid_packet*) 
buf;
-                               r = read(0, buf, sizeof(struct 
suid_packet_header));
+                               r = read(0, buf, sizeof(struct 
GNUNET_MessageHeader));
                                if (r <= 0) {
                                        fprintf(stderr, "read-error: %m\n");
                                        shutdown(fd_tun, SHUT_WR);
@@ -176,8 +178,8 @@
                                        wri=0;
                                        goto outer;
                                }
-                               while (r < ntohl(pkt->hdr.size)) {
-                                       int t = read(0, buf + r, 
ntohl(pkt->hdr.size) - r);
+                               while (r < ntohs(pkt->hdr.size)) {
+                                       int t = read(0, buf + r, 
ntohs(pkt->hdr.size) - r);
                                        if (r < 0) {
                                                fprintf(stderr, "read-error: 
%m\n");
                                                shutdown(fd_tun, SHUT_WR);
@@ -188,8 +190,8 @@
                                        r += t;
                                }
                                r = 0;
-                               while (r < ntohl(pkt->hdr.size) - sizeof(struct 
suid_packet_header)) {
-                                       int t = write(fd_tun, pkt->data, 
ntohl(pkt->hdr.size) - sizeof(struct suid_packet_header) - r);
+                               while (r < ntohs(pkt->hdr.size) - sizeof(struct 
GNUNET_MessageHeader)) {
+                                       int t = write(fd_tun, pkt->data, 
ntohs(pkt->hdr.size) - sizeof(struct GNUNET_MessageHeader) - r);
                                        if (t < 0) {
                                                fprintf(stderr, "write-error 3: 
%m\n");
                                                shutdown(fd_tun, SHUT_WR);
@@ -209,10 +211,10 @@
                                        rea = 0;
                                        goto outer;
                                }
-                               struct suid_packet_header hdr = { .size = 
htonl(r + sizeof(struct suid_packet_header))};
+                               struct GNUNET_MessageHeader hdr = { .size = 
htons(r + sizeof(struct GNUNET_MessageHeader)), .type = 
htons(GNUNET_MESSAGE_TYPE_VPN_HELPER) };
                                r = 0;
-                               while(r < sizeof(struct suid_packet_header)) {
-                                       int t = write(1, &hdr, sizeof(struct 
suid_packet_header) - r);
+                               while(r < sizeof(struct GNUNET_MessageHeader)) {
+                                       int t = write(1, &hdr, sizeof(struct 
GNUNET_MessageHeader) - r);
                                        if (t < 0) {
                                                fprintf(stderr, "write-error 2: 
%m\n");
                                                shutdown(fd_tun, SHUT_RD);
@@ -222,10 +224,10 @@
                                        }
                                        r += t;
                                }
-                               while(r < ntohl(hdr.size)) {
-                                       int t = write(1, buf, ntohl(hdr.size) - 
r);
+                               while(r < ntohs(hdr.size)) {
+                                       int t = write(1, buf, ntohs(hdr.size) - 
r);
                                        if (t < 0) {
-                                               fprintf(stderr, "write-error 1: 
%m, written %d/%d\n", r, ntohl(hdr.size));
+                                               fprintf(stderr, "write-error 1: 
%m, written %d/%d\n", r, ntohs(hdr.size));
                                                shutdown(fd_tun, SHUT_RD);
                                                shutdown(1, SHUT_WR);
                                                rea = 0;

Modified: gnunet/src/vpn/gnunet-vpn-packet.h
===================================================================
--- gnunet/src/vpn/gnunet-vpn-packet.h  2010-07-20 22:21:57 UTC (rev 12300)
+++ gnunet/src/vpn/gnunet-vpn-packet.h  2010-07-20 22:21:59 UTC (rev 12301)
@@ -2,6 +2,7 @@
 #define _GNTUN_PACKET_H_
 
 #include "gnunet-vpn-helper-p.h"
+#include "gnunet_common.h"
 
 // Headers
 struct pkt_tun {
@@ -83,14 +84,14 @@
 
 // Complete Packets
 struct ip6_pkt {
-       struct suid_packet_header shdr;
+       struct GNUNET_MessageHeader shdr;
        struct pkt_tun tun;
        struct ip6_hdr ip6_hdr;
        unsigned char data[1];
 };
 
 struct ip6_tcp {
-       struct suid_packet_header shdr;
+       struct GNUNET_MessageHeader shdr;
        struct pkt_tun tun;
        struct ip6_hdr ip6_hdr;
        struct tcp_pkt tcp_hdr;
@@ -98,7 +99,7 @@
 };
 
 struct ip6_udp {
-       struct suid_packet_header shdr;
+       struct GNUNET_MessageHeader shdr;
        struct pkt_tun tun;
        struct ip6_hdr ip6_hdr;
        struct udp_pkt udp_hdr;
@@ -106,7 +107,7 @@
 };
 
 struct ip6_udp_dns {
-       struct suid_packet_header shdr;
+       struct GNUNET_MessageHeader shdr;
        struct pkt_tun tun;
        struct ip6_hdr ip6_hdr;
        struct udp_pkt udp_hdr;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]