-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathqmail-uids.patch
114 lines (104 loc) · 2.73 KB
/
qmail-uids.patch
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
diff -u qmail-1.03-orig/auto-gid.c qmail-1.03/auto-gid.c
--- qmail-1.03-orig/auto-gid.c 1998-06-15 06:53:16.000000000 -0400
+++ qmail-1.03/auto-gid.c 2013-11-11 07:50:48.573252294 -0500
@@ -22,6 +22,7 @@
{
char *name;
char *value;
+ char *id;
struct group *gr;
char strnum[FMT_ULONG];
@@ -29,9 +30,11 @@
if (!name) _exit(100);
value = argv[2];
if (!value) _exit(100);
+ id = argv[3];
+ if (!id) _exit(100);
- gr = getgrnam(value);
- if (!gr) {
+ /*gr = getgrnam(value);*/
+ if (!id) {
substdio_puts(subfderr,"fatal: unable to find group ");
substdio_puts(subfderr,value);
substdio_puts(subfderr,"\n");
@@ -39,12 +42,12 @@
_exit(111);
}
- strnum[fmt_ulong(strnum,(unsigned long) gr->gr_gid)] = 0;
+ /*strnum[fmt_ulong(strnum,(unsigned long) gr->gr_gid)] = 0;*/
outs("int ");
outs(name);
outs(" = ");
- outs(strnum);
+ outs(id);
outs(";\n");
if (substdio_flush(&ss1) == -1) _exit(111);
_exit(0);
diff -u qmail-1.03-orig/auto-uid.c qmail-1.03/auto-uid.c
--- qmail-1.03-orig/auto-uid.c 1998-06-15 06:53:16.000000000 -0400
+++ qmail-1.03/auto-uid.c 2013-11-11 07:50:04.353255683 -0500
@@ -22,6 +22,7 @@
{
char *name;
char *value;
+ char *id;
struct passwd *pw;
char strnum[FMT_ULONG];
@@ -29,9 +30,11 @@
if (!name) _exit(100);
value = argv[2];
if (!value) _exit(100);
+ id = argv[3];
+ if (!id) _exit(100);
- pw = getpwnam(value);
- if (!pw) {
+ /*pw = getpwnam(value);*/
+ if (!id) {
substdio_puts(subfderr,"fatal: unable to find user ");
substdio_puts(subfderr,value);
substdio_puts(subfderr,"\n");
@@ -39,12 +42,12 @@
_exit(111);
}
- strnum[fmt_ulong(strnum,(unsigned long) pw->pw_uid)] = 0;
+ /*strnum[fmt_ulong(strnum,(unsigned long) pw->pw_uid)] = 0;*/
outs("int ");
outs(name);
outs(" = ");
- outs(strnum);
+ outs(id);
outs(";\n");
if (substdio_flush(&ss1) == -1) _exit(111);
_exit(0);
diff -u qmail-1.03-orig/conf-groups qmail-1.03/conf-groups
--- qmail-1.03-orig/conf-groups 1998-06-15 06:53:16.000000000 -0400
+++ qmail-1.03/conf-groups 2013-11-11 07:46:41.133263863 -0500
@@ -1,5 +1,5 @@
-qmail
-nofiles
+qmail 2108
+nofiles 2107
These are the qmail groups. The second group should not have access to
any files, but it must be usable for processes; this requirement
diff -u qmail-1.03-orig/conf-users qmail-1.03/conf-users
--- qmail-1.03-orig/conf-users 1998-06-15 06:53:16.000000000 -0400
+++ qmail-1.03/conf-users 2013-11-11 07:46:31.663264264 -0500
@@ -1,11 +1,11 @@
-alias
-qmaild
-qmaill
-root
-qmailp
-qmailq
-qmailr
-qmails
+alias 7790
+qmaild 7791
+qmaill 7792
+root 0
+qmailp 7793
+qmailq 7794
+qmailr 7795
+qmails 7796
The qmail system is heavily partitioned for security; it does almost
nothing as root.