Artikel mit Tag ProgrammeDienstag, 9. Februar 2010interner BlogumbauMehr zur Warnung an alle Leser: Ich bin gerade dabei mal ein Punkte auf der Todo-Liste für diesen Blog abzuarbeiten:
Geschrieben von mømø
um
17:33
| Kommentare (0)
| Trackbacks (0)
Tags für diesen Artikel: Maschinenraum, programme
Freitag, 24. Juli 2009Ich baue meinen eigenen DNS-ZensurserverIch hatte gerade die Anforderung, dass ein Server an bestimmte Clients die Existenz von einigen Domains verschweigen muss, den Rest aber als forwarder normal aufzulösen hat. Nach ein bisschen gefrickel habe ich rausbekommen, dass es garnicht so schwer ist:
Eigentlich braucht man nur einen "Ich weiß von Nix"-View, und einen zweiten, der passend die Anfragen aufteilt:
Und wer sich jetzt wundert, weshalb man das nicht einfach per ACL verbietet - die Antwort sieht anders aus, jenachdem, ob ein SERVFAIL (u.a. per ACL verboten) oder ein NXDOMAIN (die Domain gibt es nicht) geschickt wird, und somit ist der ACL-Fall recht einfach zu detektieren. Dienstag, 8. April 2008PHP und Sicherheit...Als ich einen Eintrag beim Wohnzimmerhostblogger gelesen habe, musste ich schon schlucken. Dieser Bug ist seit über einem Jahr offen, und das PHP-Team meint es wäre nicht ihr Problem. Kurz zusammengefasst: Unter *IX findet der Zugriff auf eigentlich alles über sogenannte File-Deskriptoren (kurz FD) statt. Wenn Apache als Webserver läuft, hat er nun also einen File-Deskriptor für die IP und den Port, auf dem er lauscht, offen. Damit weiß das Betriebssystem, wohin es Anfragen weiterleiten muss, und der Apache hat eine Art Eingangskanal für die Anfragen. Ein Apache-Modul, so zum Beispiel PHP, hat automatisch als Teil von Apache auch Zugriff auf diese ganzen FDs. Wenn aus PHP heraus nun ein Programm gestartet wird, sollten diesem diese FDs aber nicht zur Verfügung gestellt werden. PHP räumt hier aber in keiner Weise auf, so dass ein über PHP (mittels system(), exec() oder eines der diversen anderen Kommandos) gestartetes Programm auf diesen FD auch zugreifen kann. Und nicht nur das, es kann ihn sogar übernehmen! Konkret heisst das, sobald man auf einem System Dateien hochladen kann, kann man damit ein PHP-Skript und ein kleines Programm hochladen. Dieses Programm wird nun über PHP gestartet, und schnappt sich die FDs vom Apache. Und kann nun zum Beispiel Web-Server spielen, ohne dass es von außen zu bemerken ist. Und damit auf den verbreiteten Shared-Hosting-Systemen, die viele Kundenpräsenzen mit einem Apache bedienen, auch die Anfragen an alle anderen Kunden sich unter den Nagel reißen. Und nicht nur das, auf alle Log- und sonstigen Dateien die der Apache offen hat (eventuell auch SSL-Zertifikate o.ä.) kann damit zugegriffen werden Und nun stellt sich PHP da hin und meint, es wäre nicht ihr Problem. Von mir aus, dann sollten sie sich aber im Zuge einer Behebung doch selber darum sorgen, dass es im Apache oder wo auch immer sie meinen dass das Problem eigentlich herkommt, geschlossen wird. Wie gut, dass ich weder den Apache als Webserver noch PHP als Modul einsetze, da besteht dieses Problem nämlich nicht. Sonntag, 6. April 2008VIM und DNS-Zonen-Serial automatisch hochdrehenDieses Skript, in ~/.vim/plugin/dnstools.vim versenkt, bietet das Kommando Richtig komfortabel wird es aber erst durch ein autocmd BufWritePre /etc/bind/m/* call DNSserial()in der .vimrc, wodurch bei jedem Schreibaufruf auf eine Datei in /etc/bind/m/* (wo meine Master-Zonefiles liegen) das Skript aufgerufen wird. Nie mehr Inkonsistenzen zwischen Master und Slave durch versehentlich nicht hochgedrehte Serials! Montag, 22. Oktober 2007TCP over DNS mit dns2tcpWer kennt das nicht, Handy ist zu langsam (GPRS) oder zu teuer (UMTS) und der einzige empfangbare Accespoint will auch noch bezahlt werden. Zumindest für klassischen Traffic, denn DNS lassen die meisten Hotspots durch. Und genau hier greift dns2tcp. Die Dokumenatation ist etwas lückenhaft, aber nachdem ich schon für GRML-Tips die Installation beschrieben habe, will ich dies hier auch nocheinmal tun: "TCP over DNS mit dns2tcp" vollständig lesen Samstag, 28. Juli 2007Timo hat LangeweileAnders kann ich mir die nahezu sofortigen Antworten und Änderungen nicht erklären. Um 15:09 habe ich an die cmus-Mailingliste geschrieben, dass der weltbeste Musikplayer cmus durch ständige nanosleeps und damit verbundene Wakeups meine CPU aus dem Schlaf reißt. Damit verbringt sie weniger Zeit als eigentlich möglich im C3-State, in welchem sie schon sehr tief schläft und dementsprechend weniger Energie verbraucht, was meinem Laptop wieder zu längerer Laufzeit verhilft. Um 16:43 kam schon die erste Antwort, insofern sehr gut klingend, als dass Timo, der Autor von cmus, selbst das Problem auch sieht: cmus' threads use nanosleep() to sleep usually 50 ms and then check whether player status has changed etc. I know this is ugly and should be fixed. Some sleeps could be replaced with pthread_cond_wait() quite easily, I think. I'll see what I can do.Kurz darauf kam auch schon der git-commit, in welchem die angekündigten Änderungen durchgeführt wurden. Aber es sollte noch besser kommen, 18:11 kam noch eine Ergänzung. Die Änderungen die er vorhin commitet hat haben zu ein paar Verbesserungen geführt, aber das eigentliche Problem der Schleife und checks wird wohl auch verschwinden: Some time ago I started rewriting player.c to request based (main thread just adds commands to a queue and the producer thread would do the real work) and used pthread_cond as much as possible. But code in the master branch has diverged quite a lot since then (replay gain etc.) and I wasn't sure if the rewrite would be useful so I let the code rot.So machen Bugreporten Spass :D Donnerstag, 28. Juni 2007GPS-Routen in Google EarthGoogle Earth verwendet das proprietäre kml-Format, um Wegpunkte abzuspeichern, und bietet für verbreitetere Formate wie GPX nur in der kostenpflichtigen Version Unterstützung. Aber Dank gpsbabel ist das kein Problem:
Wer kein GPS-Empfänger hat, aber trotzdem gerne Routen erstellen würde, sollte mal unter http://www.wegeundpunkte.de/ vorbeischauen. Hier lassen sich auch GPX-Routen ohne Extrasoftware erstellen, so direkt und interaktiv im Browser. Dienstag, 3. April 2007Wie man nVidia vom Gegenteil überzeugtSdK hat hier gerade für mich das fast unmögliche möglich gemacht: Ich habe an meinem Rechner zwei Bildschirme hängen, die an völlig anderen Stellen im Zimmer stehen, der eine am Schreibtisch, der zweite zum bequemen Videoschauen aus dem Bett. Daher wollte ich auch kein Xinerama verwenden, sondern "normalen" DualScreen-Betrieb haben. Das Problem war nun, dieses wunderbar beschissene Miststück von Treiber davon zu überzeugen, dass der LCD der primäre Monitor (auf dem ich mein entrance zum einloggen und dann auch den Windowmanager haben will) ist. Der Trick waren die "UseDisplayDevice"-Optionen in der Screen-Sektion, das Problem war die nicht nachvollziehbare Zuordnung von Monitor und config-direktiven, so dass immer mal wieder die Auflösungen vertauscht waren oder doch wieder der CRT als primärer Monitor verwendet wurde. Die Konfiguration, mit der es nach ca 2h Testen endlich tat, sieht nun folgendermaßen aus:
"Wie man nVidia vom Gegenteil überzeugt" vollständig lesen Dienstag, 6. März 2007Finnische Gedanken zu Softwarelizenzen
Durch URS wurde ich auf den Debian-Bugreport #413469 ion3: The package is outdated aufmerksam gemacht. Darin beschwert sich Tumov, der Programmierer hinter ion3, darüber, dass in Debian Stable eine veraltete Development-Version von ion3 enthalten ist, die doch bitte entfernt/geupdatet werden soll. Zwischenzeitlich überlegt er sogar, seine Lizenz um etwas wie das folgende zu erweitern:
Montag, 5. März 2007Druckränder in CUPS nachjustierenIch habe mir vorhin mal eine halbe Stunde Zeit genommen, um bei meinem Drucker endlich die Ränder richtig nachzujustieren, denn auf OpenPrinting (ehemals linuxprinting.org) gibt es zwar PPDs für alle möglichen Geschwister meines Brother HL-2070N, aber nicht für ihn selbst. Somit wurde immer rechts, oben und links ein Stück des Ausdrucks abgeschnitten. Um nun für einen Drucker die passenden Margins zu bestimmen, gibt es ein kleines Programm alignmargins - Program to adjust the margins and the centering when printing PostScript files on a printer set up with CUPS. Especially needed on PCL laser printers from other manufacturers than HP since the GhostScript PCL drivers are mainly tested on HP printers. To use it, follow simply the instructions on the screen. If it fails, adjust the paths in the beginning of the script (script written in Perl). The program saves the adjustments in the PPD file of the print queue (/etc/cups/ppd/ "Druckränder in CUPS nachjustieren" vollständig lesen Montag, 19. Februar 2007lighty als http(s)-reverse-ProxyWie schon berichtet, hat bei mir jede (Sub-)Domain ihr eigenes chroot. Daraus ergibt sich nun aber das (noch-nicht)-Problem, dass ich maximal 17 (Sub-)Domains (ein /28 IPv4 und die Standard-IP) verwenden kann. Daher habe ich seit heute einen weiteren lighty laufen, diesen aber als Reverse-Proxy, der je nach angefragtem Host die Anfrage an einen der anderen, auf localhost lauschenden lighty (wenn ich es mal brauchen sollte würden hierdurch auch Tomcat und andere Perversitäten gehen) weiterreicht. Als besonderes Schmankerl fungiert er gleichzeitig noch als https-Verschlüssler. Ich habe mir hierzu bei CAcert ein Zertifikat mit mehreren SubAltNames, welches sämtliche Domains enthält, erzeugt. Mit diesem einen Zertifikat füttere ich nun nur den Proxy, und schon sind alle Seite hintendrann auch über https erreichbar! Das genaue Setup dazu sieht wie folgt aus: "lighty als http(s)-reverse-Proxy" vollständig lesen Freitag, 16. Februar 2007Blog umgezogen....So, nun ist mein Blog also auch auf dem neuen Server angekommen. Dort läuft er nun schön brav in seinem eigenen chroot (über das genaue Setup und die Erfahrungen mit jailer und jailtool werde ich noch seperat Berichten), mit einem lighty anstatt Apache als Webserver und hoffentlich insgesamt mehr Performance. Falls es irgendwo zu Problemen durch falsche Berechtigungen, die Rewrite-Regeln, 404ern oder sonstwas kommt, würde ich um eine kleine Nachricht biten...
Geschrieben von mømø
um
10:48
| Kommentare (0)
| Trackbacks (0)
Tags für diesen Artikel: Befriedigung, Programme
Donnerstag, 25. Januar 2007Firefox RekursivMal wieder etwas zum Thema Geekspielereien, diesmal mit einem Bild zum Einstieg: Donnerstag, 5. Oktober 2006"Das WLAN der TUD" oder "Landesign auf Drogen"Ja, manchmal Frage ich mich doch, was haben Leute geschluckt die sich sowas ausdenken wie das LAN an der Technischen Universität Darmstadt. Eigentlich dachte ich im ersten Moment, das sieht aus wie in Heidelberg oder Mannheim, man verbindet sich per WLAN, bekommt eine IP per DHCP und landet erstmal in einem "Toten Netz", welcher als Tor zur Außenwelt einen VPN-Server anbietet. Traditionellerweise einen von Cisco, sprich man kann sich seinen Netzwerkstack mit dem Originalclient total durcheinanderbringen, oder aber den vpnc verwenden und (fast) glücklich werden. Denn er unterstützt leider immernoch kein rekeying, so dass man im Normalfall nach 8h Connection rausfliegt. So, der vpnc war Dank einer Infoseite der TUD problemlos einzurichten, aber dann war immer nach 5Minuten Ende der Verbindung. Aufgrund der Leasetime von 300s begann ich, den Fehler im DHCP-Umfeld zu suchen. Die Aktion war sehr amüsant, in ein paar Minuten sich möglichst viele Ausgaben übers IRC schicken lassen, nachdenken, und wenn die Verbindung das nächste mal steht Lösungsvorschläge unterbreiten, bis das ganze tat. Denn das Problem hatte nicht ich, sondern meine Freundin - und während der Vorlesung konnten wir schlecht telefonieren. Ausschlaggebend für die erste Verwunderung waren IP des DHCP-Servers sowie die Routen:
""Das WLAN der TUD" oder "Landesign auf Drogen"" vollständig lesen Mittwoch, 20. September 2006Linus talks like a pirate
Wir hatten gestern den International Talk Like A Pirate Day. Und selbst wenn Kris ihn als unnötig abstempelt, scheint Linus Torvalds an ihm gefallen gefunden zu haben, so schreibt er im Changelog zum Kernel 2.6.18
Linux v2.6.18. Arrr!
(Seite 1 von 2, insgesamt 23 Einträge)
» nächste Seite
|
SucheTagsBlog abonnierenTop Exitsgallery.augsburger.name (57)
suckz.eu (30) geek-woman.de (27) bidoma.geek-girl.de (21) de.wikipedia.org (20) ImpressumVerwaltung des Blogs |
