diff -u --recursive --new-file bt/Makefile bt-feddi/Makefile
--- bt/Makefile	Thu Apr 29 09:57:19 1993
+++ bt-feddi/Makefile	Tue Oct  4 11:27:16 1994
@@ -16,7 +16,7 @@
 
 # Install directories
 # For Next and Sony
-COMMONDIR = /usr/local
+COMMONDIR = /usr
 # Linux does not have a standard distribution, so Binkley does not
 # go into /usr/local (at least on my system ELAG
 # COMMONDIR = /usr
@@ -134,14 +134,14 @@
 		rm -f $(BINDIR)/$$i; \
 	done
 	install -c -m 4755 -o $(BTUID) -g $(GROUP) bt $(BINDIR)
-	install -c -m 4755 -o $(OWNER) -g $(GROUP) bink $(BINDIR)
+#	install -c -m 4755 -o $(OWNER) -g $(GROUP) bink $(BINDIR)
 	install -c -m 4755 -o $(OWNER) -g $(GROUP) fido-toconv $(LIBDIR)
 	install -c btctl $(LIBDIR)
 	install -c btlng $(LIBDIR)
 	install -c english.txt $(LIBDIR)
 	if [ ! -f $(LIBDIR)/binkley.cfg ] ; then install -c binkley.cfg $(LIBDIR); fi; 
 	(cd $(LIBDIR); ./btlng english.txt binkley.lng)
-	(cd $(LIBDIR); ./btctl)
+#	(cd $(LIBDIR); ./btctl)
 	install -c -m 4755 -o root -g wheel change $(BINDIR)
 	install -c fidotime $(BINDIR)
 	@echo
diff -u --recursive --new-file bt/README.FEddi bt-feddi/README.FEddi
--- bt/README.FEddi	Thu Jan  1 01:00:00 1970
+++ bt-feddi/README.FEddi	Tue Oct  4 11:23:07 1994
@@ -0,0 +1,8 @@
+This is binkley without the FLO-bug and with FEddi nodelist support.
+
+Patched by Oliver Graf (2:2454/130.69).
+
+Enter 'FEddiNodelist' in binkley.cfg to access the FEddi-nodelist
+
+Hope it works!
+	Oliver
diff -u --recursive --new-file bt/b_flofil.c bt-feddi/b_flofil.c
--- bt/b_flofil.c	Thu Apr 29 09:57:32 1993
+++ bt-feddi/b_flofil.c	Mon Apr 18 18:56:44 1994
@@ -91,11 +91,9 @@
         }
 
         current = 0L;
-        while (!feof (fp))
+        for (s[0]=0; fgets(s,79,fp); s[0]=0)
         {
-        	s[0] = 0;
             last_start = current;
-            fgets (s, 79, fp);
 
             sptr = s;
 
diff -u --recursive --new-file bt/binkley.cfg bt-feddi/binkley.cfg
--- bt/binkley.cfg	Thu Jan  1 01:00:00 1970
+++ bt-feddi/binkley.cfg	Tue Oct  4 11:24:55 1994
@@ -0,0 +1,34 @@
+FEddiNodelist
+Port 2
+baud     38400
+LockBaud 38400
+Init ATZ0|~
+Prefix ATD#T
+PreDial ~
+PreInit |v``^``
+StatusLog    /home/root/fnet/log/binkley.log  200   ; Limit logfile to 200K
+Downloads    /home/root/fnet/inbound/
+CaptureFile  /home/root/fnet/log/session.log
+LogLevel 5
+LineUpdate
+Gong
+AutoBaud
+PollTries 10
+PollDelay 600  ; 1 Minute
+System    Earth Dawn
+Sysop     Oliver Graf
+Address   2:2454/130.69@fidonet.org
+Address   46:9611/1102.69@vnet.org
+Key !tri 2:2454/91
+Key !tra 2:2456/91
+Key !tru 37:101/500
+Key !lala 46:9611/1102
+NetFile   /home/root/fnet/inbound/
+Hold      /home/root/fnet/outbound/
+Domain fidonet.org fidonet nodelist
+Domain vnet.org    vnet    vnetlist
+Nodelist /usr/local/lib/nodelist/
+Unattended
+BoxType 0
+NiceOutBound  
+ReadHoldTime 1
diff -u --recursive --new-file bt/btconfig.c bt-feddi/btconfig.c
--- bt/btconfig.c	Thu Apr 29 09:57:38 1993
+++ bt-feddi/btconfig.c	Sat Jul 23 17:20:59 1994
@@ -282,6 +282,7 @@
 									{ 7, "NLflags" },
 									{ 6, "NLbaud" },
 #endif
+									{13, "FEddiNodelist" },
 									{0, NULL}
 };
 
@@ -349,6 +350,18 @@
 			break;
 #endif
 #endif
+
+		 case C_FEddiNodelist:								  /* "FEddiNodelist" */
+#if defined(_REGARGS) && !defined(_PCREL)
+			{
+				nfunc ptr = FEddiNodefunc;
+				nodefunc = ptr;
+			}
+#else
+			nodefunc = FEddiNodefunc;
+#endif
+			break;
+
 		 case C_Answerback: 							   /* "Answerback"	*/
 			answerback = ctl_string (&temp[10]);
 			break;
diff -u --recursive --new-file bt/com_unix.c bt-feddi/com_unix.c
--- bt/com_unix.c	Thu Apr 29 09:57:40 1993
+++ bt-feddi/com_unix.c	Mon Sep 12 14:11:48 1994
@@ -74,11 +74,17 @@
 	 * may or may not respond to SIGHUP
 	 * must not block waiting for DCD
 	 */
-	char *ttynames[] = {
+/*	char *ttynames[] = {
 		"/dev/cua0",
 		"/dev/cua1",
 		"/dev/cua2",
 		"/dev/cua3"
+	};*/
+	char *ttynames[] = {
+		"/dev/ttyS0",
+		"/dev/ttyS1",
+		"/dev/ttyS2",
+		"/dev/ttyS3"
 	};
 	/* tyys used to spawn login and bbs processes on
 	 * must respond to SIGHUP
@@ -90,11 +96,17 @@
 		"/dev/ttyS2",
 		"/dev/ttyS3"
 	};
-	char *lcknames[] = {
+/*	char *lcknames[] = {
 		"/usr/spool/uucp/LCK..cua0",
 		"/usr/spool/uucp/LCK..cua1",
 		"/usr/spool/uucp/LCK..cua2",
 		"/usr/spool/uucp/LCK..cua3"
+	};*/
+	char *lcknames[] = {
+		"/usr/spool/uucp/LCK..ttyS0",
+		"/usr/spool/uucp/LCK..ttyS1",
+		"/usr/spool/uucp/LCK..ttyS2",
+		"/usr/spool/uucp/LCK..ttyS3"
 	};
 #elif defined(Sony)
     char *ttynames[] = {
@@ -300,6 +312,7 @@
 			return 0;
 		}
 		close(fd);
+		chmod(lcknames[port],438);
 
 		/* succesfully locked port, now open it */
 		portnum = port;	/* remember which port we opened */
@@ -768,9 +781,8 @@
 
 	while( (!carcheck || CARRIER) && (size > 0)) {
 		numsent = write(unix_line, buf, size);
-		if(numsent == -1) {
-			bt_perror("BinkleyTerm - SENDCHARS");
-		} else {
+		if(numsent != -1)
+		{
 			size -= numsent;
 			buf += numsent;
 		}
diff -u --recursive --new-file bt/config.h bt-feddi/config.h
--- bt/config.h	Thu Apr 29 09:57:40 1993
+++ bt-feddi/config.h	Sat Jul 23 16:50:50 1994
@@ -199,6 +199,7 @@
 	C_NLfLags,
 	C_NLbaud,
 #endif
+	C_FEddiNodelist,
 	C_LAST
 } CONFIG_VALUES;
 
diff -u --recursive --new-file bt/data.c bt-feddi/data.c
--- bt/data.c	Thu Apr 29 09:57:40 1993
+++ bt-feddi/data.c	Sat Jul 23 16:53:35 1994
@@ -115,9 +115,9 @@
 #else
 int MAXport = 2;
 #endif
-int poll_tries = 500;							 /* How many tries in a poll? */
+int poll_tries = 12;							 /* How many tries in a poll? */
 #ifdef NEW
-int poll_delay = 20;							/* Delay between polls in 10th second */
+int poll_delay = 600;							/* Delay between polls in 10th second */
 #endif
 
 int com_port = 0;								 /* Default com port = COM1   */
diff -u --recursive --new-file bt/mdm_proc.c bt-feddi/mdm_proc.c
--- bt/mdm_proc.c	Thu Apr 29 09:57:46 1993
+++ bt-feddi/mdm_proc.c	Thu Jun  9 22:32:23 1994
@@ -526,6 +526,9 @@
 		timer (1);									  /* short pause, .1 second    */
 		return; 									 /* and return				  */
 
+	case '#':
+		outchr='^';
+
 	default:
 		break;
 	}
diff -u --recursive --new-file bt/misc.c bt-feddi/misc.c
--- bt/misc.c	Thu Apr 29 09:57:46 1993
+++ bt-feddi/misc.c	Fri May 13 01:10:55 1994
@@ -316,7 +316,7 @@
       if (elapsed == 0L)
          elapsed = 1L;
       cps = (long) bytes / (unsigned long) elapsed;
-      started = (cps * 1000L) / ((long) cur_baud);
+      started = (cps * 1000L) / ((long) 14400 /*cur_baud*/);
       status_line ((char *) msgtxt[M_CPS_MESSAGE], cps, bytes, started);
       }
 }                                                /* throughput */
diff -u --recursive --new-file bt/nodeproc.c bt-feddi/nodeproc.c
--- bt/nodeproc.c	Thu Apr 29 09:57:47 1993
+++ bt-feddi/nodeproc.c	Sat Oct  1 01:09:04 1994
@@ -1363,3 +1363,110 @@
    return (a * newnodedes.RealCost);
 }
 
+long long int FEgetkey(char *address)
+{
+	char *end;
+	long long int i=0;
+	int z;
+	end=address;
+	do
+	{
+		z = strtol(end, &end, 10);
+		i = (i<<16)|z;
+	} while (*end++);
+	if (strchr(address, '.')==NULL) i<<=16;
+	return i;
+}
+
+int FEgetentry(FILE *fl, int pos)
+{
+	char line[256], *d1, *d2;
+	
+	newnodedes.Cost=0;
+	fseek(fl,pos,SEEK_SET);
+	fgets(line,255,fl);
+	for (d1=line+1; *d1!=':'; d1++);
+	for (d1++, newnodedes.NetNumber=0; *d1!='/'; d1++)
+		newnodedes.NetNumber=newnodedes.NetNumber*10+*d1-'0';
+	for (d1++, newnodedes.NodeNumber=0; *d1!='.' && *d1!=','; d1++)
+		newnodedes.NodeNumber=newnodedes.NodeNumber*10+*d1-'0';
+	for (; *d1!=','; d1++);
+	d1++;
+	d2=strchr(d1,',');
+	*d2++=0;
+	strncpy(newnodedes.SystemName,d1,33);
+	newnodedes.SystemName[33]=0;
+	d1=strchr(d2,',');
+	*d1++=0;
+	strncpy(newnodedes.MiscInfo,d2,29);
+	newnodedes.MiscInfo[29]=0;
+	d2=strchr(d1,',');
+	d2++;
+	d1=strchr(d2,',');
+	*d1++=0;
+	strncpy(newnodedes.PhoneNumber,d2,39);
+	newnodedes.PhoneNumber[39]=0;
+	d2=strchr(d1,',');
+	if (d2) *d2=0;
+	newnodedes.BaudRate=atoi(d1)/300;
+	newnodedes.RealCost=0;
+	newnodedes.HubNode=0;
+	newnodedes.ModemType=0;
+	newnodedes.NodeFlags=0;
+	newnodedes.NodeFiller=0;
+	memset(&newnodedes.Password,0,8);
+	return 0;
+}
+
+int FEddiNodefunc(FEddi_addr, have_boss_data)
+ADDR *FEddi_addr;
+int have_boss_data;
+{
+	FILE *fl, *fi;
+	char file[PATH_MAX], *d1, addr[40];
+	int pos, prim, ok=1, j, q;
+	long long int key;
+	struct stat st;
+	
+	sprintf(addr,"%u:%u/%u.%u",FEddi_addr->Zone,FEddi_addr->Net,
+			FEddi_addr->Node,FEddi_addr->Point);
+	sprintf(file,"%sfnlc.Nodeindex",net_info);
+	stat(file,&st);
+	prim=st.st_size/sizeof(int);
+	if ((fi=fopen(file,"rb"))!=NULL)
+	{
+		sprintf(file,"%sfnlc.Userlist",net_info);
+		if ((fl=fopen(file,"rt"))!=NULL)
+		{
+			key=FEgetkey(addr);
+			j=(key%prim)+1;
+			q=(key%79)+1;
+			do
+			{
+				fseek(fi,(j-1)*sizeof(int),SEEK_SET);
+				fread(&pos,sizeof(int),1,fi);
+				if (pos==-1) break;
+				fseek(fl,pos,SEEK_SET);
+				fgets(file,255,fl);
+				d1=strchr(file,',');
+				*d1=0;
+				j=((j+q)%prim)+1;
+			} while (key!=FEgetkey(&file[1]));
+			if (pos!=-1)
+				FEgetentry(fl,pos);
+			else
+				ok=0;
+			fclose(fl);
+		} else
+		{
+			status_line (msgtxt[M_UNABLE_TO_OPEN], file);
+			ok=0;
+		}
+		fclose(fi);
+	} else
+	{
+		status_line (msgtxt[M_UNABLE_TO_OPEN], file);
+		ok=0;
+	}
+	return ok;
+}
diff -u --recursive --new-file bt/prototyp.h bt-feddi/prototyp.h
--- bt/prototyp.h	Thu Apr 29 09:57:48 1993
+++ bt-feddi/prototyp.h	Sat Jul 23 14:53:30 1994
@@ -251,6 +251,7 @@
 int opusfind (ADDR *, int);
 int QuickLookup (ADDR *, int);
 int TBBSLookup (ADDR *, int);
+int FEddiNodefunc (ADDR *, int);
 char *skip_blanks (char *);
 int parse_event (char *);
 char *skip_to_blank (char *);
diff -u --recursive --new-file bt/version.h bt-feddi/version.h
--- bt/version.h	Thu Apr 29 09:57:49 1993
+++ bt-feddi/version.h	Sat Jul 23 17:29:59 1994
@@ -17,7 +17,7 @@
 #define BINK_MAJVERSION 	3					/* Major Update */
 #define BINK_MINVERSION 	02					/* Minor Update */
 #ifdef unix
-#define BINK_RELEASE        "aPL10"				/* Bugfix Update incl. unix patchlevel */
+#define BINK_RELEASE        "aPL10g-FEddi"				/* Bugfix Update incl. unix patchlevel */
 #else
 #define BINK_RELEASE        "a"					/* Bugfix Update */
 #endif
