 |
|
PAM_LIST (Linux/C)
PAM_LIST ist ein sehr einfaches PAM-Modul. Es überprüft,
ob der übergebene String in einer Text-Datei aufgelistet ist,
und meldet an die PAM-Anwendung entsprechend "ja" oder "nein"
zurück.
Die zu lesende Textdatei muß im Quellcode eingestellt werden
(erste Zeile, #define USERLISTFILE). Sie wird zeilenweise eingelesen,
Kommentarzeilen (Zeilen, die mit einem "#" beginnen) werden ignoriert.
Ansonsten werden die eingelesenen Zeilen beim ersten Leerzeichen
oder Tabulator abgeschnitten, so daß hinter den eigentlichen
Strings noch ein Kommentar angegeben werden kann.
Dieses Modul ist äußerst unflexibel, und außerdem
liegt der PAM-Distribution mit pam_listfile.so ein sehr viel
besseres Modul bei. Leider kann dabei aber nicht wie gerade
beschrieben in einer Daten-Zeile noch ein Kommentar angegeben werden,
was in manchen Anwendungsfällen aber wünschenswert ist.
Kompilierung mit:
gcc -O2 -shared pam_list.c -o pam_list.so
Download:
pam_list-20010501.tar.gz
(C-Sourcecode)
|
|
|
|
PENDEL (DOS/Pascal, Java)
Hier das Ergebnis von drei Tagen harter Arbeit. Eigentlich
hätte ich dafür ein halbes Jahr Zeit gehabt, das ganze
stellt nämlich meine Facharbeit dar (Abiturjahrgang '97 am
Willibald-Gymnasium in Eichstätt). Mein genialer Physik-Lehrer
(Herr Netter), bei dem ich mich an dieser Stelle übrigens mal
für das geniale Thema bedanken möchte möchte, hat
mich auch oft genug gedrängelt, früher anzufangen. Aber
wie meistens in meiner Schulzeit hat meine Faulheit gesiegt. Das
Ergebnis waren 9 Punkte, was - wenn man mal das
Zeit-Leistungs-Verhältnis betrachtet - gar nicht mal so schlecht
war. Außerdem war ich völlig zufrieden damit,
schließlich haben andere Leute teilweise wirklich ein halbes
Jahr an ihrer Facharbeit gearbeitet, und trotzdem schlechter
abgeschnitten ;-).
Aber zur Sache: Das ursprüngliche Thema war
"Computersimulation von gekoppelten Pendelschwingungen",
allerdings wurde der Text am Ende noch geringfügig geändert,
woran ich mich nicht mehr so genau erinnern kann. Sollte es jemanden
interessieren, kann er ja einen Blick riskieren.
Das Programm habe ich unter DOS mit Turbo Pascal
6.0 geschrieben und den Text dazu mit "Write" unter Windows 3.1. In
der abgegebenen Fassung waren auch noch drei Grafiken enthalten, die
ich dummerweise wegen der fehlenden Zeit nicht mehr kopieren konnte,
und die in der downloadbaren Version leider
auch fehlen. Sollte ein Lehrer des Willibald-Gymnasiums diese Seite
lesen, wäre ich ihm dankbar, wenn er mir
schreiben
könnte, ob und wie ich an das Original herankomme, ich
hätte nämlich wirklich gerne eine Kopie der Grafiken.
Zu allem Überfluß existiert von dem Ganzen auch noch
eine Java-Version, die ich mal aus Langeweile im Java-Unterricht in
der Berufsschule geschrieben habe. Das ganze ist leider absolut
unausgereift. Es war auch lediglich ein Versuch, um zu zeigen,
daß es prinzipiell funktioniert. Wer mag, kann sich das
ganze
im Web-Browser anschauen.
Bei manchen Browsern ruckelt das ganze, andere schmieren dabei
komplett ab, in Sun's appletviewer ist es einigermaßen
erträglich. Gegenüber der Pascal-Version fehlt jegliche
Möglichkeit, mit den Pendel-Längen und an den sonstigen
Parametern herumzuspielen. Wer daran Interesse hat, muß leider
direkt im Sourcecode daran drehen oder auf die DOS-Version
zurückgreifen.
Download:
FACHARBT.ZIP
(Die komplette Facharbeit: DOS-Executable + Pascal-Sourcecode + Text zur Facharbeit)
PENDJAVA.ZIP
(Java-Version: Executable + Sourcecode + Passende HTML-Seite)
|
|
|
|
USCCDRV (Linux/C)
Dies ist ein unfertiger Linux-Kernel-Treiber
für die USCC-Karten (nicht die PCI-SCC) von
BayCom.
Unfertig heißt, daß er zwar grundsätzlich
läuft, er für den ernsthaften Einsatz aber nicht geeignet
ist. Sämtliche Parameter (I/O-Base, IRQ) sind fest codiert
und er ist momentan nur auf die Zweikanal-Version (auch bekannt
als 9k6-USCC, die mit dem KS900-TRX on-Board) zugeschnitten.
Um den Treiber zum Laufen zu bringen ist also unbedingt ein
Eingriff in den Quell-Code notwendig. Desweiteren habe ich
Berichte von Benutzern, denen der Rechner bei Einsatz des
Treibers regelmäßig abschmiert. Ich rate Leuten,
die kein C können unbedingt von der Benutzung ab. Der
Quellcode ist hier nur verfügbar, um ihn evtl. interessierten
Entwicklern zur Verfügung zu stellen. Dementsprechend
werde ich sämtliche Anfragen nach dem Motto "Der Treiber
läuft nicht, was mache ich falsch?" ignorieren. Dieses
Projekt wird von mir bis auf weiteres auch nicht gepflegt.
Von Jörg, DL1BKE gibt es einen wesentlich besseren
Treiber (z8530drv), der auch mehr als nur die BayCom-Karten
unterstützt. Ich habe den Treiber nur geschrieben, weil
der z8530drv bei mir nicht funktioniert hat. Es ist im
Wesentlichen ein übler Mix aus erwähntem z8530drv
(daraus ist das Linux-Treiber-Interface entnommen) und dem
DOS-USCC-Treiber für PC/FlexNet von Gunter, DK7WJ und
Flori, DL8MBT (daraus ist der Code für die eigentliche
Karten-Ansteuerung entnommen). Letzere haben das OK gegeben,
das Resultat unter die GPL zu stellen, deshalb an dieser
Stelle ein Dankeschön dafür.
Ich weise nochmals darauf hin, daß der Quellcode
nur für Entwickler gedacht ist. Die Kommentare sind -
soweit überhaupt vorhanden - meistens falsch, die
Qualität des Quellcodes zum Teil katastrophal.
Download:
uscc-20010423.tar.gz
(C-Sourcecode)
|
|
|
|
AX25MOND (Linux/C)
Bei ax25mond handelt es sich um ein kleines Programm, das nichts
anderes macht, als Daten von einem Socket zu lesen und diese auf
anderen Sockets zur Verfügung zu stellen.
Damit das ganze Sinn macht, muß man wissen,
daß es sich bei dem Socket, von dem die Daten gelesen werden, um
ein Socket vom Typ SOCK_PACKET handelt. Sockets diesen Typs
können unter Linux nur von Prozessen mit root-Berechtigung
gelesen werden. Bei AX.25-Terminal-Programmen wäre es aber
durchaus wünschenswert, wenn auch "normale" Benutzer den
Traffic auf dem Funk-Kanal beobachten könnten. Deshalb filtert
ax25mond aus den gelesenen Daten die AX.25-Pakete aus und stellt diese
auf beliebigen anderen inet- oder unix-sockets zur Verfügung.
Genaueres entnehme man der im Paket enthaltenen man-page.
Download:
ax25mond-1.0.tar.gz
(C-Sourcecode mit man-page und Beispiel-Konfigurationsdatei)
|
|
|
|
WRKSECT (DOS/C)
Ein kleines Programm, das eine Art "Schweizer Taschenmesser" für
den Umgang mit dem MBR (Main Boot Record) und den Boot-Sektoren der
einzelnen Partitionen einer Festplatte unter DOS darstellen soll.
Alles was es kann, ist (per BIOS-Service-Interrupt) den MBR oder einen
Bootsektor
- zu lesen und die Daten in eine Datei zu schreiben.
- zu schreiben (nachdem die Daten aus einer Datei gelesen wurden).
Die Anwendungsgebiete sind trotzdem vielfältig, denkbar ist z.B.
- die Sicherung des MBRs zum Schutz gegen Viren.
- das Löschen aller Partitionen durch Überschreiben des
MBRs mit Datenmüll.
- das Verschieben eines ganzen Betriebssystems von einer Partition
auf eine andere durch Kopieren aller Dateien und
anschließendem Kopieren des Boot-Sektors.
- der (geringfügige) Schutz der Daten auf einer Festplatte
durch Sicherung des MBRs und anschließendem
Überschreiben des MBRs.
ACHTUNG: Der einzige Luxus, den das Programm bietet, ist, beim
Schreiben des MBRs bzw. eines Boot-Sektors die Partitionstabelle bzw.
den BPB (BIOS parameter block) nicht mit zu überschreiben. Bei
sämtlichen Aktionen gibt das Programm keinerlei Warnung aus.
Man sollte das Programm deshalb nur benutzen, wenn man ganz genau
weiß, was man tut. Wer sich seinen MBR überschreibt, macht
wahrscheinlich seine gesamte Festplatte unbrauchbar. Für
eventuelle Schäden, die durch das Programm entstehen,
übernehme ich selbstverständlich keinerlei Haftung!
Das Programm unterstützt ausschließlich IDE-Festplatten.
Andere Typen (z.B. SCSI) werden nicht unterstützt. Erweiterte
Partitionen werden ebenfalls nicht unterstützt.
Eine Linux-Version des Programms gibt es nicht. Dies ist auch gar nicht
notwendig, weil damit das ganze ohne ein spezielles Programm möglich ist.
Mit dd if=/dev/hda1 of=bootsect bs=512 count=1 kann man z.B.
ohne Probleme den Boot-Sektor der ersten Partition der ersten
IDE-Festplatte auslesen.
Das Programm wurde unter DOS mit Borland C++ 3.1 geschrieben und
compiliert. Getestet habe ich es mit MS-DOS 6.22, es sollte aber auch
mit älteren Versionen lauffähig sein. Eine kurze Hilfe
erhält man durch Aufruf des Programms ohne Parameter.
Download:
WRKSECT.ZIP
(DOS-Executable + C-Sourcecode)
|
|
|
|
PCLFILTER (Linux/C)
PCLFILTER ist der Versuch, ein Programm zu schreiben, das
in einem Datenstrom mit HP's
bescheuerter "Druckersprache" PCL (Printer command language)
die Escape-Sequenzen manipulieren kann. Damit kann man sturen
Programmen, die auf das US-Papierformat LETTER beharren evtl.
auf die Beine helfen. Laserjet 4/5-Drucker haben nämlich
die dumme Angewohnheit, eine Seite, die vom Programm mit
dem PCL-Befehl für das LETTER-Format generiert wurde erst
dann zu drucken, wenn der Benutzer auf dem Bedienfeld den
Druckauftrag manuell fortsetzt. Mit diesem Programm lässt
sich dieser dann durch den PCL-Befehl für A4 ersetzen.
Das Programm ist unfertig. Momentan werden
nur einige PCL-Befehle statisch ersetzt, wobei das ganze
fest codiert ist. Wer das Programm nutzen will, muß
sich also mit PCL auskennen und seine Wünsche im
Source selber reinschreiben. Geplant ist, die zu ersetzenden
PCL-Befehle über eine Konfigurationsdatei einstellbar
zu machen.
Der PCL-Datenstrom wird von STDIN gelesen und auf STDOUT
ausgegeben, so das das Programm je nach Verwendungszweck
noch über geeignete Shell-Skripte aufgerufen werden
muß.
Kompilierung mit:
gcc -O2 pclfilter.c -o pclfilter
Download:
pclfilter-20010501.tar.gz
(C-Sourcecode)
|
|
|
|
SQUIDPAMAUTH (Linux/C)
SQUIDPAMAUTH ist eine PAM-Applikation für die
Benutzer-Authentifizierung des Proxy-Caches
Squid.
In der Squid-Konfigurationsdatei squid.conf kann ein
Benutzer-Authentifizierungs-Programm eingestellt werden, das beim
Squid-Start als Child-Prozess gestartet wird. Gibt nun ein
Benutzer eine Benutzername-/Kennwort-Kombination ein, wird diese in
der Form "<Benutzer-Name> <Kennwort><LF>" an den
Child-Prozess übergeben, der dann "OK" oder "ERR" zurückgibt,
je nach dem, ob dem Benutzer der Cache-Zugriff gewährt werden
soll, oder nicht.
SQUIDPAMAUTH kann als ein solches Programm eingesetzt werden. Es
nimmt die Benutzername-/Kennwort-Kombinationen von Squid entgegen
und setzt sie in einen entsprechenden PAM-Aufruf um. Durch die
Modularität von PAM kann man dadurch eine beliebige
Authentifizierung gestalten, z.B. mit einem Radius-Server oder mit
einem NT-Domänen-Controller. Je nach Wunsch muß dies
in /etc/pam.d/proxy konfiguriert werden.
Kompilierung mit:
gcc -O2 -lpam squidpamauth.c -o squidpamauth
Download:
squidpamauth-20010501.tar.gz
(C-Sourcecode)
|
|
|
|
BCMUTILS (Linux/Perl)
Dies ist eine ungeordnete Sammlung uralter Tools für die
BayCom-Mailbox unter Linux. Sie besteht im Wesentlichen
aus Shell- und Perl-Skripts in einem katastrophalen
Programmierstil, was vor allem daher kommt, daß es meine
ersten Programmier-Versuche unter Linux/Perl gewesen sind
(Aus der Zeit 1996-1997).
Alle enthaltenen Dateien dürften maximal historischen Wert
haben. Zu den meisten Sachen gibt es inzwischen Updates von
anderen Leuten, vieles ist im Laufe der Zeit in die BCM
integriert worden. Es ist in erster Linie eine Sammlung
für mich selbst, weil ich ungern alte Sachen wegschmeisse,
auch wenn sie wertlos sind - vielleicht kann man sie doch
irgendwann mal wieder brauchen ;-).
Soweit ich überhaupt noch weiß, für was das Zeug gut war
hier noch eine kleine Aufstellung inkl. Versionsnummer,
soweit vorhanden:
| bcm.pl (Version 1.1) |
|
Eine kleine Perl-Bibliothek mit Funktionen, die man
für BCM-Tools öfter gebraucht hat. Viele Sachen
liessen sich um Welten kürzer und eleganter machen, aber
wie gesagt: Es waren meine ersten Gehversuche mit Perl.
|
| boxstat (Version 1.6 vom 28.9.96) |
|
Ein Programm, das aus den Log-Dateien der BCM eine
monatliche Statistik erstellt hat. Die Version würde
mit der aktuellen BCM nicht mehr laufen, weil sich
die Log-Formate geändert haben, außerdem ist das
Programm nicht Y2K-safe. Inzwischen gibt es fehler-
bereinigte Versionen von DC0JI und DH8YMB, die
in Packet Radio eingespielt wurden.
|
| cookie (Version 1.0 vom 8.9.96) |
|
Gibt aus einer Datei ein zufällig gewählte Zeile aus.
War dafür gedacht, beim Login oder Logout jedesmal
einen anderen mehr oder weniger witzigen Spruch auszugeben.
|
| delmails (Version 1.0 vom 19.2.97) |
|
Damit lassen sich Board-übergreifend Mails mit
bestimmten Absender-Call, BID, etc. löschen. Stammt
aus der Zeit, in der die ersten Geisteskranken
angefangen haben, die Mailboxen vollzumüllen.
|
| filesurf (Version 2.3 vom 16.1.97) |
|
Ein kleiner Fileserver, mit dem sich der Benutzer
direkt im Filesystem umschauen konnte und sich
Dateien herunterladen konnte. In den aktuellen
BCM-Versionen ist ein File-Server bereits integriert.
|
| ggg |
|
Eine kleine Spinnerei aus der Zeit, in der zwei AFu-Jugend-
gruppen aus Reutlingen und Ingolstadt die Frequenzen mit
sinnigen "Sätzen" wie grins, grumpf, grummel, usw. zugemüllt
haben. Dieses Tool hat dem Schwachsinn die Krone aufgesetzt,
indem man einen anderen Box-Benutzer mit Befehlen wie
"GRINS DG4SGE" und dergleichen belästigen konnte. ;-)
|
| maex (Version 1.0 vom 1.1.97) |
|
Ein Tool, um aus hereinkommden 7plus-Mails automatisch
die kompletten Dateien zusammenzustellen und in den
Fileserver legen zu lassen. Soweit ich mich erinnern kann,
habe ich dieses Programm nie veröffentlicht, weil es nie
fertig geworden ist.
|
| mailserv (Version 1.3a vom 13.7.97) |
|
Eine Art Mailing-List-Server, um Mails an bestimmte
Benutzer-Gruppen verteilen lassen zu können. In den
aktuellen BCM-Versionen ist ein Mailing-List-Server
bereits integriert.
|
| readstat (Version 1.0 vom 5.9.96) |
|
Zeigt zu einem bestimmten Board eine kleine Top-Liste
mit den Calls an, die in diesem Board die meisten
Mails gelesen haben.
|
| run (Version 1.0 vom 18.11.96) |
|
Ein Programm zum Hinzufügen von Run-Utilities. Funktioniert
mit aktuellen BCM-Versionen nicht mehr, weil dort die
Run-Utilities über eine eigene Datei konfiguriert werden,
während dies früher über einen Parameter in der Datei
INIT.BCM erledigt wurde.
|
| tools |
|
Keine Ahnung, was das hätte werden sollen. Sieht aus
wie der Versuch, im AFu verwendete CRC-Routinen
in Perl zu implementieren. Wäre sicher furchtbar schnell
gewesen. ;-)
|
| wx |
|
Zur Erfassung und Darstellung von Wetterdaten. Die Erfassung
erfolgt durch die Benutzer, die ihre Daten manuell eingeben,
d.h. es gibt keine Möglichkeit, die Daten von einer Wetter-
station zu übernehmen. Ich habe das Programm nie für
besonders sinnvoll gehalten, es ist nur auf Wunsch eines Benutzers
entstanden.
|
Download:
bcmutils-20010422.tar.gz
(Archiv mit allen Programmdateien inkl. Dokumentation)
|
|
|
|
|