Category Archives: Distributions

exim / implementing greylisting without db

I had greylisting running for a while with a little perl script, that only worked with ip-addresses. As spam is growing an growing, I wanted to use the whole triplet (ip/sender/recipient) for the filter.

As I did not want to use a database backend, the decision led to greylistd – an easy configurable daemon. I needed the packages for (open)SuSE, that can be found in openSuSE’s software repository.

After installing it and checking the basics at /etc/greylistd/config, you have to add a little code to your acls in exim.conf, i.e.:

defer message = greylisted $sender_host_address. please try again later
condition = ${readsocket{/var/run/greylistd/socket}\
{--grey $sender_host_address $sender_address $local_part@$domain} {5s}{}{false}}


That was all I had to do to get it working. It’s advisable to add some hosts, that are known for problems with greylisting, not to be checked. Therefor you have to extend your acl:

defer message = greylisted $sender_host_address. please try again later
!hosts = : ${if exists {/etc/greylistd/whitelist-hosts}\
{/etc/greylistd/whitelist-hosts}{}} : \
${if exists {/var/lib/greylistd/whitelist-hosts}\
{/var/lib/greylistd/whitelist-hosts}{}}
condition = ${readsocket{/var/run/greylistd/socket}\
{--grey $sender_host_address $sender_address $local_part@$domain} {5s}{}{false}}


Many thanks for the documentations from Arne Schirmacher and Ben Charlton.

VMware / time sync with linux guests

In my default configuration, time was running way too fast in VMware linux guests. After spending hours of searching howto solve the problem, I finally found a few different points that might work as a solution.

Enviroment:
Host: SuSE Linux 10.1
Guest: SuSE Linux 10.1
VMware Server: 1.0.2

  • Install the vmware-tools on the guest.
    Don’t forget to install the kernel-sources if you have to recompile some modules.
  • Insert clock=pit into the guest’s kernel boot options.
    When you’re using grub, it kinda looks like this:
    kernel /vmlinuz root=/dev/sda3 apm=off acpi=off clock=pit
  • Set tools.syncTime = “TRUE” in your virtual machine .vmx-file
    (found on the host machine [default in /var/lib/vmware/..])

    Your guest has to be rebooted to activate this setting.
  • Finally, I had to change a little thing on the host machine:
    Disable powersaved (or powernowd or whatever applies to you)

From that time on, my guests are perfectly in sync with the host’s time.

Note: Nov, 23th 2007: .. or not … time is still too fast on some virtual machines : (

Next thing I tried right now is to add the following lines in /etc/vmware/config:
host.cpukHz = 2200000
host.noTSC = TRUE
ptsc.noTSC = TRUE

Where 2200000 (2,2 GHz) is the max speed of the host cpu.

+ Updated to VMware Server 1.0.4
^^ At first sight, this works perfectly for me : )

Useful Links:

ext2-support is lacking in openSuSE 10.2 kernel

Today, I was playing around with some Disaster Recovery software (Mondo Rescue and mkCDrec) and had to recognize after some tries and errors, that the created boot cdroms just didn’t work because SuSE removed the ext2-support from openSuSE 10.2 kernel. That’s really annoying, because the initrd filesystem cannot be mounted without it (in default configurations) and I did not get the minix fs to work yet ..

After some time spent searching on google, I found precompiled openSuSE 10.2 rpms at software.opensuse.org for Mondo Rescue.
But same problem for me -> backup worked like a charm but I still can’t boot from cdrom (hangs after a while).

I’ll try another Linux distribution next days and test that there, because the disaster recovery software seems to be very interesting and useful.