--- src/server.c.orig	Tue Oct 31 09:37:57 2000
+++ src/server.c	Mon Apr 23 16:49:24 2001
@@ -794,6 +794,19 @@
 	}
     }
 #endif
+    if (!root_allow_ok_or_unspecified(arg)) {
+	if (alloc_pending (80 + strlen (arg)))
+	     /* If cvs server was run with --allow-root, we ensure
+		that the root given is a valid one.
+		Useful for using :ext: communication to
+		a cvs server via ssh with
+		    Command "cvs --allow-root=/blah server"
+		in the ssh config. */
+		sprintf (pending_error_text, "\
+E Protocol error: Root cannot be \"%s\"",
+			 arg);
+	return;
+    }
     set_local_cvsroot (arg);
 
     /* For pserver, this will already have happened, and the call will do
@@ -4656,8 +4669,8 @@
   REQ_LINE("Max-dotdot", serve_max_dotdot, 0),
   REQ_LINE("Static-directory", serve_static_directory, 0),
   REQ_LINE("Sticky", serve_sticky, 0),
-  REQ_LINE("Checkin-prog", serve_checkin_prog, 0),
-  REQ_LINE("Update-prog", serve_update_prog, 0),
+ /* REQ_LINE("Checkin-prog", serve_checkin_prog, 0), */
+ /* REQ_LINE("Update-prog", serve_update_prog, 0), */
   REQ_LINE("Entry", serve_entry, RQ_ESSENTIAL),
   REQ_LINE("Kopt", serve_kopt, 0),
   REQ_LINE("Checkin-time", serve_checkin_time, 0),
