Pidgin XMPP mit Selfsigned-Zertifikaten

Huh? Bei einer Neueinrichtung ließ sich Pidgin nicht dazu überzeugen eine Verbindung zu meinem XMPP(/Jabber)-Server herzustellen – SSL fehler. Ursache ist offenbar, dass das verwendete Zertifikat nicht von einer CA signiert wurde, der das System standardmäßig vertraut.

Erste Möglichkeit: Die CA bzw. das selbstsignierte Zertifikat im System importieren. Auf den meisten Systemen sind hierzu jedoch Systemverwalterrechte erforderlich, sodass diese Methode nicht immer machbar ist – also schnell weiter zu…

Zweite Möglichkeit: Per Hand. Hierzu benötigen wir ebenfalls erst mal das Zertifikat. Hat man dies nicht zu Hand kann man sich mit OpenSSL behelfen. Als Client instrutiert wird u.A. das Zertifikat in ASCII ausgegeben:

openssl s_client -host myjabber.server -port 5222  -starttls xmpp

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Dieses Zertifikat – inklusive der BEGIN/END CERTIFICATE-Header – kopiert man in eine Textdatei und speichert sie als *.pem-Datei auf der Festplatte ab. Um dieses Zertifikat nun in Pidgin zu erlauben öffnet man Werkzeuge->Zertifikate und wählt unter hinzufügen die zuvor gespeicherte Datei aus.

Bild: https://adlerweb.info/blog/wp-content/uploads/2015/08/sslpidgin-300×120.png

Nun sollte die Verbindung korrekt funktionieren. Schade, dass hier keine einfachere Nachfrage implementiert wurde, welche beim ersten Verbinden ohne weiteren Eingriff eine Zertifikatsausnahme zulässt.

Notizzettel: Wenn mal wieder sinnlose Fehler auftreten…

Wenn man plötzlich mit recht nichtssagenden Meldungen wie

Version: 2.1.1, Linux Version: 2.1.1, Package Iteration: 
go get -v github.com/tools/godep
github.com/tools/godep
go build github.com/tools/godep: /usr/lib/go/pkg/tool/linux_amd64/link: signal: killed
exit status 1
exit status 1

oder auch

remote: Counting objects: 56476, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 56476 (delta 0), reused 0 (delta 0), pack-reused 56464
Receiving objects: 100% (56476/56476), 94.21 MiB | 6.98 MiB/s, done.
error: index-pack died of signal 92)   
fatal: index-pack failed

beworfen wird, so kann die Ursache auch recht banal und im Log schnell auffindbar sein:

Out of memory: Kill process 2308 (git)

Eyeup, die Kiste hat recht wenig RAM und keinen SWAP eingerichtet – könnte krachen, vor allem wenn Speicherfresser wie node.js mitreden möchten. Auch kann es in diesem Fall helfen /tmp nicht als Ramdisk (tmpfs) laufen zu lassen.

BitBastelei #162 – Wir bauen ein Freifunk-Gluon

BitBastelei #162 - Wir bauen ein Freifunk-Gluon

(38 MB) 00:10:56

2015-08-23 10:00 🛈

Zwischen den ganzen Chaos-Konferenzen muss auch noch etwas Hausarbeit sein: Das auf OpenWRT basierende Freifunk-Framework „Gluon“ ist vor kurzem in der Version 2015.1.2 erschienen – guter Zeitpunkt um die neue Version zu kompilieren und zu zeigen, wie man selbst mit wenigen Schritten seine eigene Firmware baut und so lokale Anpassungen vornehmen kann.

Gluon: https://github.com/freifunk-gluon/gluon
Sit.conf MYK: https://github.com/FreifunkMYK/site-ffmyk

ZFS: Dateien trotz vollem Datenträger löschen

Narf – da war der Bug schneller als der Admin hinter dem Monitoring: 0k freier Speicher vermeldet ein ZFS-Storage. Na kein Problem, kaputtes Programm gestoppt und schnell mal den Schrott gelöscht. Oder auch nicht:

rm: cannot remove file: Disk quota exceeded

Really?!

Ursache wäre wohl „COW“ – Copy on write. Bei Änderungen werden die neuen Daten erst mal auf die Festplatte geschrieben – erst wenn dort kein Fehler auftritt werden die entsprechenden Zeiger im Dateisystem aktualisiert und die vorherigen Daten ungültig.

Die Lösung, welche z.B. bei der Uni Freiburg zu finden ist, ist effektiv, aber mir nicht wirklich verständlich: Anstatt die Datei zu löschen wird sie erst mit /dev/null überschrieben – dies schlägt trotz COW offenbar nicht fehl. Der so freigewordene Speicherplatz, welche zuvor durch den Inhalt der Datei belegt wurde, sollte nun ausreichen um den Löschbefehl umzusetzen:

rm test
#rm: cannot remove file `test': Disk quota exceeded
cp /dev/null test
rm test
stat test
stat: der Aufruf von stat fuer "test" ist nicht moeglich: Datei oder Verzeichnis nicht gefunden

BitNotice #95 – Windows 10 Shenanigans | Edge vs. Firefox | Cortana-Spaß

BitNotice #95 - Windows 10 Shenanigans | Edge vs. Firefox | Cortana-Spaß

(37 MB) 00:34:43

2015-08-21 15:36 🛈

Irgnedwo zwischen BitNotice und Ranttime: Ein Linux-User installiert Windows 10.
16:42 Spaß mit Cortana
27:50 Microsoft Edge vs. Mozilla Firefox

Arduino® Pro Mini Pinout Cheat-Sheet

Ich arbeite auf Grund des geringen Preises häufig mit Arduino®-kompatiblen Boards der „Pro Mini“-Serie. Leider sind die Pins auf diesen Boards nicht nach der CPU sondern dem Standard der Arduino-IDE beschriftet. Bisher nutzte ich diverse Pinout Cheat-Sheets aus dem Netz, jedoch haben viele dieser Diagramme vertauschte Pins, welches bei mir in den letzten Wochen zu einigen fehlerhaften Aufbauten führten. Lange Rede kurzer Sinn: Ich werfe ein weiteres Cheat-Sheet in den Raum – hoffentlich mit weniger fehlerhaft beschrifteten Pins. Wenn doch etwas auffällt: Die Kommentare sind offen.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2015/08/prominipinout-1.2-300×212.png
[DA]

BitBastelei #161 – DECT-Ladegerät

BitBastelei #161 - DECT-Ladegerät

(845 MB) 00:08:18

2015-08-16 10:00 🛈

Dank der Leute von Eventphone steht auf vielen Veranstaltungen des CCC-Umfeldes ein inzwischen sehr zuverlässiges DECT-Netz zur Verfügung. Ich möchte andere Leute auf dem Chaos Communication Camp erreichen, also suchen wir mal ein solches „Mobiltelefon“ aus den Kisten. Leider konnte ich nur ein Modell auftreiben, welches eine kombinierte Lade/Sendestation hat. Da ich ja das Campnetz nutzen möchte würde die Sendestation nur unnötig die ohnehin knappen Funkkapazitäten belasten. Schauen wir mal, ob wir daraus ein reines Ladegerät gebastelt bekommen.

0:35 – A14, nicht A40

Umbau von Tobias

BitBastelei #160 – Arduino-RGB-LED-Spaß

BitBastelei #160 - Arduino-RGB-LED-Spaß

(347 MB) 00:18:04

2015-08-09 10:00 🛈

Das Chaos Communication Camp steht vor der Tür – wichtigste Zutat? Blinkenlights! Gezeigt werden gleich 3 Konzepte für RGB-LEDs am Arduino Pro Mini:
– RGB-Streifen mit HL1606-Controller
– „Klassischer“ RGB-Streifen mit MOSFETs
– RGB-Knoten auf Basis des RGB-CTL aus BitBastelei #11

Weitere Links:

s3cmd: Instabile Verbindung bei PUT

s3cmd ist ein kleines CLI-Tool, welches die Verwaltung von Amazon S3 ermöglicht. Beim hochladen von Dateien mit der Version 1.0.1 aus dem Paketmanager zeigte sich jedoch folgendes Bild:

WARNING: Upload failed: test ([Errno 32] Broken pipe)
WARNING: Retrying on lower speed (throttle=1.25)
WARNING: Waiting 15 sec...
test -> s3://testbucket/test  [1 of 1]
       1234 of 5678     0% in    1s     1.23 kB/s  failed
ERROR: Upload of 'test' failed too many times. Skipping that file.

Ursache ist in meinem Fall, dass mein Bucket nicht in „USA Standard“ liegt. Ältere Versionen von s3cmd greifen jedoch immer dort zu. Zwar leitet Amazon den Request passend um, hierbei scheint sich das Tool jedoch zu verschlucken.

Beheben lässt sich der Fehler auf 2 Arten: Entwerden man nutzt eine neuere Version des Tools, z.B. 1.5.2, diese müssen jedoch meist manuell installiert werden und sind nicht in den Quellen der Paketmanager zu finden. Alternativ kann man der alten Version auf die Sprünge helfen, in dem man die Server direkt richtig hinterlegt, für Irland z.B.:

[default]
...
bucket_location = IE
...
host_base = s3-eu-west-1.amazonaws.com
host_bucket = %(bucket)s.s3-eu-west-1.amazonaws.com
...
use_https = True
    

BitBastelei #159 – Reparatur: Open Bench Logic Sniffer

BitBastelei #159 - Reparatur: Open Bench Logic Sniffer

(316 MB) 00:22:23

2015-08-02 10:00 🛈

Mit dem Open Bench Logic Sniffer kann man (in der Grundausstattung) bis zu 16 TTL-Kanäle aufzeichnen und so z.B. Kommunikationsstrecken aufzeichnen und dir dortigen Informationen am PC ansehen. Zumindest wenn er noch funktioniert. Zum Einen sind einige Eingänge an meinem Modell nicht mehr funktionsfähig, zum Anderen war ich etwas schnell und habe den 3.3V-Regler des Boards kurzgeschlossen. Auf zur Reparatur…

Links:

Nerd Inside