|
|
1.1 root 1: /* unknwn.c
2: Check remote.unknown shell script. */
3:
4: #include "uucp.h"
5:
6: #include "uudefs.h"
7: #include "sysdep.h"
8: #include "system.h"
9:
10: #include <errno.h>
11:
12: /* Run the remote.unknown shell script. If it succeeds, we return
13: FALSE because that means that the system is not permitted to log
14: in. If the execution fails, we return TRUE. */
15:
16: boolean
17: fsysdep_unknown_caller (zscript, zsystem)
18: const char *zscript;
19: const char *zsystem;
20: {
21: const char *azargs[3];
22: int aidescs[3];
23: pid_t ipid;
24:
25: azargs[0] = zscript;
26: azargs[1] = zsystem;
27: azargs[2] = NULL;
28:
29: aidescs[0] = SPAWN_NULL;
30: aidescs[1] = SPAWN_NULL;
31: aidescs[2] = SPAWN_NULL;
32:
33: ipid = ixsspawn (azargs, aidescs, TRUE, TRUE, (const char *) NULL, FALSE,
34: TRUE, (const char *) NULL, (const char *) NULL,
35: (const char *) NULL);
36: if (ipid < 0)
37: {
38: ulog (LOG_ERROR, "ixsspawn: %s", strerror (errno));
39: return FALSE;
40: }
41:
42: return ixswait ((unsigned long) ipid, (const char *) NULL) != 0;
43: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.