www-es-general
[Top][All Lists]
Advanced

[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 &lt;syslog.h&gt;
+  #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 &lt;grp.h&gt;
++ 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-&gt;gr_mem;
++       while (*p &amp;&amp; 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-&gt;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 &lt;linux/posix_types.h&gt;
++ #include &lt;sys/syscall.h&gt;
++ #include &lt;errno.h&gt;
++
++ int
++ setgroups (size_t n, const gid_t *groups)
++ {
++   size_t i;
++   __kernel_gid_t kernel_groups[n];
++
++   for (i = 0; i &lt; 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) &gt;= (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-&gt;gid);
+  # if defined(BSD) || defined(POSIX)
+!              initgroups(env_get("LOGNAME", e-&gt;envp), e-&gt;gid);
+  # endif
+               setuid(e-&gt;uid);              /* we aren't root after this... 
*/
+               chdir(env_get("HOME", e-&gt;envp));
+--- 317,323 ----
+                */
+               setgid(e-&gt;gid);
+  # if defined(BSD) || defined(POSIX)
+!              xinitgroups(env_get("LOGNAME", e-&gt;envp), e-&gt;gid);
+  # endif
+               setuid(e-&gt;uid);              /* we aren't root after this... 
*/
+               chdir(env_get("HOME", e-&gt;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 &lt;signal.h&gt;
+- #if SYS_TIME_H
+- # include &lt;sys/time.h&gt;
+- #else
+  # include &lt;time.h&gt;
+- #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>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]