Compare commits

...

2 Commits

Author SHA1 Message Date
Matthias Urlichs 52422021a7 Doku-Update, Relicensing 2022-02-17 16:02:22 +01:00
Matthias Urlichs b2143f62d8 latin1 > UTF-8 2022-02-17 16:02:22 +01:00
44 changed files with 413 additions and 310 deletions

608
DOKU

File diff suppressed because it is too large Load Diff

24
LICENSE Normal file
View File

@ -0,0 +1,24 @@
As far as this code is copyright 19??-1995 Matthias Urlichs,
as of 2022-02 I hereby relicense it under the GPL v2 or later.
If you don't know where to find the text of the GPL v2, please delete this
archive and do something useful instead.
You might (or might not) want to take the first three words of this file
seriously. There's a "streams" subdirectory in there, and if you know
anything about the history of Unix you should notice the problem.
That being said, the code is too old to be useful with modern compilers
and the copyright holder doesn't exist any more anyway (more or less), so
I'll leave deciding whether or not that's a possible problem to the reader/user.
Personally, I wouldn't bother.
In case anybody knows the "Brad K. Clements" who wrote the code that ended up
as isdn/str_if/str_in.c in 1990: please forward his email address to me.
I'd like to ask him whether we should still take his "all rights reserved"
seriously.
Matthias Urlichs
<matthias@urlichs.de>
2022-02-17

45
README Normal file
View File

@ -0,0 +1,45 @@
U-ISDN
======
Once upon a time, I hacked an ISDN interface into Linux.
It supported networking, multiple "passive" ISDN cards (i.e. those without
a CPU of their own), some active cards, TTYs, private virtual circuits,
both German and European signalling standards, and some other bits and
pieces.
We ran an actual ISP business with that code.
That's the good part.
The bad part is that this code is an unholy mess. At the time, Linux
networking was "mostly" working; see the numerous kernel patches that are
in this archive. In fact, for the first versions of this code (now happily
resting in the digital nirvana), Linux networking was so abysmally bad that
I hacked the BSD networking code into it and used that instead.
Yes, seriously. No, I don't have that code any more. Or rather, it is on a
bunch of slowly-disintegrating Streamer cartridges in my basement, and if
you have working hardware that can actually read these things we might come
to an agreement. (I don't, as the capstan of the tape drives was made of
synthetic rubber … which has disintegrated by now.)
Also, when I started to cobble all of this together I was a student and
didn't actually care all that much about copyright and whatnot. As a
result, this archive contains some pieces that strictly speaking should not
be redistributed.
On the other hand, the company (which I'll not name here) that held said
copyrights doesn't exist any more, more or less, and even if somebody did
care about stone-age C code that doesn't even compile any more (unless your
compiler is 20+ years old … and so are your kernel headers …) most likely
they'd have a hard time proving that they really do hold the rights to that
code.
Thus, I'll leave the decision of whether to read any of the code contained
herein, try to use it, and/or delete it in abject horror, to the esteemed
reader.
Matthias Urlichs
<matthias@urlichs.de>
2022-02-16

BIN
U-ISDN-FAQ.ps.gz Normal file

Binary file not shown.

0
isdn/alaw/toalaw.c Executable file → Normal file
View File

0
isdn/alaw/toalaw.pl Executable file → Normal file
View File

0
isdn/alaw/tosnd.c Executable file → Normal file
View File

0
isdn/alaw/tosnd.pl Executable file → Normal file
View File

0
isdn/bin/Makefile Executable file → Normal file
View File

0
isdn/bin/catfone Executable file → Normal file
View File

0
isdn/bin/tester Executable file → Normal file
View File

View File

@ -8,7 +8,7 @@ struct _dumb {
short ioaddr;
char irq, ipl;
/* Linux: IRQ wird nicht automatisch erkannt bei ladbaren Treibern! */
/* IPL ist 0 für Teles/8-Karten, 1..3 für Teles/16-Karten an der 1..3.
/* IPL ist 0 für Teles/8-Karten, 1..3 für Teles/16-Karten an der 1..3.
Adresse. */
char numHCRX;
long ID;

0
isdn/cards/leonardo/leo.init Executable file → Normal file
View File

0
isdn/cards/leonardo/leo.uninstall Executable file → Normal file
View File

View File

@ -8,7 +8,7 @@ struct _dumb {
short ioaddr;
char irq, ipl;
/* Linux: IRQ wird nicht automatisch erkannt bei ladbaren Treibern! */
/* IPL ist 0 für Teles/8-Karten, 1..3 für Teles/16-Karten an der 1..3.
/* IPL ist 0 für Teles/8-Karten, 1..3 für Teles/16-Karten an der 1..3.
Adresse. */
char numHCRX;
long ID;

0
isdn/config/config.data.pc Executable file → Normal file
View File

BIN
isdn/ip_mon/aux/ip_mon2 Executable file → Normal file

Binary file not shown.

0
isdn/ip_mon/aux/ip_mon2.init Executable file → Normal file
View File

0
isdn/isdn_2/aux/isdn_2.init Executable file → Normal file
View File

View File

@ -17,7 +17,7 @@ D * netz A * - +49=911-912345.
DL Tel? +49=911-xxxxx. :pr XX :sp YY :pr ZZ
#DL protocol args type
# Die auskommentierte DP-Zeile wird beim Anschluß hinter einer
# Die auskommentierte DP-Zeile wird beim Anschluß hinter einer
# Nebenstellenanlage (anstelle der unkommentierten) verwendet.
# Nebenstellennummern bzw. EAZs werden durch Punkte eingeleitet, wenn
# waehlbar, ansonsten durch Schraegstriche.

0
isdn/isdn_4/libs.sh Executable file → Normal file
View File

View File

@ -1027,7 +1027,7 @@ putenv2 (const char *key, const char *val)
char *match_nr (char *extnr, char *locnr, char *locpref)
/* Vergleicht ankommende Nummern mit dem Eintrag einer D-Zeile. */
/* liefert evtl. ein ungematchtes Suffix zurück */
/* liefert evtl. ein ungematchtes Suffix zurück */
/* 09119599131,+911-959913/[1-3],=00+0- -> /[1-3] */
/* +9119599131,+911-959913/[1-3],=00+0- -> /[1-3] */
/* +9119599131,+911-959923/[1-3],=00+0- -> NULL */
@ -1035,7 +1035,7 @@ char *match_nr (char *extnr, char *locnr, char *locpref)
{
char *extpos, *locpos;
if(isdigit(*extnr)) {
/* finde das passende Präfix */
/* finde das passende Präfix */
while(*locpref != '\0') {
extpos=extnr;
if(isdigit(*locpref)) {
@ -1057,7 +1057,7 @@ char *match_nr (char *extnr, char *locnr, char *locpref)
}
return NULL;
} else {
/* Wirf zusammenpassende Präfixe raus */
/* Wirf zusammenpassende Präfixe raus */
extpos = extnr;
locpref = strchr(locpref,*extpos);
if(locpref == NULL) {
@ -1131,7 +1131,7 @@ int match_suffix(char *extsuf, char *extnr)
}
char *build_nr (char *extnr, char *locnr, char *locpref, int islocal)
/* baut eine zu wählende Nummer zusammmen, bzw. deren Anfang
/* baut eine zu wählende Nummer zusammmen, bzw. deren Anfang
* =911-959913.[1-3],-959913.[1-3],+00=0-,0 -> .[1-3]
* =911-959913/[1-3],=911-959913/[1-3],+00=0-,0 -> 959913/[1-3]
* =911-959913/[1-3],=911-959913/[1-3],+00=0-,1 -> /[1-3]
@ -1219,8 +1219,8 @@ char *append_nr(char *extnr, char *extext)
}
char *strip_nr(char *extnr)
/* entfernt die Spezialzeichen aus einer vollständigen Nummer,
zwecks Dialout; NULL wenn die Nummer unvollständig ist */
/* entfernt die Spezialzeichen aus einer vollständigen Nummer,
zwecks Dialout; NULL wenn die Nummer unvollständig ist */
/* 123.45 -> 12345 */
/* 123.[45] -> NULL */
/* 123. -> NULL */
@ -1599,7 +1599,7 @@ read_file (FILE * ffile, char *errf)
app (&cf_DL, c);
continue;
case CHAR2 ('D', 'P'):
/* DP <Karte> <Nummernpräfixe-Dialout> <Nummernpräfixe-Dialin> */
/* DP <Karte> <Nummernpräfixe-Dialout> <Nummernpräfixe-Dialin> */
if (skipsp (&li)) break; c->card = li;
if (skipsp (&li)) break; c->arg = li;
if (!skipsp (&li)) c->args = li; else c->args = c->arg;

0
isdn/ksupport/aux/count.install Executable file → Normal file
View File

0
isdn/ksupport/aux/count.uninstall Executable file → Normal file
View File

0
isdn/ksupport/aux/proto.master Executable file → Normal file
View File

0
isdn/ksupport/aux/qinfo.install Executable file → Normal file
View File

0
isdn/ksupport/aux/qinfo.uninstall Executable file → Normal file
View File

0
isdn/ksupport/aux/strlog.install Executable file → Normal file
View File

0
isdn/ksupport/aux/strlog.uninstall Executable file → Normal file
View File

0
isdn/rc.isdn Executable file → Normal file
View File

0
isdn/str_if/aux/str_if.master Executable file → Normal file
View File

0
isdn/strslip/aux/slip.master Executable file → Normal file
View File

0
isdn/tools/getvers Executable file → Normal file
View File

0
isdn/tools/getversion Executable file → Normal file
View File

4
isdn/tools/insmod Executable file → Normal file
View File

@ -1,7 +1,7 @@
#!/bin/bash
#
## Diese Version von "insmod" fügt ein Modul nicht in diesen, sondern in
## den nächsten Kernel ein...
## Diese Version von "insmod" fügt ein Modul nicht in diesen, sondern in
## den nächsten Kernel ein...
FILE=$1

0
isdn/tools/rc.isdn Executable file → Normal file
View File

0
isdn/tools/watchme Executable file → Normal file
View File

BIN
isdn/v110/v110 Executable file → Normal file

Binary file not shown.

0
make.installkernel Executable file → Normal file
View File

10
make.isdn Executable file → Normal file
View File

@ -6,10 +6,10 @@ cat <<'EOF'
Hi.
FÜR ABSTÜRZE, DATENVERLUST UND ÄHNLICHE PROBLEME ÜBERNEHME ICH KEINERLEI
FÜR ABSTÜRZE, DATENVERLUST UND ÄHNLICHE PROBLEME ÜBERNEHME ICH KEINERLEI
WIE AUCH IMMER GEARTETE HAFTUNG.
Wem das nicht paßt, der lösche diesen Code. Jetzt.
Wem das nicht paßt, der lösche diesen Code. Jetzt.
Ansonsten: Erst DOKU lesen (im isdn-Verzeichnis)!
@ -17,12 +17,12 @@ Dann die Patches auf den aktuellen Kernel (momentan 1.1.91) anwenden,
Kernel bauen, booten. Nachsehen ob das System noch funktioniert.
Dann isdn/config/config.data und isdn/cards/dumb/Config.c ansehen und
gegebenenfalls ändern (in config.data steht "gcc-elf", den hat nicht
gegebenenfalls ändern (in config.data steht "gcc-elf", den hat nicht
jeder; ersetze durch "gcc").
Dann nochmal make.isdn aufrufen.
Die gebauten Module können automatisch beim Booten geladen werden mit
Die gebauten Module können automatisch beim Booten geladen werden mit
folgendem Skript irgendwo in der Bootsequenz:
> ( cd /lib/modules/$(uname -r); echo -n "ISDN for kernel $(uname -r): "
@ -31,7 +31,7 @@ folgendem Skript irgendwo in der Bootsequenz:
> )
Vorher: In /lib/modules/KERNELVERSION: modules.isdn.all nach modules.isdn
kopieren und nicht benötigte Module aus dieser Datei rauswerfen.
kopieren und nicht benötigte Module aus dieser Datei rauswerfen.
EOF
touch .toldem

View File

@ -1,6 +1,6 @@
Dieser Patch markiert die Debuggingmeldungen, die beim Drücken der mit
Dieser Patch markiert die Debuggingmeldungen, die beim Drücken der mit
show_* belegten Tasten ausgespuckt werden, als EMERGency-Meldungen. Sie
werden dann auch ausgegeben, wenn der Kernel normale Ausgaben unterdrückt
werden dann auch ausgegeben, wenn der Kernel normale Ausgaben unterdrückt
(klogd -c N, 1<=N<=7).
Optional aber sehr sinnvoll.

View File

@ -1,5 +1,5 @@
Dieser Patch bewirkt, daß Swapbereiche auf mehrere Platten verteilt werden,
anstatt erst die erste Platte vollständig aufzufüllen.
Dieser Patch bewirkt, daß Swapbereiche auf mehrere Platten verteilt werden,
anstatt erst die erste Platte vollständig aufzufüllen.
Optional. Sinnvoll wenn sich der Swapbereich auf mehr als eine schnelle
Platte verteilt. Nicht sinnvoll bei Swapdateien oder bei mehr als einem

View File

@ -1,6 +1,6 @@
Patches zum Nachladbar-Machen des Standard-SLIP-Treibers mit
VanJ-Headerkompression.
Dieses Modul wird für ISDN nicht benötigt!
Dieses Modul wird für ISDN nicht benötigt!
Optional aber sinnvoll.

View File

@ -1,4 +1,4 @@
Dieser Patch verhindert, daß ICMP-Redirects, die auf den eigenen Host
Dieser Patch verhindert, daß ICMP-Redirects, die auf den eigenen Host
zeigen, akzeptiert werden.
--- /pub/src/linux/kernel/linux-1.1/net/inet/icmp.c Fri Jan 27 15:16:16 1995