Dropped support for file areas on CDrom

This commit is contained in:
Michiel Broek 2005-08-11 21:05:15 +00:00
parent 5d5538e215
commit 0af2ea61a3
15 changed files with 158 additions and 195 deletions

View File

@ -37,6 +37,9 @@ v0.71.3 13-Jun-2005
the allfiles listings are created. Note that the very first the allfiles listings are created. Note that the very first
time only a mark is placed in ~/var and nothing is done. time only a mark is placed in ~/var and nothing is done.
mbfile:
Dropped support for areas on CDrom.
mbfido: mbfido:
Fixed commandline parser for mail recipients. Fixed commandline parser for mail recipients.
Added subject line clean in several places. Added subject line clean in several places.
@ -49,6 +52,7 @@ v0.71.3 13-Jun-2005
mbtask: mbtask:
Made Internet BBS Chat final. Made Internet BBS Chat final.
Dropped support for file areas on CDrom.
mbsetup: mbsetup:
Added setup switches per node to disable PLZ or GZ and BZ2 Added setup switches per node to disable PLZ or GZ and BZ2
@ -60,6 +64,7 @@ v0.71.3 13-Jun-2005
a valid apache logfile in common format and ftp xferlog a valid apache logfile in common format and ftp xferlog
logfile. If defined then downloads via www and or ftp can logfile. If defined then downloads via www and or ftp can
be counted. be counted.
Dropped support for file areas on CDrom.
v0.71.2 16-Jan-2005 - 13-Jun-2005 v0.71.2 16-Jan-2005 - 13-Jun-2005

4
TODO
View File

@ -114,9 +114,6 @@ mbcico:
mbfile: mbfile:
L: Possibility to skip file areas from checking and reindexing. L: Possibility to skip file areas from checking and reindexing.
N: It is not possible to import areas that run of cd-roms. Do we still
need cd-rom support with current hd prices?
mbnntp: mbnntp:
U: fetched mail doesn't get the status Rcvd if it was for the user. U: fetched mail doesn't get the status Rcvd if it was for the user.
@ -128,7 +125,6 @@ mbnntp:
name of the original sender in case the client doesn't set the name of the original sender in case the client doesn't set the
apperantly-to: header. apperantly-to: header.
mbaff: mbaff:
L: Rewrite filefind search algorithm. L: Rewrite filefind search algorithm.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -14,7 +14,7 @@
</HEAD> </HEAD>
<BODY> <BODY>
<BLOCKQUOTE> <BLOCKQUOTE>
<div align='right'><h5>Last update 08-Mar-2004</h5></div> <div align='right'><h5>Last update 11-Aug-2005</h5></div>
<div align='center'><H1>MBSE BBS Setup - BBS Setup - File Areas.</H1></div> <div align='center'><H1>MBSE BBS Setup - BBS Setup - File Areas.</H1></div>
<H3>File Areas introduction.</H3> <H3>File Areas introduction.</H3>
@ -37,9 +37,6 @@ moved to the new location.
<strong>Down Sec. </strong>The download security level. <strong>Down Sec. </strong>The download security level.
<strong>Upl. Sec. </strong>The upload security level. <strong>Upl. Sec. </strong>The upload security level.
<strong>List Sec. </strong>The security level to list the files in this area. <strong>List Sec. </strong>The security level to list the files in this area.
<strong>Files.bbs </strong>The full path and filename if this area is on CDROM.
You may leave this blank if it is in the Path together
with the files.
<strong>Available </strong>If this area is available. If you make an available <strong>Available </strong>If this area is available. If you make an available
area unavailable the area is checked if there are area unavailable the area is checked if there are
downloadable files in that area. If so, you can't remove downloadable files in that area. If so, you can't remove
@ -53,8 +50,6 @@ moved to the new location.
<strong>Pwd upl. </strong>Allow users to password protect their uploads. <strong>Pwd upl. </strong>Allow users to password protect their uploads.
<strong>Filefind </strong>Search in this area for filefind requests. <strong>Filefind </strong>Search in this area for filefind requests.
<strong>Add alpha </strong>Add .tic files alphabetic sorted or at the bottom of the list. <strong>Add alpha </strong>Add .tic files alphabetic sorted or at the bottom of the list.
<strong>CDrom </strong>Is this a CDROM area. The affects the behaviour of some
other utilities because the Path is read-only.
<strong>File req. </strong>Allow File Request from this area. <strong>File req. </strong>Allow File Request from this area.
<strong>BBS group </strong>Not in use yet. <strong>BBS group </strong>Not in use yet.
<strong>New group </strong>New files announce group. See <A HREF="newgroups.html">Newfiles groups</A> for more info. <strong>New group </strong>New files announce group. See <A HREF="newgroups.html">Newfiles groups</A> for more info.

View File

@ -794,15 +794,15 @@ struct fileareas {
unsigned FileFind : 1; /* FileFind Scan */ unsigned FileFind : 1; /* FileFind Scan */
unsigned AddAlpha : 1; /* Add New files sorted */ unsigned AddAlpha : 1; /* Add New files sorted */
unsigned Available : 1; /* Area is available */ unsigned Available : 1; /* Area is available */
unsigned CDrom : 1; /* Area is on CDrom */ unsigned xCDrom : 1;
unsigned FileReq : 1; /* Allow File Requests */ unsigned FileReq : 1; /* Allow File Requests */
char BbsGroup[13]; /* BBS Group */ char BbsGroup[13]; /* BBS Group */
char Password[21]; /* Area Password */ char Password[21]; /* Area Password */
unsigned DLdays; /* Move not DL for days */ unsigned DLdays; /* Move not DL for days */
unsigned FDdays; /* Move if FD older than */ unsigned FDdays; /* Move if FD older than */
unsigned MoveArea; /* Move to Area */ unsigned MoveArea; /* Move to Area */
int xCost; /* File Cost */ int xCost;
char FilesBbs[65]; /* Path to files.bbs if CD */ char xFilesBbs[65];
char NewGroup[13]; /* Newfiles scan group */ char NewGroup[13]; /* Newfiles scan group */
char Archiver[6]; /* Archiver for area */ char Archiver[6]; /* Archiver for area */
unsigned Upload; /* Upload area */ unsigned Upload; /* Upload area */

View File

@ -498,59 +498,56 @@ void CheckArea(long Area)
/* /*
* Check files in the directory against the database. * Check files in the directory against the database.
* This test is skipped for CD-rom.
*/ */
if (!area.CDrom) { if ((dp = opendir(area.Path)) != NULL) {
if ((dp = opendir(area.Path)) != NULL) { while ((de = readdir(dp)) != NULL) {
while ((de = readdir(dp)) != NULL) { if (de->d_name[0] != '.') {
if (de->d_name[0] != '.') { Marker();
Marker(); Found = FALSE;
Found = FALSE; fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET);
fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET); while (fread(&fdb, fdbhdr.recsize, 1, fdb_area->fp) == 1) {
while (fread(&fdb, fdbhdr.recsize, 1, fdb_area->fp) == 1) { if ((strcmp(fdb.LName, de->d_name) == 0) || (strcmp(fdb.Name, de->d_name) == 0)) {
if ((strcmp(fdb.LName, de->d_name) == 0) || (strcmp(fdb.Name, de->d_name) == 0)) { if (!Found) {
if (!Found) { Found = TRUE;
Found = TRUE; } else {
} else { /*
/* * Record has been found before, so this must be
* Record has been found before, so this must be * a double record.
* a double record. */
*/ Syslog('!', "Double file record area %ld file %s", Area, fdb.LName);
Syslog('!', "Double file record area %ld file %s", Area, fdb.LName); iErrors++;
iErrors++; fdb.Double = TRUE;
fdb.Double = TRUE; do_pack = TRUE;
do_pack = TRUE; if (mbsedb_LockFDB(fdb_area, 30)) {
if (mbsedb_LockFDB(fdb_area, 30)) { fseek(fdb_area->fp, - fdbhdr.recsize, SEEK_CUR);
fseek(fdb_area->fp, - fdbhdr.recsize, SEEK_CUR); fwrite(&fdb, fdbhdr.recsize, 1, fdb_area->fp);
fwrite(&fdb, fdbhdr.recsize, 1, fdb_area->fp); mbsedb_UnlockFDB(fdb_area);
mbsedb_UnlockFDB(fdb_area);
}
} }
} }
} }
if ((!Found) && (strncmp(de->d_name, "files.bbs", 9)) && }
if ((!Found) && (strncmp(de->d_name, "files.bbs", 9)) &&
(strncmp(de->d_name, "files.bak", 9)) && (strncmp(de->d_name, "files.bak", 9)) &&
(strncmp(de->d_name, "00index", 7)) && (strncmp(de->d_name, "00index", 7)) &&
(strncmp(de->d_name, "header", 6)) && (strncmp(de->d_name, "header", 6)) &&
(strncmp(de->d_name, "index", 5)) && (strncmp(de->d_name, "index", 5)) &&
(strncmp(de->d_name, "readme", 6))) { (strncmp(de->d_name, "readme", 6))) {
sprintf(fn, "%s/%s", area.Path, de->d_name); sprintf(fn, "%s/%s", area.Path, de->d_name);
if (stat(fn, &stb) == 0) if (stat(fn, &stb) == 0)
if (S_ISREG(stb.st_mode)) { if (S_ISREG(stb.st_mode)) {
if (unlink(fn) == 0) { if (unlink(fn) == 0) {
Syslog('!', "%s not in fdb, deleted from disk", fn); Syslog('!', "%s not in fdb, deleted from disk", fn);
iErrors++; iErrors++;
} else { } else {
WriteError("$%s not in fdb, cannot delete", fn); WriteError("$%s not in fdb, cannot delete", fn);
}
} }
} }
} }
} }
closedir(dp);
} else {
WriteError("Can't open %s", area.Path);
} }
closedir(dp);
} else {
WriteError("Can't open %s", area.Path);
} }
mbsedb_CloseFDB(fdb_area); mbsedb_CloseFDB(fdb_area);

View File

@ -69,12 +69,6 @@ void Delete(int UnDel, int Area, char *File)
printf("Area %d not available\n", Area); printf("Area %d not available\n", Area);
die(MBERR_CONFIG_ERROR); die(MBERR_CONFIG_ERROR);
} }
if (area.CDrom) {
WriteError("Can't %sdelete from CD-ROM", UnDel?"un":"");
if (!do_quiet)
printf("Can't %sdelete from CD-ROM\n", UnDel?"un":"");
die(MBERR_COMMANDLINE);
}
if ((fdb_area = mbsedb_OpenFDB(Area, 30)) == NULL) if ((fdb_area = mbsedb_OpenFDB(Area, 30)) == NULL)
die(MBERR_GENERAL); die(MBERR_GENERAL);

View File

@ -73,7 +73,7 @@ void ImportFiles(int Area)
if (LoadAreaRec(Area) == FALSE) if (LoadAreaRec(Area) == FALSE)
die(MBERR_INIT_ERROR); die(MBERR_INIT_ERROR);
if (area.Available && !area.CDrom) { if (area.Available) {
temp = calloc(PATH_MAX, sizeof(char)); temp = calloc(PATH_MAX, sizeof(char));
temp2 = calloc(PATH_MAX, sizeof(char)); temp2 = calloc(PATH_MAX, sizeof(char));
pwd = calloc(PATH_MAX, sizeof(char)); pwd = calloc(PATH_MAX, sizeof(char));
@ -446,11 +446,6 @@ void ImportFiles(int Area)
if (!do_quiet) if (!do_quiet)
printf("Area not available\n"); printf("Area not available\n");
} }
if (area.CDrom) {
WriteError("Can't import on CD-ROM");
if (!do_quiet)
printf("Can't import on CD-ROM\n");
}
} }
if (!do_quiet) { if (!do_quiet) {

View File

@ -408,10 +408,7 @@ void ReqIndex(void)
/* /*
* Create files.bbs * Create files.bbs
*/ */
if (strlen(area.FilesBbs)) sprintf(temp, "%s/files.bbs", area.Path);
strcpy(temp, area.FilesBbs);
else
sprintf(temp, "%s/files.bbs", area.Path);
if ((fp = fopen(temp, "w")) == NULL) { if ((fp = fopen(temp, "w")) == NULL) {
WriteError("$Can't create %s", temp); WriteError("$Can't create %s", temp);
} else { } else {
@ -433,7 +430,7 @@ void ReqIndex(void)
/* /*
* Create 00index file. * Create 00index file.
*/ */
if (!area.CDrom && (strncmp(CFG.ftp_base, area.Path, strlen(CFG.ftp_base)) == 0)) { if (strncmp(CFG.ftp_base, area.Path, strlen(CFG.ftp_base)) == 0) {
sprintf(temp, "%s/00index", area.Path); sprintf(temp, "%s/00index", area.Path);
if ((fp = fopen(temp, "w")) == NULL) { if ((fp = fopen(temp, "w")) == NULL) {
@ -593,7 +590,7 @@ void HtmlIndex(char *Lang)
/* /*
* Create index.html pages in each available download area. * Create index.html pages in each available download area.
*/ */
if (!area.CDrom && fm && (strncmp(CFG.ftp_base, area.Path, strlen(CFG.ftp_base)) == 0)) { if (fm && (strncmp(CFG.ftp_base, area.Path, strlen(CFG.ftp_base)) == 0)) {
fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET); fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET);
AreasHtml++; AreasHtml++;

View File

@ -84,7 +84,7 @@ void Kill(void)
fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET); fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET);
fread(&area, areahdr.recsize, 1, pAreas); fread(&area, areahdr.recsize, 1, pAreas);
if ((area.Available) && (area.DLdays || area.FDdays) && (!area.CDrom)) { if ((area.Available) && (area.DLdays || area.FDdays)) {
if (enoughspace(CFG.freespace) == 0) if (enoughspace(CFG.freespace) == 0)
die(MBERR_DISK_FULL); die(MBERR_DISK_FULL);

View File

@ -74,12 +74,6 @@ void Move(int From, int To, char *File)
printf("Area %d not available\n", From); printf("Area %d not available\n", From);
die(MBERR_COMMANDLINE); die(MBERR_COMMANDLINE);
} }
if (area.CDrom) {
WriteError("Can't move from CD-ROM");
if (!do_quiet)
printf("Can't move from CD-ROM\n");
die(MBERR_COMMANDLINE);
}
if (CheckFDB(From, area.Path)) if (CheckFDB(From, area.Path))
die(MBERR_GENERAL); die(MBERR_GENERAL);
@ -127,12 +121,6 @@ void Move(int From, int To, char *File)
printf("Area %d not available\n", To); printf("Area %d not available\n", To);
die(MBERR_GENERAL); die(MBERR_GENERAL);
} }
if (area.CDrom) {
WriteError("Can't move to CD-ROM");
if (!do_quiet)
printf("Can't move to CD-ROM\n");
die(MBERR_COMMANDLINE);
}
if (CheckFDB(To, area.Path)) if (CheckFDB(To, area.Path))
die(MBERR_GENERAL); die(MBERR_GENERAL);

View File

@ -77,7 +77,7 @@ void PackFileBase(void)
fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET); fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET);
fread(&area, areahdr.recsize, 1, pAreas); fread(&area, areahdr.recsize, 1, pAreas);
if (area.Available && !area.CDrom) { if (area.Available) {
if (enoughspace(CFG.freespace) == 0) if (enoughspace(CFG.freespace) == 0)
die(MBERR_DISK_FULL); die(MBERR_DISK_FULL);

View File

@ -68,12 +68,6 @@ void ReArc(int Area, char *File)
printf("Area %d not available\n", Area); printf("Area %d not available\n", Area);
die(MBERR_CONFIG_ERROR); die(MBERR_CONFIG_ERROR);
} }
if (area.CDrom) {
WriteError("Can't rearc on CD-ROM");
if (!do_quiet)
printf("Can't rearc on CD-ROM\n");
die(MBERR_COMMANDLINE);
}
if (strlen(area.Archiver) == 0) { if (strlen(area.Archiver) == 0) {
WriteError("No default archiver for area %d", Area); WriteError("No default archiver for area %d", Area);
if (!do_quiet) if (!do_quiet)

View File

@ -105,47 +105,62 @@ int CountFilearea(void)
*/ */
int OpenFilearea(void) int OpenFilearea(void)
{ {
FILE *fin, *fout; FILE *fin, *fout;
char fnin[PATH_MAX], fnout[PATH_MAX]; char fnin[PATH_MAX], fnout[PATH_MAX];
long oldsize; long oldsize;
sprintf(fnin, "%s/etc/fareas.data", getenv("MBSE_ROOT")); sprintf(fnin, "%s/etc/fareas.data", getenv("MBSE_ROOT"));
sprintf(fnout, "%s/etc/fareas.temp", getenv("MBSE_ROOT")); sprintf(fnout, "%s/etc/fareas.temp", getenv("MBSE_ROOT"));
if ((fin = fopen(fnin, "r")) != NULL) { if ((fin = fopen(fnin, "r")) != NULL) {
if ((fout = fopen(fnout, "w")) != NULL) { if ((fout = fopen(fnout, "w")) != NULL) {
fread(&areahdr, sizeof(areahdr), 1, fin); fread(&areahdr, sizeof(areahdr), 1, fin);
/* /*
* In case we are automatic upgrading the data format * In case we are automatic upgrading the data format
* we save the old format. If it is changed, the * we save the old format. If it is changed, the
* database must always be updated. * database must always be updated.
*/ */
oldsize = areahdr.recsize; oldsize = areahdr.recsize;
if (oldsize != sizeof(area)) { if (oldsize != sizeof(area)) {
FileUpdated = 1; FileUpdated = 1;
Syslog('+', "Updated %s to new format", fnin); Syslog('+', "Updated %s to new format", fnin);
} else } else
FileUpdated = 0; FileUpdated = 0;
areahdr.hdrsize = sizeof(areahdr); areahdr.hdrsize = sizeof(areahdr);
areahdr.recsize = sizeof(area); areahdr.recsize = sizeof(area);
fwrite(&areahdr, sizeof(areahdr), 1, fout); fwrite(&areahdr, sizeof(areahdr), 1, fout);
/* /*
* The datarecord is filled with zero's before each * The datarecord is filled with zero's before each
* read, so if the format changed, the new fields * read, so if the format changed, the new fields
* will be empty. * will be empty.
*/ */
memset(&area, 0, sizeof(area)); memset(&area, 0, sizeof(area));
while (fread(&area, oldsize, 1, fin) == 1) { while (fread(&area, oldsize, 1, fin) == 1) {
fwrite(&area, sizeof(area), 1, fout); /*
memset(&area, 0, sizeof(area)); * Clear obsolete fields
} */
fclose(fin); if (area.xCDrom) {
fclose(fout); area.xCDrom = FALSE;
return 0; FileUpdated = 1;
} else }
return -1; if (area.xCost) {
} area.xCost = 0;
return -1; FileUpdated = 1;
}
if (strlen(area.xFilesBbs)) {
memset(&area.xFilesBbs, 0, 65);
FileUpdated = 1;
}
fwrite(&area, sizeof(area), 1, fout);
memset(&area, 0, sizeof(area));
}
fclose(fin);
fclose(fout);
return 0;
} else
return -1;
}
return -1;
} }
@ -217,28 +232,26 @@ void FileScreen(void)
mbse_mvprintw( 8, 2, "3. Down Sec."); mbse_mvprintw( 8, 2, "3. Down Sec.");
mbse_mvprintw( 9, 2, "4. Upl. Sec."); mbse_mvprintw( 9, 2, "4. Upl. Sec.");
mbse_mvprintw(10, 2, "5. List Sec."); mbse_mvprintw(10, 2, "5. List Sec.");
mbse_mvprintw(11, 2, "6. Files.bbs"); mbse_mvprintw(11, 2, "6. Available");
mbse_mvprintw(12, 2, "7. Available"); mbse_mvprintw(12, 2, "7. Check new");
mbse_mvprintw(13, 2, "8. Check new"); mbse_mvprintw(13, 2, "8. Dupecheck");
mbse_mvprintw(14, 2, "9. Dupecheck"); mbse_mvprintw(14, 2, "9. Free area");
mbse_mvprintw(15, 2, "10. Free area"); mbse_mvprintw(15, 2, "10. Direct DL");
mbse_mvprintw(16, 2, "11. Direct DL"); mbse_mvprintw(16, 2, "11. Pwd upl.");
mbse_mvprintw(17, 2, "12. Pwd upl."); mbse_mvprintw(17, 2, "12. Filefind");
mbse_mvprintw(18, 2, "13. Filefind");
mbse_mvprintw(12,30, "14. Add alpha"); mbse_mvprintw(12,30, "13. Add alpha");
mbse_mvprintw(13,30, "15. CDrom"); mbse_mvprintw(13,30, "14. File req.");
mbse_mvprintw(14,30, "16. File req."); mbse_mvprintw(14,30, "15. BBS Group");
mbse_mvprintw(15,30, "17. BBS Group"); mbse_mvprintw(15,30, "16. New group");
mbse_mvprintw(16,30, "18. New group"); mbse_mvprintw(16,30, "17. Min. age");
mbse_mvprintw(17,30, "19. Min. age"); mbse_mvprintw(17,30, "18. Password");
mbse_mvprintw(18,30, "20. Password");
mbse_mvprintw(12,59, "21. DL days"); mbse_mvprintw(12,59, "19. DL days");
mbse_mvprintw(13,59, "22. FD days"); mbse_mvprintw(13,59, "20. FD days");
mbse_mvprintw(14,59, "23. Move area"); mbse_mvprintw(14,59, "21. Move area");
mbse_mvprintw(15,59, "24. Archiver"); mbse_mvprintw(15,59, "22. Archiver");
mbse_mvprintw(16,59, "25. Upload"); mbse_mvprintw(16,59, "23. Upload");
} }
@ -288,22 +301,20 @@ int EditFileRec(int Area)
show_sec( 8,16, area.DLSec); show_sec( 8,16, area.DLSec);
show_sec( 9,16, area.UPSec); show_sec( 9,16, area.UPSec);
show_sec(10,16, area.LTSec); show_sec(10,16, area.LTSec);
show_str(11,16,64, area.FilesBbs); show_bool(11,16, area.Available);
show_bool(12,16, area.Available); show_bool(12,16, area.New);
show_bool(13,16, area.New); show_bool(13,16, area.Dupes);
show_bool(14,16, area.Dupes); show_bool(14,16, area.Free);
show_bool(15,16, area.Free); show_bool(15,16, area.DirectDL);
show_bool(16,16, area.DirectDL); show_bool(16,16, area.PwdUP);
show_bool(17,16, area.PwdUP); show_bool(17,16, area.FileFind);
show_bool(18,16, area.FileFind);
show_bool(12,44, area.AddAlpha); show_bool(12,44, area.AddAlpha);
show_bool(13,44, area.CDrom); show_bool(13,44, area.FileReq);
show_bool(14,44, area.FileReq); show_str(14,44,12, area.BbsGroup);
show_str(15,44,12, area.BbsGroup); show_str(15,44,12, area.NewGroup);
show_str(16,44,12, area.NewGroup); show_int(16,44, area.Age);
show_int(17,44, area.Age); show_str(17,44,20, (char *)"********************");
show_str(18,44,20, (char *)"********************");
show_int(12,73, area.DLdays); show_int(12,73, area.DLdays);
show_int(13,73, area.FDdays); show_int(13,73, area.FDdays);
@ -311,7 +322,7 @@ int EditFileRec(int Area)
show_str(15,73, 5, area.Archiver); show_str(15,73, 5, area.Archiver);
show_int(16,73, area.Upload); show_int(16,73, area.Upload);
switch(select_menu(25)) { switch(select_menu(23)) {
case 0: crc1 = 0xffffffff; case 0: crc1 = 0xffffffff;
crc1 = upd_crc32((char *)&area, crc1, areahdr.recsize); crc1 = upd_crc32((char *)&area, crc1, areahdr.recsize);
if (crc != crc1) { if (crc != crc1) {
@ -367,8 +378,7 @@ int EditFileRec(int Area)
case 3: E_SEC( 8,16, area.DLSec, "8.4.3 DOWNLOAD SECURITY", FileScreen) case 3: E_SEC( 8,16, area.DLSec, "8.4.3 DOWNLOAD SECURITY", FileScreen)
case 4: E_SEC( 9,16, area.UPSec, "8.4.4 UPLOAD SECURITY", FileScreen) case 4: E_SEC( 9,16, area.UPSec, "8.4.4 UPLOAD SECURITY", FileScreen)
case 5: E_SEC( 10,16, area.LTSec, "8.4.5 LIST SECURITY", FileScreen) case 5: E_SEC( 10,16, area.LTSec, "8.4.5 LIST SECURITY", FileScreen)
case 6: E_STR( 11,16,64, area.FilesBbs, "The path and name of \"files.bbs\" if area is on CDROM") case 6: Available = edit_bool(11, 16, area.Available, (char *)"Is this area ^available^");
case 7: Available = edit_bool(12, 16, area.Available, (char *)"Is this area ^available^");
temp = calloc(PATH_MAX, sizeof(char)); temp = calloc(PATH_MAX, sizeof(char));
sprintf(temp, "%s/var/fdb/file%d.data", getenv("MBSE_ROOT"), Area); sprintf(temp, "%s/var/fdb/file%d.data", getenv("MBSE_ROOT"), Area);
if (area.Available && !Available) { if (area.Available && !Available) {
@ -424,30 +434,29 @@ int EditFileRec(int Area)
} }
free(temp); free(temp);
break; break;
case 8: E_BOOL(13,16, area.New, "Include this area in ^new files^ check") case 7: E_BOOL(12,16, area.New, "Include this area in ^new files^ check")
case 9: E_BOOL(14,16, area.Dupes, "Check this area for ^duplicates^ during upload") case 8: E_BOOL(13,16, area.Dupes, "Check this area for ^duplicates^ during upload")
case 10:E_BOOL(15,16, area.Free, "Are all files ^free^ in this area") case 9: E_BOOL(14,16, area.Free, "Are all files ^free^ in this area")
case 11:E_BOOL(16,16, area.DirectDL, "Allow ^direct download^ from this area") case 10:E_BOOL(15,16, area.DirectDL, "Allow ^direct download^ from this area")
case 12:E_BOOL(17,16, area.PwdUP, "Allow ^password^ on uploads") case 11:E_BOOL(16,16, area.PwdUP, "Allow ^password^ on uploads")
case 13:E_BOOL(18,16, area.FileFind, "Search this area for ^filefind^ requests") case 12:E_BOOL(17,16, area.FileFind, "Search this area for ^filefind^ requests")
case 14:E_BOOL(12,44, area.AddAlpha, "Add new files ^alphabetic^ or at the end") case 13:E_BOOL(12,44, area.AddAlpha, "Add new files ^alphabetic^ or at the end")
case 15:E_BOOL(13,44, area.CDrom, "Is this area on a ^CDROM^") case 14:E_BOOL(13,44, area.FileReq, "Allow ^file requests^ from this area")
case 16:E_BOOL(14,44, area.FileReq, "Allow ^file requests^ from this area") case 15:strcpy(area.BbsGroup, PickFGroup((char *)"8.4.15"));
case 17:strcpy(area.BbsGroup, PickFGroup((char *)"8.4.17"));
FileScreen(); FileScreen();
break; break;
case 18:strcpy(area.NewGroup, PickNGroup((char *)"8.4.18")); case 16:strcpy(area.NewGroup, PickNGroup((char *)"8.4.16"));
FileScreen(); FileScreen();
break; break;
case 19:E_INT( 17,44, area.Age, "The ^minimum age^ to access this area") case 17:E_INT( 16,44, area.Age, "The ^minimum age^ to access this area")
case 20:E_STR( 18,44,20, area.Password, "The ^password^ to access this area") case 18:E_STR( 17,44,20, area.Password, "The ^password^ to access this area")
case 21:E_INT( 12,73, area.DLdays, "The not ^downloaded days^ to move/kill files") case 19:E_INT( 12,73, area.DLdays, "The not ^downloaded days^ to move/kill files")
case 22:E_INT( 13,73, area.FDdays, "The ^file age^ in days to move/kill files") case 20:E_INT( 13,73, area.FDdays, "The ^file age^ in days to move/kill files")
case 23:E_INT( 14,73, area.MoveArea, "The ^area to move^ files to, 0 is kill") case 21:E_INT( 14,73, area.MoveArea, "The ^area to move^ files to, 0 is kill")
case 24:strcpy(area.Archiver, PickArchive((char *)"8.4")); case 22:strcpy(area.Archiver, PickArchive((char *)"8.4"));
FileScreen(); FileScreen();
break; break;
case 25:E_INT( 16,73, area.Upload, "The ^upload^ area, 0 if upload in this area") case 23:E_INT( 16,73, area.Upload, "The ^upload^ area, 0 if upload in this area")
} }
} }
} }
@ -799,7 +808,6 @@ int bbs_file_doc(FILE *fp, FILE *toc, int page)
web_secflags(wp, (char *)"Download security", area.DLSec); web_secflags(wp, (char *)"Download security", area.DLSec);
web_secflags(wp, (char *)"Upload security", area.UPSec); web_secflags(wp, (char *)"Upload security", area.UPSec);
web_secflags(wp, (char *)"List security", area.LTSec); web_secflags(wp, (char *)"List security", area.LTSec);
add_webtable(wp, (char *)"Path to files.bbs", area.FilesBbs);
add_webtable(wp, (char *)"Newfiles scan", getboolean(area.New)); add_webtable(wp, (char *)"Newfiles scan", getboolean(area.New));
add_webtable(wp, (char *)"Check upload dupes", getboolean(area.Dupes)); add_webtable(wp, (char *)"Check upload dupes", getboolean(area.Dupes));
add_webtable(wp, (char *)"Files are free", getboolean(area.Free)); add_webtable(wp, (char *)"Files are free", getboolean(area.Free));
@ -807,7 +815,6 @@ int bbs_file_doc(FILE *fp, FILE *toc, int page)
add_webtable(wp, (char *)"Allow password uploads", getboolean(area.PwdUP)); add_webtable(wp, (char *)"Allow password uploads", getboolean(area.PwdUP));
add_webtable(wp, (char *)"Filefind on", getboolean(area.FileFind)); add_webtable(wp, (char *)"Filefind on", getboolean(area.FileFind));
add_webtable(wp, (char *)"Add files sorted", getboolean(area.AddAlpha)); add_webtable(wp, (char *)"Add files sorted", getboolean(area.AddAlpha));
add_webtable(wp, (char *)"Files on CDrom", getboolean(area.CDrom));
add_webtable(wp, (char *)"Allow filerequest", getboolean(area.FileReq)); add_webtable(wp, (char *)"Allow filerequest", getboolean(area.FileReq));
fprintf(wp, "<TR><TH align='left'>BBS (tic) file group</TH><TD><A HREF=\"filegroup_%s.html\">%s</A></TD></TH>\n", fprintf(wp, "<TR><TH align='left'>BBS (tic) file group</TH><TD><A HREF=\"filegroup_%s.html\">%s</A></TD></TH>\n",
area.BbsGroup, area.BbsGroup); area.BbsGroup, area.BbsGroup);
@ -861,7 +868,6 @@ int bbs_file_doc(FILE *fp, FILE *toc, int page)
fprintf(fp, " Download sec. %s\n", get_secstr(area.DLSec)); fprintf(fp, " Download sec. %s\n", get_secstr(area.DLSec));
fprintf(fp, " Upload security %s\n", get_secstr(area.UPSec)); fprintf(fp, " Upload security %s\n", get_secstr(area.UPSec));
fprintf(fp, " List seccurity %s\n", get_secstr(area.LTSec)); fprintf(fp, " List seccurity %s\n", get_secstr(area.LTSec));
fprintf(fp, " Path to files.bbs %s\n", area.FilesBbs);
fprintf(fp, " Newfiles scan %s\n", getboolean(area.New)); fprintf(fp, " Newfiles scan %s\n", getboolean(area.New));
fprintf(fp, " Check upl. dupes %s\n", getboolean(area.Dupes)); fprintf(fp, " Check upl. dupes %s\n", getboolean(area.Dupes));
fprintf(fp, " Files are free %s\n", getboolean(area.Free)); fprintf(fp, " Files are free %s\n", getboolean(area.Free));
@ -869,7 +875,6 @@ int bbs_file_doc(FILE *fp, FILE *toc, int page)
fprintf(fp, " Allow pwd upl. %s\n", getboolean(area.PwdUP)); fprintf(fp, " Allow pwd upl. %s\n", getboolean(area.PwdUP));
fprintf(fp, " Filefind on %s\n", getboolean(area.FileFind)); fprintf(fp, " Filefind on %s\n", getboolean(area.FileFind));
fprintf(fp, " Add files sorted %s\n", getboolean(area.AddAlpha)); fprintf(fp, " Add files sorted %s\n", getboolean(area.AddAlpha));
fprintf(fp, " Files in CDROM %s\n", getboolean(area.CDrom));
fprintf(fp, " Allow filerequst %s\n", getboolean(area.FileReq)); fprintf(fp, " Allow filerequst %s\n", getboolean(area.FileReq));
fprintf(fp, " BBS group %s\n", area.BbsGroup); fprintf(fp, " BBS group %s\n", area.BbsGroup);
fprintf(fp, " Newfiles group %s\n", area.NewGroup); fprintf(fp, " Newfiles group %s\n", area.NewGroup);

View File

@ -4,7 +4,7 @@
* Purpose ...............: Give status of all filesystems * Purpose ...............: Give status of all filesystems
* *
***************************************************************************** *****************************************************************************
* Copyright (C) 1997-2004 * Copyright (C) 1997-2005
* *
* Michiel Broek FIDO: 2:280/2802 * Michiel Broek FIDO: 2:280/2802
* Beekmansbos 10 * Beekmansbos 10
@ -528,10 +528,7 @@ void *disk_thread(void)
while (fread(&area, areahdr.recsize, 1, fp)) { while (fread(&area, areahdr.recsize, 1, fp)) {
if (area.Available) { if (area.Available) {
if (area.CDrom) add_path(area.Path);
add_path(area.FilesBbs);
else
add_path(area.Path);
} }
} }
fclose(fp); fclose(fp);