The 1.11.1 version will not create an initial copy of the .cvspass file. The problem is in password_entry_operation in the CVS_FOPEN with "r". When the file does not exist the routine errors out. A reasonable solution seems to be to CVS_FOPEN "a+" which will open read/write and create the file if it does not exist. (The downside is a rewind if the CVS_FOPEN succeeds). <<login.txt>> *************************************************************************** This electronic mail transmission contains confidential and/or privileged information intended only for the person(s) named. Any use, distribution, copying or disclosure by another person is strictly prohibited. ***************************************************************************
Index: cvs/src/login.c diff -c cvs/src/login.c:1.1 cvs/src/login.c:1.2 *** cvs/src/login.c:1.1 Fri Jun 1 12:41:38 2001 --- cvs/src/login.c Mon Jun 4 13:57:34 2001 *************** *** 319,330 **** */ passfile = construct_cvspass_filename (); ! fp = CVS_FOPEN (passfile, "r"); if (fp == NULL) { ! error (0, errno, "failed to open %s for reading", passfile); goto error_exit; } cvsroot_canonical = normalize_cvsroot (root); --- 319,332 ---- */ passfile = construct_cvspass_filename (); ! fp = CVS_FOPEN (passfile, "a+"); if (fp == NULL) { ! error (0, errno, "failed to open %s for read/append", passfile); goto error_exit; } + else + rewind(fp); cvsroot_canonical = normalize_cvsroot (root);