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!
- freeX-Artikel (Heft 4/2005)
- Quellcode von
fetch-dsl-ip.sh
- Quellcode von
fetch-dsl-ip.php
- Quellcode von
get-dsl-ip.sh
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 ;-)
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-Recht) zu trennen.
Vergleiche OpenNTPD.
- Quellcode von
openpoppassd-1.1.tgz
(für OpenBSD 3.7-4.4) - OpenBSD-Port
openpoppassd v1.1
(für OpenBSD 3.7-4.4)
(Falls jemand diesen Dienst unter einem anderen UNIX [Linux, FreeBSD, NetBSD etc.] verwendet, wäre ein Feedback schön!)
2.5 qpsmtpd-plugins

Currently there are 3 plugins for the qpsmtpd
mail server:
- distribution_frame: Plugin to copy
and/or redirect email due to
recipient
,sender
andheader
information based on a distribution list. Designed to be a "distribution frame" for emails passing theqpsmtpd
. It only works on the envelope and therefore does not change any user visible headers or the email content itself. 21.3.2013: Now macros are allowed in rule definitions. - attachment_inspection: Plugin to
extract the attachments of emails passing the
qpsmtpd
. It stores all attachments of an email together as a TGZ-archive in the file system, so they can be reviewed by a supervisor. The original email stays untouched. Main purpose is to make it possible to detect afterwards whether secret information has left the company. - attachment_extraction: Plugin to
extract one or more attachments of emails passing
the
qpsmtpd
. It stores attachments as files in a given directory so that they can be processed later by any program or user. The original email stays untouched. Main purpose is to automize processing of email attachments. The extract decision bases on email header data likefrom
,to
,subject
andattachment name
, not on email envelope data.
cvs -d :pserver:anonymous@anoncvs.ostc.de:/public co qpsmtpd-plugins
2.6 OpenBSD Ports 
Ports für OpenBSD:
- gcal-3.01
(
Gcal
) - grap-1.43
(
grap
) - openpoppassd-1.1 (
openpoppassd
) - p5-IMAP-Client-013 (CPAN
IMAP::Client
)
cvs -d :pserver:anonymous@anoncvs.ostc.de:/public co obsdports