1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
From af31ad1efa3dad4ab40528fd9e9c47838d807669 Mon Sep 17 00:00:00 2001
From: Gerrit Pape <pape@smarden.org>
Date: Sun, 17 Feb 2008 15:21:58 +0000
Subject: [PATCH 1/3] *-conf.c: use ipsvd and runit tools instead og ucspi-tcp
and daemontools.
---
twoftpd-anon-conf.c | 11 +++++------
twoftpd-conf.c | 16 +++++++---------
2 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/twoftpd-anon-conf.c b/twoftpd-anon-conf.c
index 2db7302..365b516 100644
--- a/twoftpd-anon-conf.c
+++ b/twoftpd-anon-conf.c
@@ -92,15 +92,14 @@ int main(int argc, char* argv[])
"exec 2>&1\n"
"umask 022\n"
"exec \\\n"
- "tcpserver -DRHv -llocalhost ", ip, " 21 \\\n"
- "softlimit -m 2000000 \\\n"
- "envdir ", maindir, "/env \\\n",
- conf_bin, "/twoftpd-anon");
+ "tcpsvd -v -llocalhost ", ip, " 21 \\\n"
+ " chpst -m2000000 -e./env \\\n"
+ " twoftpd-anon", 0, 0, 0, 0);
make_file("log/run", 0755,
"#!/bin/sh\n"
"exec \\\n"
- "setuidgid ", logname, " \\\n"
- "multilog t ", logdir, 0, 0, 0);
+ "chpst -u", logname, " \\\n"
+ " svlogd -t ", logdir, 0, 0, 0);
make_fileu("env/CHROOT", 1);
make_fileu("env/GID", ftpgid);
make_file("env/HOME", 0644, ftpdir, 0, 0, 0, 0, 0, 0);
diff --git a/twoftpd-conf.c b/twoftpd-conf.c
index 8d98fed..8301be4 100644
--- a/twoftpd-conf.c
+++ b/twoftpd-conf.c
@@ -84,20 +84,18 @@ int main(int argc, char* argv[])
"exec 2>&1\n"
"umask 022\n"
"exec \\\n"
- "tcpserver -DRHv -llocalhost ", ip, " 21 \\\n"
- "envdir ", maindir, "/env \\\n");
- obuf_put7s(&conf_out,
- "softlimit -m 2000000 \\\n",
- conf_bin, "/twoftpd-auth \\\n",
- cvmpath, " \\\n",
- conf_bin, "/twoftpd-xfer");
+ "tcpsvd -v -llocalhost ", ip, " 21 \\\n"
+ " chpst -m2000000 -e./env \\\n"
+ " twoftpd-auth ",
+ cvmpath,
+ " twoftpd-xfer");
end_file();
make_file("log/run", 0755,
"#!/bin/sh\n"
"exec \\\n"
- "setuidgid ", logacct->pw_name, " \\\n"
- "multilog t ", logdir, 0, 0, 0);
+ "chpst -u", logacct->pw_name, " \\\n"
+ " svlogd -t ", logdir, 0, 0, 0);
if (dochroot) make_fileu("env/CHROOT", 1);
--
2.0.1
|