| 6 |
details. |
details. |
| 7 |
|
|
| 8 |
Mixmaster initialization, configuration |
Mixmaster initialization, configuration |
| 9 |
$Id: mix.c,v 1.8 2002/07/24 07:48:50 rabbi Exp $ */ |
$Id: mix.c,v 1.9 2002/07/24 09:00:11 weaselp Exp $ */ |
| 10 |
|
|
| 11 |
|
|
| 12 |
#include "mix3.h" |
#include "mix3.h" |
| 34 |
|
|
| 35 |
int buf_vappendf(BUFFER *b, char *fmt, va_list args); |
int buf_vappendf(BUFFER *b, char *fmt, va_list args); |
| 36 |
|
|
| 37 |
|
/** filenames ************************************************************/ |
| 38 |
|
char MIXCONF[PATHMAX] = DEFAULT_MIXCONF; /* mixmaster configuration file */ |
| 39 |
|
char DISCLAIMFILE[PATHMAX] = DEFAULT_DISCLAIMFILE; |
| 40 |
|
char FROMDSCLFILE[PATHMAX] = DEFAULT_FROMDSCLFILE; |
| 41 |
|
char POP3CONF[PATHMAX] = DEFAULT_POP3CONF; |
| 42 |
|
char HELPFILE[PATHMAX] = DEFAULT_HELPFILE; |
| 43 |
|
char ABUSEFILE[PATHMAX] = DEFAULT_ABUSEFILE; |
| 44 |
|
char REPLYFILE[PATHMAX] = DEFAULT_REPLYFILE; |
| 45 |
|
char USAGEFILE[PATHMAX] = DEFAULT_USAGEFILE; |
| 46 |
|
char USAGELOG[PATHMAX] = DEFAULT_USAGELOG; |
| 47 |
|
char BLOCKFILE[PATHMAX] = DEFAULT_BLOCKFILE; |
| 48 |
|
char ADMKEYFILE[PATHMAX] = DEFAULT_ADMKEYFILE; |
| 49 |
|
char KEYFILE[PATHMAX] = DEFAULT_KEYFILE; |
| 50 |
|
char PGPKEY[PATHMAX] = DEFAULT_PGPKEY; |
| 51 |
|
char DSAPARAMS[PATHMAX] = DEFAULT_DSAPARAMS; |
| 52 |
|
char DHPARAMS[PATHMAX] = DEFAULT_DHPARAMS; |
| 53 |
|
char MIXRAND[PATHMAX] = DEFAULT_MIXRAND; |
| 54 |
|
char SECRING[PATHMAX] = DEFAULT_SECRING; |
| 55 |
|
char PUBRING[PATHMAX] = DEFAULT_PUBRING; |
| 56 |
|
char IDLOG[PATHMAX] = DEFAULT_IDLOG; |
| 57 |
|
char STATS[PATHMAX] = DEFAULT_STATS; |
| 58 |
|
/* To enable multiple dest.blk files, edit the following line. */ |
| 59 |
|
/* Filenames must be seperated by one space. */ |
| 60 |
|
char DESTBLOCK[PATHMAX] = DEFAULT_DESTBLOCK; |
| 61 |
|
char DESTALLOW[PATHMAX] = DEFAULT_DESTALLOW; |
| 62 |
|
char SOURCEBLOCK[PATHMAX] = DEFAULT_SOURCEBLOCK; |
| 63 |
|
char HDRFILTER[PATHMAX] = DEFAULT_HDRFILTER; |
| 64 |
|
char REGULAR[PATHMAX] = DEFAULT_REGULAR; |
| 65 |
|
char POOL[PATHMAX] = DEFAULT_POOL; /* remailer pool subdirectory */ |
| 66 |
|
char TYPE1LIST[PATHMAX] = DEFAULT_TYPE1LIST; |
| 67 |
|
char TYPE2REL[PATHMAX] = DEFAULT_TYPE2REL; |
| 68 |
|
char TYPE2LIST[PATHMAX] = DEFAULT_TYPE2LIST; |
| 69 |
|
|
| 70 |
|
char PGPREMPUBRING[PATHMAX] = DEFAULT_PGPREMPUBRING; |
| 71 |
|
char PGPREMPUBASC[PATHMAX] = DEFAULT_PGPREMPUBASC; |
| 72 |
|
char PGPREMSECRING[PATHMAX] = DEFAULT_PGPREMSECRING; |
| 73 |
|
char NYMSECRING[PATHMAX] = DEFAULT_NYMSECRING; |
| 74 |
|
char NYMDB[PATHMAX] = DEFAULT_NYMDB; |
| 75 |
|
|
| 76 |
|
|
| 77 |
/** config ***************************************************************/ |
/** config ***************************************************************/ |
| 78 |
|
|
| 79 |
char MIXDIR[PATHMAX]; |
char MIXDIR[PATHMAX]; |
| 371 |
read_conf(MAILBOX) || read_conf(MAILABUSE) || |
read_conf(MAILBOX) || read_conf(MAILABUSE) || |
| 372 |
read_conf(MAILBLOCK) || read_conf(MAILUSAGE) || |
read_conf(MAILBLOCK) || read_conf(MAILUSAGE) || |
| 373 |
read_conf(MAILANON) || read_conf(MAILERROR) || |
read_conf(MAILANON) || read_conf(MAILERROR) || |
| 374 |
read_conf(MAILBOUNCE)); |
read_conf(MAILBOUNCE) || |
| 375 |
|
|
| 376 |
|
read_conf(DISCLAIMFILE) || read_conf(FROMDSCLFILE) || |
| 377 |
|
read_conf(POP3CONF) || read_conf(HELPFILE) || |
| 378 |
|
read_conf(ABUSEFILE) || read_conf(REPLYFILE) || |
| 379 |
|
read_conf(USAGEFILE) || read_conf(USAGELOG) || |
| 380 |
|
read_conf(BLOCKFILE) || read_conf(ADMKEYFILE) || |
| 381 |
|
read_conf(KEYFILE) || read_conf(PGPKEY) || |
| 382 |
|
read_conf(DSAPARAMS) || read_conf(DHPARAMS) || |
| 383 |
|
read_conf(MIXRAND) || read_conf(SECRING) || |
| 384 |
|
read_conf(PUBRING) || read_conf(IDLOG) || |
| 385 |
|
read_conf(STATS) || read_conf(DESTBLOCK) || |
| 386 |
|
read_conf(DESTALLOW) || read_conf(SOURCEBLOCK) || |
| 387 |
|
read_conf(HDRFILTER) || read_conf(REGULAR) || |
| 388 |
|
read_conf(POOL) || read_conf(TYPE1LIST) || |
| 389 |
|
read_conf(TYPE2REL) || read_conf(TYPE2LIST) || |
| 390 |
|
read_conf(PGPREMPUBRING) || read_conf(PGPREMPUBASC) || |
| 391 |
|
read_conf(PGPREMSECRING) || read_conf(NYMSECRING) || |
| 392 |
|
read_conf(NYMDB) ); |
| 393 |
|
|
| 394 |
} |
} |
| 395 |
|
|
| 396 |
static int mix_config(void) |
static int mix_config(void) |
| 444 |
line[PATHMAX-1] = '\0'; |
line[PATHMAX-1] = '\0'; |
| 445 |
if (line[strlen(line) - 1] != DIRSEP) |
if (line[strlen(line) - 1] != DIRSEP) |
| 446 |
strcatn(line, DIRSEPSTR, PATHMAX); |
strcatn(line, DIRSEPSTR, PATHMAX); |
| 447 |
strcatn(line, "Mix", PATHMAX); |
strcatn(line, HOMEMIXDIR, PATHMAX); |
| 448 |
err = mixdir(line, 1); |
err = mixdir(line, 1); |
| 449 |
} |
} |
| 450 |
#endif |
#endif |
| 467 |
#endif |
#endif |
| 468 |
strncpy(POOLDIR, MIXDIR, PATHMAX); |
strncpy(POOLDIR, MIXDIR, PATHMAX); |
| 469 |
|
|
| 470 |
|
#ifdef GLOBALMIXCONF |
| 471 |
|
f = mix_openfile(GLOBALMIXCONF, "r"); |
| 472 |
|
if (f != NULL) { |
| 473 |
|
while (fgets(line, LINELEN, f) != NULL) |
| 474 |
|
if (line[0] > ' ' && line[0] != '#') |
| 475 |
|
mix_configline(line); |
| 476 |
|
fclose(f); |
| 477 |
|
} |
| 478 |
|
#endif |
| 479 |
f = mix_openfile(MIXCONF, "r"); |
f = mix_openfile(MIXCONF, "r"); |
| 480 |
if (f != NULL) { |
if (f != NULL) { |
| 481 |
while (fgets(line, LINELEN, f) != NULL) |
while (fgets(line, LINELEN, f) != NULL) |
| 585 |
strncpy(NEWS, MAILtoNEWS, sizeof(NEWS)); |
strncpy(NEWS, MAILtoNEWS, sizeof(NEWS)); |
| 586 |
|
|
| 587 |
if (f == NULL) { |
if (f == NULL) { |
| 588 |
|
#ifndef GLOBALMIXCONF |
| 589 |
|
/* Only write the config file in non systemwide installation */ |
| 590 |
f = mix_openfile(MIXCONF, "w"); |
f = mix_openfile(MIXCONF, "w"); |
| 591 |
if (f == NULL) |
if (f == NULL) |
| 592 |
errlog(WARNING, "Can't open %s%s!\n", MIXDIR, MIXCONF); |
errlog(WARNING, "Can't open %s%s!\n", MIXDIR, MIXCONF); |
| 601 |
fprintf(f, "COMPLAINTS %s\n", COMPLAINTS); |
fprintf(f, "COMPLAINTS %s\n", COMPLAINTS); |
| 602 |
fclose(f); |
fclose(f); |
| 603 |
} |
} |
| 604 |
|
#endif |
| 605 |
REMAIL = 0; |
REMAIL = 0; |
| 606 |
} |
} |
| 607 |
|
|