]> git.pld-linux.org Git - packages/cvs-nserver.git/blame - cvs-nserver-home_etc.patch
- use SUSv2-compliant chown syntax (user:group) instead of deprecated
[packages/cvs-nserver.git] / cvs-nserver-home_etc.patch
CommitLineData
232c8587
TO
1--- cvs-1.11.1p1.org/src/login.c Thu Sep 6 18:18:29 2001
2+++ cvs-1.11.1p1/src/login.c Wed Dec 11 15:19:42 2002
3@@ -7,6 +7,7 @@
4 * Allow user to log in for an authenticating server.
5 */
6
7+#include <sys/stat.h>
8 #include "cvs.h"
9 #include "getline.h"
10
11@@ -30,7 +31,7 @@
12 #endif
13
14 #ifndef CVS_PASSWORD_FILE
15-#define CVS_PASSWORD_FILE ".cvspass"
16+#define CVS_PASSWORD_FILE "cvspass"
17 #endif
18
19 /* If non-NULL, get_cvs_password() will just return this. */
20@@ -44,6 +45,8 @@
21 {
22 char *homedir;
23 char *passfile;
24+ char *path;
25+ struct stat st;
26
27 /* Environment should override file. */
28 if ((passfile = getenv ("CVS_PASSFILE")) != NULL)
29@@ -65,8 +68,17 @@
30 return (char *) NULL;
31 }
32
33+ if ( (path=getenv("CONFIG_DIR")) && path[0] ) {
34+ path=(char*) malloc(strlen(homedir)+strlen(getenv("CONFIG_DIR"))+2);
35+ sprintf(path, "%s/%s", homedir, getenv("CONFIG_DIR"));
36+ } else path=(char *) NULL;
37+ if ( path && stat(path,&st)!=-1 && S_ISDIR(st.st_mode) ) {
38+ passfile = (char *) xmalloc (strlen (path) + strlen (CVS_PASSWORD_FILE) + 3);
39+ sprintf (passfile, "%s/%s", path, CVS_PASSWORD_FILE);
40+ }
41+ else {
42 passfile =
43- (char *) xmalloc (strlen (homedir) + strlen (CVS_PASSWORD_FILE) + 3);
44+ (char *) xmalloc (strlen (homedir) + strlen (CVS_PASSWORD_FILE) + 4);
45 strcpy (passfile, homedir);
46 #ifndef NO_SLASH_AFTER_HOME
47 /* NO_SLASH_AFTER_HOME is defined for VMS, where foo:[bar]/.cvspass is not
48@@ -75,7 +87,11 @@
49 kind of thing.... */
50 strcat (passfile, "/");
51 #endif
52+ strcat (passfile, ".");
53 strcat (passfile, CVS_PASSWORD_FILE);
54+ } /* else */
55+ if (path)
56+ free(path);
57
58 /* Safety first and last, Scouts. */
59 if (isfile (passfile))
201aa3fc
TO
60--- cvs-1.11.1p1.org/src/cvsrc.c Sun Dec 22 14:18:41 2002
61+++ cvs-1.11.1p1/src/cvsrc.c Sun Dec 22 14:30:43 2002
62@@ -9,13 +9,14 @@
63 */
64
65
66+#include <sys/stat.h>
67 #include "cvs.h"
68 #include "getline.h"
69
70 /* this file is to be found in the user's home directory */
71
72 #ifndef CVSRC_FILENAME
73-#define CVSRC_FILENAME ".cvsrc"
74+#define CVSRC_FILENAME "cvsrc"
75 #endif
76 char cvsrc[] = CVSRC_FILENAME;
77
78@@ -36,6 +37,9 @@
79 char *homeinit;
80 FILE *cvsrcfile;
81
82+ char *path;
83+ struct stat st;
84+
85 char *line;
86 int line_length;
87 size_t line_chars_allocated;
88@@ -73,10 +77,22 @@
89 if (!homedir)
90 return;
91
92+ if ( (path=getenv("CONFIG_DIR")) && path[0] ) {
93+ path=(char*) malloc(strlen(homedir)+strlen(getenv("CONFIG_DIR"))+2);
94+ sprintf(path, "%s/%s", homedir, getenv("CONFIG_DIR"));
95+ } else path=(char *) NULL;
96+ if ( path && stat(path,&st)!=-1 && S_ISDIR(st.st_mode) ) {
97+ homeinit = (char *) xmalloc (strlen (path) + strlen (cvsrc) + 3);
98+ sprintf (homeinit, "%s/%s", path, cvsrc);
99+ }
100+ else {
101 homeinit = (char *) xmalloc (strlen (homedir) + strlen (cvsrc) + 10);
102 strcpy (homeinit, homedir);
103 strcat (homeinit, "/");
104 strcat (homeinit, cvsrc);
105+ } /* else */
106+ if (path)
107+ free(path);
108
109 /* if it can't be read, there's no point to continuing */
110
This page took 0.064386 seconds and 4 git commands to generate.