|
|
1.1 ! root 1: /* usage: connect hostname (answer|send|notice) (in|out) program [ args ... ] */ ! 2: ! 3: #include <ipc.h> ! 4: #include <string.h> ! 5: #include "../paths.h" ! 6: ! 7: int ! 8: main(int argc, char *argv[]) ! 9: { ! 10: int fd; ! 11: ! 12: if (argc < 5) ! 13: return 1; ! 14: ! 15: chdir(SDIR); ! 16: ! 17: fd = ipcopen(ipcpath(argv[1], "dk", "dist"), "heavy bsdauth"); ! 18: if (fd < 0) { ! 19: perror(argv[1]); ! 20: return 1; ! 21: } ! 22: ! 23: write(fd, argv[2], strlen(argv[2]) + 1); ! 24: ! 25: if (strchr(argv[3], 'i')) ! 26: dup2(fd, 0); ! 27: if (strchr(argv[3], 'o')) ! 28: dup2(fd, 1); ! 29: close(fd); ! 30: execv(argv[4], &argv[4]); ! 31: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.