63 |
|
|
64 |
fclose(fd); |
fclose(fd); |
65 |
|
|
|
debug("options: %0#10x '%s'\n", opts, opts.charset); |
|
|
|
|
66 |
return 0; |
return 0; |
67 |
} |
} |
68 |
|
|
234 |
min((m[3].rm_eo - m[3].rm_so), |
min((m[3].rm_eo - m[3].rm_so), |
235 |
PATH_MAX - 1)); |
PATH_MAX - 1)); |
236 |
} |
} |
237 |
|
debug("options: logfile = '%s'\n", opts.logfile); |
238 |
} else if (!strncasecmp(line + m[2].rm_so, "charset", 7)) { |
} else if (!strncasecmp(line + m[2].rm_so, "charset", 7)) { |
239 |
if (*(line + m[3].rm_so) == '"' && |
if (*(line + m[3].rm_so) == '"' && |
240 |
*(line + m[3].rm_eo - 1) == '"') |
*(line + m[3].rm_eo - 1) == '"') |
244 |
else |
else |
245 |
strncat(opts.charset, line + m[3].rm_so, |
strncat(opts.charset, line + m[3].rm_so, |
246 |
min((m[3].rm_eo - m[3].rm_so), CHARSET_LEN - 1)); |
min((m[3].rm_eo - m[3].rm_so), CHARSET_LEN - 1)); |
247 |
|
debug("options: charset = '%s'\n", opts.charset); |
248 |
} else if (!strncasecmp(line + m[2].rm_so, "_protocol", 8)) { |
} else if (!strncasecmp(line + m[2].rm_so, "_protocol", 8)) { |
249 |
if (strcasestr(line + m[3].rm_so, "IMAP4rev1")) |
if (strcasestr(line + m[3].rm_so, "IMAP4rev1")) |
250 |
opts.force_protocol = PROTOCOL_IMAP4REV1; |
opts.force_protocol = PROTOCOL_IMAP4REV1; |
252 |
opts.force_protocol = PROTOCOL_IMAP4; |
opts.force_protocol = PROTOCOL_IMAP4; |
253 |
else |
else |
254 |
opts.force_protocol = PROTOCOL_NONE; |
opts.force_protocol = PROTOCOL_NONE; |
255 |
|
debug("options: force_protocol = %d\n", opts.force_protocol); |
256 |
} else if (!strncasecmp(line + m[2].rm_so, "errors", 6)) { |
} else if (!strncasecmp(line + m[2].rm_so, "errors", 6)) { |
257 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
258 |
opts.errors = 1; |
opts.errors = 1; |
259 |
else |
else |
260 |
opts.errors = 0; |
opts.errors = 0; |
261 |
|
debug("options: errors = %d\n", opts.errors); |
262 |
} else if (!strncasecmp(line + m[2].rm_so, "expunge", 7)) { |
} else if (!strncasecmp(line + m[2].rm_so, "expunge", 7)) { |
263 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
264 |
opts.expunge = 1; |
opts.expunge = 1; |
265 |
else |
else |
266 |
opts.expunge = 0; |
opts.expunge = 0; |
267 |
|
debug("options: expunge = %d\n", opts.expunge); |
268 |
} else if (!strncasecmp(line + m[2].rm_so, "header", 6)) { |
} else if (!strncasecmp(line + m[2].rm_so, "header", 6)) { |
269 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
270 |
opts.headers = 1; |
opts.headers = 1; |
271 |
else |
else |
272 |
opts.headers = 0; |
opts.headers = 0; |
273 |
|
debug("options: headers = %d\n", opts.headers); |
274 |
} else if (!strncasecmp(line + m[2].rm_so, "namespace", 9)) { |
} else if (!strncasecmp(line + m[2].rm_so, "namespace", 9)) { |
275 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
276 |
opts.namespace = 1; |
opts.namespace = 1; |
277 |
else |
else |
278 |
opts.namespace = 0; |
opts.namespace = 0; |
279 |
|
debug("options: namespace = %d\n", opts.namespace); |
280 |
} else if (!strncasecmp(line + m[2].rm_so, "peek", 4)) { |
} else if (!strncasecmp(line + m[2].rm_so, "peek", 4)) { |
281 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
282 |
opts.peek = 1; |
opts.peek = 1; |
283 |
else |
else |
284 |
opts.peek = 0; |
opts.peek = 0; |
285 |
|
debug("options: peek = %d\n", opts.peek); |
286 |
} else if (!strncasecmp(line + m[2].rm_so, "subscribe", 9)) { |
} else if (!strncasecmp(line + m[2].rm_so, "subscribe", 9)) { |
287 |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
if (!strncasecmp(line + m[3].rm_so, "yes", 3)) |
288 |
opts.subscribe = 1; |
opts.subscribe = 1; |
289 |
else |
else |
290 |
opts.subscribe = 0; |
opts.subscribe = 0; |
291 |
|
debug("options: subscribe = %d\n", opts.subscribe); |
292 |
} else if (!strncasecmp(line + m[2].rm_so, "timeout", 7)) { |
} else if (!strncasecmp(line + m[2].rm_so, "timeout", 7)) { |
293 |
errno = 0; |
errno = 0; |
294 |
opts.timeout = strtol(line + m[3].rm_so, NULL, 10); |
opts.timeout = strtol(line + m[3].rm_so, NULL, 10); |
295 |
if (errno) |
if (errno) |
296 |
opts.timeout = 0; |
opts.timeout = 0; |
297 |
|
debug("options: timeout = %d\n", opts.timeout); |
298 |
} else if (!strncasecmp(line + m[2].rm_so, "daemon", 6) && |
} else if (!strncasecmp(line + m[2].rm_so, "daemon", 6) && |
299 |
!opts.daemon) { |
!opts.daemon) { |
300 |
errno = 0; |
errno = 0; |
301 |
opts.daemon = strtoul(line + m[3].rm_so, NULL, 10); |
opts.daemon = strtoul(line + m[3].rm_so, NULL, 10); |
302 |
if (errno) |
if (errno) |
303 |
opts.daemon = 0; |
opts.daemon = 0; |
304 |
|
debug("options: daemon = %d\n", opts.daemon); |
305 |
} |
} |
306 |
} |
} |
307 |
|
|