[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNU-traductores] gnudist:/home/www/html/server/standards/README.savanna
From: |
gnudist's file diff daemon |
Subject: |
[GNU-traductores] gnudist:/home/www/html/server/standards/README.savannah.html -- recent changes |
Date: |
Tue, 12 Jun 2001 07:02:42 -0700 (PDT) |
This is an automated report from gnudist.
Recent changes to /home/www/html/server/standards/README.savannah.html:
66 -rw-rw-r-- 1 webcvs www 66540 Jun 12 06:41
/home/www/html/server/standards/README.savannah.html
diff -u
/home/diffmon/old_file_dir/gnudist:!home!www!html!server!standards!README.savannah.html.gz
/home/www/html/server/standards/README.savannah.html
--- /tmp/diffmon15490 Tue Jun 12 07:02:42 2001
+++ /home/www/html/server/standards/README.savannah.html Tue Jun 12
06:41:31 2001
@@ -71,12 +71,12 @@
<li><a href="#Savannah%20logs">Savannah logs</a>:
<li><a href="#Savannah%20software%20root">Savannah software root</a>:
<li><a href="#NGROUPS_MAX">NGROUPS_MAX</a>:
+<li><a href="#cron">cron</a>:
<li><a href="#lsh%20and%20ssh">lsh and ssh</a>:
<li><a href="#Booting%20with%20grub%20and%20not%20lilo">Booting with grub and
not lilo</a>:
<li><a href="#Emergency%20situation">Emergency situation</a>:
<li><a href="#Linux%20configuration">Linux configuration</a>:
-<li><a href="#IDE%20Disk%20tweaking">IDE Disk tweaking</a>:
-
+<li><a href="#IDE%20Disk%20tweaking">IDE Disk tweaking</a>:
</ul>
<p><hr>
@@ -872,6 +872,7 @@
<li><a href="#Savannah%20logs">Savannah logs</a>:
<li><a href="#Savannah%20software%20root">Savannah software root</a>:
<li><a href="#NGROUPS_MAX">NGROUPS_MAX</a>:
+<li><a href="#cron">cron</a>:
<li><a href="#lsh%20and%20ssh">lsh and ssh</a>:
<li><a href="#Booting%20with%20grub%20and%20not%20lilo">Booting with grub and
not lilo</a>:
<li><a href="#Emergency%20situation">Emergency situation</a>:
@@ -1006,7 +1007,7 @@
<p><hr>
Node:<a name="NGROUPS_MAX">NGROUPS_MAX</a>,
-Next:<a rel=next href="#lsh%20and%20ssh">lsh and ssh</a>,
+Next:<a rel=next href="#cron">cron</a>,
Previous:<a rel=previous href="#Savannah%20software%20root">Savannah software
root</a>,
Up:<a rel=up href="#System%20Administration">System Administration</a>
<br>
@@ -1051,7 +1052,7 @@
*/
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
int
add_groups(const char *list)
@@ -1065,7 +1066,7 @@
#define VALID(s) (strcspn (s, ":\n") == strlen (s))
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
static char *user_name;
static char *user_newname;
@@ -1079,7 +1080,7 @@
int main P_((int, char **));
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
/*
* print_groups - print the groups which the named user is a member of
@@ -1093,7 +1094,7 @@
int main P_((int, char **));
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
static void
usage(void)
@@ -1107,7 +1108,7 @@
#include "faillog.h"
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
#ifndef SKEL_DIR
#define SKEL_DIR "/etc/skel"
@@ -1121,7 +1122,7 @@
#endif
+ #undef NGROUPS_MAX
-+ #define NGROUPS_MAX 256
++ #define NGROUPS_MAX 512
+
static char *Prog;
static int is_newgrp;
@@ -1236,9 +1237,144 @@
</pre>
<p><hr>
+Node:<a name="cron">cron</a>,
+Next:<a rel=next href="#lsh%20and%20ssh">lsh and ssh</a>,
+Previous:<a rel=previous href="#NGROUPS_MAX">NGROUPS_MAX</a>,
+Up:<a rel=up href="#System%20Administration">System Administration</a>
+<br>
+
+<h2>cron</h2>
+
+<p>The cron daemon was recompiled from
<code>/usr/local/src/cron-3.0pl1/</code> with
+the following patch applied, to fix the NGROUPS_MAX limit.
+
+<pre>*** do_command.c.~1~ Tue Jun 12 06:35:48 2001
+--- do_command.c Tue Jun 12 06:25:48 2001
+***************
+*** 30,35 ****
+--- 30,112 ----
+ # include <syslog.h>
+ #endif
+
++ /* The GNU C Library currently has a compile-time limit on the number of
++ groups a user may be a part of, even if the underlying kernel has been
++ fixed, and so we define our own initgroups. */
++ #include <grp.h>
++ static int
++ xinitgroups (char *user, gid_t gid)
++ {
++ struct group *grp;
++ gid_t *buf;
++ int buflen, ngroups;
++
++ /* Initialise the list with the specified GID. */
++ ngroups = 0;
++ buflen = 16;
++ buf = malloc (buflen * sizeof (*buf));
++ buf[ngroups ++] = gid;
++
++ setgrent ();
++ while ((grp = getgrent ()))
++ {
++ /* Scan the member list for our user. */
++ char **p = grp->gr_mem;
++ while (*p && strcmp (*p, user))
++ p ++;
++
++ if (*p)
++ {
++ /* We found the user in this group. */
++ if (ngroups == buflen)
++ {
++ /* Enlarge the group list. */
++ buflen *= 2;
++ buf = realloc (buf, buflen * sizeof (*buf));
++ }
++
++ /* Add the group id to our list. */
++ buf[ngroups ++] = grp->gr_gid;
++ }
++ }
++ endgrent ();
++
++ /* Return whatever setgroups says. */
++ buflen = setgroups (ngroups, buf);
++ free (buf);
++ return buflen;
++ }
++ #define initgroups xinitgroups
++
++ /* This worked fine, and was adopted into glibc, until setgroups got a
++ similar limitation, so we override it as well. */
++ #include <linux/posix_types.h>
++ #include <sys/syscall.h>
++ #include <errno.h>
++
++ int
++ setgroups (size_t n, const gid_t *groups)
++ {
++ size_t i;
++ __kernel_gid_t kernel_groups[n];
++
++ for (i = 0; i < n; i ++)
++ kernel_groups[i] = groups[i];
++
++ {
++ long res;
++ __asm__ volatile ("int $0x80"
++ : "=a" (res)
++ : "0" (__NR_setgroups),"b" ((long)(n)),
++ "c" ((long)(kernel_groups)));
++
++ if ((unsigned long)(res) >= (unsigned long)(-125)) {
++ errno = -res;
++ res = -1;
++ }
++ return (int) (res);
++ }
++ }
+
+ static void child_process __P((entry *, user *)),
+ do_univ __P((user *));
+***************
+*** 240,246 ****
+ */
+ setgid(e->gid);
+ # if defined(BSD) || defined(POSIX)
+! initgroups(env_get("LOGNAME", e->envp), e->gid);
+ # endif
+ setuid(e->uid); /* we aren't root after this...
*/
+ chdir(env_get("HOME", e->envp));
+--- 317,323 ----
+ */
+ setgid(e->gid);
+ # if defined(BSD) || defined(POSIX)
+! xinitgroups(env_get("LOGNAME", e->envp), e->gid);
+ # endif
+ setuid(e->uid); /* we aren't root after this...
*/
+ chdir(env_get("HOME", e->envp));
+*** cron.c.~1~ Tue Jun 12 06:35:35 2001
+--- cron.c Tue Jun 12 06:17:13 2001
+***************
+*** 25,35 ****
+
+ #include "cron.h"
+ #include <signal.h>
+- #if SYS_TIME_H
+- # include <sys/time.h>
+- #else
+ # include <time.h>
+- #endif
+
+
+ static void usage __P((void)),
+--- 25,31 ----
+</pre>
+
+<p><hr>
Node:<a name="lsh%20and%20ssh">lsh and ssh</a>,
Next:<a rel=next href="#Booting%20with%20grub%20and%20not%20lilo">Booting with
grub and not lilo</a>,
-Previous:<a rel=previous href="#NGROUPS_MAX">NGROUPS_MAX</a>,
+Previous:<a rel=previous href="#cron">cron</a>,
Up:<a rel=up href="#System%20Administration">System Administration</a>
<br>
@@ -1552,6 +1688,7 @@
<li><a href="#Savannah%20logs">Savannah logs</a>
<li><a href="#Savannah%20software%20root">Savannah software root</a>
<li><a href="#NGROUPS_MAX">NGROUPS_MAX</a>
+<li><a href="#cron">cron</a>
<li><a href="#lsh%20and%20ssh">lsh and ssh</a>
<li><a href="#Booting%20with%20grub%20and%20not%20lilo">Booting with grub and
not lilo</a>
<li><a href="#Emergency%20situation">Emergency situation</a>
- [GNU-traductores] gnudist:/home/www/html/server/standards/README.savannah.html -- recent changes,
gnudist's file diff daemon <=