dcookie: dcookie.c
gcc dcookie.c -o exec/dcookie
-fd_pass.o: fd_pass.c
- gcc -c fd_pass.c -o fd_pass.o
+fdpass.o: fdpass.c
+ gcc -c fdpass.c -o fdpass.o
fd_bmsocket: fd_bmsocket.c fdpass.o
- gcc fd_bmsocket.c fd_pass.o -o exec/fd_bmsocket
+ gcc fd_bmsocket.c fdpass.o -o exec/fd_bmsocket
clean:
rm -f exec/*
#include <sys/types.h>
#include <sys/socket.h>
+#include <stdlib.h>
#include <stdio.h>
#include "fdpass.h"
-#define RCVBUF 16*1024*1024
+unsigned int rcvbuf = 16*1024*1024;
int main(int argc, char *argv[]) {
int control_channel_fd, magic_socket;
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);
+ magic_socket = socket(AF_INET, SOCK_STREAM, 0);
+ setsockopt(magic_socket, SOL_SOCKET, SO_RCVBUF, &rcvbuf, sizeof(unsigned int));
+ send_fd(control_channel_fd, magic_socket);
}