Sie sind hier


Apache and SNI - problems with some clients

Never change a running system. Old but true saying, but sometimes there's no other chance. Until a few days ago I was happy with SSL vhosts running with a single SSL certificate. Then I needed to add another SSL certificate for another site with several subdomains like, and With Apache2 running on Squeeze it's possible to make use of Server Name Indication (SNI) mechanism in order to be able to use multiple SSL certs on a single IP based vhost setup.

Well, it works for some client software, but apparently it does not work well with korganizer or Firefox Sync plugin nor with Cyberduck on OS X. Here's an example config: 

SSLEngine on
SSLCertificateFile  /etc/apache2/ssl/site-A-cert.pem
SSLCertificateKeyFile  /etc/apache2/ssl/site-A-key.pem
SSLOptions StrictRequire
SSLProtocol -all +TLSv1 +SSLv3
SSLVerifyClient none
SSLProxyEngine off

This is identical to all SSL vhosts on my system. The funny thing is now that it works for two sites (site A and site B) while it doesn't work for site C. In Firefox Sync plugin I get an error that the connection couldn't be established while on Cyberduck (a webdav client for OS X) I get a requester stating that I get cert for site A on site C. Pointing the browse to the appropriate URL I get the correct cert for site C on site C.

Is there anything I miss with SNI setup in Apache?


Fehlender Upload Button in IMCE

Seit ein paar Tagen liegt nun schon ein Blogartikel halbfertig in der Queue, weil ich dort keine Bilder per CKeditor/IMCE hochladen kann. Letztens konnte ich es noch, nun aber nicht mehr. Was dazwischen geschehen ist, keine Ahnung!

Auf einer anderen Domain funktioniert der Upload noch bzw. der entsprechende Button ist vorhanden. Also kann man ein Problem mit dem Modul an sich wohl ausschließen. Aber auch die Config auf dieser Installation hab ich in den letzten 1-2 Wochen diesbezüglich nicht angefaßt. Das Profil bei CKEditor und bei IMCE erlaubt jeweils den Bilderupload und auch die Permissions sind entsprechend gesetzt.

Bei Tante Google habe ich bisher nichts gefunden, was geholfen hätte. Und auch das im Readme von IMCE erwähnte Herunterladen von jquery.form.js half nicht. Ich bin im Moment ein bißchen ratlos und dabei hätte ich eigentlich ein paar hübsche Fotos zu zeigen...

Also wenn jemand eine Idee hat, woran es liegen könnte, bitte in den Kommentaren melden! Danke! :-)

Mittlerweile habe ich die Fehlerursache gefunden: das Modul shadowbox tut hier offenbar nicht so wie es soll und nach der Deaktivierung vom Shadowbox Modul funktionierte auch IMCE wieder inklusive Upload. :-) 


KDE - Login Problems with kdm on Unstable

Some days ago I upgraded my Sid system and when I restarted my X session the other day, I wasn't able to successfully login to KDE via kdm anymore. I'm getting some errors in ~/.xsession-errors: 

kdeinit4: preparing to launch /usr/bin/knotify4
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)knotify(16474) KNotify::event: 1  ref= 0
QMetaObject::invokeMethod: No such method KUniqueApplication::loadCommandLineOptionsForNewInstance()kdeinit4: preparing to launch /usr/bin/plasma-desktop
kded4: Fatal IO error: client killedkdeinit4: Fatal IO error: client killed
kdeinit4: sending SIGHUP to children.
klauncher: Exiting on signal 1

At the user/password prompt of kdm I can login, the KDE splash screen appears and then, suddenly, the connection fails and I'm back at the kdm login again.

I tried to look for already existing bug reports, but KDE is quite large and with many programs. Are there any pointers for a bug report or even a solution/fix for the problem, dear LazyWeb?

UPDATE 21:51:
Sune suggests in the comments that it might be a Xorg problem. I've attached a xorg.txt logfile to this post. As you can see, there's a backtrace because of a sig11 error. Funny enough, when I connect via remote X from my OSX I can login into KDE, although there are visual errors. Xorg is working fine on the local server with Gnome, though. So, for me it seems related to either KDE or maybe Compiz.

UPDATE 2011-03-30:
Problem solved! LL hinted in the comments to reinstall the Nvidia driver and now it works again! Thanks! :-)

Symbol für unformatierten Text xorg.txt18.14 KB

Frozen Squeeze, broken packages and bug reports

Squeeze is frozen for some time now and will be released when it's ready, of course. Currently, I have at least two packages that have reported bugs, but it seems that they are making no progress. The first package is BackupPC.One of the bugs is #600654 and the other is #601843. Where as the first is just a cosmetic bug displaying filesystem usage of the backup volume, the other seems to have a functional impact: the backup pool doesn't get cleaned up properly each night.

Sadly the maintainer seems a little bit absent, so maybe someone else can do a NMU to get BackupPC into shape for release? Would be nice, though... ;-) 

The other package is spamassassin or more exactly libnetaddr-ip-perl and bug #601601. Whereas the BackupPC maintainer is rather quiet, there's lot of activity for the other bug but still I get these errors when running Spamassassin by cron: 

netset: cannot include 0:0:0:0:0:0:0:1/128 as it has already been included
netset: cannot include 0:0:0:0:0:0:0:1/128 as it has already been included

Although I'm confident that #601601 will be solved soon, I don't really know about the BackupPC bugs, except writing additional info mails to those bugs with "add me!" comment.

UPDATE 17.11.2010:
libnetaddr-ip-perl (#601601) seems to be fixed now.


Grub on RAID and Configuration

I've been running grub for quite a long time on my machine, but when I rebooted the other day, I noticed that there's currently a problem with the grub installation on my system: it doesn't boot anymore! ;)

My machine has 3 drives, with an LVM for the data on a RAID5. Then there is another RAID1 for /boot. This worked all the years quite reliable with grub. Now grub complains that it can't find the kernel anymore. The reason seems to be (from /boot/grub/grub.cfg):

echo    'Loading Linux 2.6.32-5-amd64 ...'
linux   /boot/vmlinuz-2.6.32-5-amd64 root=UUID=36213d56-67cf-428d-b801-4171fd9d6943 ro  vga=775
echo    'Loading initial ramdisk ...'
initrd  /boot/initrd.img-2.6.32-5-amd64

For some reason I don't know there's a /boot in front of /vmlinuz... which prevents loading the kernel. There's a "set root='(md0)'" line in the config as well, but I assume that this is correct, because /dev/md0 is my /boot on RAID0. The rootfs is on /dev/md2, another RAID0. So, I can't set root='md2' because there's no /boot/grub directory in the first place.

When I editing the linux and initrd lines in the boot prompt and remove the /boot, everything is fine and my system boots up just fine.

Was there an intended change in grub-pc package that causes this behaviour or is ist just a plain bug?


Upgrading to Squeeze - and suddenly CGI doesn't work anymore

Before I upgraded from Lenny to Squeeze, all my CGI scripts were working properly. The CGI scripts has been executed by Apache and resulted in rendered webpage. After the upgrade to Squeeze all those CGI scripts stopped been executed but instead started to get displayed as a plain text.

Common to all those CGI scripts is that they have .phtml as suffix, but the bang path/shebang consists of "#!/usr/bin/python". As an example you can have a look at Buildd.Net and its scripts like this one. The section in Apaches config looks like this: 

        <Directory /home/builddnet/unstable/WWW/cgi/>
                Options -Indexes +ExecCGI +FollowSymLinks
                AddHandler cgi-script .cgi .sh .pl .py .phtml
                Order allow,deny
                Allow from all

So, I would expect that the CGI script handler will get executed when loading a *.phtml file and that the shebang would be honoured. Funny enough: when I rename that script to *.cgi it works.

I haven't figured out yet, what causes this beahviour or what have changed during the upgrade - and how to revert to the old behaviour. So, dear lazyweb, can you give me some hints and pointers?



Getting hit by a spammer with Exim

Yesterday I was warned by Nagios that something is going on with my server. The number of processes has been gone beyond the limit. The reason for this were a bunch of Exim processes trying to deliver a lot of mails. Apparently a spammer made it happen to send spams via my server. How could this happen?

I was seeing a lot of those log entries: 

2010-06-28 16:29:25 1OTFKt-0004cZ-1R <= H=( [] P=esmtpa A=cram_md5:inna S=1455 id=0ec5ff00b06c43369e2582fc4269839e@e12c17c51ec546bf9e7a23e6f9875941
2010-06-28 16:29:27 1OTFKw-0004cZ-KZ <= H=( [] P=esmtpa A=cram_md5:inna S=1520 id=58913c34bde64e908310db7e1280eff5@2dc8ed5998b64e8485c472cae5ef98c3
2010-06-28 16:29:28 1OTFKy-0004cZ-1p <= H=( [] P=esmtpa A=cram_md5:inna S=1436 id=814a7bdcbe85447a9283d4a0a074830b@0ada3cde4a4c41c38c65bc912639afb6

Apparently the spammer has successfully found a way to bypass the authenticators in Exim. By default only authenticated users can send mails via my mailserver, of course. But this spammer found a way around that problem. A user "inna" is not known, so the spammer shouldn't be able to send mails at all. But he can. Something is broken apparently.

The spammer sent an empty password ('') and the database didn't find an user by this name and returned an empty resultset (''). Both sides of the comparison matches and the mail is allowed in. Let's have a look at my Exim config: 

  server_debug_print = "running smtp auth $1 $2"
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${lookup pgsql{select clear from passwd where passwd.usr='$1' limit 1}{$value}}
  server_set_id = $1

On #exim@freenode there was just another user with the very same problem with exactly the same spammer. Apparently the lookup is true for empty passwords or users. The solution is to add a "fail" in the lookup statement: 

server_secret = ${lookup pgsql{select clear from passwd where passwd.usr='$1' limit 1}{$value}fail}

That's pretty all to do to prevent the spamming. But how could this happen at all? Back then when I was configuring my mailserver (around 2003 or so) I can remember that I tried a "fail" statement in the server_secret as it is described in the Exim documentation, but it didn't work as expected. So I ended up with no "fail". This worked fairly well over the years and I remember that I tested this lookup by trying to send with user/password combinations of all different sorts. So it went into "production".

Apparently it doesn't work anymore today. The other guy on the #exim channel said that he found no database lookup example with "fail" at all. Even the example in one of his books was without "fail". So I believe that something changed either in Exim or in PostgreSQL to make submitting an empty password string a positive match for bypassing authentication nowadays.

For the records: the spammer send approx. >10.000 mails. Another bunch of 8000 mails were rejected, but this is just slightly over the daily average.


Google spaltet die Netzgemeinde

Kürzlich hatte ich ja über einen Beitrag von Stefan Niggemeier und Abmahnungen als Mittel geschrieben, unliebsame Äußerungen zu unterdrücken. Daraus entwickelte sich dann eine Diskussion um Abmahnungen und Meinungsfreiheit mit Jan Mönikes.

Gestern abend bin ich nun über einen Beitrag vom "Medienmagazin Zapp" im NDR Fernsehen. Auch dort ging es um das Thema "Aufgeklärt, abgemahnt - Kritische Berichte über das Bistum Regensburg". Zapp greift den Fall der Einstweiligen Verfügung gegen den Journalisten Stefan Aigner und der Abmahnung gegen Stefan Niggemeier auf und schlägt im Grundtenor in die gleiche Kerbe wie ich: durch Abmahnungen und entsprechende Verfügungen sollen Journalisten davon abgehalten werden, kritisch zu berichten und ihre Einschätzungen zu einem Thema zu unterbinden.

Da der NDR irgendwie keine Möglichkeit bietet, das Video einzubetten, gibt es hier nur den Link zum Video (UPDATE: inzwischen ist das Video im ARD Channel auf Youtube):

Auch nach der Diskussion mit Jan Mönikes bin ich immer noch der Meinung, daß das Mittel der Abmahnung übertrieben eingesetzt wird, um mißliebige Meinungen aus dem Netz zu bekommen. Das Mittel der Abmahnung an sich, kritisiere ich nicht, aber deren Umsetzung. Wie auch Zapp zeigt, lassen sich Abmahnungen dazu mißbrauchen, die Meinungsfreiheit einzuschränken.


Slow Import with Digikam

Scheinbar gingen in den letzten Tagen wieder ein paar Invites für raus. Zumindest wenn man die Twittermeldungen dazu liest. ;-)
Neue Dinge sind natürlich hipp und man will ja auch dabei sein, wenn was neues kommt, um mitreden zu können. Aber was ist die Motivation derjenigen, die Flattr nutzen? Wollen sie selber von anderen geflattred werden, was ja nicht nur schmeichelhaft für das Ego ist, sondern im Zweifel auch noch ein bißchen Geld bringt? Oder wollen sie primär gute Artikel selber flattren und anderen damit etwas Wertschätzung zeigen und sind somit auch bereit, für gute Artikel im Netz etwas zahlen?
Dazu hab ich mal auf Anraten von Tobias Gies einen Twtpoll aufgesetzt. Bitte schön:



Gestern habe ich einen Artikel über Abmahnungen bei Stefan Niggemeier, der ebenfalls wie ich aus Georgsmarienhütte stammt, gelesen.
Niggemeier ist derzeit wohl ziemlich unter Beschuß von Anwälten und hat auch schon die eine oder andere Abmahnung hnter sich. Einzelheiten kann man ja in seinem Artikel lesen. Aber der eigentliche Punkt, auf den ich hinaus will, ist dieser:

Diese Leute — nicht nur dieser Anwalt oder sein Mandant, sondern viele andere — haben das elementare Prinzip der Meinungsfreiheit nicht verstanden. Sie haben nicht verstanden, dass sie ein Wert an sich ist. Dass sie auch Beiträge schützt, die nach irgendwelchen subjektiven oder objektiven Maßstäben wertlos sind. Artikel 5, Absatz 1, Satz 1 des Grundgesetzes lautet nicht: „Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten, solange es sich um ein wichtiges Thema handelt und ein Interesse der Öffentlichkeit an dieser Meinung besteht.”


Durch den Gang zum Anwalt und zum Gericht wird aus einer Auseinandersetzung um Wahrheit zu einer, in der regelmäßig nicht derjenige gewinnt, der Recht hat, sondern der sich die Auseinandersetzung leisten kann. Der Mächtige gewinnt.

Wer schon einmal mit solchen Leuten zu tun gehabt hat, der wird sicherlich auch abgewogen haben, ob er sich die Durchsetzung seiner Meinungsfreiheit leisten kann? Gerade die Tatsache des fliegenden Gerichtsstands macht die Sache für die Abmahner einfach. Sie können sich einfach irgendwo in Deutschland ein Gericht suchen, von dem sie glauben, daß es in ihrem Sinne entscheiden wird. So werden häufig die Berliner oder Hamburger Gerichte ausgewählt, vor denen dann geklagt wird. Auch wenn weder Kläger noch Beklagter aus Hamburg oder Berlin kommen.

Wer also ein Blog betreibt oder anderweitig im Internet seine Meinung publiziert, muss schon immer sehr genau darauf achten, was er schreibt. Letztendlich führt das zu einer Schere im Kopf. Einer vorauseilenden Selbstzensur. Man schreibt nicht mehr seine Meinung ins Netz, sondern das, von dem man selber denkt und hofft, daß es auch andere so sehen, was rechtlich gesehen unbedenklich sein könnte. Das aber hat, wie Niggemeier anmerkt, wenig mit dem Grundrecht auf Meinungsfreiheit zu tun. Er zitiert ja auch das Bundesverfassungsgericht und seine Stärkung der Meinungsfreiheit neuestem. Bleibt also zu hoffen, daß dieses höchstrichterliche Urteil auch in Berlin und Hamburg Eingang in die dortige Rechtssprechung findet.
Denn das Grundrecht auf Meinungsfreiheit beinhaltet (zumindest für mich) auch, daß ich diese frei äußern darf. Ein solches Grundrecht ist keines, wenn ich eine Meinung lediglich haben darf, diese aber nicht teilen, kommunizieren oder veröffentlichen darf. "Die Gedanken sind frei", heißt es. Aber erst wenn ich diese Gedanken und somit meine Meinung auch frei äußern darf, herrscht Meinungsfreiheit. Und ein vom Grundgesetz garantiertes Grundrecht darf nicht vom Geldbeutel des Menschen abhängen, der diese Meinung hat und sie auch frei äußern möchte.

Der Gesetzgeber ist also aufgerufen, dem Unwesen der Abmahnungen Einhalt zu gebieten.



Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer