exim4 and catchall mailbox

Of course there are millions of posts with similar content. But instead of storing a bookmark in one browser, I prefer to collect such knowledge at a central place.

In case you are working with Debian Wheezy and exim4 and want to create a mailbox, that gets all emails to unknown addresses, the following has to be done:

  1. edit /etc/exim4/exim4.conf.template and look for router/400_exim4-config_system_aliases
  2. change line data = ${lookup{$local_part}lsearch{/etc/aliases}} to
    data = ${lookup{$local_part}lsearch*{/etc/aliases}}
  3. add all valid users to /etc/aliases (like heinz: heinz)
  4. call update-exim4.conf
  5. restart exim4 /etc/init.d/exim4 restart

Disadvantage:

  • You need to insert all local users to /etc/aliases, but this could be managed during user creation
  • This does not work in case you set dc_use_split_config to ‘true’

What should be done to replace a faulty harddisk?

I am taking care of several dedicated servers hosted at different providers. As these servers are running 24/7 and have lots of things to write to and read from disk, from time to time a disk fails and has to be replaced. As there are RAIDs in these servers, this is no problem. Quite accidentally three disks at three different providers failed within a short time, and this is the story of their replacement:

  1. Server4You: I informed the support of the bad drive and asked what I need to do for a replacement. After a short time I was told to show part of the syslog, note the serial number of the faulty device and tell when the server might be switched of (the drives are not hot pluggable). At the given time nagios complained about a missing host. After about 15 minutes later everything was fine again and the RAID was syncing.
    downtime of host: 15min, total working time spent: 20min, only two people involved
    Great service!

  2. Hetzner: I informed the support of the bad drive and asked what I need to do for a replacement. After a short time I was told to show part of the syslog, note the serial number of the faulty device and tell when the server might be switched of (the drives are not hot pluggable). At the given time nagios complained about a missing host. After about 15 minutes later everything was fine again and the RAID was syncing.
    downtime of host: 15min, total working time spent: 20min, only two people involved
    Great service!

    (both are really almost identical)

  3. Strato: I informed the support of the bad drive and asked what I need to do for a replacement. After a short time employe1 told me to show part of the syslog and note the serial number of the faulty device. In response to those data employe2 told me that it is not possible to replace a single disk of the RAID. Instead the complete server(!!) needs to be replaced. I asked whether he was joking, but he confirmed that the answer of employe1 was wrong. I really need to click here and there on the customer service webpage to request a new installation of the server and activate a checkbox to request the exchange of the hardware.
    Ok, after thinking about my options I returned to the webpage and wanted to activate that checkbox. It was gone! My next email was answered by employe1: She is very sorry but she could not answer my email because I sent it from an unauthorized address. Btw. it was the same address that I used before and employe1 already sent an answer to!
    Anyway, maybe their webinterface can be used to send authenticated emails. Really, I got an answer from employe3 saying that I need to perform a hardware test to get my checkbox back. There are two versions, one lasting 2 hours and the second lasting up to 12 hours. During that time the server is not reachable. Ok, I needed that checkbox so I started the test. The next morning I was told that everything is fine with the hardware. Strange enough that checkbox appeared again. So I was finally able to use the new hardware and start to install the new system.
    downtime of host: about 12 hours, total working time spent: 6 hours, four people involved

    Maybe there are good reasons for such a procedure. From the customers point of view this is a total desaster. I think you can guess who will not rent out the next servers.

Debian Med advent calendar

I would like to anounce the Debian Med advent calendar 2012. Just like last year the Debian Med team starts a bug squashing event from the December 1st to 24th. Every day at least one bug from the Debian BTS should be closed. Especially RC bugs for the oncoming Debian release (Wheezy) or bugs in one of the packages maintained by Debian Med shall be closed. Anyone shall be called upon to fix a bug or send a patch. Don’t hestitate, start to squash :-).

DOPOM: a56 – Motorola DSP56001 assembler

Since I first looked at the list of orphaned Debian packages (available at http://www.debian.org/devel/wnpp/orphaned) some time ago, the package a56 has been the lonely leader of the list.

This package contains a freeware assembler for the 56000 architecture. These chips have been very popular in the 1980s (used in NeXT, Atari Falcon and SGI Indigo Workstations).
Updated versions are still used in today’s devices like some mobile phones (-> http://www.freescale.com/webapp/sps/site/homepage.jsp?code=563XXGPDSP)

So, being a bit nostalgic, I adopted this package and brought it to shape. There was even a small bug that I was able to close.

BOM: overflow in ent

Recently I got a bug report for package ent. The internal counter of processed bytes has just type long. In case you feed enough bytes to ent, there will be an overflow after about half an hour (of course that depends on your type of CPU, the bug was reported on architecture i386).

As modern C (C99) introduced a new type long long, I changed the type of some variables from simple long to unsigned long long. The overflow disappeared for now, but it will reappear just some trillion bytes later.

So, are there any recommendations on how to handle such a situation better?

New version of chktex in Debian unstable and experimental

Just recently I heard of a change of the maintainer of chktex. Apparently development goes on as there is already version 1.7.1 available. Even for the old 1.6 branch there have been some bugfixes.

So I uploaded 1.6.6 to unstable and 1.7.1 to experimental. Keep on testing :-).

DCF77 computer clock

Some time ago I read about a lottery conducted by the German company Meinberg Funkuhren GmbH & Co. KG. The prizes should be seven DCF77 computer clocks and three GPS time receivers. After the drawing the winners must use their clocks to contribute to the NTP Project. In order to win one just had to give away an email address.

After having done so, I almost forgot the lottery and was really surprised to get a notification that I won a PZF180PEX together with an external antenna and accessories.

After some days everything arrived and I tried to install the hardware. Unfortunately the conditions for reception of the DCF77 signal were really bad at the originally planned location. So I had to install a spare computer at another place with better conditions.

As there is no Debian package available for the driver, I had to compile the software on my own. This raised some issues, which could be resolved rather quickly by the Meinberg support team. At the end I got a beta version of the new software and everything was fine.

Afterwards I reconfigured other external servers to use that internal clock as well. As a result the NTP pool got no new stratum 1 server, but in compensation three stratum 2 servers.

Anyway, thanks alot to the Meinberg team for their generous donor.

DSOM: vera++ – Programmable verification and analysis tool for C++

This software is a programmable tool for verification, analysis and transformation of C++ source code.
It is mainly an engine that parses C++ source files and presents the result of this parsing to scripts in the form of various collections. Afterwards the scripts are actually performing the requested tasks.

This is a link to the Debian PTS page.

Having some fun with twitter

Up to now I didn’t use Twitter at all. There are just very few people whose bedtime is really interesting or whose whereabouts give me any useful information. So although I have an account at Twitter, I didn’t find anything to follow.

On the other hand my bedtime is not really interesting for someone else and my whereabouts give no useful information to anybody. So although I have an account at Twitter, nobody is following me.

As I love to make experiments, it is time to have some fun with twitter now. Each day (or at least almost each day) I will tweet
an entry of the fortunes file (/usr/share/games/fortunes/literature.dat) and wait for any reaction. Do I just create garbage and increase the entropy of the universe? Does anybody recognize it at all? Maybe I will even understand the hype about Twitter?

DOPOM: greylistd – Greylisting daemon for use with Exim 4

I was really amazed that a package like greylistd does not have an active  maintainer anymore.

Further looking at popcon, this package is only installed on just a few computers. The reason might be that it is only installed on servers that do not take part in popcon.

Anyway, this package needs a maintainer and here I am.

My first upload to ‘experimental’ mainly takes care of lintian warnings and closes a few bugs:

  • #375504: don’t expire entries every check:  the fix was contributed by Steven A. Reisman and verified by Jason  Cormie.
  • #585231: do not use Python strings exceptions anymore

The next step will be to take care of bugs with patches and than reduce the number of other bugs.

Please feel free to help fixing bugs or volunteer for becoming a comaintainer :-).

Here you can find the PTS page.