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
).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
).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-7.4) - OpenBSD-Port
openpoppassd v1.1
(für OpenBSD 3.7-7.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