seeseekey.net - Invictus Deus Ex Machina

Unter Umständen kann es vorkommen, das die MediaWiki Software im Betrieb eine Ausnahme (Exception) wirft. Dann bekommt man eine Meldung nach dem Schema:

[6030c238] 2015-02-16 8:48:30: Fatal exception of type MWException

Diese Aussage ist natürlich zur Fehlerfindung nicht sehr aussagekräftig. Damit man eine ausführliche Ausgabe zur Exception bekommt, muss in der LocalSettings.php Datei folgende Option hinzugefügt werden:

$wgShowExceptionDetails=true;

Anschließend erhält man im Falle eine Exception einen sauberen Callstack, mit welchen man sich auf Fehlersuche begeben kann.

Beim Debuggen mit dem Visual Studio 2013 fiel mir ein Problem mit dem Watch-Fenster auf. Die Anzeige des Watch-Fensters bestand nur noch aus schwarzen Balken. Damit lässt sich natürlich schlecht debuggen, so das Abhilfe geschaffen werden musste.

Das Watch-Fenster zeigt nur noch schwarze Balken

Eine Umstellung der Farbschemas von Blue auf Dark oder Light brachte Besserung, allerdings betreibe ich mein Visual Studio lieber im Farbschema Blue. Doch nach dem Zurückschalten sind die schwarzen Balken im Watch-Fenster wieder da.

Nach der Umstellung funktioniert das Watch-Fenster wieder

Bei diesem Problem scheint es sich um einen Fehler im Visual Studio zu handeln, welcher mit einem etwas kruden Workarround behoben werden kann. Dazu sucht man in den Optionen den Punkt Fonts and Colors und ändert dort die Farbe für den Punkt Merge — Block selection box auf White. Anschließend ist das Watch-Fenster wieder nutzbar.

Mittels WebRTC ist es mögliche Dinge wie Videokonferenzen mit einem Browsers durchzuführen. Allerdings gibt es dabei auch ein Problem — damit Rechner hinter einem NAT diese Funktionalität nutzen können, kann ein STUN-Server, nach der öffentlichen IP-Adresse befragt werden.

Die entsprechende Konfiguration

Nutzt man nun eine VPN-Verbindung, kann man mit Hilfe dieser STUN-Server, nach der Adresse fragen, welche das VPN aufgebaut hat. Das entsprechende Demo kann man sich auf GitHub ansehen. Um diese Verhalten zu deaktivieren, muss in der Adresszeile des Firefox about:config eingegeben werden und der Wert media.peerconnection.enabled auf false gesetzt werden.

WebRTC Block
Preis: Kostenlos

Anschließend ist man gegen derartige Angriffe gewappnet. Für Chrome gibt es eine entsprechende Erweiterung, welche das gleiche bewirkt.

Bei einer WordPress Multisite-Installation gibt es unter Updates den Punkt Netzwerk aktualisieren. Wenn man seine Multisite-Installation mit selbstsignierten Zertifikaten betreibt, kann es dabei zu folgender Fehlermeldung kommen:

https://wordpress.example.com/mysite1

Warnung! Problem beim aktualisieren von https://wordpress.example.com/mysite1. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem: self signed certificate

Um das Problem zu lösen packt man folgendes Plugin, in den WordPress-Plugin-Ordner:

<?php
/*
* Plugin Name: Deactivate SSL Verify
* Description: Deactivate SSL verification
* Author: seeseekey
* Author URI: http://seeseekey.net
* Plugin URI: http://seeseekey.net
*/
add_filter('https_ssl_verify', '__return_false');
add_filter('https_local_ssl_verify', '__return_false');

Nachdem das Plugin aktiviert wurde, kann die Aktualisierung des Netzwerkes durchgeführt werden. Anschließend kann das Plugin wieder deaktiviert werden.

Mein vor einiger Zeit aufgesetzter Proxyserver startete nicht mehr. Stattdessen bekam ich von Polipo nur noch die Meldung:

Starting polipo: Couldn't open log file /var/log/polipo: Permission denied

Allerdings ließ sich das ganze relativ problemlos aus der Welt schaffen:

touch /var/log/polipo
chmod 640 /var/log/polipo
chown proxy:proxy /var/log/polipo

Danach konnte der Dienst mittels:

service polipo restart

wieder gestartet werden.

Mittels Sideloading kann man unter auch Emulatoren auf den Fire TV von Amazon bringen. Für die Emulation eines Nintendo 64 eignet sich der Emulator Mupen64Plus AE, bei welchem es sich um freie Software (unter GPL lizenziert) handelt. Allerdings gibt es mit diesem Emulator auf dem Fire TV ein Problem. Da der Fire TV keinen Möglichkeit für Toucheingaben bietet, kann man die Controller nicht konfigurieren.

Die Einstellungen für die Controller-Konfiguration

Abhilfe schafft hier ein Blick in die Einstellungen. In den erweiterten Einstellungen findet sich der Punkt Erreichbarkeit. Wenn man diese Option auf Großbildschirm-Modus stellt, ist der bzw. die Controller auf dem Fire TV konfigurierbar.

Gestern versuchte ich ein NSOutlineView mit einer Datenstruktur zu befüllen. Nachdem dies gelungen war, gab es allerdings ein Problem. Das NSOutlineView zeigte für jeden Eintrag immer nur Table View Cell als Beschriftung an.

Der Objektinspektor unter Xcode

Die Lösung für das Problem ist dabei relativ simpel, wenn man weiß an welcher Stelle man suchen muss. So muss der Content Mode des NSOutlineView von View based auf Cell based umgestellt werden. Anschließend werden die Einträge, welche durch die von NSOutlineViewDataSource abgeleitet Klasse bereitgestellt werden, korrekt dargestellt.

Manchmal kann es bei einem Tonerwechsel des Brother HL-3170 passieren, das der neue Toner nicht erkannt wird. Stattdessen verlangt der Drucker den Toner erneut zu wechseln. In einem solchen Fall kann man das Problem einfach durch einen Reset der entsprechenden Tonerinformation im Drucker lösen.

Ein Brother HL-3170CDW

Bei geöffneter Klappe müssen dazu die Secure und Cancel Tasten gleichzeitig gedrückt werden. Nun befindet man sich im Resetmenü und kann dort den entsprechenden Toner zurücksetzen. Nach der Bestätigung des Resets, kann die Klappe wieder geschlossen werden. Der Toner sollte nun wieder funktionieren.

Für einen Server hatte ich vor einigen Tagen unter Ubuntu 14.04 LTS eine Netzwerkbrücke eingerichtet. Die /etc/network/interfaces Datei sah danach in etwa so aus:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet dhcp
bridge_ports eth0

Nach einem Neustart gab es dann allerdings ein Problem. Der Server war nicht mehr erreichbar. Der Grund dafür war simpel — es fehlte das Paket bridge-utils — nach der Installation desselben mittels:

apt-get install bridge-utils

funktionierte die Netzwerkbrücke wieder ohne Probleme.

Möchte man Testen ob man vom Shellshock-Fehler betroffen ist, gibt man auf der Konsole folgendes ein:

env x="() { :;} ; echo Anfällig für Shellshock" /bin/sh -c "echo Shellshock-Test"

Wenn man betroffen ist gibt diese Kommandozeile:

Anfällig für Shellshock
Shellshock-Test

aus. Ist man nicht betroffen erhält man folgende Ausgabe:

Shellshock-Test

Versuche Shellshock von Außen zu nutzen kann man feststellen indem man seine Logdateien nach diesem Beispiel:

cat logfile.log | grep };

abgrast. Bei einem Webserver Log könnte das ganze dann z.B. so aussehen:

192.168.1.15 - - [27/Sep/2014:19:32:19 +0200] "GET / HTTP/1.1" 200 18804 "-" "() { foo;};echo;/bin/cat /etc/passwd"

Alternativ kann man ein Skript nutzen, welches von einem Golem Autor erstellt wurde. Der Quelltext für das Skript ist dabei auf GitHub zu finden.