]> git.pld-linux.org Git - packages/cvs-nserver.git/commitdiff
- added segv patch - two lethal bugs found, one sanity check
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 11 Mar 2003 20:36:12 +0000 (20:36 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
- added initgroups-rootonly patch (use initgroups() only if getuid()==0)
  to allow running cvschkpw with non-root privileges in simple configurations
- added config(noreplace) for rc-inetd scripts
- release 3

Changed files:
    cvs-nserver-initgroups-rootonly.patch -> 1.1
    cvs-nserver-segv.patch -> 1.1
    cvs-nserver.spec -> 1.49

cvs-nserver-initgroups-rootonly.patch [new file with mode: 0644]
cvs-nserver-segv.patch [new file with mode: 0644]
cvs-nserver.spec

diff --git a/cvs-nserver-initgroups-rootonly.patch b/cvs-nserver-initgroups-rootonly.patch
new file mode 100644 (file)
index 0000000..cd22a7f
--- /dev/null
@@ -0,0 +1,11 @@
+--- cvs-nserver-1.11.1.52/src/cvschkpw.c.orig  Sat Sep  8 18:30:58 2001
++++ cvs-nserver-1.11.1.52/src/cvschkpw.c       Tue Mar 11 21:21:21 2003
+@@ -223,7 +223,7 @@
+       }
+       
+ #ifdef HAVE_INITGROUPS
+-      if (initgroups(system_user, passwd->pw_gid) != 0) 
++      if (getuid()==0 && initgroups(system_user, passwd->pw_gid) != 0) 
+       {
+           fputs(err_prefix, stderr);
+           printf("cvschkpw: could not set groups for user %s: %s\n",
diff --git a/cvs-nserver-segv.patch b/cvs-nserver-segv.patch
new file mode 100644 (file)
index 0000000..0022dc5
--- /dev/null
@@ -0,0 +1,48 @@
+--- cvs-nserver-1.11.1.52/src/server.c.orig    Sat Mar 23 01:33:45 2002
++++ cvs-nserver-1.11.1.52/src/server.c Tue Mar 11 20:53:37 2003
+@@ -5009,7 +5009,7 @@
+     /* Now initialize our argument vector (for arguments from the client).  */
+     /* Small for testing.  */
+-    argument_vector_size = 1;
++    argument_vector_size = 2;
+     argument_vector =
+       (char **) malloc (argument_vector_size * sizeof (char *));
+     if (argument_vector == NULL)
+@@ -5044,6 +5044,9 @@
+        say something like "client apparently supports an option not supported
+        by this server" or something like that instead of usage message.  */
+     argument_vector[0] = "cvs server";
++    argument_vector[1] = NULL;
++      /* first, null terminate;
++       * second, serve_argument writes outside bounds if argumentvector_size<2 */
+     while (1)
+     {
+--- cvs-nserver-1.11.1.52/acl/dir-acl.c.orig   Sun Mar 31 22:23:38 2002
++++ cvs-nserver-1.11.1.52/acl/dir-acl.c        Tue Mar 11 21:01:41 2003
+@@ -102,7 +102,7 @@
+     /* reallocate if needed */
+     if (dirs_count + 1 >= dirs_allocated) {
+       struct DIR_ACL **new_top_dirs = 
+-          realloc(top_dirs, dirs_allocated + ALLOC_DELTA);
++          realloc(top_dirs, (dirs_allocated + ALLOC_DELTA) * sizeof(DIR_ACL*));
+       if (new_top_dirs == NULL)
+           return 0;
+--- cvs-nserver-1.11.1.52/src/main.c.orig      Sun Mar 31 22:49:08 2002
++++ cvs-nserver-1.11.1.52/src/main.c   Tue Mar 11 21:11:38 2003
+@@ -922,6 +922,13 @@
+ #ifdef SERVER_SUPPORT
+       /* ACL-related stuff */
+       if (server_active) {
++          if(!Pserver_Repos) {
++              printf("E No repository specified.\n");
++#ifdef SYSTEM_CLEANUP
++              SYSTEM_CLEANUP ();
++#endif
++              exit(EXIT_FAILURE);
++          }
+           set_repository();
+           load_cvsgroups();
+           load_acladmins();
index 68138510d9e5b5b40441bc09f4fe571c0d1bc2e3..28c702ae87c91f0343f613394a54230b68cf48a6 100644 (file)
@@ -5,7 +5,7 @@ Summary(pl):    Concurrent Versions System - nserver
 Summary(tr):   Sürüm denetim sistemi - nserver
 Name:          cvs-nserver
 Version:       1.11.1.52
-Release:       2
+Release:       3
 License:       GPL
 Group:         Development/Version Control
 Source0:       http://dl.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
@@ -18,6 +18,8 @@ Patch3:               %{name}-cvspass.patch
 Patch4:                %{name}-home_etc.patch
 Patch5:                %{name}-ssl-link.patch
 Patch6:                %{name}-fix_doc_CVSUSER.patch
+Patch7:                %{name}-segv.patch
+Patch8:                %{name}-initgroups-rootonly.patch
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: openssl-devel >= 0.9.7
@@ -159,6 +161,8 @@ Serwer CVS - pliki nservera.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
+%patch8 -p1
 
 %build
 %{__aclocal}
@@ -305,12 +309,12 @@ fi
 %files -n cvs-nserver-pserver
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/cvs-pserver*
-/etc/sysconfig/rc-inetd/cvs-pserver
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-pserver
 %{_mandir}/man8/cvs-pserver.8*
 
 %files -n cvs-nserver-nserver
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/cvs-nserver*
 %doc NEWS.nserver FAQ.nserver
-/etc/sysconfig/rc-inetd/cvs-nserver
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/rc-inetd/cvs-nserver
 %{_mandir}/man8/cvs-nserver.8*
This page took 0.087706 seconds and 4 git commands to generate.