aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch')
-rw-r--r--meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch115
1 files changed, 115 insertions, 0 deletions
diff --git a/meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch b/meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch
new file mode 100644
index 0000000000..18b4e47ad7
--- /dev/null
+++ b/meta/recipes-core/tinylogin/tinylogin-1.4/add-system.patch
@@ -0,0 +1,115 @@
+? add-system.patch
+? cvs-20040608.patch
+? familiar
+? pod2htmd.tmp
+? pod2htmi.tmp
+? system.diff
+? tinylogin_1.4-20030620.1_arm.ipk
+? tinylogin_1.4-20030620.1_arm.ipk.asc
+? tinylogin_1.4-20030620.1_arm.ipk.upload.html
+? tinylogin_1.4-20030620.2_arm.ipk
+? tinylogin_1.4-20030620.2_arm.ipk.asc
+? tinylogin_1.4-20030620.2_arm.ipk.upload.html
+? tinylogin_1.4-20030620_arm.ipk
+? tinylogin_1.4-20030620_arm.ipk.asc
+? tinylogin_1.4-20030620_arm.ipk.upload.html
+? tmp
+Index: addgroup.c
+===================================================================
+RCS file: /var/cvs/tinylogin/addgroup.c,v
+retrieving revision 1.23
+diff -u -r1.23 addgroup.c
+--- a/addgroup.c 9 Jan 2003 18:43:29 -0000 1.23
++++ b/addgroup.c 8 Jun 2004 08:56:08 -0000
+@@ -31,6 +31,7 @@
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
++#include <getopt.h>
+ #include "tinylogin.h"
+
+ #define GROUP_FILE "/etc/group"
+@@ -124,6 +125,11 @@
+ return 0;
+ }
+
++static struct option long_options[] = {
++ { "system", 0, NULL, 'S' },
++ { 0, 0, 0, 0 }
++};
++
+ /*
+ * addgroup will take a login_name as its first parameter.
+ *
+@@ -136,14 +142,19 @@
+ int opt;
+ char *group;
+ char *user;
++ int option_index = -1;
+ gid_t gid = 0;
++ int system = 0;
+
+ /* get remaining args */
+- while ((opt = getopt (argc, argv, "g:")) != -1) {
++ while ((opt = getopt_long (argc, argv, "g:S", long_options, &option_index)) != -1) {
+ switch (opt) {
+ case 'g':
+ gid = strtol(optarg, NULL, 10);
+ break;
++ case 'S':
++ system = 1;
++ break;
+ default:
+ show_usage();
+ break;
+Index: adduser.c
+===================================================================
+RCS file: /var/cvs/tinylogin/adduser.c,v
+retrieving revision 1.38
+diff -u -r1.38 adduser.c
+--- a/adduser.c 21 Jun 2003 19:35:42 -0000 1.38
++++ b/adduser.c 8 Jun 2004 08:56:09 -0000
+@@ -66,13 +66,13 @@
+
+ /* remix */
+ /* EDR recoded such that the uid may be passed in *p */
+-static int passwd_study(const char *filename, struct passwd *p)
++static int passwd_study(const char *filename, struct passwd *p, int system)
+ {
+ struct passwd *pw;
+ FILE *passwd;
+
+- const int min = 500;
+- const int max = 65000;
++ const int min = system ? 10 : 500;
++ const int max = system ? 99 : 65000;
+
+ passwd = wfopen(filename, "r");
+ if (!passwd)
+@@ -142,7 +142,7 @@
+ }
+
+ /* putpwent(3) remix */
+-static int adduser(const char *filename, struct passwd *p, int makehome, int setpass)
++static int adduser(const char *filename, struct passwd *p, int makehome, int setpass, int system)
+ {
+ FILE *passwd;
+ int r;
+@@ -165,7 +165,7 @@
+ fseek(passwd, 0, SEEK_END);
+
+ /* if (passwd_study(filename, p) == 0) { */
+- r = passwd_study(filename, p);
++ r = passwd_study(filename, p, system);
+ if (r) {
+ if (r == 1)
+ error_msg("%s: login already in use", p->pw_name);
+@@ -357,7 +357,7 @@
+ }
+
+ /* grand finale */
+- return adduser(PASSWD_FILE, &pw, makehome, setpass);
++ return adduser(PASSWD_FILE, &pw, makehome, setpass, system);
+ }
+
+ /* $Id: adduser.c,v 1.38 2003/06/21 19:35:42 andersen Exp $ */