Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorPierre Humblet <phumblet@phumblet.no-ip.org>2003-03-01 19:38:26 +0300
committerPierre Humblet <phumblet@phumblet.no-ip.org>2003-03-01 19:38:26 +0300
commitf78765daddab38eb37fb9ee28960bac930b47754 (patch)
treeeab595e60ce6716c312e3df8b0c1ad77c1e366c5 /winsup
parent5a082e9eac4c97b8ef669f43788c40f733da1646 (diff)
2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
* mkpasswd.cc (main): On Win95, output both a default line and a line for the current user (if known) with a pseudorandom uid. If the -u switch is given, produce a line for the specified user. * mkgroup.cc (main): On Win95 change the group name from "unknown" to "all".
Diffstat (limited to 'winsup')
-rw-r--r--winsup/utils/ChangeLog8
-rw-r--r--winsup/utils/mkgroup.c2
-rw-r--r--winsup/utils/mkpasswd.c36
3 files changed, 32 insertions, 14 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 6fd2041bd..01e94d099 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,11 @@
+2003-03-01 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * mkpasswd.cc (main): On Win95, output both a default line and a
+ line for the current user (if known) with a pseudorandom uid. If
+ the -u switch is given, produce a line for the specified user.
+ * mkgroup.cc (main): On Win95 change the group name from "unknown" to
+ "all".
+
2003-02-28 Christopher Faylor <cgf@redhat.com>
* Makefile.in (cygcheck.o): Fix so that actual mingw include files are
diff --git a/winsup/utils/mkgroup.c b/winsup/utils/mkgroup.c
index dacd7ae86..2378e14b1 100644
--- a/winsup/utils/mkgroup.c
+++ b/winsup/utils/mkgroup.c
@@ -612,7 +612,7 @@ main (int argc, char **argv)
/* This takes Windows 9x/ME into account. */
if (!isNT)
{
- printf ("unknown::%ld:\n", DOMAIN_ALIAS_RID_ADMINS);
+ printf ("all::%ld:\n", DOMAIN_ALIAS_RID_ADMINS);
return 0;
}
diff --git a/winsup/utils/mkpasswd.c b/winsup/utils/mkpasswd.c
index 3e54bd42c..3158490a5 100644
--- a/winsup/utils/mkpasswd.c
+++ b/winsup/utils/mkpasswd.c
@@ -632,24 +632,34 @@ main (int argc, char **argv)
if (!isNT)
{
/* This takes Windows 9x/ME into account. */
+ if (passed_home_path[0] == '\0')
+ strcpy (passed_home_path, "/home/");
if (!disp_username)
{
+ printf ("admin:use_crypt:%lu:%lu:Administrator:%sadmin:/bin/bash\n",
+ DOMAIN_USER_RID_ADMIN,
+ DOMAIN_ALIAS_RID_ADMINS,
+ passed_home_path);
if (GetUserName (name, (len = 256, &len)))
disp_username = name;
- else
- /* Same behaviour as in cygwin/shared.cc (memory_init). */
- disp_username = (char *) "unknown";
}
-
- if (passed_home_path[0] == '\0')
- strcpy (passed_home_path, "/home/");
-
- printf ("%s:*:%ld:%ld:%s:%s%s:/bin/bash\n", disp_username,
- DOMAIN_USER_RID_ADMIN,
- DOMAIN_ALIAS_RID_ADMINS,
- disp_username,
- passed_home_path,
- disp_username);
+ if (disp_username && disp_username[0])
+ {
+ /* Create a pseudo random uid */
+ unsigned long uid = 0, i;
+ for (i = 0; disp_username[i]; i++)
+ uid += toupper (disp_username[i]) << ((6 * i) % 25);
+ uid = (uid % (65535 - DOMAIN_USER_RID_ADMIN - 1))
+ + DOMAIN_USER_RID_ADMIN + 1;
+
+ printf ("%s:use_crypt:%lu:%lu:%s:%s%s:/bin/bash\n",
+ disp_username,
+ uid,
+ DOMAIN_ALIAS_RID_ADMINS,
+ disp_username,
+ passed_home_path,
+ disp_username);
+ }
return 0;
}
if (!print_local && !print_domain && !print_local_groups)