djbdnscurve6
46
djbdnscurve6
Loading...
Searching...
No Matches
djbdnscurve6-46
src
walldns-conf.c
Go to the documentation of this file.
1
#include <unistd.h>
2
#include <pwd.h>
3
#include "logmsg.h"
4
#include "exit.h"
5
#include "
auto_home.h
"
6
#include "
generic-conf.h
"
7
8
#define WHO "walldns-conf"
9
10
void
usage
(
void
)
11
{
12
logmsg(
WHO
,100,USAGE,
"walldns-conf acct logacct /walldns myip"
);
13
}
14
15
char
*
dir
;
16
char
*
user
;
17
char
*
loguser
;
18
struct
passwd *
pw
;
19
char
*
myip
;
20
21
int
main
(
int
argc,
char
**argv)
22
{
23
user
= argv[1];
24
if
(!
user
)
usage
();
25
loguser
= argv[2];
26
if
(!
loguser
)
usage
();
27
dir
= argv[3];
28
if
(!
dir
)
usage
();
29
if
(
dir
[0] !=
'/'
)
usage
();
30
myip
= argv[4];
31
if
(!
myip
)
usage
();
32
33
pw
= getpwnam(
loguser
);
34
if
(!
pw
)
35
logmsg(
WHO
,111,FATAL,B(
"unknown account: "
,
loguser
));
36
37
init(
dir
,
WHO
);
38
makelog
(
loguser
,
pw
->pw_uid,
pw
->pw_gid);
39
40
makedir
(
"env"
);
41
perm
(02755);
42
start
(
"env/ROOT"
);
outs
(
dir
);
outs
(
"/root\n"
);
finish
();
43
perm
(0644);
44
start
(
"env/IP"
);
outs
(
myip
);
outs
(
"\n"
);
finish
();
45
perm
(0644);
46
47
start
(
"run"
);
48
outs
(
"#!/bin/sh\nexec 2>&1\nexec envuidgid "
);
outs
(
user
);
49
outs
(
" envdir ./env softlimit -d250000 "
);
50
outs
(
auto_home
);
outs
(
"/bin/walldns\n"
);
51
finish
();
52
perm
(0755);
53
54
makedir
(
"root"
);
55
perm
(02755);
56
57
_exit(0);
58
}
auto_home.h
auto_home
const char auto_home[]
WHO
#define WHO
Definition
axfr-get.c:16
user
char * user
Definition
axfrdns-conf.c:16
myip
char * myip
Definition
axfrdns-conf.c:19
dir
char * dir
Definition
axfrdns-conf.c:15
pw
struct passwd * pw
Definition
axfrdns-conf.c:18
loguser
char * loguser
Definition
axfrdns-conf.c:17
main
int main()
Definition
axfrdns.c:323
outs
void outs(const char *s)
Definition
generic-conf.c:49
start
void start(const char *s)
Definition
generic-conf.c:41
makedir
void makedir(const char *s)
Definition
generic-conf.c:35
perm
void perm(int mode)
Definition
generic-conf.c:71
finish
void finish(void)
Definition
generic-conf.c:64
makelog
void makelog(const char *user, int uid, int gid)
Definition
generic-conf.c:81
generic-conf.h
usage
void usage(void)
Definition
walldns-conf.c:10
Generated on
for djbdnscurve6 by
1.14.0