Changed router code for local destinations

This commit is contained in:
Michiel Broek 2002-07-17 20:26:34 +00:00
parent 5ca54153c0
commit ac709b7eda
7 changed files with 562 additions and 525 deletions

View File

@ -30,7 +30,9 @@ v0.35.03 06-Jul-2002
When a new tic area was created the first file received for
that area was refused.
Fixed a few problems with local UUCP created netmails.
Added very experimental routing table.
* Added very experimental routing table.
* Test for local node moved in sequence, testing is now done
so as real routing will be done.
newuser:
Check for Unix accounts is now case sensitive.

View File

@ -56,7 +56,20 @@ typedef enum {E_NOISP, E_TMPISP, E_PRMISP} EMODE;
typedef enum {AREAMGR, FILEMGR, EMAIL} SERVICE;
typedef enum {FEEDINN, FEEDRNEWS, FEEDUUCP} NEWSFEED;
typedef enum {S_DIRECT, S_DIR, S_FTP} SESSIONTYPE;
typedef enum {RT_ROUTE, RT_DIRECT, RT_DEFAULT, RT_REDIRECT, RT_BOUNCE, RT_CC} ROUTER;
/***********************************************************************
*
* Routing definitions
*/
#define R_NOROUTE 0 /* No route descision made */
#define R_ROUTE 1 /* Route to destination */
#define R_DIRECT 2 /* Direct route */
#define R_REDIRECT 3 /* Redirect to new address */
#define R_BOUNCE 4 /* Bounce back to sender */
#define R_CC 5 /* Make a CC */
#define R_LOCAL 6 /* Local destination */
#define R_UNLISTED 7 /* Unlisted destination */
/***********************************************************************

View File

@ -371,6 +371,8 @@ int main(int argc, char **argv)
Help();
}
i++;
cmd = xstrcat(cmd, (char *)" ");
cmd = xstrcat(cmd, argv[i]);
}
} else if (strncmp(tl(argv[i]), "to", 2) == 0)
do_toss = TRUE;

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,9 @@
#ifndef _TRACKER_H
#define _TRACKER_H
#define R_NOROUTE 0
#define R_LOCAL 1
#define R_DIRECT 2
#define R_ROUTE 3
#define R_UNLISTED 4
/* $Id$ */
int TrackMail(fidoaddr, fidoaddr *);
int GetRoute(char *, fidoaddr *);
void TestTracker(faddr *);
#endif

View File

@ -1772,12 +1772,12 @@ int edit_sessiontype(int y, int x, int val)
char *get_routetype(int val)
{
switch (val) {
case RT_ROUTE: return (char *)"Route to ";
case RT_DIRECT: return (char *)"Direct ";
case RT_DEFAULT: return (char *)"Default ";
case RT_REDIRECT: return (char *)"New address";
case RT_BOUNCE: return (char *)"Bounce ";
case RT_CC: return (char *)"CarbonCopy ";
case R_NOROUTE: return (char *)"Default ";
case R_ROUTE: return (char *)"Route to ";
case R_DIRECT: return (char *)"Direct ";
case R_REDIRECT: return (char *)"New address";
case R_BOUNCE: return (char *)"Bounce ";
case R_CC: return (char *)"CarbonCopy ";
default: return NULL;
}
}
@ -1804,10 +1804,10 @@ int edit_routetype(int y, int x, int val)
if (ch == ' ') {
// if (val < RT_CC)
if (val < RT_DEFAULT)
if (val < R_DIRECT)
val++;
else
val = RT_ROUTE;
val = R_NOROUTE;
}
} while (ch != KEY_ENTER && ch != '\012');
set_color(WHITE, BLACK);

View File

@ -215,7 +215,7 @@ int AppendRoute(void)
/*
* Fill in default values
*/
route.routetype = RT_ROUTE;
route.routetype = R_NOROUTE;
fwrite(&route, sizeof(route), 1, fil);
fclose(fil);
RouteUpdated = 1;