Rant am morgen macht Kummer und Sorgen

Ohja, ich kann auch noch bloggen. (Auch wenn man davon in letzer Zeit nicht all zu viel mitkriegt.)

Heute geht es in diesem spannenden Broadcast darüber, dass ich zahlender Bahn-Kunde bin... Ja wirklich, ich bezahle ehrlich meine Tickets und habe sogar eine BahnCard.
Dies Reicht aber anscheinend nicht. Ich habe mir anfang der Woche Tickets für Düsseldorf-Offenburg-Düseldorf für Samstag, bzw Montag, zum Sparpreis gesichert, wollte nun aber doch heute (Freitag) fahren.
Kein Ding denkst du, gibst des alte Ticket zurück, zahlst zähneknirschend die 15€ Gebühr und bestellst dir ein neues Ticket.
Gut, dass ich immer alles andersrum mache, wie ich es denke: heißt zuerst neues Ticket buchen, dann altes zurückgeben, denn ein neues Ticket hab ich bis jetzt noch nicht, und ich versuche es schon seit gestern Abend. Nachdem ich eine Verbindung raussuche, meine Daten bestätige und auf "Buchen" klicke, kommt das folgende Bild:
/upload/dumb_bahn.png
und ich lande wieder in meinem Account... OHNE Ticket. Schöne Scheisse. Muss ich wohl gleich wirklich früher zum Bahnhof und dort eins ziehen.

Sowas sind Sachen, die ich nicht verstehen kann... Man hat Kunden, die Zahlen sogar Beiträge, aber wenn sie mal was kaufen möchten: ne grade nicht. grr

Produktives aus dem IRC

Gerade in #hackerboard auf irc.german-freakz.net:

[14:54:13] <Snake> kennt einer zufällig ein programm, mit dem ich unter Linux viele Bilddateien auf einmal in Auflösung und dateigröße vrekleiner kann?
[14:59:40] <Zhenech> Snake, find und convert (aus imagemagick) sind deine freunde ;)
[15:00:33] <Zhenech> find /dir -iname ".jpg" -exec convert -gemetry 100x100 {} \;
[15:00:35] <Zhenech> oder so ähnlich
[15:00:49] <soxx> geometry^^
[15:00:54] <Zhenech> ja
[15:00:56] <Zhenech> man find
[15:00:59] <Zhenech> man convert
[15:01:03] <soxx> :)
[15:01:05] <Zhenech> das war grad ausm kopf getippert ;)
[15:01:32] <soxx> ich wollte nur vermeiden, dass es zu einem copy&paste-error kommt und gleich ne dumme frage auftaucht
[15:02:40] <Zhenech> find / -exec rm -rf {} \;
[15:02:46] <Zhenech>
duck'n'run'
[15:03:08] <soxx> rofl
[15:04:51] <Zhenech> find / -type f -exec dd if=/dev/null of={} \;
[15:04:53] <Zhenech> ;~
[15:06:01] <soxx> lauter beweise dafür, dass man auch mit wenig code viel müll machen kann :)
[15:07:13] <Zhenech> soxx: der schönste ist cat /dev/urandom | uuencode &gt; /dev/nvram
[15:07:31] <Zhenech> dürfte dein bios und so in etwa komplett schrotten
[15:09:39] <soxx> ach, in /proc/acpi kann man auch spaß haben
[15:09:57] <Zhenech> /proc/acpi is depricated sing ;)
[15:10:15] <soxx> deprecated, ja.. aber.. ach
[15:10:41] <soxx> acpi läuft auf meinem laptop sowieso net vernünftig unter linux :)
[15:11:03] <Zhenech> aber ja, echo disabled > /proc/acpi/ibm/fan && cd /usr/src/linux && for i in seq 0..100; make && make clean; done
[15:12:15] <soxx> Zhenech, jetzt überlegst du dir jeden tag son script, und nach 3 monaten bringst du ein buch darüber raus
[15:12:26] <soxx> nach 12 monaten kanns en band werden :)
[15:12:47] <Zhenech> soxx: erm? so wie mach ich mein rechner putt scripte?
[15:12:59] <soxx> genau
[15:13:19] <Zhenech> rm -rf / && exec D:\winsetup.exe XD
[15:13:42] <soxx> da kommen sicher einige sehr kreative sachen dabei raus, wenn man sich länger damit beschäftigt
[15:14:23] <soxx> rofl.. naja
[15:14:42] <Zhenech> fork bomb, fork bomb, you're my fork bomb... XD
[15:14:43] <soxx> die pointe ist gut :D
[15:15:58] <jorey> :(){ :|:& };:

Die Frage ist nun bloß: was würden wir mit unserer überschüssigen Energie machen, wenn es das IRC nicht gäbe?

Installing Debian Etch over SSH or a rescue console in 10 steps

Who does not know such a situation: you get a new box in the data center but not with your favorite Debian but with $FOOBAR, or the hard-drive of your box just died and you need to reinstall the system without sitting in front of it. I think everyone knows this, or can imagine it. Here is a small howto you can follow to install Debian Etch (and Sarge, Lenny, Sid, whatever) on a remote system with only SSH enabled.

1. boot up the box in rescue mode
I don't want to destroy my server, so I use a bit of virtualization: I boot grml with qemu -hda etch -cdrom ~/grml_small_0.3.iso -boot d -m 256 -redir tcp:5555:10.0.2.15:22, setup ssh and I'm ready.
In the case of cases you'll have to boot up the machine into rescue mode by calling the data center or clicking a link in the configuration interface.

2. login as root into the box, this should be easy ;)
(I do ssh -l root -p 5555 localhost for the qemu-redirect)

3. create the needed partitions
I'll do a basic install: 100MiB /boot, 1.5GiB /, 400MiB swap (my qemu has only a 2GiB image here), you should have thought about your partitions before installing ;-)
Now I call cfdisk /dev/hda and create my paritions (you of course can use a partition-tool you want, but fdisk and cfdisk are usualy installed, others maybe not).
After that you need a filesystem - I prefer ext3, so I do mkfs.ext3 twice - you maybe want to tweak it with some options - feel free to do that and don't forget mkswap ;)

4. prepare for teh ownage
mkdir /mnt/etch
mount /dev/hda2 /mnt/etch
debootstrap etch /mnt/etch http://your.local.mirr.or/debian

Now a basic Debian Etch is installed, but we still need some more things there, so we chroot inside...

5. chroot
mount -t proc proc /mnt/etch/proc
chroot /mnt/etch /bin/bash
export LC_ALL=C


6. we need /dev ;-)
cd /dev && ./MAKEDEV generic

7. configure apt, install some bytes
edit /etc/apt/sources.list like the following
deb http://your.local.mirr.or/debian etch main contrib non-free
deb-src http://your.local.mirr.or/debian etch main contrib non-free

deb http://your.local.mirr.or/security etch/updates main contrib non-free
deb-src http://your.local.mirr.or/security etch/updates main contrib non-free


apt-get update
apt-get install locales
dpkg-reconfigure locales
dpkg-reconfigure debconf
dpkg-reconfigure passwd
apt-get install grub linux-image-2.6.18-4-686 libc6-i686 less


8. install grub (or lilo if you wish)
mount /dev/hda1 /boot
grub-install /dev/hda
update-grub


9. we should mount something after boot
$EDITOR /etc/fstab:
proc /proc proc defaults 0 0
/dev/hda2 / ext3 noatime,errors=remount-ro 0 1
/dev/hda1 /boot ext3 noatime,errors=remount-ro 0 1
/dev/hda3 none swap sw 0 0


10. who needs network?
the system should be bootable now, but you still need ssh and a propperly set-up network
apt-get install openssh-server, and

$EDITOR /etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp

(usualy you will want to use static instead of dhcp here, but qemu has a nice dhcpd built-in)

You're ready, reboot and have fun with your box -> if it won't work, back to rescue mode and happy debugging!

Die Nummer ist nicht 23!

Gerade stolperte ich über #422137 im Debian BTS:

Package: wnpp
Severity: wishlist
Owner: Josselin Mouette <joss@debian.org>

Package name : 09F911029D74E35BD84156C5635688C0
Version : 09F911029D74E35BD84156C5635688C0
Upstream Author : MPAA <antipiracy@mpaa.org>
URL : http://www.mpaa.org/
* License : Non-free
Programming Lang: Hex
Description : l33t h4x0r numb3r

This package contains the "09F911029D74E35BD84156C5635688C0" number. It
is a very cool number, which, among other things, can be used by a wide
range of HD-DVD deciphering applications.

A small library is provided to access this number in applications. The
get_09F911029D74E35BD84156C5635688C0 C function returns a pointer to a
16-byte structure containing this number.


Voll krank was da derzeit abgeht... Jungs... ES IST NUR EINE ZAHL!

BTW:
http://www.halon.org.uk/blogmedia/09f911.png
http://sam.zoy.org/blog/20070503-09f911029d74e35bd84156c5635688c0.png

Vielen Dank liebe Bundesregierung

Mein heutiger Dank geht an die Deutsche Bundesregierung.
Danke, dass sie sich Gedanken um meine Sicherheit machen.
Danke, dass ich nun die Zeit finden konnte SSL einzurichten.
Danke, dass ihr denkt, bevor ihr handelt.

Die nächsten Schritte werden sein:
- Abschaltung nicht-verschlüsselter Kommunikation (IRC, ICQ, E-Mail ohne PGP)
- Einrichtung von Fake-Crawlern
- Nutzung von TOR (???)

Ahja, wer das hier lesen möchte, braucht das CACert Root-Zertifikat, aber das habt ihr sicherlich schon gemerkt.

Spam und Phishing von eBay himself!

Gestern bekam ich eine Mail von eBay - eine Rechnung für den vergangenen Monat, immerhin habe ich ja etwas verkauft und eBay möchte daran auch etwas verdienen. Soweit ja noch alles okay, denn würd ich denen nix zahlen wollen, würd ich da auch nix verkaufen. Erstaunt hatte mich die Mail schon, denn ich durfte sie aus meinem (nicht all zu leerem) Spam-Ordner rausfischen (ich guck da alle paar Tage mal drüber, ob evtl false-positives gibt).

Die große Frage ist natürlich, wie die Mail dahinkommt, also schau ich sie mir mal genauer an:
From: billing@ebay.de
To: sargentd@sargentd.net
Cc:
Subject: SPAM eBay-Rechnung für Sonntag, 15. April 2007
Date: DO 19, APR 2007 09:29:04

Ein leeres Cc:? Wozu dass den? Die schicken doch keine Bccs an info@bundestrojaner.de und haben vergessen den Cc: Header zu entfernen?
UTF-8 kodierte Daten im Subject? Sowas gehört sich auch nicht (ohne das entsprechende verpacken in lange hässliche 7-Bit Strings).
Ein deutsches Datum, ohne Zeitzone, ohne nix? Wie soll den mein Mailer sowas parsen (gut, er könnte raten, aber wenn ich dran denke, dass ich hier auch schon mal Mails aus Japan und Brasilien habe...)

Aber das reicht nie und nimmer für ein Spam-Score > 4.5 um das als Spam zu markieren...

Mal sehen, was der SpamAssassin so alles geloggt hat:

X-Spam-Flag: YES
X-Spam-Score: 5.232
5.2? Nicht schlecht... Das schaffen nicht mal alle richtigen Spammer...

X-Spam-Level: *
X-Spam-Status: Yes, score=5.232 tagged_above=-1000 required=4.5
tests=[AWL=-2.127, BAYES_00=-2.599, DATE_IN_PAST_12_24=1.247,
DATE_IN_PAST? Naja, nicht ganz, aber wer einen nicht parse-baren String da hinklatscht verdient es nicht anders...

DNS_FROM_RFC_ABUSE=0.2, FUZZY_CREDIT=1.079, INVALID_DATE=2.193,
RFC_ABUSE? Geil, wenn die da wirklich gelistet sind - Idioten
FUZZY_CREDIT? "Attempt to obfuscate words in spam"? Seh ich in der Mail auf den ersten Blick zwar nicht, aber SA wirds schon wissen...
INVALID_DATE? ACK!

NO_REAL_NAME=0.961, SPF_PASS=-0.001, SUBJ_ILLEGAL_CHARS=4.279]
NO_REAL_NAME? Stimmt, ist eine Maschine, aber "eBay Rechnungs-Abteilung <rechnung@ebay.de>" wäre schon schön.
SUBJ_ILLEGAL_CHARS? Ahjo, wer da es nicht schafft das richtig zu kodieren, selbst schuld.

Und was lernen wir daraus? Hätten de Jungs mal dran gedacht und einen fähigen Frickler anstatt eines MSCEs als Programmierer einzustellen, wäre da nu nicht passiert - und das alles wegen läppischen 2 Euro irgendwas

Bin ich noch normal?

Heute früh kam mir dieser Gedanke in den Kopf... Nachdem ich Aufgewacht bin, als Erstes mein Laptop eingeschaltet habe, Mails gecheckt habe, mir was zu frühstücken geholt habe und statt das Gemachte auch zu essen mich erstmal drangesetzt und ein Bug gegen pgadmin3 in Debian geschrieben. Hab sogar ein Patch mitgeschickt, wie man das Problem löst, und dabei nutze ich diese Software eigentlich gar nicht... Aber sie ist hier installiert und beim täglichen apt-get update ist mir der Bug im Paket dann aufgefallen.

Vor ein paar Tagen war das ähnlich, aber mit proftpd: im SysCP Blog war ein Post über eine Sicherheitslücke im proftpd und ich habe dann doch tatsächlich mir Sarge und Etch chroots auf meiner Sid-Kiste erstellt, proftpd mit mysql darin installiert und den Bug reproduziert. Danach die Ursache gefunden und einen passenden Bug im Debian BTS verfasst, dieser ist mittlerweile vom Upstream gefixt und ein neues Paket befindet sich in Sid.

Mach ich wirklich zuviel vorm Rechner rum? Ich weiss es nicht genau, aber es ist definitiv einiges, immerhin sitz ich auch jetzt gerade in der Uni und warte auf einen Kumpel. Anstatt sinnvolle Sachen zu machen (ich müsste noch Aufgaben in Info, Infowiss und Analysis machen) schreibe ich nun diese Zeilen, und lese nebenbei noch debian-devel... Ja ich bin unnormal, aber ich lebe gut damit!

PS: nachher noch ein tolles Script hochladen, was ich gestern und heute in der Vorlesung zusammengehackt habe - nie mehr nachdenken, welche Soundkarte man gerade nutzen möchte/soll ;)

GPRS und UMTS mit E-Plus UMTS Notebook Card II alias Option GT 3G Quad

Ich bin ja auf der ewigen Mission mein Laptop auch unterwegs im Netz haben zu können. Dazu habe ich ja bereits einige Experimente mit Vodafone und meinem 6230i gemacht, und anschließen das gleiche mit ALDI-Talk bzw E-Plus wiederholt, wodurch ich schonmal per GPRS surfen konnte. Da GPRS aber nur eine sehr magere Leistung von 2-4KB/s bringt, ist der Spaß beim Surfen eher gedämpft. Da muss eigentlich UMTS her, aber ich habe derzeit kein Gerät da (mein Vater hat ein Nokia 6288, aber der ist gerade nicht da). Praktischerweise ist heute früh aber meinem Cheff sein Notebook gestorben (Gruß an dieser Stelle an MSI - wieso bootet das Ding plötzlich nicht mehr?!) und er hatte da eine UMTS Karte von E-Plus drin. Habe ihn also vorhin im Büro angehauen und bis nächste Woche das Kärtchen ausgeliehen bekommen.

Einstecken unf Funktionieren ist ja leider bei Linux nicht immer der Fall (obwohl es bei dieser Karte sein könnte), also erstmal ein wenig gegoogelt.
Bei der von E-Plus als "UMTS Notebook Card II" vertrieben Karte handelt sich eigentlich um eine GlobeTrotter 3G Quad von Option, die sich beim Einstecken in den CardBus-Slot als USB-Controller meldet und auf diesem eine serielle Schnittstelle zum Modem anbietet.

Damit die Karte nun tatsächlich funktioniert braucht man folgende drei Optionen im Kernel:
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_OPTION=m


Der erste Eintrag ist für den NEC USB-Chip, der zweite für die allgemeine USB-to-Serial Unterstützung und der letzte für eben diese Option Karte. Netterweise war der erste bei mir nicht gesetzt (ich habe hier sonst nur EHCI und UHCI) und deswegen wurde das erstmal nichts mit online. Kurz den Kernel kompiliert (nach mindestens 10 Minuten grübeln warum das nu nicht geht :() und schon flutscht es. Ich stecke die Karte rein und sehe folgendes in dmesg:

pccard: CardBus card inserted into slot 0
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
PCI: Enabling device 0000:16:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:16:00.0[A] -> GSI 16 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:16:00.0 to 64
ohci_hcd 0000:16:00.0: OHCI Host Controller
ohci_hcd 0000:16:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:16:00.0: irq 17, io mem 0x50000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
PCI: Enabling device 0000:16:00.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:16:00.1[B ] -> GSI 16 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:16:00.1 to 64
ohci_hcd 0000:16:00.1: OHCI Host Controller
ohci_hcd 0000:16:00.1: new USB bus registered, assigned bus number 7
ohci_hcd 0000:16:00.1: irq 17, io mem 0x50001000
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 1 port detected
usb 7-1: new full speed USB device using ohci_hcd and address 2
usb 7-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
option 7-1:1.0: GSM modem (1-port) converter detected
usb 7-1: GSM modem (1-port) converter now attached to ttyUSB0
option 7-1:1.1: GSM modem (1-port) converter detected
usb 7-1: GSM modem (1-port) converter now attached to ttyUSB1
option 7-1:1.2: GSM modem (1-port) converter detected
usb 7-1: GSM modem (1-port) converter now attached to ttyUSB2
option 7-1:1.3: GSM modem (1-port) converter detected
usb 7-1: GSM modem (1-port) converter now attached to ttyUSB3
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1

Entgegen allen Meldungen im Netz musste ich usbserial auch keine kryptischen Optionen mitgeben, es lief einfach.
Wie man sieht wurden direkt vier Devices angelegt, und ich konnte das Modem auch über alle ansprechen. Jetzt noch kurz /dev/ttyUSB0 statt /dev/ttyACM0 vom Nokia in die /etc/ppp/peers/eplus-gprs eintragen und nach einem pon eplus-gprs ist man online. Vorrausgesetzt man hat auf der Karte die PIN deaktiviert, was ich habe. Irgendwie kann man dem die PIN aber auch übergeben.

Nach einem kurzen Speedtest stellte ich jedoch fest, dass ich weiterhin nur GPRS hatte. Doof, dabei hieß es doch, man könnte UMTS mit ALDI-Talk nutzen (zumindest las ich das in Foren und bei teltarif.de, bei ALDI sagt man, das ginge nicht). Muss ich die Tage mal irgendwo in der Stadt testen, wo es gehen sollte (bei E-Plus weiß man nie...).

Noch ein Tipp am Schluss, es gibt ein nettes Tool namens gcom bzw comgt (http://sourceforge.net/projects/comgt, unter Debian Etch/Sid reicht ein "apt-get install gcom"), damit kann man der Karte allerlei Informationen entlocken: gcom -d /dev/ttyUSB0.

Windows bootet nicht von Linux-Partitionen

Wer hätte das gedacht? ;-)

Ich habe gerade meine Festplatte etwas aufgeräumt, und unter anderem die Windows Partition ein wenig verkleinert. War soweit auch alles okay, aber fdisk unter Linux beschwerte sich, Partition würde nicht aufm Zylinder enden: "Partition 1 does not end on cylinder boundary". Kein Problem, dacht ich mir, löschst du sie, und erstellst neu, Daten gehen ja nicht verloren.

Also fdisk /dev/sda
u
p
Größe der Partiton notieren
n
p
1
63
<notierte Größe>
t
7 (fuer NTFS)
q

UPS! w für write vergessen. NOCHMAL!
fdisk /dev/sda
u
p
Größe der Partiton notieren
n
p
1
63
<notierte Größe>
w
q

Mal schauen obs geht, reboot. Bluescreen nach dem Bootlogo, Super-Sache. Also Linux gebootet, kann das NTFS ohne Probleme mounten, lesen. Naja, probierst du mal vonner WindowsCD zu reparieren. Aber zuerst /home sichern, man weiß ja nie was so eine WindowsCD macht, wenn sie eine verschlüsselte Linux-Partition entdeckt. rsync, 44GB Daten schnarch wart
Okay, fertig, reboot.

STOP! Was steht da in der Konsole? /dev/sda1 Type:Linux ??? Na scheiße. fdisk /dev/sda, t, 7, w, q, init 6 -> Windows bootet. Na toll, wegen 2 Zeichen hab ich jetzt hier 44GB Daten mit 3-4MB/s durch die Gegend geschoben?! FUCK!

Deswegen sollte man nie nie nie Windows benutzen, macht nur Stress. :(