v1.0.7.4
This commit is contained in:
parent
74e53ee234
commit
0aa9600d73
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
v1.0.7.4 26-Aug-2017 - Andrew Leary
|
||||||
|
|
||||||
|
1. Updated to FTSCPROD.019 as released by the FTSC.
|
||||||
|
|
||||||
|
2. When creating a new ~/etc/domain.data, mbsetup no longer
|
||||||
|
includes entries for FidoNet zones 5 & 6.
|
||||||
|
|
||||||
|
3. Began preliminary work on FTN domain aliases, similar to
|
||||||
|
the BinkD "domain <new-name> alias-for <name>" option. This
|
||||||
|
will allow MBSE to fully communicate with systems that use
|
||||||
|
FTN domain names longer than 8 characters, which are NOT
|
||||||
|
FTSC compliant.
|
||||||
|
|
||||||
v1.0.7.3 01-Aug-2017 - Andrew Leary
|
v1.0.7.3 01-Aug-2017 - Andrew Leary
|
||||||
|
|
||||||
1. Updated to FTSCPROD.018 as released by the FTSC.
|
1. Updated to FTSCPROD.018 as released by the FTSC.
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -2309,7 +2309,7 @@ SUBDIRS="lib mbcico mbfido mbmon mbsebbs mbutils mbnntp mbtask mbsetup unix lang
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="1"
|
MAJOR="1"
|
||||||
MINOR="0"
|
MINOR="0"
|
||||||
REVISION="7.3"
|
REVISION="7.4"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2017 MBSE Development Team, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2017 MBSE Development Team, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2017 MBSE DevTm"
|
SHORTRIGHT="Copyright (C) 1997-2017 MBSE DevTm"
|
||||||
|
@ -12,7 +12,7 @@ AC_SUBST(SUBDIRS)
|
|||||||
PACKAGE="mbsebbs"
|
PACKAGE="mbsebbs"
|
||||||
MAJOR="1"
|
MAJOR="1"
|
||||||
MINOR="0"
|
MINOR="0"
|
||||||
REVISION="7.3"
|
REVISION="7.4"
|
||||||
VERSION="$MAJOR.$MINOR.$REVISION"
|
VERSION="$MAJOR.$MINOR.$REVISION"
|
||||||
COPYRIGHT="Copyright (C) 1997-2017 MBSE Development Team, All Rights Reserved"
|
COPYRIGHT="Copyright (C) 1997-2017 MBSE Development Team, All Rights Reserved"
|
||||||
SHORTRIGHT="Copyright (C) 1997-2017 MBSE DevTm"
|
SHORTRIGHT="Copyright (C) 1997-2017 MBSE DevTm"
|
||||||
|
Binary file not shown.
39
lib/dbftn.c
39
lib/dbftn.c
@ -75,7 +75,7 @@ int SearchFidonet(unsigned short zone)
|
|||||||
FILE *fil;
|
FILE *fil;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If current record is ok, return immediatly.
|
* If current record is ok, return immediately.
|
||||||
*/
|
*/
|
||||||
if (TestFidonet(zone))
|
if (TestFidonet(zone))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -111,3 +111,40 @@ char *GetFidoDomain(unsigned short zone)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int InitDomainAlias(void)
|
||||||
|
{
|
||||||
|
FILE *fil;
|
||||||
|
|
||||||
|
memset(&domalias, 0, sizeof(domalias));
|
||||||
|
LoadConfig();
|
||||||
|
|
||||||
|
snprintf(domalias_fil, PATH_MAX -1, "%s/etc/domalias.data", getenv("MBSE_ROOT"));
|
||||||
|
if ((fil = fopen(domalias_fil, "r")) == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
fread(&domaliashdr, sizeof(domaliashdr), 1, fil);
|
||||||
|
fseek(fil, 0, SEEK_END);
|
||||||
|
domalias_cnt = (ftell(fil) - domaliashdr.hdrsize) / domaliashdr.recsize;
|
||||||
|
fclose(fil);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *SearchDomainAlias(char *alias)
|
||||||
|
{
|
||||||
|
FILE *fil;
|
||||||
|
|
||||||
|
if ((fil = fopen(domalias_fil, "r")) == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
fread(&domaliashdr, sizeof(domaliashdr), 1, fil);
|
||||||
|
|
||||||
|
while (fread(&domalias, domaliashdr.recsize, 1, fil) == 1) {
|
||||||
|
if (strcmp(alias, domalias.alias) == 0) {
|
||||||
|
fclose(fil);
|
||||||
|
return domalias.domain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fclose(fil);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
11
lib/mbsedb.h
11
lib/mbsedb.h
@ -61,7 +61,18 @@ int TestFidonet(unsigned short); /* Test if zone is in memory */
|
|||||||
int SearchFidonet(unsigned short); /* Search specified zone and load */
|
int SearchFidonet(unsigned short); /* Search specified zone and load */
|
||||||
char *GetFidoDomain(unsigned short); /* Search Fidonet domain name */
|
char *GetFidoDomain(unsigned short); /* Search Fidonet domain name */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Domain alias database
|
||||||
|
*/
|
||||||
|
|
||||||
|
struct _domaliashdr domaliashdr; /* Header record */
|
||||||
|
struct _domalias domalias; /* Domain alias datarecord */
|
||||||
|
int domalias_cnt; /* Domain alias records in db */
|
||||||
|
char domalias_fil[PATH_MAX]; /* Domain alias db filename */
|
||||||
|
|
||||||
|
void InitDomAlias(void); /* Initialize domain alias db */
|
||||||
|
char *SearchDomAlias(char *alias); /* Search alias db - returns string */
|
||||||
|
/* of domain or NUL if not found */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Nodes database
|
* Nodes database
|
||||||
|
@ -1491,7 +1491,20 @@ struct _fidonet {
|
|||||||
unsigned deleted : 1; /* Network is deleted */
|
unsigned deleted : 1; /* Network is deleted */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fidonet domain aliases (domalias.data)
|
||||||
|
*/
|
||||||
|
struct _domaliashdr {
|
||||||
|
int hdrsize; /* Size of header record */
|
||||||
|
int recsize; /* Size of records */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _domalias {
|
||||||
|
char alias[20]; /* Domain alias */
|
||||||
|
char domain[13]; /* Network domain name */
|
||||||
|
unsigned active : 1; /* Alias is active */
|
||||||
|
unsigned deleted : 1; /* Alias is deleted */
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Archiver programs (archiver.data)
|
* Archiver programs (archiver.data)
|
||||||
|
@ -120,12 +120,11 @@ int main(int argc, char **argv)
|
|||||||
cmd = xstrcat(cmd, argv[i]);
|
cmd = xstrcat(cmd, argv[i]);
|
||||||
if (!strncasecmp(argv[i], "-a", 2)) {
|
if (!strncasecmp(argv[i], "-a", 2)) {
|
||||||
do_annon = TRUE;
|
do_annon = TRUE;
|
||||||
} else if (!strncasecmp(argv[i], "-v", 2)) {
|
} else {
|
||||||
do_novir = TRUE;
|
|
||||||
} else {
|
|
||||||
Description = xstrcpy(argv[i]);
|
Description = xstrcpy(argv[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else if ((!strncasecmp(argv[i], "d", 1)) || (!strncasecmp(argv[i], "u", 1))) {
|
} else if ((!strncasecmp(argv[i], "d", 1)) || (!strncasecmp(argv[i], "u", 1))) {
|
||||||
if (!strncasecmp(argv[i], "u", 1))
|
if (!strncasecmp(argv[i], "u", 1))
|
||||||
|
@ -9,19 +9,19 @@ SRCS = grlist.c m_domain.c m_fgroup.c m_lang.c m_marea.c m_new.c m_ibc.c \
|
|||||||
m_limits.c m_menu.c m_ngroup.c m_service.c m_tty.c mutil.c m_archive.c \
|
m_limits.c m_menu.c m_ngroup.c m_service.c m_tty.c mutil.c m_archive.c \
|
||||||
m_fdb.c m_global.c m_magic.c m_mgroup.c m_node.c m_task.c m_users.c \
|
m_fdb.c m_global.c m_magic.c m_mgroup.c m_node.c m_task.c m_users.c \
|
||||||
screen.c m_bbs.c m_ff.c m_hatch.c m_mail.c m_modem.c m_ol.c m_tic.c \
|
screen.c m_bbs.c m_ff.c m_hatch.c m_mail.c m_modem.c m_ol.c m_tic.c \
|
||||||
m_virus.c stlist.c m_route.c
|
m_virus.c stlist.c m_route.c m_domalias.c
|
||||||
HDRS = grlist.h m_domain.h m_fgroup.h m_lang.h m_marea.h m_new.h m_ibc.h m_protocol.h \
|
HDRS = grlist.h m_domain.h m_fgroup.h m_lang.h m_marea.h m_new.h m_ibc.h m_protocol.h \
|
||||||
m_ticarea.h mutil.h ledit.h m_farea.h m_fido.h m_limits.h m_menu.h \
|
m_ticarea.h mutil.h ledit.h m_farea.h m_fido.h m_limits.h m_menu.h \
|
||||||
m_ngroup.h m_service.h m_tty.h screen.h m_archive.h m_fdb.h m_global.h \
|
m_ngroup.h m_service.h m_tty.h screen.h m_archive.h m_fdb.h m_global.h \
|
||||||
m_magic.h m_mgroup.h m_node.h m_task.h m_users.h stlist.h m_bbs.h m_ff.h \
|
m_magic.h m_mgroup.h m_node.h m_task.h m_users.h stlist.h m_bbs.h m_ff.h \
|
||||||
m_hatch.h m_mail.h m_modem.h m_ol.h m_tic.h m_virus.h \
|
m_hatch.h m_mail.h m_modem.h m_ol.h m_tic.h m_virus.h \
|
||||||
m_route.h
|
m_route.h m_domalias.h
|
||||||
OBJS = grlist.o m_domain.o m_fgroup.o m_lang.o m_marea.o m_new.o m_ibc.o m_protocol.o \
|
OBJS = grlist.o m_domain.o m_fgroup.o m_lang.o m_marea.o m_new.o m_ibc.o m_protocol.o \
|
||||||
m_ticarea.o mbsetup.o ledit.o m_farea.o m_fido.o m_limits.o m_menu.o \
|
m_ticarea.o mbsetup.o ledit.o m_farea.o m_fido.o m_limits.o m_menu.o \
|
||||||
m_ngroup.o m_service.o m_tty.o mutil.o m_archive.o m_fdb.o m_global.o \
|
m_ngroup.o m_service.o m_tty.o mutil.o m_archive.o m_fdb.o m_global.o \
|
||||||
m_magic.o m_mgroup.o m_node.o m_task.o m_users.o screen.o m_bbs.o m_ff.o \
|
m_magic.o m_mgroup.o m_node.o m_task.o m_users.o screen.o m_bbs.o m_ff.o \
|
||||||
m_hatch.o m_mail.o m_modem.o m_ol.o m_tic.o m_virus.o stlist.o \
|
m_hatch.o m_mail.o m_modem.o m_ol.o m_tic.o m_virus.o stlist.o \
|
||||||
m_route.o
|
m_route.o m_domalias.o
|
||||||
SLIBS = ../lib/libmbse.a ../lib/libmsgbase.a ../lib/libdbase.a ../lib/libdiesel.a
|
SLIBS = ../lib/libmbse.a ../lib/libmsgbase.a ../lib/libdbase.a ../lib/libdiesel.a
|
||||||
OTHER = Makefile
|
OTHER = Makefile
|
||||||
|
|
||||||
@ -109,4 +109,5 @@ m_tic.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h m_fgroup.h m_tica
|
|||||||
m_virus.o: ../config.h ../lib/mbselib.h ../paths.h screen.h mutil.h ledit.h stlist.h m_global.h m_virus.h
|
m_virus.o: ../config.h ../lib/mbselib.h ../paths.h screen.h mutil.h ledit.h stlist.h m_global.h m_virus.h
|
||||||
stlist.o: ../config.h ../lib/mbselib.h stlist.h
|
stlist.o: ../config.h ../lib/mbselib.h stlist.h
|
||||||
m_route.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h stlist.h m_global.h grlist.h m_node.h m_route.h
|
m_route.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h stlist.h m_global.h grlist.h m_node.h m_route.h
|
||||||
|
m_domalias.o: ../config.h ../lib/mbselib.h screen.h mutil.h ledit.h m_global.h m_menu.h m_domalias.h
|
||||||
# End of generated dependencies
|
# End of generated dependencies
|
||||||
|
@ -73,18 +73,12 @@ int CountDomain(void)
|
|||||||
snprintf(domtrans.ftndom, 61, ".z4.fidonet");
|
snprintf(domtrans.ftndom, 61, ".z4.fidonet");
|
||||||
snprintf(domtrans.intdom, 61, ".z4.fidonet.org");
|
snprintf(domtrans.intdom, 61, ".z4.fidonet.org");
|
||||||
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
||||||
snprintf(domtrans.ftndom, 61, ".z5.fidonet");
|
|
||||||
snprintf(domtrans.intdom, 61, ".z5.fidonet.org");
|
|
||||||
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
|
||||||
snprintf(domtrans.ftndom, 61, ".z6.fidonet");
|
|
||||||
snprintf(domtrans.intdom, 61, ".z6.fidonet.org");
|
|
||||||
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
|
||||||
snprintf(domtrans.ftndom, 61, ".fidonet");
|
snprintf(domtrans.ftndom, 61, ".fidonet");
|
||||||
snprintf(domtrans.intdom, 61, ".ftn");
|
snprintf(domtrans.intdom, 61, ".ftn");
|
||||||
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
fwrite(&domtrans, sizeof(domtrans), 1, fil);
|
||||||
fclose(fil);
|
fclose(fil);
|
||||||
chmod(ffile, 0640);
|
chmod(ffile, 0640);
|
||||||
return 7;
|
return 5;
|
||||||
} else
|
} else
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -327,7 +327,7 @@ int EditFidoRec(int Area)
|
|||||||
free(temp);
|
free(temp);
|
||||||
return 0;
|
return 0;
|
||||||
case 1: E_STR(7,26,40, fidonet.comment, "The ^Comment^ for this network name")
|
case 1: E_STR(7,26,40, fidonet.comment, "The ^Comment^ for this network name")
|
||||||
case 2: E_STR(8, 26,8, fidonet.domain, "The ^Name^ of the network without dots")
|
case 2: E_STR(8,26,8, fidonet.domain, "The ^Name^ of the network without dots")
|
||||||
case 3: E_BOOL(9,26, fidonet.available, "Is this network ^Available^ for use")
|
case 3: E_BOOL(9,26, fidonet.available, "Is this network ^Available^ for use")
|
||||||
case 4: E_BOOL(10,26, fidonet.deleted, "Is this netword ^Deleted^")
|
case 4: E_BOOL(10,26, fidonet.deleted, "Is this netword ^Deleted^")
|
||||||
case 5: E_STR(11,26,8, fidonet.nodelist, "The name of the ^Primary Nodelist^ for this network")
|
case 5: E_STR(11,26,8, fidonet.nodelist, "The name of the ^Primary Nodelist^ for this network")
|
||||||
|
@ -66,7 +66,7 @@
|
|||||||
#include "m_task.h"
|
#include "m_task.h"
|
||||||
#include "m_route.h"
|
#include "m_route.h"
|
||||||
#include "m_ibc.h"
|
#include "m_ibc.h"
|
||||||
|
#include "m_domalias.h"
|
||||||
|
|
||||||
mode_t oldmask; /* Old umask value */
|
mode_t oldmask; /* Old umask value */
|
||||||
extern int do_quiet; /* Suppress log to screen */
|
extern int do_quiet; /* Suppress log to screen */
|
||||||
@ -464,19 +464,20 @@ int main(int argc, char *argv[])
|
|||||||
mbse_mvprintw(15, 6, "9. Edit Mail Setup");
|
mbse_mvprintw(15, 6, "9. Edit Mail Setup");
|
||||||
mbse_mvprintw(16, 6, "10. Edit File Echo's setup");
|
mbse_mvprintw(16, 6, "10. Edit File Echo's setup");
|
||||||
mbse_mvprintw(17, 6, "11. Edit Newfiles Groups");
|
mbse_mvprintw(17, 6, "11. Edit Newfiles Groups");
|
||||||
mbse_mvprintw( 7,46, "12. Edit Newfiles Reports");
|
mbse_mvprintw(18, 6, "12. Edit Newfiles Reports");
|
||||||
mbse_mvprintw( 8,46, "13. Edit FileFind Setup");
|
mbse_mvprintw( 7,46, "13. Edit FileFind Setup");
|
||||||
mbse_mvprintw( 9,46, "14. Edit Files Database");
|
mbse_mvprintw( 8,46, "14. Edit Files Database");
|
||||||
mbse_mvprintw(10,46, "15. Edit BBS Users");
|
mbse_mvprintw( 9,46, "15. Edit BBS Users");
|
||||||
mbse_mvprintw(11,46, "16. Edit Services");
|
mbse_mvprintw(10,46, "16. Edit Services");
|
||||||
mbse_mvprintw(12,46, "17. Edit Domains");
|
mbse_mvprintw(11,46, "17. Edit Domains");
|
||||||
mbse_mvprintw(13,46, "18. Edit Task Manager");
|
mbse_mvprintw(12,46, "18. Edit Task Manager");
|
||||||
mbse_mvprintw(14,46, "19. Edit Routing Table");
|
mbse_mvprintw(13,46, "19. Edit Routing Table");
|
||||||
mbse_mvprintw(15,46, "20. Edit Internet BBS Chat");
|
mbse_mvprintw(14,46, "20. Edit Internet BBS Chat");
|
||||||
mbse_mvprintw(16,46, "21. Show software information");
|
mbse_mvprintw(15,46, "21. Show software information");
|
||||||
mbse_mvprintw(17,46, "22. Create site documents");
|
mbse_mvprintw(16,46, "22. Create site documents");
|
||||||
|
mbse_mvprintw(17,46, "23. Edit FTN Domain Aliases");
|
||||||
|
|
||||||
switch(select_menu(22)) {
|
switch(select_menu(23)) {
|
||||||
case 0:
|
case 0:
|
||||||
loop = 0;
|
loop = 0;
|
||||||
break;
|
break;
|
||||||
@ -546,6 +547,9 @@ int main(int argc, char *argv[])
|
|||||||
case 22:
|
case 22:
|
||||||
site_docs();
|
site_docs();
|
||||||
break;
|
break;
|
||||||
|
case 23:
|
||||||
|
EditDomAlias();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} while (loop == 1);
|
} while (loop == 1);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user