diff options
Diffstat (limited to 'meta/packages/tinylogin/tinylogin-1.4/add-system.patch')
-rw-r--r-- | meta/packages/tinylogin/tinylogin-1.4/add-system.patch | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/meta/packages/tinylogin/tinylogin-1.4/add-system.patch b/meta/packages/tinylogin/tinylogin-1.4/add-system.patch new file mode 100644 index 0000000000..18b4e47ad7 --- /dev/null +++ b/meta/packages/tinylogin/tinylogin-1.4/add-system.patch | |||
@@ -0,0 +1,115 @@ | |||
1 | ? add-system.patch | ||
2 | ? cvs-20040608.patch | ||
3 | ? familiar | ||
4 | ? pod2htmd.tmp | ||
5 | ? pod2htmi.tmp | ||
6 | ? system.diff | ||
7 | ? tinylogin_1.4-20030620.1_arm.ipk | ||
8 | ? tinylogin_1.4-20030620.1_arm.ipk.asc | ||
9 | ? tinylogin_1.4-20030620.1_arm.ipk.upload.html | ||
10 | ? tinylogin_1.4-20030620.2_arm.ipk | ||
11 | ? tinylogin_1.4-20030620.2_arm.ipk.asc | ||
12 | ? tinylogin_1.4-20030620.2_arm.ipk.upload.html | ||
13 | ? tinylogin_1.4-20030620_arm.ipk | ||
14 | ? tinylogin_1.4-20030620_arm.ipk.asc | ||
15 | ? tinylogin_1.4-20030620_arm.ipk.upload.html | ||
16 | ? tmp | ||
17 | Index: addgroup.c | ||
18 | =================================================================== | ||
19 | RCS file: /var/cvs/tinylogin/addgroup.c,v | ||
20 | retrieving revision 1.23 | ||
21 | diff -u -r1.23 addgroup.c | ||
22 | --- a/addgroup.c 9 Jan 2003 18:43:29 -0000 1.23 | ||
23 | +++ b/addgroup.c 8 Jun 2004 08:56:08 -0000 | ||
24 | @@ -31,6 +31,7 @@ | ||
25 | #include <sys/stat.h> | ||
26 | #include <sys/types.h> | ||
27 | #include <unistd.h> | ||
28 | +#include <getopt.h> | ||
29 | #include "tinylogin.h" | ||
30 | |||
31 | #define GROUP_FILE "/etc/group" | ||
32 | @@ -124,6 +125,11 @@ | ||
33 | return 0; | ||
34 | } | ||
35 | |||
36 | +static struct option long_options[] = { | ||
37 | + { "system", 0, NULL, 'S' }, | ||
38 | + { 0, 0, 0, 0 } | ||
39 | +}; | ||
40 | + | ||
41 | /* | ||
42 | * addgroup will take a login_name as its first parameter. | ||
43 | * | ||
44 | @@ -136,14 +142,19 @@ | ||
45 | int opt; | ||
46 | char *group; | ||
47 | char *user; | ||
48 | + int option_index = -1; | ||
49 | gid_t gid = 0; | ||
50 | + int system = 0; | ||
51 | |||
52 | /* get remaining args */ | ||
53 | - while ((opt = getopt (argc, argv, "g:")) != -1) { | ||
54 | + while ((opt = getopt_long (argc, argv, "g:S", long_options, &option_index)) != -1) { | ||
55 | switch (opt) { | ||
56 | case 'g': | ||
57 | gid = strtol(optarg, NULL, 10); | ||
58 | break; | ||
59 | + case 'S': | ||
60 | + system = 1; | ||
61 | + break; | ||
62 | default: | ||
63 | show_usage(); | ||
64 | break; | ||
65 | Index: adduser.c | ||
66 | =================================================================== | ||
67 | RCS file: /var/cvs/tinylogin/adduser.c,v | ||
68 | retrieving revision 1.38 | ||
69 | diff -u -r1.38 adduser.c | ||
70 | --- a/adduser.c 21 Jun 2003 19:35:42 -0000 1.38 | ||
71 | +++ b/adduser.c 8 Jun 2004 08:56:09 -0000 | ||
72 | @@ -66,13 +66,13 @@ | ||
73 | |||
74 | /* remix */ | ||
75 | /* EDR recoded such that the uid may be passed in *p */ | ||
76 | -static int passwd_study(const char *filename, struct passwd *p) | ||
77 | +static int passwd_study(const char *filename, struct passwd *p, int system) | ||
78 | { | ||
79 | struct passwd *pw; | ||
80 | FILE *passwd; | ||
81 | |||
82 | - const int min = 500; | ||
83 | - const int max = 65000; | ||
84 | + const int min = system ? 10 : 500; | ||
85 | + const int max = system ? 99 : 65000; | ||
86 | |||
87 | passwd = wfopen(filename, "r"); | ||
88 | if (!passwd) | ||
89 | @@ -142,7 +142,7 @@ | ||
90 | } | ||
91 | |||
92 | /* putpwent(3) remix */ | ||
93 | -static int adduser(const char *filename, struct passwd *p, int makehome, int setpass) | ||
94 | +static int adduser(const char *filename, struct passwd *p, int makehome, int setpass, int system) | ||
95 | { | ||
96 | FILE *passwd; | ||
97 | int r; | ||
98 | @@ -165,7 +165,7 @@ | ||
99 | fseek(passwd, 0, SEEK_END); | ||
100 | |||
101 | /* if (passwd_study(filename, p) == 0) { */ | ||
102 | - r = passwd_study(filename, p); | ||
103 | + r = passwd_study(filename, p, system); | ||
104 | if (r) { | ||
105 | if (r == 1) | ||
106 | error_msg("%s: login already in use", p->pw_name); | ||
107 | @@ -357,7 +357,7 @@ | ||
108 | } | ||
109 | |||
110 | /* grand finale */ | ||
111 | - return adduser(PASSWD_FILE, &pw, makehome, setpass); | ||
112 | + return adduser(PASSWD_FILE, &pw, makehome, setpass, system); | ||
113 | } | ||
114 | |||
115 | /* $Id: adduser.c,v 1.38 2003/06/21 19:35:42 andersen Exp $ */ | ||