773 lines
19 KiB
Diff
773 lines
19 KiB
Diff
diff -rc dip-3.3.7g/Makefile dip-3.3.7h/Makefile
|
|
*** dip-3.3.7g/Makefile Wed Aug 31 02:04:05 1994
|
|
--- dip-3.3.7h/Makefile Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 32,45 ****
|
|
# would like (:-). I don't use it myself, won't test
|
|
# it and won't care.
|
|
|
|
! SKEYDEF = -DSKEY
|
|
! SKEYLIB = -L/usr/local/lib -lskey
|
|
|
|
CC = gcc -pipe -O6 -Wall -m486 -fomit-frame-pointer
|
|
LD = gcc
|
|
|
|
CFLAGS = -DLINUX $(SKEYDEF)
|
|
! LDFLAGS = -s -N
|
|
|
|
LIBS = $(SKEYLIB)
|
|
|
|
--- 32,45 ----
|
|
# would like (:-). I don't use it myself, won't test
|
|
# it and won't care.
|
|
|
|
! #SKEYDEF = -DSKEY
|
|
! #SKEYLIB = -L/usr/local/lib -lskey
|
|
|
|
CC = gcc -pipe -O6 -Wall -m486 -fomit-frame-pointer
|
|
LD = gcc
|
|
|
|
CFLAGS = -DLINUX $(SKEYDEF)
|
|
! LDFLAGS = -s -Xlinker -qmagic
|
|
|
|
LIBS = $(SKEYLIB)
|
|
|
|
diff -rc dip-3.3.7g/README dip-3.3.7h/README
|
|
*** dip-3.3.7g/README Tue Aug 30 22:24:22 1994
|
|
--- dip-3.3.7h/README Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 85,92 ****
|
|
|
|
Oh, Pauline's patches add the ability not to have DIP users
|
|
listed in /etc/passwd file at all, being completely defined
|
|
! in /etc/diphosts... I don't like it, but if you want it,
|
|
! you get it.
|
|
|
|
TAKE A LOOK at "sample.dip" file - it's there for a purpose. (:-)
|
|
SAME IS TRUE for "diphosts".
|
|
--- 85,92 ----
|
|
|
|
Oh, Pauline's patches add the ability not to have DIP users
|
|
listed in /etc/passwd file at all, being completely defined
|
|
! in /etc/diphosts... (Ala taylor UUCP) I don't like it, but
|
|
! if you want it, you get it.
|
|
|
|
TAKE A LOOK at "sample.dip" file - it's there for a purpose. (:-)
|
|
SAME IS TRUE for "diphosts".
|
|
diff -rc dip-3.3.7g/attach.c dip-3.3.7h/attach.c
|
|
*** dip-3.3.7g/attach.c Wed Aug 31 06:44:51 1994
|
|
--- dip-3.3.7h/attach.c Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 314,332 ****
|
|
|
|
|
|
int
|
|
! attach(char *name, struct dip *dip)
|
|
{
|
|
char buff[1024];
|
|
|
|
- bzero(buff, sizeof(buff));
|
|
-
|
|
memcpy((char *)&_dip, (char *)dip, sizeof(struct dip));
|
|
|
|
/* Some more updates will be here - made by Paul Cadach */
|
|
|
|
/* Set up for "upping" the desired interface. */
|
|
sprintf(buff, "%s %s %s pointopoint ", _PATH_BIN_IFCONFIG,
|
|
! name, inet_ntoa(dip->loc_ip));
|
|
sprintf(&buff[strlen(buff)], "%s mtu %d ",
|
|
inet_ntoa(dip->rmt_ip), dip->mtu);
|
|
if (dip->netmask[0] != '\0')
|
|
--- 314,330 ----
|
|
|
|
|
|
int
|
|
! attach(struct dip *dip)
|
|
{
|
|
char buff[1024];
|
|
|
|
memcpy((char *)&_dip, (char *)dip, sizeof(struct dip));
|
|
|
|
/* Some more updates will be here - made by Paul Cadach */
|
|
|
|
/* Set up for "upping" the desired interface. */
|
|
sprintf(buff, "%s %s %s pointopoint ", _PATH_BIN_IFCONFIG,
|
|
! dip->ifname, inet_ntoa(dip->loc_ip));
|
|
sprintf(&buff[strlen(buff)], "%s mtu %d ",
|
|
inet_ntoa(dip->rmt_ip), dip->mtu);
|
|
if (dip->netmask[0] != '\0')
|
|
***************
|
|
*** 338,344 ****
|
|
|
|
/* Add route to the remote IP addr */
|
|
sprintf(buff, "%s add %s %s", _PATH_BIN_ROUTE,
|
|
! inet_ntoa(dip->rmt_ip), name);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
--- 336,342 ----
|
|
|
|
/* Add route to the remote IP addr */
|
|
sprintf(buff, "%s add %s %s", _PATH_BIN_ROUTE,
|
|
! inet_ntoa(dip->rmt_ip), dip->ifname);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
***************
|
|
*** 346,352 ****
|
|
/* the default route goes over the LOCAL adaptor... */
|
|
if (dip->rtdefault == 1) {
|
|
sprintf(buff, "%s add -net default gw %s metric %1d %s",
|
|
! _PATH_BIN_ROUTE, inet_ntoa(dip->rmt_ip), 1, name);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
--- 344,350 ----
|
|
/* the default route goes over the LOCAL adaptor... */
|
|
if (dip->rtdefault == 1) {
|
|
sprintf(buff, "%s add -net default gw %s metric %1d %s",
|
|
! _PATH_BIN_ROUTE, inet_ntoa(dip->rmt_ip), 1, dip->ifname);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
***************
|
|
*** 355,361 ****
|
|
else {
|
|
/* hosts get added by their local address too.. */
|
|
sprintf(buff, "%s add -host %s %s", _PATH_BIN_ROUTE,
|
|
! inet_ntoa(dip->loc_ip), name);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
--- 353,359 ----
|
|
else {
|
|
/* hosts get added by their local address too.. */
|
|
sprintf(buff, "%s add -host %s %s", _PATH_BIN_ROUTE,
|
|
! inet_ntoa(dip->loc_ip), dip->ifname);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> ATTACH \"%s\"\n", buff);
|
|
if (system(buff) != 0) return(-1);
|
|
***************
|
|
*** 372,391 ****
|
|
|
|
|
|
void
|
|
! detach(char *name, struct dip *dip)
|
|
{
|
|
char buff[1024];
|
|
static int flag = 0;
|
|
|
|
- bzero(buff, sizeof(buff));
|
|
-
|
|
/* To make sure we're not called more than once! */
|
|
if (flag != 0)
|
|
return;
|
|
flag = 1;
|
|
|
|
/* Set up for "downing" the desired interface. */
|
|
! sprintf(buff, "%s %s down", _PATH_BIN_IFCONFIG, name);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> DETACH \"%s\"\n", buff);
|
|
(void) system(buff);
|
|
--- 370,387 ----
|
|
|
|
|
|
void
|
|
! detach(struct dip *dip)
|
|
{
|
|
char buff[1024];
|
|
static int flag = 0;
|
|
|
|
/* To make sure we're not called more than once! */
|
|
if (flag != 0)
|
|
return;
|
|
flag = 1;
|
|
|
|
/* Set up for "downing" the desired interface. */
|
|
! sprintf(buff, "%s %s down", _PATH_BIN_IFCONFIG, dip->ifname);
|
|
if (opt_v)
|
|
syslog(LOG_INFO, ">>> DETACH \"%s\"\n", buff);
|
|
(void) system(buff);
|
|
diff -rc dip-3.3.7g/command.c dip-3.3.7h/command.c
|
|
*** dip-3.3.7g/command.c Wed Aug 31 06:39:52 1994
|
|
--- dip-3.3.7h/command.c Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 1118,1131 ****
|
|
return(i);
|
|
}
|
|
|
|
- /* Quit upon error - reset the tty to the proper ldisc */
|
|
- static int
|
|
- do_quit(int argc, char *argv[])
|
|
- {
|
|
- (void) tty_close();
|
|
- exit(1);
|
|
- }
|
|
-
|
|
/* Store the netmask in "mydip" structure */
|
|
static int
|
|
do_netmask(int argc, char *argv[])
|
|
--- 1118,1123 ----
|
|
***************
|
|
*** 1153,1162 ****
|
|
return(0);
|
|
}
|
|
|
|
static int do_proxyarp(int argc, char *argv[])
|
|
{
|
|
if (argc != 1) {
|
|
! fprintf(stderr, "Usage: default\n");
|
|
return(-1);
|
|
}
|
|
if (opt_v == 1) printf("Setting Proxy ARP entry...\n");
|
|
--- 1145,1168 ----
|
|
return(0);
|
|
}
|
|
|
|
+ /* Set timeout */
|
|
+ static int
|
|
+ do_timeout(int argc, char *argv[])
|
|
+ {
|
|
+ if (argc != 2) {
|
|
+ fprintf(stderr, "Usage: timeout <secs>\n");
|
|
+ return(-1);
|
|
+ }
|
|
+ mydip.timeout = atoi(argv[1]);
|
|
+ if (opt_v == 1) printf("Timeout set to %d seconds\n",mydip.timeout);
|
|
+
|
|
+ return(0);
|
|
+ }
|
|
+
|
|
static int do_proxyarp(int argc, char *argv[])
|
|
{
|
|
if (argc != 1) {
|
|
! fprintf(stderr, "Usage: proxyarp\n");
|
|
return(-1);
|
|
}
|
|
if (opt_v == 1) printf("Setting Proxy ARP entry...\n");
|
|
***************
|
|
*** 1499,1505 ****
|
|
{ "proxyarp", do_proxyarp },
|
|
{ "print", do_print },
|
|
{ "port", do_port },
|
|
- { "quit", do_quit },
|
|
{ "reset", do_reset },
|
|
{ "send", do_send },
|
|
#ifdef SKEY
|
|
--- 1505,1510 ----
|
|
***************
|
|
*** 1509,1514 ****
|
|
--- 1514,1520 ----
|
|
{ "speed", do_speed },
|
|
{ "stopbits", do_stopbits },
|
|
{ "term", do_term },
|
|
+ { "timeout", do_timeout },
|
|
{ "wait", do_wait },
|
|
{ (char *)NULL, NULL }
|
|
};
|
|
***************
|
|
*** 1598,1602 ****
|
|
cleanup();
|
|
#endif
|
|
|
|
! exit(0);
|
|
}
|
|
--- 1604,1608 ----
|
|
cleanup();
|
|
#endif
|
|
|
|
! exit(errlevel);
|
|
}
|
|
diff -rc dip-3.3.7g/daemon.c dip-3.3.7h/daemon.c
|
|
*** dip-3.3.7g/daemon.c Wed Aug 31 00:13:26 1994
|
|
--- dip-3.3.7h/daemon.c Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 87,92 ****
|
|
--- 87,108 ----
|
|
(void) fclose(fp);
|
|
}
|
|
|
|
+ static
|
|
+ void readifc(char *ifname, int *TX, int *RX)
|
|
+ {
|
|
+ FILE *fp = fopen("/proc/net/dev","r");
|
|
+ char buf[255];
|
|
+
|
|
+ while (fgets(buf,sizeof(buf),fp)) {
|
|
+ char *bp = buf;
|
|
+ while (*bp && isspace(*bp)) bp++;
|
|
+ if (strncmp(bp,ifname,strlen(ifname))==0 && bp[strlen(ifname)]==':') {
|
|
+ sscanf(bp,"%*s %d %*d %*d %*d %*d %d",TX,RX);
|
|
+ break;
|
|
+ }
|
|
+ }
|
|
+ fclose(fp);
|
|
+ }
|
|
|
|
int
|
|
dip_setup(struct dip *dp)
|
|
***************
|
|
*** 114,120 ****
|
|
/* Wait forever to terminate. */
|
|
do_exit = 1;
|
|
while(do_exit) {
|
|
! (void) sleep(30);
|
|
}
|
|
|
|
syslog(LOG_ERR, "DIP must never be here!!!\n");
|
|
--- 130,146 ----
|
|
/* Wait forever to terminate. */
|
|
do_exit = 1;
|
|
while(do_exit) {
|
|
! if (dp->timeout) {
|
|
! static int oldTX=-1, oldRX=-1;
|
|
! int valTX,valRX;
|
|
!
|
|
! readifc(dp->ifname,&valTX,&valRX);
|
|
! if (valTX==oldTX && valRX==oldRX) sig_catcher(0);
|
|
! oldTX = valTX;
|
|
! oldRX = valRX;
|
|
! sleep(dp->timeout);
|
|
! }
|
|
! else (void) sleep(30);
|
|
}
|
|
|
|
syslog(LOG_ERR, "DIP must never be here!!!\n");
|
|
Only in dip-3.3.7g: dip
|
|
diff -rc dip-3.3.7g/dip.h dip-3.3.7h/dip.h
|
|
*** dip-3.3.7g/dip.h Wed Aug 31 06:49:08 1994
|
|
--- dip-3.3.7h/dip.h Fri Sep 2 12:45:40 1994
|
|
***************
|
|
*** 69,75 ****
|
|
struct dip {
|
|
/* Login info. */
|
|
char name[16]; /* login name of host */
|
|
! char passwd[14]; /* any external passwd */
|
|
char home[1024]; /* user home directory */
|
|
|
|
/* Misc protocol info. */
|
|
--- 69,75 ----
|
|
struct dip {
|
|
/* Login info. */
|
|
char name[16]; /* login name of host */
|
|
! char passwd[16]; /* any external passwd */
|
|
char home[1024]; /* user home directory */
|
|
|
|
/* Misc protocol info. */
|
|
***************
|
|
*** 92,97 ****
|
|
--- 92,99 ----
|
|
struct in_addr rmt_rt; /* mapped IP address */
|
|
int rtdefault; /* are we the dflt gw? */
|
|
int proxyarp; /* set proxy arp? */
|
|
+ int timeout; /* timeout function? */
|
|
+ char ifname[32]; /* device name */
|
|
};
|
|
|
|
|
|
***************
|
|
*** 146,153 ****
|
|
extern int mdm_reset(void);
|
|
extern int mdm_hangup(void);
|
|
|
|
! extern int attach(char *name, struct dip *dip);
|
|
! extern void detach(char *name, struct dip *dip);
|
|
|
|
extern void cleanup(void);
|
|
|
|
--- 148,155 ----
|
|
extern int mdm_reset(void);
|
|
extern int mdm_hangup(void);
|
|
|
|
! extern int attach(struct dip *dip);
|
|
! extern void detach(struct dip *dip);
|
|
|
|
extern void cleanup(void);
|
|
|
|
diff -rc dip-3.3.7g/login.c dip-3.3.7h/login.c
|
|
*** dip-3.3.7g/login.c Tue Aug 30 22:17:13 1994
|
|
--- dip-3.3.7h/login.c Fri Sep 2 13:10:28 1994
|
|
***************
|
|
*** 40,46 ****
|
|
if (buff[0] == '#' || buff[0] == '\0') continue;
|
|
|
|
sp = buff;
|
|
! memset((char *) &dip, 0, sizeof(struct dip));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
--- 40,46 ----
|
|
if (buff[0] == '#' || buff[0] == '\0') continue;
|
|
|
|
sp = buff;
|
|
! dip = mydip;
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
***************
|
|
*** 53,90 ****
|
|
)
|
|
continue;
|
|
|
|
! strncpy(dip.name, bp, 16);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.passwd, bp, 8);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.remote, bp, 128);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
if (*bp)
|
|
! strncpy(dip.local, bp, 128);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.netmask, bp, 128);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.comment, bp, 128);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':' && *sp != ',') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.protocol, bp, 16);
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ',') sp++;
|
|
--- 53,90 ----
|
|
)
|
|
continue;
|
|
|
|
! strncpy(dip.name, bp, sizeof(dip.name));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.passwd, bp, sizeof(dip.passwd));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.remote, bp, sizeof(dip.remote));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
if (*bp)
|
|
! strncpy(dip.local, bp, sizeof(dip.local));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.netmask, bp, sizeof(dip.netmask));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.comment, bp, sizeof(dip.comment));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ':' && *sp != ',') sp++;
|
|
*sp++ = '\0';
|
|
! strncpy(dip.protocol, bp, sizeof(dip.protocol));
|
|
|
|
bp = sp;
|
|
while (*sp && *sp != ',') sp++;
|
|
***************
|
|
*** 108,115 ****
|
|
extern char *h_errlist[];
|
|
extern int h_errno;
|
|
|
|
- (void) openlog("dip", LOG_PID, LOG_DAEMON);
|
|
-
|
|
if (name) {
|
|
dip = getdipnam(name);
|
|
if (dip == (struct dip *)NULL) {
|
|
--- 108,113 ----
|
|
***************
|
|
*** 123,129 ****
|
|
p = getpass("password: ");
|
|
if ((dip == (struct dip *)NULL) || (strcmp(dip->passwd,p) != 0)) {
|
|
fprintf(stderr, "You do not have DIP access. Go away.\n");
|
|
! syslog(LOG_WARNING, "%s tried to access DIP: no access!", p);
|
|
exit(-1);
|
|
}
|
|
}
|
|
--- 121,127 ----
|
|
p = getpass("password: ");
|
|
if ((dip == (struct dip *)NULL) || (strcmp(dip->passwd,p) != 0)) {
|
|
fprintf(stderr, "You do not have DIP access. Go away.\n");
|
|
! syslog(LOG_WARNING, "%s tried to access DIP: no access!", dip->name);
|
|
exit(-1);
|
|
}
|
|
}
|
|
***************
|
|
*** 191,196 ****
|
|
--- 189,195 ----
|
|
printf("Comments: \"%s\"\n", dip->comment);
|
|
printf("Protocol: \"%s\" (%d)\n", dip->protocol, dip->protonr);
|
|
printf("MTU : %d\n", dip->mtu);
|
|
+ printf("Proxy : %d\n", dip->proxyarp);
|
|
}
|
|
syslog(LOG_INFO, "%s connecting %s/%s to local %s/%s with %s/%d",
|
|
dip->name,
|
|
diff -rc dip-3.3.7g/main.c dip-3.3.7h/main.c
|
|
*** dip-3.3.7g/main.c Thu Sep 1 01:39:03 1994
|
|
--- dip-3.3.7h/main.c Fri Sep 2 13:11:45 1994
|
|
***************
|
|
*** 31,36 ****
|
|
--- 31,40 ----
|
|
* - Removed the strange parsing of argv[0] which overwrote
|
|
* part of the string.
|
|
* - Added code to ask interactivly for username. (-a)
|
|
+ * - added timeout <n> for disconnects after <n> idle seconds
|
|
+ * - removed 'quit', since it is superflucious (see exit)
|
|
+ * - various source changes
|
|
+ * - Well, and since everybody is doing it: (C) 1994.
|
|
*
|
|
* This program is free software; you can redistribute it
|
|
* and/or modify it under the terms of the GNU General
|
|
***************
|
|
*** 61,74 ****
|
|
void
|
|
cleanup(void)
|
|
{
|
|
- char name[32];
|
|
int disc;
|
|
|
|
if (tty_askfd() >= 0) {
|
|
if(tty_get_disc(&disc) == 0) {
|
|
if ((disc > 0) && (disc != N_TTY)) {
|
|
! tty_get_name(name);
|
|
! detach(name, &mydip);
|
|
}
|
|
}
|
|
if (tty_getmode())
|
|
--- 65,76 ----
|
|
void
|
|
cleanup(void)
|
|
{
|
|
int disc;
|
|
|
|
if (tty_askfd() >= 0) {
|
|
if(tty_get_disc(&disc) == 0) {
|
|
if ((disc > 0) && (disc != N_TTY)) {
|
|
! detach(&mydip);
|
|
}
|
|
}
|
|
if (tty_getmode())
|
|
***************
|
|
*** 261,266 ****
|
|
--- 263,269 ----
|
|
opt_t = 0;
|
|
|
|
Argv = argv[0];
|
|
+ while (*envp) envp++;
|
|
LastArg = envp[-1] + strlen(envp[-1]);
|
|
|
|
/*
|
|
***************
|
|
*** 277,284 ****
|
|
else sp = argv[0];
|
|
#else
|
|
if ((sp = strrchr(argv[0], '/')) == NULL) sp = argv[0];
|
|
#endif
|
|
! if ((*sp == '-') || !strcmp(sp, "diplogin") || !strcmp(sp, "login"))
|
|
opt_i = 1;
|
|
if (!strcmp(sp, "diplogini"))
|
|
opt_i = opt_a = 1;
|
|
--- 280,289 ----
|
|
else sp = argv[0];
|
|
#else
|
|
if ((sp = strrchr(argv[0], '/')) == NULL) sp = argv[0];
|
|
+ else sp++;
|
|
#endif
|
|
! if (*sp=='-') sp++;
|
|
! if (!strcmp(sp, "diplogin") || !strcmp(sp, "login"))
|
|
opt_i = 1;
|
|
if (!strcmp(sp, "diplogini"))
|
|
opt_i = opt_a = 1;
|
|
***************
|
|
*** 325,330 ****
|
|
--- 330,338 ----
|
|
usage();
|
|
}
|
|
|
|
+ /* make sure we log the attachments */
|
|
+ openlog("dip", LOG_PID, LOG_DAEMON);
|
|
+
|
|
printf("DIP: Dialup IP Protocol Driver version %s\n", VERSION);
|
|
printf("Written by Fred N. van Kempen, MicroWalt Corporation.\n\n");
|
|
|
|
***************
|
|
*** 352,358 ****
|
|
|
|
/* Are we going to be a dialIN server? */
|
|
if (opt_i == 1) {
|
|
! /* Enforce Proxy ARP for now... */
|
|
mydip.proxyarp = 1;
|
|
|
|
if (opt_a == 1) sp = NULL;
|
|
--- 360,366 ----
|
|
|
|
/* Are we going to be a dialIN server? */
|
|
if (opt_i == 1) {
|
|
! /* Enforce PROXY Arp for now */
|
|
mydip.proxyarp = 1;
|
|
|
|
if (opt_a == 1) sp = NULL;
|
|
diff -rc dip-3.3.7g/pathnames.h dip-3.3.7h/pathnames.h
|
|
*** dip-3.3.7g/pathnames.h Tue Aug 30 21:50:01 1994
|
|
--- dip-3.3.7h/pathnames.h Fri Sep 2 12:45:41 1994
|
|
***************
|
|
*** 33,39 ****
|
|
#define _PATH_DIP_PID "/etc/dip.pid"
|
|
#define _PATH_DIP_KIL "/var/run"
|
|
|
|
! #define _PATH_LOCKD "/usr/spool/uucp" /* lock files */
|
|
|
|
#define _UID_UUCP "uucp" /* owns locks */
|
|
|
|
--- 33,39 ----
|
|
#define _PATH_DIP_PID "/etc/dip.pid"
|
|
#define _PATH_DIP_KIL "/var/run"
|
|
|
|
! #define _PATH_LOCKD "/var/lock" /* lock files */
|
|
|
|
#define _UID_UUCP "uucp" /* owns locks */
|
|
|
|
diff -rc dip-3.3.7g/slip.c dip-3.3.7h/slip.c
|
|
*** dip-3.3.7g/slip.c Sun Jun 5 23:16:22 1994
|
|
--- dip-3.3.7h/slip.c Fri Sep 2 12:45:41 1994
|
|
***************
|
|
*** 26,33 ****
|
|
void
|
|
do_slip(struct dip *dip)
|
|
{
|
|
- char ifname[32];
|
|
-
|
|
(void) strcpy((char *) dip->protocol, "SLIP");
|
|
|
|
/* Put line in SLIP discipline. */
|
|
--- 26,31 ----
|
|
***************
|
|
*** 43,49 ****
|
|
}
|
|
|
|
/* Ask the kernel for the name of our interface. */
|
|
! if (tty_get_name(ifname) < 0) {
|
|
syslog(LOG_ERR, "GIFNAME: %m");
|
|
(void) tty_set_disc(-1);
|
|
return;
|
|
--- 41,47 ----
|
|
}
|
|
|
|
/* Ask the kernel for the name of our interface. */
|
|
! if (tty_get_name(dip->ifname) < 0) {
|
|
syslog(LOG_ERR, "GIFNAME: %m");
|
|
(void) tty_set_disc(-1);
|
|
return;
|
|
***************
|
|
*** 51,70 ****
|
|
|
|
#if 0
|
|
if (opt_v == 1) {
|
|
! printf("DIP: Interface %s\n",ifname);
|
|
}
|
|
#endif
|
|
|
|
/* Add the route to that host. */
|
|
! (void) attach(ifname, dip);
|
|
}
|
|
|
|
|
|
void
|
|
do_cslip(struct dip *dip)
|
|
{
|
|
- char ifname[32];
|
|
-
|
|
(void) strcpy((char *) dip->protocol, "CSLIP");
|
|
|
|
/* Put line in SLIP discipline. */
|
|
--- 49,66 ----
|
|
|
|
#if 0
|
|
if (opt_v == 1) {
|
|
! printf("DIP: Interface %s\n",dip->ifname);
|
|
}
|
|
#endif
|
|
|
|
/* Add the route to that host. */
|
|
! (void) attach(dip);
|
|
}
|
|
|
|
|
|
void
|
|
do_cslip(struct dip *dip)
|
|
{
|
|
(void) strcpy((char *) dip->protocol, "CSLIP");
|
|
|
|
/* Put line in SLIP discipline. */
|
|
***************
|
|
*** 80,91 ****
|
|
}
|
|
|
|
/* Ask the kernel for the name of our interface. */
|
|
! if (tty_get_name(ifname) < 0) {
|
|
syslog(LOG_ERR, "GIFNAME: %m");
|
|
(void) tty_set_disc(-1);
|
|
return;
|
|
}
|
|
|
|
/* Add the route to that host. */
|
|
! (void) attach(ifname, dip);
|
|
}
|
|
--- 76,87 ----
|
|
}
|
|
|
|
/* Ask the kernel for the name of our interface. */
|
|
! if (tty_get_name(dip->ifname) < 0) {
|
|
syslog(LOG_ERR, "GIFNAME: %m");
|
|
(void) tty_set_disc(-1);
|
|
return;
|
|
}
|
|
|
|
/* Add the route to that host. */
|
|
! (void) attach(dip);
|
|
}
|
|
diff -rc dip-3.3.7g/tty.c dip-3.3.7h/tty.c
|
|
*** dip-3.3.7g/tty.c Wed Aug 31 06:32:09 1994
|
|
--- dip-3.3.7h/tty.c Fri Sep 2 12:45:41 1994
|
|
***************
|
|
*** 745,755 ****
|
|
int tty_login_close(void)
|
|
{
|
|
#ifdef NE_PAUL
|
|
- char ifname[32];
|
|
-
|
|
if (tty_fd >= 0) {
|
|
! (void) tty_get_name(ifname);
|
|
! (void) detach(ifname, &mydip);
|
|
(void) mdm_hangup();
|
|
}
|
|
#else
|
|
--- 745,752 ----
|
|
int tty_login_close(void)
|
|
{
|
|
#ifdef NE_PAUL
|
|
if (tty_fd >= 0) {
|
|
! (void) detach(&mydip);
|
|
(void) mdm_hangup();
|
|
}
|
|
#else
|