2 #include <netinet/in.h>
3 #include <sys/socket.h>
10 main(int argc, char *argv[])
12 int control_channel_fd, magic_socket;
13 struct sockaddr_in my_addr;
16 printf("This script is called by vsys.\n");
20 sscanf(argv[2],"%d", &control_channel_fd);
22 magic_socket = socket(AF_INET, SOCK_DGRAM, 0);
24 if (magic_socket == -1) {
25 fprintf(stderr, "Error creating socket: %d\n", errno);
29 memset((void *) &my_addr, 0, sizeof(my_addr));
30 my_addr.sin_family = AF_INET;
31 my_addr.sin_port = htons(53);
32 my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
33 if (bind(magic_socket, (struct sockaddr *) &my_addr, sizeof(my_addr))==-1) {
34 printf("Could not bind to port 53");
38 send_fd(control_channel_fd, magic_socket);