dcookie: dcookie.c
gcc dcookie.c -o exec/dcookie
-fd_bmsocket: fd_bmsocket.c
- gcc fd_bmsocket.c -o exec/fd_bmsocket
+fd_pass.o: fd_pass.c
+ gcc -c fd_pass.c -o fd_pass.o
+
+fd_bmsocket: fd_bmsocket.c fdpass.o
+ gcc fd_bmsocket.c fd_pass.o -o exec/fd_bmsocket
clean:
rm -f exec/*
--- /dev/null
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <stdio.h>
+#include "fdpass.h"
+
+#define RCVBUF 16*1024*1024
+
+int main(int argc, char *argv[]) {
+ int control_channel_fd, magic_socket;
+ if (argc < 3) {
+ printf("This script is called by vsys.\n");
+ exit(1);
+ }
+
+ sscanf(argv[2],"%d", &control_channel_fd);
+
+ magic_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
+ setsockopt(magic_socket, SOL_SOCKET, SO_RCVBUF, RCVBUF, sizeof(unsigned int));
+ send_fd(control_channel, magic_socket);
+}
--- /dev/null
+// Modified version of library functions in FUSE
+//
+int send_fd(int sock_fd, int fd);
+int receive_fd(int fd);
+