Hinweis: Hier finden Sie Quellcode, Dokumentation und CVS-Zugang zu
einigen unserer internen Projekte.
Bitte beachten Sie unseren Copyright-Hinweis.
Wenn Sie Fragen oder Wünsche zu einem Projekt haben,
nehmen Sie bitte mit uns Kontakt auf
(per
Telefon,
Fax oder
E-Mail).
1 Anonymer CVS-Zugang 
Die aktuelle Version aller Projekte
kann auch aus unserem anonymen CVS-Repository ausgecheckt werden per:
cvs -d :pserver:anonymous@anoncvs.ostc.de:/public co <PROJECTNAME>
Den jeweiligen <PROJECTNAME> finden Sie im
Inhaltsverzeichnis und in der Überschrift zu jedem Projekt.
2 Projekte 
2.1 dynip — Dynamische IP-Adressen selbst verwalten ohne DNS 
Das Veröffentlichen dynamischer IP-Adressen (z.B. von
DSL-Anschlüssen) erfolgt häufig per DynDNS.org über einen DNS-Namen. Dieses Verfahren
funktioniert sehr gut und ist sogar kostenlos. Es hat aber den Nachteil, dass
die Namen der eigenen Rechner für die ganze Welt veröffentlicht
werden und man von einer fremden Instanz abhängig ist.
Um nur für sich selbst und/oder einige Kunden ein derartiges Szenario unter
eigener Kontrolle aufbauen, gibt es folgende Möglichkeit: Von einem für
alle erreichbaren Apache-Webserver wird periodisch an allen dynamisch
per DSL angebundenen Stellen durch einen einzigen, aber beliebigen Rechner
eine Dummy-Webseite abgerufen (z.B. 1x pro Minute/Stunde die Seite
dynip.html). Dieser Abruf erscheint im Accesslog des
Webservers.
Die beste Lösung (die den geringsten Overhead erzeugt) wäre, nur
beim Aufbau einer DSL-Verbindung (z.B. nach der täglichen Zwangstrennung)
eine HTTP-Anfrage an den Webserver zu stellen. Das ist aber nur dann möglich,
wenn sich dies im Gerät zum Aufbau des DSL-Zugangs konfigurieren läßt,
weil nur dieses Gerät den Zeitpunkt eines Verbindungsaufbaus erkennen kann.
Will man sicherstellen, dass nur Berechtigte Einträge dieser Art
im Accesslog des Webserver erzeugen können, gestattet man den Abruf dieser
Seite per htaccess nur bei Kenntnis eines Namen + Passwort.
Es ist völlig egal, welcher Rechner an den dynamisch angebundenen Stellen
den Abruf der Webseite macht (eine Möglichkeit wäre ein Linux-Rechner, der
wget über einen crontab-Job ausführt).
Auf dem Webserver läuft periodisch ein PHP-, Perl- oder Shell-Skript
(z.B. 1x pro Minute oder 1x pro Stunde), das die Accesslog-Datei
liest (es genügt, ein Stück vom Ende der Datei zu lesen), die obigen
Abrufe herausfiltert und die IP-Adressen + einen geeigneten Namen für
die Abrufstelle in einer Tabelle ablegt (fetch-dsl-ip.sh,
fetch-dsl-ip.php). Dies kann z.B. in Form einer HTML-Seite
dsl-ip.html in folgendem Format erfolgen (die Angabe von Datum
und Uhrzeit ist sinnvoll, um das Alter der Information erkennen zu können):
20050913 14:42:34 212.114.236.193 SITE_A
20050913 14:41:59 80.123.231.75 SITE_B
20050913 14:42:34 182.45.120.1 SITE_C
... ... ... ...
Per Abruf dieser HTML-Seite kann die IP der gewünschten Gegenstelle dann
einfach ermittelt werden (get-dsl-ip.sh). Auch der Abruf dieser
Seite sollte per htaccess nur Berechtigten gestattet werden.
Ein Artikel von uns dazu ist in der Zeitschrift "freeX 4/2005"
erschienen, seit Mitte August 2005 ist er auch hier zu finden!
2.2 mcc — Merging C-Compiler 
Stellt einen "Wrapper" um C/C++-Compiler dar, mit dem ohne IDE
nur mit Hilfe eines normalen Texteditors Syntaxfehler interaktiv und
iterativ aus C/C++-Quellcode entfernt werden können.
Ein uraltes Projekt (1984 von Brent Callaghan), das einer von uns mal an der
Uni "verschlimmbessert" und jetzt wiederentdeckt und nochmal überarbeitet
hat. Im Internet ist es leider nicht mehr zu finden, daher bieten wir es
hier in einer "modernisierten" Form an (ANSI-Funktionsköpfe, ordentlich
dokumentiert, …). Dieses Programm kann frei verwendet und verteilt
werden, es darf hingegen nicht verkauft werden.
Details zu den Möglichkeiten von mcc finden Sie hier.
2.3 nwsc — Nagios Windows Service Checker 
This project was inspired by nagios-wsc-v0.8. But since that was written as a
.NET-Webservice it wasn't really what we wanted. So we wrote a pure
Perl Windows Service nwsc (nagios windows service checker),
which does more or less the same: It enables you to check as many Windows
client machines through Nagios as you like without installing any software
on these machines.
You only have to install the Windows Service nwsc
on ONE Windows host (master), which can reach all the other Windows hosts
(clients) to be checked. nwsc uses WMI (Windows Management
Instrumentation) to retrieve information from the other Windows
hosts. Possible checks are:
- Check for any Windows services
- Check for any Win32_Class
- Check for uptime
- Check for disk space
- Check for … (as you like, just ask us to implement it ;-)
The retrieved information is interpreted by a Nagios Plugin
check_nwsc, which has to be integrated in your Nagios Server.
Remote (Monitored) Hosts
+----------+
+--------------------+ +-->| Windows Slave |
| +------+ +-------+ | HTTP +----+ WMI | +----------+
| | Nagios |-->|check_nwsc|------>| NWSC |----+
| +------+ +-------+ | +----+ +--> ...
+--------------------+ Windows +--> ...
Monitoring Host Master +--> ...
This project is licensed under the GPL V2.
If anybody uses this service, Feedback would be gentle!
2.4 openpoppassd — Daemon zum Passwort-Ändern per TCP/IP-Socket 
Ein Daemon, der es beliebigen Anwendungen ermöglicht, Passworte
über einen lokalen TCP/IP-Socket (127.0.0.1:106) zu ändern. Insbesondere dann
hilfreich, wenn eine Web-Anwendung in einer Change-Root-Umgebung läuft.
Entwickelt auf und für OpenBSD 4.1. Verwendet Privilege Separation, um
den Programmteil zur Kommunikation mit der Anwendung (meist ein Web-Client [z.B.
das passwd-Modul aus
dem sork-Projekt des Horde-Frameworks]) mit normalen
Benutzer-Rechten vom Programmteil für die Passwortänderung (mit root-Rechten) zu
trennen.
Vergleiche
OpenNTPD.
(Falls jemand diesen Dienst unter einem anderen UNIX [Linux, FreeBSD, NetBSD
etc.] verwendet, wäre ein Feedback schön!)
2.5 qpsmtpd-plugins 
Actual there are two plugins for the qpsmtpd-Mailserver:
distribution_frame: Copy and/or redirect mail due to recipient, sender and
header information based on a distribution list. This plugin is designed to be
a "distribution frame" for mails passing the "qpsmtpd". It only works on the
envelope and therefore does not change any user visible headers or the mail
content itself.
attachment_inspection: This plugin is designed to extract the attachments of
mails passing the qpsmtpd. It stores attachments in the file system as TGZ
archive, so they can be reviewed by a supervisor. The original mail stays
untouched. Main purpose is to make it possible to detect afterwards whether
secret information has left the company.
Get it with
cvs -d :pserver:anonymous@anoncvs.ostc.de:/public co qpsmtpd-plugins
2.6 OpenBSD Ports 
Ports für OpenBSD:
Ports not in the official portstree may be checked out by
cvs -d :pserver:anonymous@anoncvs.ostc.de:/public co obsdports
© 2003-2010 OSTC GmbH — $projects.pg,v 1.50 2009-05-24 13:39:07$
|