From 0af2ea61a3bed359d63cdaef3e699f29b9fd25fc Mon Sep 17 00:00:00 2001 From: Michiel Broek Date: Thu, 11 Aug 2005 21:05:15 +0000 Subject: [PATCH] Dropped support for file areas on CDrom --- ChangeLog | 5 ++ TODO | 4 - html/images/files.png | Bin 12100 -> 14793 bytes html/setup/files.html | 7 +- lib/mbselib.h | 6 +- mbfido/mbfcheck.c | 79 ++++++++--------- mbfido/mbfdel.c | 6 -- mbfido/mbfimport.c | 7 +- mbfido/mbfindex.c | 9 +- mbfido/mbfkill.c | 2 +- mbfido/mbfmove.c | 12 --- mbfido/mbfpack.c | 2 +- mbfido/mbfrearc.c | 6 -- mbsetup/m_farea.c | 201 ++++++++++++++++++++++-------------------- mbtask/taskdisk.c | 7 +- 15 files changed, 158 insertions(+), 195 deletions(-) diff --git a/ChangeLog b/ChangeLog index 444747b8..0e577b70 100644 --- a/ChangeLog +++ b/ChangeLog @@ -37,6 +37,9 @@ v0.71.3 13-Jun-2005 the allfiles listings are created. Note that the very first time only a mark is placed in ~/var and nothing is done. + mbfile: + Dropped support for areas on CDrom. + mbfido: Fixed commandline parser for mail recipients. Added subject line clean in several places. @@ -49,6 +52,7 @@ v0.71.3 13-Jun-2005 mbtask: Made Internet BBS Chat final. + Dropped support for file areas on CDrom. mbsetup: 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 logfile. If defined then downloads via www and or ftp can be counted. + Dropped support for file areas on CDrom. v0.71.2 16-Jan-2005 - 13-Jun-2005 diff --git a/TODO b/TODO index a8263137..92e158dd 100644 --- a/TODO +++ b/TODO @@ -114,9 +114,6 @@ mbcico: mbfile: 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: 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 apperantly-to: header. - mbaff: L: Rewrite filefind search algorithm. diff --git a/html/images/files.png b/html/images/files.png index 3b1c2c92f1940f117f8bc23e69677a35f8eddf9c..1effd19c4e9d7415a04568e81ff2f33467cc4fd7 100644 GIT binary patch literal 14793 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 literal 12100 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 MUj23XD~r$n4@A5unE(I) diff --git a/html/setup/files.html b/html/setup/files.html index 2f637a54..86a92690 100644 --- a/html/setup/files.html +++ b/html/setup/files.html @@ -14,7 +14,7 @@
-
Last update 08-Mar-2004
+
Last update 11-Aug-2005

MBSE BBS Setup - BBS Setup - File Areas.

File Areas introduction.

@@ -37,9 +37,6 @@ moved to the new location. Down Sec. The download security level. Upl. Sec. The upload security level. List Sec. The security level to list the files in this area. -Files.bbs 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. Available If this area is available. If you make an available area unavailable the area is checked if there are downloadable files in that area. If so, you can't remove @@ -53,8 +50,6 @@ moved to the new location. Pwd upl. Allow users to password protect their uploads. Filefind Search in this area for filefind requests. Add alpha Add .tic files alphabetic sorted or at the bottom of the list. -CDrom Is this a CDROM area. The affects the behaviour of some - other utilities because the Path is read-only. File req. Allow File Request from this area. BBS group Not in use yet. New group New files announce group. See Newfiles groups for more info. diff --git a/lib/mbselib.h b/lib/mbselib.h index 9943c31f..26867e6d 100644 --- a/lib/mbselib.h +++ b/lib/mbselib.h @@ -794,15 +794,15 @@ struct fileareas { unsigned FileFind : 1; /* FileFind Scan */ unsigned AddAlpha : 1; /* Add New files sorted */ unsigned Available : 1; /* Area is available */ - unsigned CDrom : 1; /* Area is on CDrom */ + unsigned xCDrom : 1; unsigned FileReq : 1; /* Allow File Requests */ char BbsGroup[13]; /* BBS Group */ char Password[21]; /* Area Password */ unsigned DLdays; /* Move not DL for days */ unsigned FDdays; /* Move if FD older than */ unsigned MoveArea; /* Move to Area */ - int xCost; /* File Cost */ - char FilesBbs[65]; /* Path to files.bbs if CD */ + int xCost; + char xFilesBbs[65]; char NewGroup[13]; /* Newfiles scan group */ char Archiver[6]; /* Archiver for area */ unsigned Upload; /* Upload area */ diff --git a/mbfido/mbfcheck.c b/mbfido/mbfcheck.c index 4ede0365..f5d0ac4a 100644 --- a/mbfido/mbfcheck.c +++ b/mbfido/mbfcheck.c @@ -498,59 +498,56 @@ void CheckArea(long Area) /* * Check files in the directory against the database. - * This test is skipped for CD-rom. */ - if (!area.CDrom) { - if ((dp = opendir(area.Path)) != NULL) { - while ((de = readdir(dp)) != NULL) { - if (de->d_name[0] != '.') { - Marker(); - Found = FALSE; - fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET); - 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 (!Found) { - Found = TRUE; - } else { - /* - * Record has been found before, so this must be - * a double record. - */ - Syslog('!', "Double file record area %ld file %s", Area, fdb.LName); - iErrors++; - fdb.Double = TRUE; - do_pack = TRUE; - if (mbsedb_LockFDB(fdb_area, 30)) { - fseek(fdb_area->fp, - fdbhdr.recsize, SEEK_CUR); - fwrite(&fdb, fdbhdr.recsize, 1, fdb_area->fp); - mbsedb_UnlockFDB(fdb_area); - } + if ((dp = opendir(area.Path)) != NULL) { + while ((de = readdir(dp)) != NULL) { + if (de->d_name[0] != '.') { + Marker(); + Found = FALSE; + fseek(fdb_area->fp, fdbhdr.hdrsize, SEEK_SET); + 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 (!Found) { + Found = TRUE; + } else { + /* + * Record has been found before, so this must be + * a double record. + */ + Syslog('!', "Double file record area %ld file %s", Area, fdb.LName); + iErrors++; + fdb.Double = TRUE; + do_pack = TRUE; + if (mbsedb_LockFDB(fdb_area, 30)) { + fseek(fdb_area->fp, - fdbhdr.recsize, SEEK_CUR); + fwrite(&fdb, fdbhdr.recsize, 1, fdb_area->fp); + 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, "00index", 7)) && (strncmp(de->d_name, "header", 6)) && (strncmp(de->d_name, "index", 5)) && (strncmp(de->d_name, "readme", 6))) { - sprintf(fn, "%s/%s", area.Path, de->d_name); - if (stat(fn, &stb) == 0) - if (S_ISREG(stb.st_mode)) { - if (unlink(fn) == 0) { - Syslog('!', "%s not in fdb, deleted from disk", fn); - iErrors++; - } else { - WriteError("$%s not in fdb, cannot delete", fn); - } + sprintf(fn, "%s/%s", area.Path, de->d_name); + if (stat(fn, &stb) == 0) + if (S_ISREG(stb.st_mode)) { + if (unlink(fn) == 0) { + Syslog('!', "%s not in fdb, deleted from disk", fn); + iErrors++; + } else { + 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); diff --git a/mbfido/mbfdel.c b/mbfido/mbfdel.c index 70c8d666..25ae6565 100644 --- a/mbfido/mbfdel.c +++ b/mbfido/mbfdel.c @@ -69,12 +69,6 @@ void Delete(int UnDel, int Area, char *File) printf("Area %d not available\n", Area); 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) die(MBERR_GENERAL); diff --git a/mbfido/mbfimport.c b/mbfido/mbfimport.c index c9f07311..99037f1f 100644 --- a/mbfido/mbfimport.c +++ b/mbfido/mbfimport.c @@ -73,7 +73,7 @@ void ImportFiles(int Area) if (LoadAreaRec(Area) == FALSE) die(MBERR_INIT_ERROR); - if (area.Available && !area.CDrom) { + if (area.Available) { temp = calloc(PATH_MAX, sizeof(char)); temp2 = calloc(PATH_MAX, sizeof(char)); pwd = calloc(PATH_MAX, sizeof(char)); @@ -446,11 +446,6 @@ void ImportFiles(int Area) if (!do_quiet) 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) { diff --git a/mbfido/mbfindex.c b/mbfido/mbfindex.c index 94f0c146..e97c7df3 100644 --- a/mbfido/mbfindex.c +++ b/mbfido/mbfindex.c @@ -408,10 +408,7 @@ void ReqIndex(void) /* * Create files.bbs */ - if (strlen(area.FilesBbs)) - strcpy(temp, area.FilesBbs); - else - sprintf(temp, "%s/files.bbs", area.Path); + sprintf(temp, "%s/files.bbs", area.Path); if ((fp = fopen(temp, "w")) == NULL) { WriteError("$Can't create %s", temp); } else { @@ -433,7 +430,7 @@ void ReqIndex(void) /* * 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); if ((fp = fopen(temp, "w")) == NULL) { @@ -593,7 +590,7 @@ void HtmlIndex(char *Lang) /* * 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); AreasHtml++; diff --git a/mbfido/mbfkill.c b/mbfido/mbfkill.c index 66357676..2a973258 100644 --- a/mbfido/mbfkill.c +++ b/mbfido/mbfkill.c @@ -84,7 +84,7 @@ void Kill(void) fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET); 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) die(MBERR_DISK_FULL); diff --git a/mbfido/mbfmove.c b/mbfido/mbfmove.c index 01cd7d06..03815d9d 100644 --- a/mbfido/mbfmove.c +++ b/mbfido/mbfmove.c @@ -74,12 +74,6 @@ void Move(int From, int To, char *File) printf("Area %d not available\n", From); 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)) die(MBERR_GENERAL); @@ -127,12 +121,6 @@ void Move(int From, int To, char *File) printf("Area %d not available\n", To); 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)) die(MBERR_GENERAL); diff --git a/mbfido/mbfpack.c b/mbfido/mbfpack.c index c26f15c6..65d7af24 100644 --- a/mbfido/mbfpack.c +++ b/mbfido/mbfpack.c @@ -77,7 +77,7 @@ void PackFileBase(void) fseek(pAreas, ((i-1) * areahdr.recsize) + areahdr.hdrsize, SEEK_SET); fread(&area, areahdr.recsize, 1, pAreas); - if (area.Available && !area.CDrom) { + if (area.Available) { if (enoughspace(CFG.freespace) == 0) die(MBERR_DISK_FULL); diff --git a/mbfido/mbfrearc.c b/mbfido/mbfrearc.c index 3c843f75..81b7d31e 100644 --- a/mbfido/mbfrearc.c +++ b/mbfido/mbfrearc.c @@ -68,12 +68,6 @@ void ReArc(int Area, char *File) printf("Area %d not available\n", Area); 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) { WriteError("No default archiver for area %d", Area); if (!do_quiet) diff --git a/mbsetup/m_farea.c b/mbsetup/m_farea.c index 5253efbb..245d3440 100644 --- a/mbsetup/m_farea.c +++ b/mbsetup/m_farea.c @@ -105,47 +105,62 @@ int CountFilearea(void) */ int OpenFilearea(void) { - FILE *fin, *fout; - char fnin[PATH_MAX], fnout[PATH_MAX]; - long oldsize; + FILE *fin, *fout; + char fnin[PATH_MAX], fnout[PATH_MAX]; + long oldsize; - sprintf(fnin, "%s/etc/fareas.data", getenv("MBSE_ROOT")); - sprintf(fnout, "%s/etc/fareas.temp", getenv("MBSE_ROOT")); - if ((fin = fopen(fnin, "r")) != NULL) { - if ((fout = fopen(fnout, "w")) != NULL) { - fread(&areahdr, sizeof(areahdr), 1, fin); - /* - * In case we are automatic upgrading the data format - * we save the old format. If it is changed, the - * database must always be updated. - */ - oldsize = areahdr.recsize; - if (oldsize != sizeof(area)) { - FileUpdated = 1; - Syslog('+', "Updated %s to new format", fnin); - } else - FileUpdated = 0; - areahdr.hdrsize = sizeof(areahdr); - areahdr.recsize = sizeof(area); - fwrite(&areahdr, sizeof(areahdr), 1, fout); + sprintf(fnin, "%s/etc/fareas.data", getenv("MBSE_ROOT")); + sprintf(fnout, "%s/etc/fareas.temp", getenv("MBSE_ROOT")); + if ((fin = fopen(fnin, "r")) != NULL) { + if ((fout = fopen(fnout, "w")) != NULL) { + fread(&areahdr, sizeof(areahdr), 1, fin); + /* + * In case we are automatic upgrading the data format + * we save the old format. If it is changed, the + * database must always be updated. + */ + oldsize = areahdr.recsize; + if (oldsize != sizeof(area)) { + FileUpdated = 1; + Syslog('+', "Updated %s to new format", fnin); + } else + FileUpdated = 0; + areahdr.hdrsize = sizeof(areahdr); + areahdr.recsize = sizeof(area); + fwrite(&areahdr, sizeof(areahdr), 1, fout); - /* - * The datarecord is filled with zero's before each - * read, so if the format changed, the new fields - * will be empty. - */ - memset(&area, 0, sizeof(area)); - while (fread(&area, oldsize, 1, fin) == 1) { - fwrite(&area, sizeof(area), 1, fout); - memset(&area, 0, sizeof(area)); - } - fclose(fin); - fclose(fout); - return 0; - } else - return -1; - } - return -1; + /* + * The datarecord is filled with zero's before each + * read, so if the format changed, the new fields + * will be empty. + */ + memset(&area, 0, sizeof(area)); + while (fread(&area, oldsize, 1, fin) == 1) { + /* + * Clear obsolete fields + */ + if (area.xCDrom) { + area.xCDrom = FALSE; + FileUpdated = 1; + } + if (area.xCost) { + area.xCost = 0; + 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( 9, 2, "4. Upl. Sec."); mbse_mvprintw(10, 2, "5. List Sec."); - mbse_mvprintw(11, 2, "6. Files.bbs"); - mbse_mvprintw(12, 2, "7. Available"); - mbse_mvprintw(13, 2, "8. Check new"); - mbse_mvprintw(14, 2, "9. Dupecheck"); - mbse_mvprintw(15, 2, "10. Free area"); - mbse_mvprintw(16, 2, "11. Direct DL"); - mbse_mvprintw(17, 2, "12. Pwd upl."); - mbse_mvprintw(18, 2, "13. Filefind"); + mbse_mvprintw(11, 2, "6. Available"); + mbse_mvprintw(12, 2, "7. Check new"); + mbse_mvprintw(13, 2, "8. Dupecheck"); + mbse_mvprintw(14, 2, "9. Free area"); + mbse_mvprintw(15, 2, "10. Direct DL"); + mbse_mvprintw(16, 2, "11. Pwd upl."); + mbse_mvprintw(17, 2, "12. Filefind"); - mbse_mvprintw(12,30, "14. Add alpha"); - mbse_mvprintw(13,30, "15. CDrom"); - mbse_mvprintw(14,30, "16. File req."); - mbse_mvprintw(15,30, "17. BBS Group"); - mbse_mvprintw(16,30, "18. New group"); - mbse_mvprintw(17,30, "19. Min. age"); - mbse_mvprintw(18,30, "20. Password"); + mbse_mvprintw(12,30, "13. Add alpha"); + mbse_mvprintw(13,30, "14. File req."); + mbse_mvprintw(14,30, "15. BBS Group"); + mbse_mvprintw(15,30, "16. New group"); + mbse_mvprintw(16,30, "17. Min. age"); + mbse_mvprintw(17,30, "18. Password"); - mbse_mvprintw(12,59, "21. DL days"); - mbse_mvprintw(13,59, "22. FD days"); - mbse_mvprintw(14,59, "23. Move area"); - mbse_mvprintw(15,59, "24. Archiver"); - mbse_mvprintw(16,59, "25. Upload"); + mbse_mvprintw(12,59, "19. DL days"); + mbse_mvprintw(13,59, "20. FD days"); + mbse_mvprintw(14,59, "21. Move area"); + mbse_mvprintw(15,59, "22. Archiver"); + mbse_mvprintw(16,59, "23. Upload"); } @@ -288,22 +301,20 @@ int EditFileRec(int Area) show_sec( 8,16, area.DLSec); show_sec( 9,16, area.UPSec); show_sec(10,16, area.LTSec); - show_str(11,16,64, area.FilesBbs); - show_bool(12,16, area.Available); - show_bool(13,16, area.New); - show_bool(14,16, area.Dupes); - show_bool(15,16, area.Free); - show_bool(16,16, area.DirectDL); - show_bool(17,16, area.PwdUP); - show_bool(18,16, area.FileFind); + show_bool(11,16, area.Available); + show_bool(12,16, area.New); + show_bool(13,16, area.Dupes); + show_bool(14,16, area.Free); + show_bool(15,16, area.DirectDL); + show_bool(16,16, area.PwdUP); + show_bool(17,16, area.FileFind); show_bool(12,44, area.AddAlpha); - show_bool(13,44, area.CDrom); - show_bool(14,44, area.FileReq); - show_str(15,44,12, area.BbsGroup); - show_str(16,44,12, area.NewGroup); - show_int(17,44, area.Age); - show_str(18,44,20, (char *)"********************"); + show_bool(13,44, area.FileReq); + show_str(14,44,12, area.BbsGroup); + show_str(15,44,12, area.NewGroup); + show_int(16,44, area.Age); + show_str(17,44,20, (char *)"********************"); show_int(12,73, area.DLdays); show_int(13,73, area.FDdays); @@ -311,7 +322,7 @@ int EditFileRec(int Area) show_str(15,73, 5, area.Archiver); show_int(16,73, area.Upload); - switch(select_menu(25)) { + switch(select_menu(23)) { case 0: crc1 = 0xffffffff; crc1 = upd_crc32((char *)&area, crc1, areahdr.recsize); 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 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 6: E_STR( 11,16,64, area.FilesBbs, "The path and name of \"files.bbs\" if area is on CDROM") - case 7: Available = edit_bool(12, 16, area.Available, (char *)"Is this area ^available^"); + case 6: Available = edit_bool(11, 16, area.Available, (char *)"Is this area ^available^"); temp = calloc(PATH_MAX, sizeof(char)); sprintf(temp, "%s/var/fdb/file%d.data", getenv("MBSE_ROOT"), Area); if (area.Available && !Available) { @@ -424,30 +434,29 @@ int EditFileRec(int Area) } free(temp); break; - case 8: E_BOOL(13,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 10:E_BOOL(15,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 12:E_BOOL(17,16, area.PwdUP, "Allow ^password^ on uploads") - case 13:E_BOOL(18,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 15:E_BOOL(13,44, area.CDrom, "Is this area on a ^CDROM^") - case 16:E_BOOL(14,44, area.FileReq, "Allow ^file requests^ from this area") - case 17:strcpy(area.BbsGroup, PickFGroup((char *)"8.4.17")); + case 7: E_BOOL(12,16, area.New, "Include this area in ^new files^ check") + case 8: E_BOOL(13,16, area.Dupes, "Check this area for ^duplicates^ during upload") + case 9: E_BOOL(14,16, area.Free, "Are all files ^free^ in this area") + case 10:E_BOOL(15,16, area.DirectDL, "Allow ^direct download^ from this area") + case 11:E_BOOL(16,16, area.PwdUP, "Allow ^password^ on uploads") + case 12:E_BOOL(17,16, area.FileFind, "Search this area for ^filefind^ requests") + case 13:E_BOOL(12,44, area.AddAlpha, "Add new files ^alphabetic^ or at the end") + case 14:E_BOOL(13,44, area.FileReq, "Allow ^file requests^ from this area") + case 15:strcpy(area.BbsGroup, PickFGroup((char *)"8.4.15")); FileScreen(); break; - case 18:strcpy(area.NewGroup, PickNGroup((char *)"8.4.18")); + case 16:strcpy(area.NewGroup, PickNGroup((char *)"8.4.16")); FileScreen(); break; - case 19:E_INT( 17,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 21: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 23: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 17:E_INT( 16,44, area.Age, "The ^minimum age^ to access this area") + case 18:E_STR( 17,44,20, area.Password, "The ^password^ to access this area") + case 19:E_INT( 12,73, area.DLdays, "The not ^downloaded days^ to move/kill files") + case 20:E_INT( 13,73, area.FDdays, "The ^file age^ in days to move/kill files") + case 21:E_INT( 14,73, area.MoveArea, "The ^area to move^ files to, 0 is kill") + case 22:strcpy(area.Archiver, PickArchive((char *)"8.4")); FileScreen(); 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 *)"Upload security", area.UPSec); 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 *)"Check upload dupes", getboolean(area.Dupes)); 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 *)"Filefind on", getboolean(area.FileFind)); 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)); fprintf(wp, "BBS (tic) file group%s\n", 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, " Upload security %s\n", get_secstr(area.UPSec)); 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, " Check upl. dupes %s\n", getboolean(area.Dupes)); 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, " Filefind on %s\n", getboolean(area.FileFind)); 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, " BBS group %s\n", area.BbsGroup); fprintf(fp, " Newfiles group %s\n", area.NewGroup); diff --git a/mbtask/taskdisk.c b/mbtask/taskdisk.c index 419a4d66..31c78e19 100644 --- a/mbtask/taskdisk.c +++ b/mbtask/taskdisk.c @@ -4,7 +4,7 @@ * Purpose ...............: Give status of all filesystems * ***************************************************************************** - * Copyright (C) 1997-2004 + * Copyright (C) 1997-2005 * * Michiel Broek FIDO: 2:280/2802 * Beekmansbos 10 @@ -528,10 +528,7 @@ void *disk_thread(void) while (fread(&area, areahdr.recsize, 1, fp)) { if (area.Available) { - if (area.CDrom) - add_path(area.FilesBbs); - else - add_path(area.Path); + add_path(area.Path); } } fclose(fp);