source: branches/samba-3.3.x/source/dynconfig.c#@ 246

Last change on this file since 246 was 206, checked in by Herwig Bauernfeind, 16 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 5.6 KB
Line 
1***************
2*** 74,97 ****
3 DEFINE_DYN_CONFIG_PARAM(SBINDIR)
4 DEFINE_DYN_CONFIG_PARAM(BINDIR)
5 DEFINE_DYN_CONFIG_PARAM(SWATDIR)
6 DEFINE_DYN_CONFIG_PARAM(CONFIGFILE) /**< Location of smb.conf file. **/
7 DEFINE_DYN_CONFIG_PARAM(LOGFILEBASE) /** Log file directory. **/
8 DEFINE_DYN_CONFIG_PARAM(LMHOSTSFILE) /** Statically configured LanMan hosts. **/
9 DEFINE_DYN_CONFIG_PARAM(CODEPAGEDIR)
10 DEFINE_DYN_CONFIG_PARAM(LIBDIR)
11 DEFINE_DYN_CONFIG_PARAM(SHLIBEXT)
12 DEFINE_DYN_CONFIG_PARAM(LOCKDIR)
13 DEFINE_DYN_CONFIG_PARAM(PIDDIR)
14 DEFINE_DYN_CONFIG_PARAM(SMB_PASSWD_FILE)
15 DEFINE_DYN_CONFIG_PARAM(PRIVATE_DIR)
16
17- #if 0
18 static char *dyn_CONFIGFILE; /**< Location of smb.conf file. **/
19
20 const char *get_dyn_CONFIGFILE(void)
21 {
22 if (dyn_CONFIGFILE == NULL) {
23- return CONFIGFILE;
24 }
25 return dyn_CONFIGFILE;
26 }
27--- 74,107 ----
28 DEFINE_DYN_CONFIG_PARAM(SBINDIR)
29 DEFINE_DYN_CONFIG_PARAM(BINDIR)
30 DEFINE_DYN_CONFIG_PARAM(SWATDIR)
31+ #ifndef __OS2__
32 DEFINE_DYN_CONFIG_PARAM(CONFIGFILE) /**< Location of smb.conf file. **/
33 DEFINE_DYN_CONFIG_PARAM(LOGFILEBASE) /** Log file directory. **/
34 DEFINE_DYN_CONFIG_PARAM(LMHOSTSFILE) /** Statically configured LanMan hosts. **/
35+ #endif
36 DEFINE_DYN_CONFIG_PARAM(CODEPAGEDIR)
37 DEFINE_DYN_CONFIG_PARAM(LIBDIR)
38 DEFINE_DYN_CONFIG_PARAM(SHLIBEXT)
39+ #ifndef __OS2__
40 DEFINE_DYN_CONFIG_PARAM(LOCKDIR)
41 DEFINE_DYN_CONFIG_PARAM(PIDDIR)
42 DEFINE_DYN_CONFIG_PARAM(SMB_PASSWD_FILE)
43 DEFINE_DYN_CONFIG_PARAM(PRIVATE_DIR)
44+ #endif
45
46+ #ifdef __OS2__
47 static char *dyn_CONFIGFILE; /**< Location of smb.conf file. **/
48
49 const char *get_dyn_CONFIGFILE(void)
50 {
51+ static char buffer[1024] = "";
52+ if (!*buffer)
53+ {
54+ snprintf(buffer, 260, "%s/samba/smb.conf", getenv("ETC"));
55+ }
56 if (dyn_CONFIGFILE == NULL) {
57+
58+ return buffer;
59 }
60 return dyn_CONFIGFILE;
61 }
62***************
63*** 105,117 ****
64 return dyn_CONFIGFILE;
65 }
66
67 /** Log file directory. **/
68 static char *dyn_LOGFILEBASE;
69
70 const char *get_dyn_LOGFILEBASE(void)
71 {
72 if (dyn_LOGFILEBASE == NULL) {
73- return LOGFILEBASE;
74 }
75 return dyn_LOGFILEBASE;
76 }
77--- 115,137 ----
78 return dyn_CONFIGFILE;
79 }
80
81+ bool is_default_dyn_CONFIGFILE(void) \
82+ {\
83+ return (dyn_CONFIGFILE == NULL);\
84+ }
85+
86 /** Log file directory. **/
87 static char *dyn_LOGFILEBASE;
88
89 const char *get_dyn_LOGFILEBASE(void)
90 {
91+ static char buffer[1024] = "";
92+ if (!*buffer)
93+ {
94+ snprintf(buffer, 260, "%s/samba/log", getenv("ETC"));
95+ }
96 if (dyn_LOGFILEBASE == NULL) {
97+ return buffer;
98 }
99 return dyn_LOGFILEBASE;
100 }
101***************
102*** 130,137 ****
103
104 const char *get_dyn_LMHOSTSFILE(void)
105 {
106 if (dyn_LMHOSTSFILE == NULL) {
107- return LMHOSTSFILE;
108 }
109 return dyn_LMHOSTSFILE;
110 }
111--- 150,162 ----
112
113 const char *get_dyn_LMHOSTSFILE(void)
114 {
115+ static char buffer[1024] = "";
116+ if (!*buffer)
117+ {
118+ snprintf(buffer, 260, "%s/samba/lmhosts", getenv("ETC"));
119+ }
120 if (dyn_LMHOSTSFILE == NULL) {
121+ return buffer;
122 }
123 return dyn_LMHOSTSFILE;
124 }
125***************
126*** 144,150 ****
127 dyn_LMHOSTSFILE = SMB_STRDUP(newpath);
128 return dyn_LMHOSTSFILE;
129 }
130
131 /**
132 * @brief Samba data directory.
133 *
134--- 169,177 ----
135 dyn_LMHOSTSFILE = SMB_STRDUP(newpath);
136 return dyn_LMHOSTSFILE;
137 }
138+ #endif /* __OS2__ */
139
140+ #if 0
141 /**
142 * @brief Samba data directory.
143 *
144***************
145*** 211,217 ****
146 dyn_SHLIBEXT = SMB_STRDUP(newpath);
147 return dyn_SHLIBEXT;
148 }
149-
150 /**
151 * @brief Directory holding lock files.
152 *
153--- 238,245 ----
154 dyn_SHLIBEXT = SMB_STRDUP(newpath);
155 return dyn_SHLIBEXT;
156 }
157+ #endif /* #if 0 */
158+ #ifdef __OS2__
159 /**
160 * @brief Directory holding lock files.
161 *
162***************
163*** 222,229 ****
164
165 const char *get_dyn_LOCKDIR(void)
166 {
167 if (dyn_LOCKDIR == NULL) {
168- return LOCKDIR;
169 }
170 return dyn_LOCKDIR;
171 }
172--- 250,262 ----
173
174 const char *get_dyn_LOCKDIR(void)
175 {
176+ static char buffer[1024] = "";
177+ if (!*buffer)
178+ {
179+ snprintf(buffer, 260, "%s/samba/lock", getenv("ETC"));
180+ }
181 if (dyn_LOCKDIR == NULL) {
182+ return buffer;
183 }
184 return dyn_LOCKDIR;
185 }
186***************
187*** 241,248 ****
188
189 const char *get_dyn_PIDDIR(void)
190 {
191 if (dyn_PIDDIR == NULL) {
192- return PIDDIR;
193 }
194 return dyn_PIDDIR;
195 }
196--- 274,286 ----
197
198 const char *get_dyn_PIDDIR(void)
199 {
200+ static char buffer[1024] = "";
201+ if (!*buffer)
202+ {
203+ snprintf(buffer, 260, "%s/samba/pid", getenv("ETC"));
204+ }
205 if (dyn_PIDDIR == NULL) {
206+ return buffer;
207 }
208 return dyn_PIDDIR;
209 }
210***************
211*** 260,267 ****
212
213 const char *get_dyn_SMB_PASSWD_FILE(void)
214 {
215 if (dyn_SMB_PASSWD_FILE == NULL) {
216- return SMB_PASSWD_FILE;
217 }
218 return dyn_SMB_PASSWD_FILE;
219 }
220--- 298,310 ----
221
222 const char *get_dyn_SMB_PASSWD_FILE(void)
223 {
224+ static char buffer[1024] = "";
225+ if (!*buffer)
226+ {
227+ snprintf(buffer, 260, "%s/samba/private/smbpasswd", getenv("ETC"));
228+ }
229 if (dyn_SMB_PASSWD_FILE == NULL) {
230+ return buffer;
231 }
232 return dyn_SMB_PASSWD_FILE;
233 }
234***************
235*** 279,286 ****
236
237 const char *get_dyn_PRIVATE_DIR(void)
238 {
239 if (dyn_PRIVATE_DIR == NULL) {
240- return PRIVATE_DIR;
241 }
242 return dyn_PRIVATE_DIR;
243 }
244--- 322,334 ----
245
246 const char *get_dyn_PRIVATE_DIR(void)
247 {
248+ static char buffer[1024] = "";
249+ if (!*buffer)
250+ {
251+ snprintf(buffer, 260, "%s/samba/private", getenv("ETC"));
252+ }
253 if (dyn_PRIVATE_DIR == NULL) {
254+ return buffer;
255 }
256 return dyn_PRIVATE_DIR;
257 }
Note: See TracBrowser for help on using the repository browser.