To use this patch:
  $ cd cvs-X.XX.XX
  $ cd src
  $ patch <main.c.patch


*** main.c.orig	Thu Nov 25 07:52:29 2004
--- main.c	Thu Nov 25 08:05:17 2004
***************
*** 253,258 ****
--- 253,261 ----
      "    -a           Authenticate all net traffic.\n",
  #endif
      "    -s VAR=VAL   Set CVS user variable.\n",
+ #ifdef AUTH_SERVER_SUPPORT
+     "    -u name      Set CVS username (used in log messages, etc.).\n",
+ #endif
      "(Specify the --help option for a list of other help options)\n",
      NULL
  };
***************
*** 397,403 ****
      int help = 0;		/* Has the user asked for help?  This
  				   lets us support the `cvs -H cmd'
  				   convention to give help for cmd. */
!     static const char short_options[] = "+Qqrwtnvb:T:e:d:Hfz:s:xa";
      static struct option long_options[] =
      {
          {"help", 0, NULL, 'H'},
--- 400,406 ----
      int help = 0;		/* Has the user asked for help?  This
  				   lets us support the `cvs -H cmd'
  				   convention to give help for cmd. */
!     static const char short_options[] = "+Qqrwtnvb:T:e:d:Hfz:s:xau:";
      static struct option long_options[] =
      {
          {"help", 0, NULL, 'H'},
***************
*** 406,411 ****
--- 409,415 ----
  	{"help-synonyms", 0, NULL, 2},
  	{"help-options", 0, NULL, 4},
  	{"allow-root", required_argument, NULL, 3},
+ 	{"cvs-user", required_argument, NULL, 5},
          {0, 0, 0, 0}
      };
      /* `getopt_long' stores the option index here, but right now we
***************
*** 603,608 ****
--- 607,621 ----
                     We will issue an error later if stream
                     authentication is not supported.  */
  		break;
+ 	    case 5:     /* --cvs-user */
+ 	    case 'u':
+ #ifdef AUTH_SERVER_SUPPORT
+ 		CVS_Username = xstrdup(optarg);
+ #else
+ 		error(1, 0,
+ 		      "CVS user cannot be set because CVS was compiled without AUTH_SERVER_SUPPORT");
+ #endif
+ 		break;
  	    case '?':
  	    default:
                  usage (usg);

