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