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 When a new tic area was created the first file received for
that area was refused. that area was refused.
Fixed a few problems with local UUCP created netmails. 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: newuser:
Check for Unix accounts is now case sensitive. 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 {AREAMGR, FILEMGR, EMAIL} SERVICE;
typedef enum {FEEDINN, FEEDRNEWS, FEEDUUCP} NEWSFEED; typedef enum {FEEDINN, FEEDRNEWS, FEEDUUCP} NEWSFEED;
typedef enum {S_DIRECT, S_DIR, S_FTP} SESSIONTYPE; 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(); Help();
} }
i++; i++;
cmd = xstrcat(cmd, (char *)" ");
cmd = xstrcat(cmd, argv[i]);
} }
} else if (strncmp(tl(argv[i]), "to", 2) == 0) } else if (strncmp(tl(argv[i]), "to", 2) == 0)
do_toss = TRUE; do_toss = TRUE;

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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