Package: opendkim Version: 2.11.0~beta2-4 Severity: important Dear Maintainer,
I have been unable to use opendkim with an sqlite3 data source. According to the OpenDBX documentation[1], the sqlite backend uses the host information to provide a path to the directory where the database is stored, and the database name is used as the name of a file in that directory. In order to include this information within opendkim's dataset DSN string, it seems the absolute pathname must be encoded as described in opendkim(8): > No value within the DSN may contain any of the six punctuation > characters (":", "/", "@", "+", "?" and "=") used to delimit > portions of the DSN. To include such characters within a value, > encode them in quoted-printable style (e.g., "=20" will be > translated into a single space character). Encoding of spaces > is also advised. So, in order to use a database path like /etc/mail/config.sqlite, I would like to use something like this: KeyTable dsn:sqlite3://=2Fetc=2Fmail=2F/config.sqlite/table=dkim_keys?keycol=domain?datacol=domain,selector,private_key However, strace reveals that opendkim is using the host and database values to construct a database file path without any quoted-printable decoding, e.g.: > % strace opendkim-testkey > [...] > lstat("=2Fetc=2Fmail=2Fconfig.sqlite", 0x7ffcad8871a0) = -1 ENOENT (No such > file or directory) > [...] > > opendkim-testkey: dkimf_db_open() failed I would have expected the database path (host value) to be decoded from its quoted-printable form before being passed to OpenDBX. Thank you. [1]: https://linuxnetworks.de/doc/index.php?title=OpenDBX/Configuration#sqlite3_backend -- System Information: Debian Release: 11.6 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-21-amd64 (SMP w/2 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages opendkim depends on: ii adduser 3.118 ii dns-root-data 2021011101 ii init-system-helpers 1.60 ii libbsd0 0.11.3-1 ii libc6 2.31-13+deb11u5 ii libdb5.3 5.3.28+dfsg1-0.8 ii libldap-2.4-2 2.4.57+dfsg-3+deb11u1 ii liblua5.1-0 5.1.5-8.1+b3 ii libmemcached11 1.0.18-4.2 ii libmilter1.0.1 8.15.2-22 ii libopendbx1 1.4.6-15 ii libopendkim11 2.11.0~beta2-4 ii librbl1 2.11.0~beta2-4 ii libssl1.1 1.1.1n-0+deb11u3 ii libunbound8 1.13.1-1 ii libvbr2 2.11.0~beta2-4 ii lsb-base 11.1.0 Versions of packages opendkim recommends: ii opendkim-tools 2.11.0~beta2-4 opendkim suggests no packages. -- Configuration Files: /etc/dkimkeys/README.PrivateKeys [Errno 13] Permission denied: '/etc/dkimkeys/README.PrivateKeys' /etc/opendkim.conf changed: Syslog yes SyslogSuccess yes Canonicalization relaxed/simple OversignHeaders From SigningTable dsn:sqlite3://=2Fetc=2Fmail=2F/config.sqlite/table=dkim_keys?keycol=domain?datacol=domain KeyTable dsn:sqlite3://=2Fetc=2Fmail=2F/config.sqlite/table=dkim_keys?keycol=domain?datacol=domain,selector,private_key UserID opendkim UMask 007 Socket local:/run/opendkim/opendkim.sock PidFile /run/opendkim/opendkim.pid TrustAnchorFile /usr/share/dns/root.key -- no debconf information