Index: src/server.c
===================================================================
RCS file: /home/dron/CVS/ccvs-local/src/server.c,v
retrieving revision 1.1.1.1
retrieving revision 1.5.2.1
diff -u -r1.1.1.1 -r1.5.2.1
--- src/server.c	2002/08/15 08:59:48	1.1.1.1
+++ src/server.c	2002/08/16 08:53:04	1.5.2.1
@@ -4721,6 +4721,8 @@
 }
 
 static void serve_valid_requests PROTO((char *arg));
+static void serve_password PROTO((char *arg));
+static void serve_user PROTO((char *arg));
 
 #endif /* SERVER_SUPPORT */
 #if defined(SERVER_SUPPORT) || defined(CLIENT_SUPPORT)
@@ -4816,6 +4818,8 @@
   REQ_LINE("rannotate", serve_rannotate, 0),
   REQ_LINE("noop", serve_noop, RQ_ROOTLESS),
   REQ_LINE("version", serve_version, RQ_ROOTLESS),
+  REQ_LINE("password", serve_password, 0),
+  REQ_LINE("admin-user", serve_user, 0),
   REQ_LINE(NULL, NULL, 0)
 
 #undef REQ_LINE
@@ -5401,8 +5405,8 @@
     int found_it = 0;
     int namelen;
 
-    /* We don't use current_parsed_root->directory because it hasn't been
-     * set yet -- our `repository' argument came from the authentication
+    /* We don't use current_parsed_root->directory because it hasn't been set yet
+     * -- our `repository' argument came from the authentication
      * protocol, not the regular CVS protocol.
      */
 
@@ -6633,4 +6637,22 @@
 	else if (text != NULL)
 	    cvs_output (text, 0);
     }
+}
+/*
+ * Password modifications
+ */
+static void
+serve_password (arg)
+    char *arg;
+{
+    command_name = "password";
+    do_cvs_command ("password", password);
+}
+static void
+serve_user (arg)
+    char *arg;
+{
+	/* Actual command is 'admin user' but cvs command is 'admin */
+    command_name = "admin user";
+    do_cvs_command ("admin", user);
 }
