Spontanes Gehacke II
Als am Sonntag Starbug sein neues Domizil in Wedding mit den Moebeln aus seiner alten Wohnung bestueckt hat, gemeinhin auch als Umzug bekannt, habe ich seinen Bruder, meinen alten Studienkollegen kstar, wiedergetroffen. Ungewoehnlicher Mensch mit vielen Flausen und dutzenden cooler Ideen im Kopf. Weil ich neulich ein kleines Problem mit shell push hatte, habe ich ihm davon erzaehlt. Und keine 2 Tage spaeter faellt mir ein tarball aus der mailbox, in dem mein kleines Problem fast fertig implementiert daliegt.
Es ging im Groben darum, dass ich auf einem unixoiden Host hinter einer Firewall (ohne Zugriff auf diese) jemandem kurz einen login auf dem Rechner geben wollte. Das funktioniert aber nach den althergebrachten Mustern von telnet, rlogin, ssh etc. nicht, dort ist es ueblich, dass der Server das pty alloziert und dem Client, nachdem er sich authentifiziert hat, das tty weitergibt. Was ich brauchte ist, dass ein Server auf Connections von einem Client wartet, der ihm dann ein pty gibt. Zugegeben, kein alltaegliches Problem, aber es begegnete mir schon ein paar Mal. Nachteil ist natuerlich, dass jemand an dem Rechner sitzen muss (aber eigentlich kamman das auch aus ner while true; ... sleep 10; end Schleife machen und bei Bedarf den Server starten) andererseits will man so eine Shell ohne wirklich Authentifizierung (siehe unten) nicht ohne sein Beisein vergeben. Die Loesung von kstar lief leider nicht sofort auf FreeBSD, dort gibt es statt getpt() nur posix_openpt(O_RDWR) und man muss getaddrinfo() im hints noch den ai_socktype auf SOCK_STREAM setzen. Zudem gibt es grantpt, unlockpt und ptsname erst seit FreeBSD 5.0, aber jetzt laeuft es. Es gibt sogar eine rudimentaere "Verschluesselung", die darin besteht, dass man Client und Server den selben Sessionkey geben muss, mit der der Stream ge-xor-t wird.
Nichts fuer Cryptoexperten, aber bis ich da ssl reingeschraubt habe, reichts. Wer ein aehnliches Problem hat, kann ja mal selber compilen.
Hach, ich liebe nerdige Blogeintraege. Dass die sich jetzt haeufen, hat einen Grund: Andrea ist in Skiurlaub gefahren. Bleibt massig Zeit zum Rumnerden, ohne, dass man zu Sozialstress ermahnt wird. Eigentlich bin ich ja ein wenig neidisch. Ich will auch Skifahrn, aber es liegt grad viel zu viel Arbeit rum und dann ist da noch dieses Fundamentalistenfest und danach der Congress des Chaos Computer Clubs, den ich mir dieses Jahr vielleicht mal anschauen werde. Bis dahin habe ich noch eine feiste TODO-Liste abzuarbeiten: morgen hat Opi Geburtstag, am Samstag zieht Cryx um (aus einer 5. Etage in eine 4. Etage, der Spinner :), ich will den SMB noch fertig hacken, meinen Telefonbuchsubstringindizierer und den Treiber fuer die PCMCIA-Firewire-Karte zurechthacken, die leider nicht out of the box funktioniert. Und noch ein wenig selbstinduzierter Sozialstress (...).