~ubuntu-branches/ubuntu/intrepid/djbdns/intrepid-updates

« back to all changes in this revision

Viewing changes to rbldns-conf.c

  • Committer: Bazaar Package Importer
  • Author(s): Gerrit Pape
  • Date: 2008-03-02 23:22:04 UTC
  • Revision ID: james.westby@ubuntu.com-20080302232204-wa3owprcpeiyu8kj
Tags: upstream-1.05
ImportĀ upstreamĀ versionĀ 1.05

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <unistd.h>
 
2
#include <pwd.h>
 
3
#include "strerr.h"
 
4
#include "exit.h"
 
5
#include "auto_home.h"
 
6
#include "generic-conf.h"
 
7
 
 
8
#define FATAL "rbldns-conf: fatal: "
 
9
 
 
10
void usage(void)
 
11
{
 
12
  strerr_die1x(100,"rbldns-conf: usage: rbldns-conf acct logacct /rbldns myip base");
 
13
}
 
14
 
 
15
char *dir;
 
16
char *user;
 
17
char *loguser;
 
18
struct passwd *pw;
 
19
char *myip;
 
20
char *base;
 
21
 
 
22
int main(int argc,char **argv)
 
23
{
 
24
  user = argv[1];
 
25
  if (!user) usage();
 
26
  loguser = argv[2];
 
27
  if (!loguser) usage();
 
28
  dir = argv[3];
 
29
  if (!dir) usage();
 
30
  if (dir[0] != '/') usage();
 
31
  myip = argv[4];
 
32
  if (!myip) usage();
 
33
  base = argv[5];
 
34
  if (!base) usage();
 
35
 
 
36
  pw = getpwnam(loguser);
 
37
  if (!pw)
 
38
    strerr_die3x(111,FATAL,"unknown account ",loguser);
 
39
 
 
40
  init(dir,FATAL);
 
41
  makelog(loguser,pw->pw_uid,pw->pw_gid);
 
42
 
 
43
  makedir("env");
 
44
  perm(02755);
 
45
  start("env/ROOT"); outs(dir); outs("/root\n"); finish();
 
46
  perm(0644);
 
47
  start("env/IP"); outs(myip); outs("\n"); finish();
 
48
  perm(0644);
 
49
  start("env/BASE"); outs(base); outs("\n"); finish();
 
50
  perm(0644);
 
51
 
 
52
  start("run");
 
53
  outs("#!/bin/sh\nexec 2>&1\nexec envuidgid "); outs(user);
 
54
  outs(" envdir ./env softlimit -d250000 ");
 
55
  outs(auto_home); outs("/bin/rbldns\n");
 
56
  finish();
 
57
  perm(0755);
 
58
 
 
59
  makedir("root");
 
60
  perm(02755);
 
61
  start("root/data");
 
62
  finish();
 
63
  perm(0644);
 
64
  start("root/Makefile");
 
65
  outs("data.cdb: data\n");
 
66
  outs("\t"); outs(auto_home); outs("/bin/rbldns-data\n");
 
67
  finish();
 
68
  perm(0644);
 
69
 
 
70
  _exit(0);
 
71
}