Skip to content. | Skip to navigation

Personal tools
Log in
Sections
You are here: Home Blog

Blog

Magic Lantern on EOS 500D

by Bastian Blank — last modified Dec 20, 2011 04:45 PM
Filed Under:

Magic Lantern is a firmware extension for Canon DSLR cameras. It provides many new features for video and liveview mode and also some for photo mode.

Magic Lantern is a firmware extension for several video capable Canon DSLR cameras. The (not longer) current release 11.11.11 of the unified branch works on 500D and most newer models except 5D Mk2.

The installation on my 500D was pretty easy. The camera needs the correct firmware installed (1.1.1), otherwise Magic Lantern will refuse to run. It needs one modification to the camera, a debugging setting to load the system from a SD card. The software is then loaded from a specially prepared SD-card every time the camera boots.

Magic Lantern includes a lot of nice extensions for video and liveview mode. My favorites are histogram overlay, edge detection and exposure display. The histogram overlay shows the histogram in different modes (RGB, luma) of the currently displayed view. Edge detection can be used to find the focus via the liveview output. However a lot more features are available.

Linux 3.0 and Xen

by Bastian Blank — last modified Jun 23, 2011 06:35 PM
Filed Under:

Linux 3.0 includes the traditional device backends and supports full Dom0-operation.

It took a long time to get all the parts of the Xen support into the Linux kernel. While rudimentary Dom0-support was available since 2.6.38, support for device backends were missing. It was possible to replace this backend with a userspace implementation included in qemu, but I never tested that.

With Linux 3.0, both the traditional block backend and the network backend are available. They are already enabled in the current 3.0-rc3/-rc4 packages in experimental, so the packages can be used as Dom0 and run guests. Right now the backend modules are not loaded, so this still needs some work. Neither the init scripts loads them, because the names where in flux the last time I laid hand on it, nor does the kernel themself expose enough information to load them via udev. I think using udev to load the modules is the way to go.

This step marks the end of a five year journey. Around 2.6.16 the Xen people started to stay really close to Linux upstream. With the 2.6.18 releas this stopped and the tree was pushed in different states into Debian Etch and RHEL 5. After that, Xen upstream ceased work on newer versions completely, only changes to the now old 2.6.18 tree where done. SuSE started a forward port of the old code base to newer kernel versions and Debian Lenny released with such a patched 2.6.26. Around that time, minimal support for DomU on i386 using paravirt showed up and Lenny had two different kernels with Xen support. Since 2.6.28 this support was mature and works rather flawless since. Somehow after that, a new port of the Dom0 support, now using paravirt, showed up. This tree based on 2.6.32 is released with Debian Squeeze. After several more rounds of redefining and polishing it is now mostly merged into the core kernel.

I don't know what the future brings. We have two virtualization systems supported by Linux now. The first is KVM that converts the kernel into a hypervisor and runs systems with help of the hardware virtualization. The later one is Xen that runs under a standalone hypervisor and supports both para- and hardware virtualization. Both works, KVM is easier to use and even works on current System z hardware. It can be used by any user with hopefully enough margin of security between them. Xen's home is more suited for servers, where you don't have users at all. Both have advantages and disadvantages, so everyone have to decide what he needs, there is no "one size fits all".

New software: python-dvdvideo

by Bastian Blank — last modified Aug 29, 2010 07:20 PM
Filed Under:

python-dvdvideo is a library to read DVD-Video images. It includes a tool to dump encrypted DVD-Video images. It is implemented in Python 3.

After a long time, I decided to write again. I decided to start with software I wrote for my own usage that could be usefull for other people. I'll start with python-dvdvideo, a DVD-Video reader written in Python 3, and the reference tool dvd-video-backup-image, a generic DVD-Video dumper. Lets see, if this blog will see more postings in the future.

Intention

I started to write this software, because libdvdread was often unable to decipher my newly purchased video DVDs. libdvdread expects a rather valid structure of the filesystem and other metadata on the disk. It will forcefully bail out on several error conditions. So I often ended patching libdvdread to make dvdbackup able to read the new disks.

Usually there are two ways to create backups of such DVDs, as files or complete images. Dumping them as files have large problems if there are certain defects in the filesystem, like some space is referenced in several titlesets. I have a disk that produces 25GiB of output during such a dump. So the less problematic way to do that is to dump the complete image. That is the way I used in the tool I built on top of this.

Parts

The software is devided into several parts. First a small UDF reader. On top of this comes a DVD video reader. It makes use of libdvdcss wrapper. All of this is used to implement a small tool to dump whole images. I will describe this parts here.

UDF reader

The UDF reader implements a minimal set of features. I implemented only the stuff I found as needed and used in the available DVDs. This reader allows to read the lowlevel UDF, used as base of all video DVDs.

DVD video reader

The dvd video reader uses the UDF reader to get the necessary information from the disk. Again this reader is quiet smallish. It only trusts the UDF for the starts of titlesets and expects that anything else is listed in the info files. This allows to read even discs with broken filesystems, which are really common.

libdvdcss wrapper

The libdvdcss wrapper is implemented using ctypes. The ctypes library allows easy access to functions defines in shared object. The library allows calling of the functions and maps arguments and return values to the Python datatypes. This wrapper allows me to read also encrypted DVDs.

Image dumper

This tool allows to dump a encrypted video DVD into a file. It tries to detect encrypted (video/vob files) and unencrypted (info files, otherwise used space) parts of the disk. This way it is able to dump anything, as long as it can read the filesystem and info files. However, some discs contains overlapping areas, which can't be that easily deguised.

The tool includes a small conflict resolver that handles overlapping parts. It uses a set of rules to allow some types to coexist and some to be modified. On of the rules relabels things included in an info files but also a title vob as always unencrypted. With this resolver, most of the problems can be handled and we get a playable result.

License and distribution

This package is licensed GPL 3 or later. It is for new distributed via Alioth.

Conclusion

This tool allows me to dump all video DVDs I got my hands on in the last time. It allows me to watch the videos on my notebook that have no optical disc reader on its own. Maybe someone may need such a tool also.

USA-Urlaub: 5. Tag (Mt. Tabor)

by Bastian Blank — last modified Sep 29, 2009 07:20 PM
Filed Under:

Heute habe ich erst mal ein Auto besorgt und dann die neue Unterkunft für die nächsten Tage gesucht.

Irgendwie hatte ich danach nich gerade viel Lust, also bin ich mal auf den nächsten Vulkankrater, den Mount Tabor, gelaufen. Dieser ist ein bewaldeter Hügel mitten in der Stadt und wohl auch ein beliebtes Ziel der Radfahrer.

/fotos/usa-urlaub/mount-tabor/img_0695.jpg/image_mini

Harvey W. Scott

An ein paar Stellen sieht man ziemlich weit.

/fotos/usa-urlaub/mount-tabor/img_0698.jpg/image_mini

Downtown vom Mount Tabor

/fotos/usa-urlaub/mount-tabor/img_0699.jpg/image_mini

Mount Hood

USA-Urlaub: 1. Tag (Konferenz)

by Bastian Blank — last modified Sep 29, 2009 06:30 PM
Filed Under:

Die komplett unpassend gestellte inner Uhr hat mich um 0400 aus dem Schlaf gerissen. Meinem Kollegen im Zimmer ging es genau so. Es war also etwas kollektives Dösen angesagt. Der Sonnenaufgang bescherte uns das folgende Bild.

/fotos/usa-urlaub/konferenz/img_0681.jpg/image_mini

Sonnenaufgang in Portland mit Mount Hood

Bis auf die zu laute Klimaanlage war das dann eine ganz normale Konferenz. Es gab BoFs und Vorträge zu allen möglichen Themen. Der erste BoF war einer der wichtigsten, es ging um Linux Packaging in den Distributionen und wie man das ein wenig besser vernetzen kann.

Abends gab es einen Empfang zusammen mit den Besuchern der LinuxCon in einem Meeresfrüchterestaurant. Das Essen war super und die Unterhaltungen auch. Ich durfte jemandem dann noch erklären, was es mit dem Oktoberfest auf sich hat.

USA-Urlaub: Erste Eindrücke

by Bastian Blank — last modified Sep 24, 2009 08:22 PM
Filed Under:

Ich habe die Möglichkeit erhalten, die Linux Plumbers Conf in Portland, Oregon, Vereinigte Staaten zu besuchen. Ich lasse mir dann natürlich nicht die Möglichkeit entgehen, noch etwas Urlaub in dem mir bis jetzt nur aus Erzählungen bekannten Umfeld zu machen.

Mein Flug ging über Atlanta und ein paar Sachen fallen mir dann schon dort auf.

  • Alles ist groß. Schon der Weg vom Gate zur Passkontrolle sind ein paar hundert Meter. Und bis zum Gate an welchem mein Anschlussflug geht, bin ich noch mal über 10 Minuten unterwegs, inklusive einer Fahrt mit einer automatischen Bahn.
  • Die Amis scheinen eine Aversion gegen Treppen zu haben. Im ganzen Flughafen Atlanta ist mir gerade mal eine Treppe begegnet. Sonst gab es noch welche an den Notausgängen oder sie waren nur für Mitarbeiter. In Portland gab es dann keine einzige. Es gibt nur Aufzüge und Rolltreppen.

Um 2200 Uhr (0700 Uhr nach der inneren Uhr) war ich dann im Hotel und konnte dann endlich etwas schlafen.

Almighty root

by Bastian Blank — last modified Apr 04, 2009 07:44 PM
Filed Under:

I was asked to take a look at a machine where aptitude don't even want to do the upgrade to etch. A first inspection shows some weird repositories in the source.list file and many daemons noone ever should use on that machine. I was able to do the upgrade with apt-get then.

After some time I got asked over modifications in /etc/exports. It basically included the following content:[1]

/     *(rw,async,no_root_squash)
/home *(rw,async,no_root_squash,nohide)
/usr  *(rw,async,no_root_squash,nohide)
/var  *(rw,async,no_root_squash,nohide)
[1]For those who don't speak NFS: This exports the specified filesystems (/, /home, /usr and /var) to everyone, and accepts whatever the client system say.

The machine was taked out of service immediately. We'll have no chance to answer the question whether this was silliness or intend.

Die Strasse, eine Farbwahl

by Bastian Blank — last modified Apr 02, 2009 02:00 PM
Filed Under:

Auf anraten der besten Augenoptikerin bin ich inzwischen glücklicher Besitzer einer Sonnenbrille. Ausserdem war heute ein schön warmer und sonniger Tag, genau das richtige Wetter um das Motorrad aus dem Winterschlaf zu holen. Nach etwas gutem Zureden erwachte das Motorrad zu neuem Leben und mit angemessener Schutzkleidung und der abgedunkelten Sicht ging es los.

Nach einer Weile fiel mir ein Auto mit einer komischen Lakierung auf; es sah aus wie ein Effektlack aus Purpur und Türkis, ähnlich der Wertangabe auf den hohen Euroscheinen. Nachdem immer mehr Autos diesen Effekt zeigten wurde ich unsicher und nach der nächsten Kurve fing auch die Strasse an in allen Farben zu leuchten. Mit geöffnetem Visier sah man alles zwar etwas dunkler, aber in der korrekten Farbwahl. Kaum war es wieder geschlossen zeigt sich die Umgebung und auch der Himmel in allen Spektralfarben.

Create version in Genericsetup metadata.xml from setup.py

by Bastian Blank — last modified Mar 09, 2009 12:25 AM
Filed Under:

Today I asked if it is possible to do automatic updates of the version in metadata.xml from the (possible mangled) version from setup.py. Nothing popped up, so I wrote an extension of setuptools which does this.

import os.path
from distutils import log
from setuptools.command.egg_info import egg_info as _egg_info

class egg_info(_egg_info):
    def run(self):
        _egg_info.run(self)

        version = self.distribution.metadata.version

        for package in self.distribution.packages:
            path = os.path.join(*(package.split('.') + ['profiles', 'default']))
            if os.path.isdir(path):
                metadata_out = os.path.join(path, 'metadata.xml')
                metadata_in = os.path.join(path, 'metadata.xml.in')
                if os.path.exists(metadata_in):
                    log.info('writing %s', metadata_out)
                    d = open(metadata_in, 'r').read().replace('@VERSION@', version)
                    open(metadata_out, 'w').write(d)

setup(
    cmdclass = {'egg_info': egg_info},
    [...]
)

The version is listed with a placeholder in the input file called metadata.xml.in and is replaced during a normal develop call as done by buildout.

<metadata>
    <version>@VERSION@</version>
</metadata>

UPDATE: This is evil. metadata.xml should list the the config/profile version, not the code version.

Einem geschenkten Gaul schaut man nicht ins Maul

by Bastian Blank — last modified Nov 16, 2008 12:17 AM
Filed Under:

Dieses Sprichwort werde ich heute mal großzügig missachten und über das leider relativ nutzlose Geschenk berichten.

Es begab sich, das Pollin Electronic an diesem Wochenend mal wieder die halbjährige Hausmesse stattfinden lies. Als extra Schmankerl sollte es ein "gratis" Mobiltelefon für jeden Besucher geben. Dieses entpuppte sich als ein LG KP100, einem nach dem ersten Eindruck brauchbaren Gerät ohne Kamera und sonstigem Schnickschnack, von Vodafon in Verbindung mit einer CallYa-Karte, welche auch sofort auf den Besucher registriert wurde.

Nach dem Auspacken und etwas mit Strom versorgen sollte es ausprobiert werden. Also die erstbeste - natürlich nicht von Vodafon - SIM-Karte ausgesucht und reingesteckt. Mehr als ein "mit dir mag ich nicht reden" und der Wahl zwischen Notruf und Unlock wollte es sich mit dieser Karte allerdings nicht entlocken lassen; der leidige SIM-Lock hatte also zugeschlagen.

Damit ist der Plan dieses Gerät als Zweittelefon für Umgebungen in denen Kameras unerwünscht sind oder falls gerade mal ausversehen der Akku leer ist zunichte gemacht und ich frage mich was ich mit dem Telefon und der zwangsweise auf mich registrierten Karte anstellen soll, für mich haben diese so keinen Wert und sind ein Fall für den Entsorger.

Laut der Aufschrift hat die Karte ein Guthaben von 10EUR und sollte für 19,95EUR verkauft werden. Da das Telefon gelockt ist muss ich davon ausgehen das es mehr Wert ist als dieser Preis, da die Subventionen ja immer als Grund herhalten mussten.

Aktueller Zustand: Telefon ist gelockt; ich bin sauer. Jemand der sauer ist wird nicht unbedingt gerne Kunde, wenn nicht unbedingt nötig und da das ganze verschenkt wurde gibt es ja nicht gerade den "Zwang" in Form eines Preisschildes das jetzt zu verwenden. Hypothetischer Zustand: Telefon ist nicht gelockt, ich bin nicht sauer. Jemand für den der eine Teil des Geschenks, das Telefon selber, nützlich ist, überlegt sich eher ob der andere Teil, die CallYa-Karte, auch nützlich sein könnte.

Vodafon kostet diese Aktion für jeden nicht gewonnenen Kunden den Einfauspreis für das Telefon und die vielleicht noch mit dem Kartenguthaben erzeugten Kosten. Nur durch das erlangen von Neukunden kann daraus Profit geschlagen werden.

Ich habe den Sinn dieses SIM-Locks nie verstanden. Was soll hier vor wem beschützt werden? Das was sind wohl die Subventionen die in die Telefone fliessen. Beschützt werden müssen diese wohl vor dem Kunden, da dieser sich ein neues Telefon kaufen muss wenn er woanders hingehen will anstatt es einfach mitzunehmen.

Ubuntu, Ubuntu

by Bastian Blank — last modified Oct 10, 2008 03:20 PM
Filed Under:

I was forced to try Ubuntu Hardy in the new university pool. The setup includes one Linux server dedicated for the pool, one Windows AD for Kerberos authentication, one Windows fileserver with user data and 20 clients. The clients are new HP machines with a Radeon Xpress 200 card.

First problem was nasty, the X server turned the display black and then crashed, leaving an unusable console behind. Even a blacklist of the radeon module does not work. Somehow the Xorg radeon driver loads the module on its own, ignoring the modprobe blacklist. Only a hard blacklist using install radoen /bin/false in the modprobe config was able to prevent this. Lets hope that the endeavors to remove much priviledges from the X server goes good.

For the homes two setups was tested:

  • Homes on the Windows server via cifs, mounted via pam_mount using NTLM password.
  • Homes on the Linux server via nfs version 3.

The first one just produced an error that some Gnome component was unable to lock ~/.ICEauthority. This could be worked around in the Xsession. Otherwise it was usable to slow, which may be a problem with the Windows server.

The later, plus a reinstallation with fglrx, produced first unresponsive OpenOffice.org windows and then a complete unusable Gnome desktop. I would not completely vote against a problem with fglrx or even a broken installation, but the amount of problems exceeded the threshold.

Now we will try Lenny and see if this also happens there. Especially home via nfs is not that uncommon that we can let it broken in a release.

Xen update

by Bastian Blank — last modified Sep 28, 2008 11:08 PM
Filed Under:

I found a machine which is not so ancient and did some tests with Xen on it.

Kernels

First was some tests with different Linux kernels and hypervisors (3.2 and 3.3). I have to say the overall compatibility got better. As unpriviledged domain (DomU) only one of the kernels failed, the one from Etch (2.6.18-6-xen-686) on the x86_64 hypervisor because of missing setup code.

For the operation as priviledged domain (Dom0) it looks not so good. The 2.6.18 from Xen 3.1 works mostly, the Lenny-targeted 2.6.26 is a little bit picky about the hardware and seems to work better in the 64bit variant, the 2.6.18 from 3.3 is old but rock-stable.

Stub domain

Xen 3.3 adds the possibility to move a the qemu which provides the emulated hardware for full virtualized domains in its own (paravirtualized) domain. The documentation is not really complete and the whole thing rather fragile. Error messages from the emulation domain are swallowed and depending on the config it also likes to crash.

It wants a new service, a filesystem backend, which is implemented in a root process in the dom0, even if it is not needed for operation. This service is not configurable, exports anything in /exports and allows writing, the code have similar quality then qemu.

Smallest UTF32 to UTF8 converter

by Bastian Blank — last modified Sep 13, 2008 12:30 PM
Filed Under:

I found some weird opcodes in the s390 instruction set some time ago. I finally want to use it as I have access to such a machine. The result is rather slim:

.globl cu41
        .type   cu41, @function
cu41:
.L2:
        cu41    %r2,%r4
        ipm     %r1
        srl     %r1,28
        chi     %r1,3
        je      .L2
        ltr     %r1,%r1
        je      .L3
        lcr     %r1,%r1
        lgfr    %r3,%r1
.L3:
        lgr     %r2,%r3
        br      %r14

The cu41 opcode translates UTF32 to UTF8. Each "parameter" is a register pair [1], which describes address and length of the buffer. This opcode will return after a not specified number of translated characters. The rest is boiler plate code for condition code checking. The loop makes sure that anything is converted within the function unless another error occured.

[1]An even pair. gcc is not yet able to allocate such pairs on its own, so it is hardcoded.

PV-GRUB and partitions

by Bastian Blank — last modified Sep 13, 2008 11:35 AM
Filed Under:

Xen 3.3 added a tool called PV-GRUB. It is a GRUB (legacy aka 0.97) built against MiniOS and bootable as a PV kernel. It works fine on a Xen 3.2.1.

It is easy to use, I just set this in my config:

kernel = "/usr/local/lib/xen/boot/pv-grub-x86_64.gz"
extra = "(hd0)/boot/grub/menu.lst"

However it decided to not load my config as defined in the config and simply show me that:

    GNU GRUB  version 0.97  (524288K lower / 0K upper memory)

       [ Minimal BASH-like line editing is supported.   For
         the   first   word,  TAB  lists  possible  command
         completions.  Anywhere else TAB lists the possible
         completions of a device/filename. ]

grubdom>

The reason is quite easy:

grubdom> root (hd0)
 Filesystem type unknown, using whole disk

Some debugging later, the reason is known and fixed.

grubdom> root (hd0)
 Filesystem type is ext2fs, using whole disk

grubdom> kernel /boot/vmlinuz-2.6.27-rc5-amd64

grubdom> initrd /boot/initrd.img-2.6.27-rc5-amd64

grubdom> boot
block error -1 for op 2
close blk: backend at /local/domain/0/backend/vbd/23/51712
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 2.6.27-rc5-amd64 [...]
[    0.000000] Command line:
[    0.000000] KERNEL supported cpus:
[    0.000000]   Intel GenuineIntel
[    0.000000]   AMD AuthenticAMD
[    0.000000]   Centaur CentaurHauls
[    0.000000] ACPI in unprivileged domain disabled
[...]
[    0.022093] Booting paravirtualized kernel on Xen
[    0.022101] Xen version: 3.2-1

Xen dropped support for non-PAE x86_32

by Bastian Blank — last modified Jun 10, 2008 12:47 PM
Filed Under:

For those who did not yet got it: Xen upstream decided to drop non-PAE x86_32 support from Xen.

How to clean filesystem namespaces

by Bastian Blank — last modified Apr 29, 2008 07:33 PM
Filed Under:

Dear lazyweb, use the following code to clean out a filesystem namespace on linux:

mount ("root", "root", NULL, MS_BIND, NULL);
pivot_root ("root", "root/tmp");
chdir ("/");
umount2 ("/tmp", 2);
mount ("none", "/proc", "proc", 0, NULL);

Linux-VServer-replacement without patches?

by Bastian Blank — last modified Apr 29, 2008 03:04 PM
Filed Under:

As Linux-VServer is currently asleep, I thought about what may be possible only with the functionality the upstream Linux kernel provides and a helper module.

Process isolation

Isolation is the important feature VServer provides. Linux supports isolation of processes also in form of user, PID and IPC namespaces. User namespaces allows the same UID to be different. PID namespaces restricts the view of the available processes and allows the process only to address PIDs within it's own namespace.

Migration

VServer allows processes to enter a guest after it have been created, this is not possible without help.

fakeinit

Each PID namespace needs a child reaper (with PID 1).

Network isolation

VServer currently uses a layer 3 isolation model which assigns access to a specific list of IP addresses to a guest. It can be replaced by network namespaces and the accepted veth driver which provides a ethernet device.

Filesystem isolation

VServer uses FS namespaces in a way which allows processes in the FS namespace to access the host filesystem. This needs the chroot barier to make breakouts impossible.

I'm not sure if

mount --rbind $newroot /
chdir /

will also properly prevent this.

Broken DVDs

by Bastian Blank — last modified Feb 22, 2008 11:10 PM
Filed Under:

Today I got another broken DVD. It is the special edition of The Shawshank Redemption. It is rather new and libdvdread just chokes on it. At least the old one does, while the version in sid is able to read them, thanks to a small patch.

The DVD exploits a feature of the standard. The filesystem on it (UDF) provides a size for the info files (VTS_XX_0.IFO) and the corresponding backup file (VTS_XX_0.BUP). This sizes are void, only the offsets within the files matters. The sizes are just too small and libdvdread checked that while reading them.

Thanks to the patch, libdvdread now updates its internal knowledge while parsing the file. With the fix it is possible to play the DVD, at least with mplayer. But I want to play it on my machine without optical drive. I used dvdbackup to read other DVDs but it simply failed this time.

This DVD also have broken backup files. They have different sizes, sometimes they even look empty, and contents than the real ones. With the corrent amount of force (just ignoring them) and some magic (#467075) dvdbackup copies something to disk which is playable with mplayer (libdvdread) and totem (libdvdnav).

Okay, nothing is complete. This DVD contains another title set which seems to be never referenced. It have a completely bogus info file and a 1GB menu VOB.

As I have a copy now, I'm away, watching a really great movie.

Wie man TLS (nicht) verwenden sollte

by Bastian Blank — last modified Jan 08, 2008 10:33 PM
Filed Under:

Heute flatterte hier eine Mail rein mit folgendem Inhalt.

[D]er zugang [...] ist aus Sicherheitsgründen nur noch verschlüsselt über ssl [...] möglich.

Ich bin natürlich betroffen also kurz openssl anwerfen um etwas zu sehen bekommen was mir überhaupt nicht gefällt.

depth=0 /.../CN=informatik.uni-tuebingen.de
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 /.../CN=informatik.uni-tuebingen.de
verify error:num=21:unable to verify the first certificate
verify return:1

Er kann also zwei Sachen nicht prüfen,

  • das Zertifikat und
  • den Hostnamen.

Das nächste was openssl auspuckt macht alles klar.

Certificate chain
0 s:/.../CN=informatik.uni-tuebingen.de
  i:/.../CN=informatik.uni-tuebingen.de

Subject und Issuer sind identisch, also ist das Zertifikat wohl Selbstsigniert.

Man sieht einmal mehr das immer noch zuviele nicht verstanden haben, wann TLS/SSL überhaupt Sicherheit bringt. In dieser Form bringt es nur eines, nachträglich kann niemand nachschauen was an Daten geflossen ist, mehr aber auch nicht.

Liebe Admins, wenn ihr schon Sicherheitsgründe anbringt um TLS durchzudrücken, dann macht es bitte richtig. Das Zertifikat muss auf irgendeinen Weg nachprüfbar sein und der Hostname sollte stimmen.

Wer arbeitet macht Fehler

by Bastian Blank — last modified Dec 05, 2007 11:57 PM
Filed Under:

Heute habe ich endlich mal den neuen Switch verbaut. Davor wurde das Fehlen durch Hacks mit Proxy-ARP ausgeglichen, was ich natürlich vergessen habe abzustellen. Also Switch ins Rack und eingestöpselt; dabei kamen dann zwei mit Proxy-ARP verbundene Interfaces ins gleiche Netz.

Ein paar Minuten später die ersten Beschwerden das die Website nicht mehr tun würde. Von mir aus tat es natürlich. Mal versucht am nächstbeste Windows-Rechner einzuloggen; er findet den AD nicht mehr. Mit der lokalen Brechstange habe ich dann rausgefunden das die Rechner alle die schöne IP 0.0.0.0 haben.

Was ist passiert: Das Proxy-ARP hat schön alle ARP-Requests beantwortet und die Windows-Kisten waren der Ansicht das da jemand anderes ihre (fest konfigurierte!) IP hat und haben sie sich selbst weggenommen. Die ganzen Linux-Kisten hat das nicht interresiert, da der Traffic ja am Schluss immer noch am Router ankam, manchmal halt mit einer ungeplanten Zwischenstation.