OSS Patches

On this page you will find patches for some open-source software (OSS) projects. The patches are provided in the hope that they will be useful, but without any warranty.

If you have problems, questions, ideas or suggestions, feel free to contact the author. You can find the contact information on top of the patch files, or use the contact form on this website.

On this page:


BIND is an implementation of the Domain Name System (DNS) protocols and provides an openly redistributable reference implementation of the major components of the Domain Name System.

SDB Notification

BIND9 introduced the Simple Database Backend (SDB) to support data sources other than simple text files. This allows for centralized database driven zone management. But you are on your own if not all secondary nameservers of your zones are under your control or have access to the database because BIND9 as master simply does not send notifications on zone changes to them. The only ways to ensure up-to-date zone data on all nameservers are restarting BIND9, or waiting for the secondary nameservers expiring the zones and checking for an update.

This patch modifies BIND9 to compare the actual serial number of a SDB-driven zone to the currently known serial. If the actual serial is greater, then a zone notification will be scheduled. The notification may still be blocked if notifications are disabled for this zone or entirely. The same rules apply to SDB zone's serial number as with standard backend.

The unified patch for BIND 9.3.1+:
bind-9.3.1-sdb-notify.patch [PGP]

Note: This patch is already included in the BIND package in our RPM repository.


Cyrus-IMAP - Cyrus IMAP Server

Cyrus-IMAP is an IMAP server that differs from other implementations in that it is generally intended to be run on sealed servers, where normal users are not permitted to log in. The mailbox database is stored in parts of the filesystem that are private to the Cyrus-IMAP system. All user access to mail is through the IMAP, POP3, or KPOP protocols.

MD5 Mailbox Hashing

With the default hash settings Cyrus-IMAP simply uses the first letter of a mailbox name to group quota and user files together. When someone has a lot of mailboxes with the same starting letter all files will end up in the same directory. To improve the file distribution the fulldirhash option can be activated, which allows Cyrus-IMAP to hash the entire mailbox name and use the result for storing its files. But there is only one directory level to put the files into. Large and very large installations have still the problem with too much files per directory.

This patch adds the new configuration option hash_dir_depth to Cyrus-IMAP, which defaults to zero. Setting this option to a non-zero value changes the (full) hashing scheme to MD5. The hash result of MD5 is always a 16 byte value, where each byte of the result will now be used for one directory level. The value given to this option determines how many levels of directories will be created. Furthermore it adds a tool named lookup-mailbox to help in locating the mailbox parts on the filesystem. See the provided patch file for more details.

The unified patch for Cyrus-IMAP 2.2.12:
cyrus-imapd-2.2.12-md5hash.patch [PGP]

When the autocreate extension is used, it has to be modified too:
cyrus-imapd-2.2.12-autocreate-0.9.2-md5hash.patch [PGP]

Quota Tool Performance

The quota tool provided by Cyrus-IMAP is used to lookup or repair mailbox quotas. On large and very large installations it performs very bad due to the way the quota lookup is done. This patch dramatically improves its performance by using the mailboxes database to perform the quota lookup.

The unified patch for Cyrus-IMAP 2.2.12:
cyrus-imapd-2.2.12-quotaspeed.patch [PGP]

Note: An improved and further optimized version of this patch is already included in Cyrus-IMAP 2.3.x.


REOBack - System Backup Solution

REOBack is a backup solution designed for Linux users and system administrators. It is designed to be simple to set up, and easy to use. It is great as a quick solution for those who procrastinate about backups. It supports automatic full/incremental backups of files you define, remote backups via NFS or FTP, as well as auto deletion of old backups.

Number of Backup Sets

REOBack only supports two backup sets, one complete set is stored while the other one is in use. It is currently not possible to configure the number of backup sets to be kept. This patch adds the new configuration option retention to REOBACK, which defaults to two. Use this to configure the number of backup sets to retain. This way you can have eg. weekly full backups (backupdays=7) and still keep the old backup sets for one month (retention=4).

The unified patch for REOBack 1.0-3:
reoback-1.0-3-retention.patch [PGP]


RTSPProxy - RTSP Caching Proxy

RTSPProxy is a proxy server for multimedia content that is transferred via the RTSP/RTP protocols. It has the capability of caching streams and playing them back to clients. It is a modified version of the RealNetworks RTSP proxy kit reference implementation.

Live Stream Caching

RTSPProxy does not account for the type of the stream, when it caches it. But caching of Live Streams is often not advisable since playback always starts at the beginning of cached data (which may have expired at this time, eg. news) and most clients do not allow to forward in live content.

This patch adds the new configuration option cache_live to RTSPProxy, which allows to disable the caching of Live Streams, provided that the Streaming Server correctly sets the LiveStream flag.

The unified patch for RTSPProxy 2.4.1:
rtspproxy-2.4.1-cachelive.patch [PGP]

Note: This patch is already included in the RTSPProxy package in our RPM repository.


SKS - OpenPGP Keyserver

SKS is a new OpenPGP keyserver using a highly efficient and reliable reconciliation algorithm for quick synchronization. It is fully compatible to the existing PKS system, it can and does both send and receive syncs from PKS servers ensuring seamless connectivity. SKS also has support for new and old style packets, photoID packets, multiple subkeys, and pretty much everything allowed by RFC2440 and RFC2440bis.

Filesystem Layout

SKS requires all files and data directories to reside in one directory. This patch makes it possible to place config files, log files and data files in the proper locations in the filesystem. See the provided patch file for more details.

The unified patch for SKS 1.0.10:
sks-1.0.10-fslayout.patch [PGP]

Signature Expiration

SKS shows detailed information for a PGP key on the verbose index page, including all attached signatures. This patch enhances the signature listing in that already expired signatures are marked for quick identification. See the provided patch file for more details.

The unified patch for SKS 1.0.10:
sks-1.0.10-signature.patch [PGP]


Last Modification: 2019-12-15 11:30 (CET)
© 2005-2019 Peter Pramberger
Client: (IPv4)
Image: Join the Free Software Foundation!