#!/bin/blog

November 12, 2009

IMAP on the iPhone with SSL client certificates

Filed under: iphone — Tags: , , , — martin @ 11:02 pm

The IMAP server in my office is configured to not simply accept username/password authenticated connections from the internet. As an additional security measure, it requires the client to present a valid SSL client certificate, issued by the internal CA, resulting in mutual SSL authentication.

The Mail client on the iPhone, on the other hand, does not support SSL client certificates. While it is possible to deploy a client certificate using the iPhone configuration utility, this cert will only be presented to web servers, but not to mail servers.

My workaround is to use stunnel, the universal SSL wrapper, on the iPhone. This, of course, requires the iPhone to be jailbroken. I’ll leave the jailbreak and installation of stunnel as an excercise to you. :-)

I’m running stunnel as the “mobile” user, thus all the required files reside in /var/mobile. The files are:

- The stunnel configuration: /var/mobile/stunnel.conf
- The SSL certificate: /var/mobile/cert.pem
- The key matching the SSL certificate: /var/mobile/key.pem

Stunnel is configured as an SSL client. The commented-out lines may be useful for troubleshooting. I have added 10000 to the regular IMAP and SMTP ports so they are beyond the privileged port range that may only be used by root.

cert=/var/mobile/cert.pem
key=/var/mobile/key.pem
pid = /var/mobile/stunnel.pid
sslVersion = TLSv1
# Resolve server hostname at every reconnect,
# not only on startup (for dyndns!):
delay = yes
#foreground = yes
#debug = 7

[imap]
accept=127.0.0.1:10143
connect=example.dyndns.org:993
client=yes

[smtp]
accept=127.0.0.1:10025
connect=example.dyndns.org:465
client=yes

My key is password protected, thus I start stunnel from Mobile Terminal after bootup:

stunnel stunnel.conf

Having a method for starting stunnel automatically with passphrase-less keys would be nice, but has no priority for me. Using a LaunchDaemons entry for this shouldn’t be a problem anyway.

The mail settings on the iPhone are configured to access IMAP and SMTP on localhost, port 10143 and 10025, respectively. SSL encryption is turned off for both.

This setup is surprisingly robust. The current running stunnel daemon has been started 4 days ago and has already survived a few changes of the dynamic IP address of the mail server. I have not had a single hiccup since I figured out that I need the “delay=yes” option in the configuration file to keep up with DynDNS changes. If your mail server isn’t on a dynamic IP address, all the better.

November 8, 2009

IRC mobil, gibts ja garnicht

Filed under: Internet, iphone — Tags: — martin @ 10:51 am

Wenn ich die eine Anwendung nennen müßte, die mich auf dem iPhone am meisten überrascht hat, wäre das ja Mobile Colloquy, ein IRC-Client mit Push-Unterstützung.

Nichts erschien mir abwegiger, als IRC per iPhone zu machen, denn das IRC-Konzept mit den Channels verträgt sich ja gefühlsmäßig eher schlecht mit dem ständigen on- und offlinegehen, das durch das fehlende Multitasking des iPhone bedingt wird. Mobile Colloquy hat dieses Problem aber sehr schön gelöst, denn die bevorzugte Betriebsart ist, sich über einen sogenannten Bouncer am IRC anzumelden.

Bei einem Bouncer handelt es sich um einen IRC-Proxy, der die Verbindung zu IRC – stellvertretend für den eigenen Client – aufrecht erhält.

colloquy-push

Für Nutzer von Colloquy auf dem Mac bietet Mobile Colloquy dabei zum Beispiel auch die Möglichkeit, sich mit der auf dem Mac laufenden Colloquy-Instanz zu verbinden, diese damit quasi als Bouncer zu verwenden, und das iPhone damit zum verlängerten Arm des dort laufenden Client zu machen.

Für diejenigen, die keinen Mac mit Colloquy haben, ihn nicht ununterbrochen laufen lassen wollen, oder etwas mehr Möglichkeiten bei der Auswahl alternativer IRC-Clients für den Desktop möchten, bietet sich jedoch auch die Benutzung eines dedizierten Bouncers an. Die Colloquy-Entwickler empfehlen dazu ZNC, für den ein entsprechendes Push-Modul zur Verfügung steht. Die Installation von ZNC und dem dazu gehörenden Push-Modul unter Linux ist dabei in der Colloquy-Dokumentation beschrieben. Ich hatte hier lediglich etwas Probleme mit der unter Debian paketierten Version von ZNC. Diese mußte ich durch eine selbst übersetzte Version ersetzen, um das Modul nutzen zu können.

Ist der Bouncer einmal konfiguriert und das Push-Modul installiert und geladen, kann der Push-Mechanismus seine Vorteile voll ausspielen: Wird in einem Channel, in dem man angemeldet ist, der eigene Nickname erwähnt, erscheint eine Push-Nachricht. Nach dem Start von Mobile Colloquy bekommt man dann vom Bouncer die letzten Channel-Nachrichten zugespielt und kann direkt ins Gespräch einsteigen. Das gleiche gilt für Queries (also Chats zwischen zwei Nutzern), die ebenfalls eine Push-Nachricht erzeugen.

colloquy-replay

Verliert man die Geduld mit der kleinen Bildschirmtastatur und will am iPhone nicht länger weiterchatten, kann man dank des Bouncers auch auf den IRC-Client am stationären Rechner umsteigen, ohne daß die anderen Channel-Teilnehmer etwas davon bemerken. Ich selbst benutze neben Mobile Colloquy im Wechsel auch noch Colloquy auf dem Mac, irssi in der SSH-Session, X-Chat unter Linux und den berüchtigten Klassiker mIRC auf Windows.

Mein letzter Bouncer-Einsatz liegt einige Jahre zurück und ich bin wirklich verblüfft, was heute ohne großen Konfigurationsaufwand möglich ist. Die Installation des Bouncers erfordert zugegebenermaßen nach wie vor etwas Erfahrung mit den Linux-Konzepten im allgemeinen. Das Ergebnis ist aber gerade im Zusammenspiel mit Push und Mobile Colloquy absolut bestechend. Mobile Colloquy ist keine Krücke, sondern bringt IRC ganz einfach an neue Orte, wo man einfach garnicht damit gerechnet hätte. Vor 5 Jahren habe ich IRC noch totgesagt, heute bin ich mir diesbezüglich schon etwas weniger sicher.

September 26, 2009

Explosiver Darminhalt

Filed under: Paranoia — martin @ 7:39 pm

SpON schreibt über einen Attentäter, der die Bombe im Dickdarm versteckt hatte. Im Artikel wird schon beinahe die Terror-Apokalypse beschworen. Ich bin dagegen fast schon froh, daß es jetzt endlich so weit gekommen ist, wie ich es schon vor Jahren prophezeit habe. Alle Szenarien, alle Sicherheitsmaßnahmen, alle Überwachung sind gegen derart entschlossene Täter vollkommen sinn- und wirkungslos.

Vielleicht kommt dann ja irgendwann mal einer auf die Idee, zu hinterfragen, was einen Menschen überahaupt dazu treibt, sich Sprengstoff in den Arsch zu schieben. Das wäre vielleicht die größte Chance in der Geschichte des Post-9/11-Terrorismus.

September 24, 2009

Do the Roomba

Filed under: Technology — martin @ 7:59 pm

Ordered a Roomba 560 (funny accent there) today. If I don’t show up at the office on monday, the machine has become sentient and I was vacuumed.

git binary merge

Filed under: UNIX & Linux — martin @ 7:54 pm

At last, I’ve found a halfway practical workflow for merging binary files. When I say “merge binary”, I mean: Either let one of the two files win, or edit both files externally (such as in OpenOffice Calc) in order to manually merge them.

If git push has failed, update the remote branch by running git fetch; git merge origin/master. If git pull has failed, the remote branch has already been updated and you’re involuntarily stuck in the middle of a merge operation.

Copy the local version of the file to a temporary name: cp test.dat my.test.dat, then check out the unmerged test.dat from remote: git checkout --theirs test.dat.

Compare the files and update test.dat to contain the desired content. Then: git add test.dat; git commit; git push. Done.

This shall now be my workflow for documentation repositories. Your mileage may vary. Objects in the mirror may be closer than they appear. Thanks for your patience.

September 4, 2009

Das Internet ist ein rechtsfreier Raum.

Filed under: Internet, Paranoia — Tags: , — martin @ 6:08 pm

Mal ganz im Ernst. Im Internet kann man aufgrund der Ausübung seines Rechts auf freie Meinungsäußerung oder aufgrund der Erstellung einer Privatkopie eines Musikstücks mit Zivilklagen überzogen werden, die nicht nur einen selbst im Jetzt ruinieren werden, sondern aufgrund derer die Nachkommen auch in 50 Jahren noch das Erbe ausschlagen werden.

Das Internet ist ein Raum, in den der Rechtsstaat gerade einmal so weit hineinragt, daß Behörden, Konzerne und Anwälte den kleinen Mann mit seinem Weblog massiv schikanieren können. Die großen selbst sind unantastbar. Allenfalls in Einzelfällen können Massen mobilisiert werden, die auf dem Umweg über negative Publicity die “großen” dazu bewegen können, mühsam so weit zurückzurudern, wie unbedingt erforderlich.

Das Recht ist auf der Seite dessen, der Geld und Macht hat. Man fühlt sich geradezu an feudalistische Verhältnisse erinnert. Die Machtgefälle zwischen “den Großen” und “den Kleinen” ist so gewaltig, daß man sich in seiner Klischeehaftigkeit schon fast am Stammtisch wähnt.

Das Internet ist ein rechtsfreier Raum. Ein grund- und bürgerrechtsfreier Raum. Und zwar heute mehr, als jemals zuvor in seiner Geschichte.

August 30, 2009

Wired, Juli 1997: The Long Boom

Filed under: Paranoia, Technology — Tags: , , — martin @ 12:19 pm

Beim Umziehen und Aufräumen fielen mir die Ordner mit archivierten Zeitschriften in die Hand. Zentnerweise Altpapier habe ich weggeschmissen. Ich wußte aber, daß sich irgendwo ein ganz besonderes Schätzchen verstecken müßte. Und tatsächlich:

thelongboom

Wir hatten 1997 ja nichts. Es gab kein Slashdot, kein Digg, keine Blogs, kein Twitter, keine Wikipedia. Na gut, wir hatten das Usenet. Google gab es übrigens auch noch nicht. Aber für den echt allerheißesten und visionären Shice gab es das Leitmedium WIRED. Erhältlich als Import am Bahnhofskiosk für 17 Deutsche Mark.

Im Juli 1997 werden in WIRED sensationelle technische Neuerungen beworben, wie z.B. der Apple Powermac 9600/200MP mit 2×200MHz. Auf vielen Werbebildern (und die gab es in WIRED wirklich im Überfluß) sieht man Röhrenmonitore, bei denen man sich fragen muß, wie die Statik gängiger Wohnungen das jemals ausgehalten haben kann.

WIRED stand auf jeden Fall an der Speerspitze so einer Art digitaler Revolution. Und WIRED sagte damals im Essay “The Long Boom” eine digitale Revolution voraus, die der Menschheit über Jahrzehnte Freiheit, Frieden und Wohlstand bringen würde.

Der Boom fällt aus. Das wissen wir hier in der “zivilisierten” Welt, und das wissen auch die ganzen armen Schweine in der dritten Welt, die heute so wenig zu beißen haben, wie vor 12 Jahren. Aber es kann ja auch sein, daß die ganzen Afrikaner eh nicht gemeint waren, als von “a better environment for the whole world” die Rede war. Davon, daß für jedes neue Gadget, das man sich kauft, ein Gorillababy abgemurkst wird, will ja auch keiner was wissen.

Auch WIRED wußte natürlich, daß möglicherweise doch nicht alles nach Plan laufen könnte und so wurden gleich “10 Scenario Spoilers” umrissen, die so genau den Nagel auf den Kopf treffen sollten, daß es heute schon fast erschreckend wirkt. Ich zähle mal nur die auf, die eingetreten sind:

2.
New technologies turn out to be a bust. They simply don’t bring the expected productivity increases or the big economic boosts.

3.
Russia devolves into a kleptocracy run by a mafia or retreats into quasicommunist nationalism that threatens europe.

6.
Major rise in crime and terrorism forces the world to pull back in fear. People who constantly feel they could be blown up or ripped off are not in the mood to reach out and open up.

8.
Energy prices go through the roof. Convulsions in the Middle East disrupt the oil supply, and alternative energy sources fail to materialize.

10.
A social and cultural backlash stops progress dead in its tracks. Human beings need to choose to move forward. The just may not…

Die Vorhersage über den “Long Boom” ist nicht eingetreten, aber die “Scenario Spoilers” haben den Nagel wirklich auf den Kopf getroffen. Herzlichen Glückwunsch dazu. :-(

August 25, 2009

Joe Sixty, Ulla Zwonull?

Filed under: Politics — Tags: , , — martin @ 4:43 pm

Alle schreiben von der großen Ackermann-Sause im Kanzleramt, aber keiner schreibt mal, ob sowas gängig ist, mit welcher Begründung, und überhaupt. Ulla 2.0.

Ich vermute nur noch Manipulationsversuche, egal ob in der Zeitung, in den Blogs, oder auf Twitter. Paranoia?

August 21, 2009

Ethernet Bandbreite messen

Filed under: UNIX & Linux — Tags: , , , , , , , — martin @ 11:22 am

Den Datendurchsatz auf einer Ethernet-Verbindung mißt man z.B. mit NetPIPE oder mit iperf. Unter Debian sind diese unter den Paketnamen netpipe-tcp bzw. iperf installierbar.

Für die Bandbreitenmessung mit beiden Tools muß auf dem ersten beteiligen Rechner jeweils eine Serverkomponente gestartet werden:

Für NetPIPE: NPtcp
Für iperf: iperf -s

Auf dem anderen Rechner wird dann ein Client gestartet, der die Messung durchführt:

Für NetPIPE: NPtcp <gegenstelle>
Für iperf: iperf -c <gegenstelle>

Iperf produziert bei mir generell etwas höhere Meßwerte als NetPIPE. Wo NetPIPE bei knapp 700 Megabit aufhört, legt iperf noch eine Schippe drauf und landet bei etwas über 800 Megabit.

Wer sich über noch höhere Werte freuen will, darf sein Glück mit iperf und der Option -u (auf beiden Enden) versuchen. Damit wird die Messung nicht per TCP, sondern per UDP durchgeführt. Auf der hier gemessenen Leitung, die noch eine hochwertige Kat.5-Komponente an Bord hat, kommt iperf auf genau 1 Gigabit, was mir etwas zu sportlich vorkommt.

Des weiteren kann es sich lohnen, mit der Option -d (wieder auf beiden Enden) zu spielen, um die Performance im Vollduplexbetrieb zu testen. Dabei stinkt meine Verkabelung im TCP-Modus schrecklich ab, während im UDP-Modus das Märchen vom vollen Gigabit aufrecht erhalten wird. Ver viel Geduld hat, kann in solchen Situationen gern in die Ursachenforschung einsteigen. :-)

August 16, 2009

Zur soziologischen Kontaktpsychologie

Filed under: Internet — martin @ 3:00 am

Ich mache mir viel zu viele krumme Gedanken. Heute: Die Wortwahl von Seiten, auf denen man andere als Kontakt o.ä. hinzufügen kann.

Xing: “Als Kontakt hinzufügen.” / “Kontakt löschen.”

“Kontakt” hat was neutrales und ist daher Auslegungssache. Ein Kontakt ist für mich jemand, mit dem man schonmal in Kontakt gestanden hat. Für andere ist ein Kontakt jemand, mit dem man gern mal in Kontakt treten würde. Das kann allerdings zu Konflikten führen. Mir reicht schon gegenseitiges Bloglesen als “in Kontakt stehen”, andere bestehen drauf, daß man sich schonmal persönlich getroffen haben sollte.

Wer-Kennt-Wen: “Ich kenne X.” / “Ich kenne X nicht mehr.”

“Kennen” ist ein verhältnismäßig einfaches und halbwegs klar abgrenzbares Konzept, das aber leider Spielraum für Unmengen Leute läßt, die man zwar kennt, aber mit denen man sonst wirklich nichts am Hut hat. Trotzdem ist es eine Wortwahl, die keine Dinge impliziert, wegen denen man irgendwie riesige Bauchschmerzen haben muß. Lustig dabei: “Ich kenne X nicht mehr.” Wenn es so einfach wäre, jemanden aus dem Bekanntenkreis zu streichen, wie es ist, kurz auf einen Link zu klicken, glaubt mir, davon hätte ich in meinem Leben schon mehrfach Gebrauch gemacht.

Flickr: “Als Kontakt hinzufügen.”

Interessant an Flickr ist, daß man Kontakte löscht, indem man das Häkchen vor “weiter als Kontakt behalten” rausnimmt. Bei einer Fotowebseite wie Flickr, die sich wirklich an “alle” vom Künstler bis zur Handy-Oma richtet, ist es außerdem nur konsequent, daß man Kontakte als Freunde oder Familienmitglieder markieren kann. Dies dient in diesem Fall natürlich der Zugangskontrolle. Manch anderer Webseite würde eine solche weitere Bewertung der Beziehung zu anderen Teilnehmern aber auch guttun.

Facebook: “Als FreundIn hinzufügen.” / “Als FreundIn entfernen.”

Das Binnen-I ist natürlich schon von sich aus ein Armutszeugnis erster Güte. Wenn schon, dann bitte “Freund oder Freundin”. Aber was ist überhaupt ein Freund? Jemand, den ich flüchtig kenne? Jemand, der meine Tweets liest? Jemand, mit dem ich schonmal Kaffee oder Tee getrunken habe? Eine rauchen war? Arbeitskollegen? Kunden? Lieferanten? Eine Wortwahl, mit der ich mich absolut nicht wohlfühle. Vermutlich muß man hier das Wort “Freund” losgelöst von der Bedeutung sehen, die ihm üblicherweise im Alltag beigemessen wird. Eins ist dabei allerdings unmißverständlich möglich: Freundschaften enden. Siehe auch “Wer-kennt-Wen” unter “Ich kenne X nicht mehr.” ;-)

Twitter: “Follow” / “Unfollow”

Eine Wortwahl, mit der man, wenn man sie nicht gerade in Richtung einer Bedeutung wie “Gefolge” interpretiert, gut klarkommen kann. Heute interessiert es mich noch, was Du sagst. Morgen fängst Du vielleicht an, Kinder zu kriegen oder ein Haus zu bauen, da will ich möglicherweise nicht stündlich mit Updates über Deine neuesten Erkenntnisse über das Leben beglückt werden. Solange keine Unfollows öffentlich zelebriert werden, kann man jederzeit auf den Zug auf- und wieder abspringen, ohne daß jemand dabei auf den Schlips getreten wird.

Ich persönlich fühle mich mit der Facebook-Wortwahl am wenigsten wohl. Der typische Web-Vorwurf “Du hast 5000 Freunde, aber keinen von ihnen je persönlich getroffen” scheint ein Kind von Facebook zu sein. Da hätte ich gegen eine Nachbesserung nichts einzuwenden.

Older Posts »

Blog at WordPress.com.