[GH-ISSUE #1640] "Data truncated" error during DKIM check #1288

Closed
opened 2026-02-27 11:16:19 +03:00 by kerem · 1 comment
Owner

Originally created by @AmazingBeu on GitHub (Dec 24, 2018).
Original GitHub issue: https://github.com/modoboa/modoboa/issues/1640

Impacted versions

  • Modoboa: 1.13.0
  • installer used: Yes
  • Webserver: Nginx
  • Database: MySQL

The WebUI return :

 A DNS record has been found but its syntax is not valid: Invalid tag " "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AM 

The command return :

# /srv/modoboa/env/bin/python /srv/modoboa/instance/manage.py modo check_mx
/srv/modoboa/env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py:101: Warning: Data truncated for column 'error' at row 1
  return self.cursor.execute(query, args)

The DNS record is :

$dig mail._domainkey.virtit.fr. TXT +noall +answer 

; <<>> DiG 9.13.5 <<>> mail._domainkey.virtit.fr. TXT +noall +answer
;; global options: +cmd
mail._domainkey.virtit.fr. 300	IN	TXT	"v=DKIM1;" "k=rsa;" "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2y" "dGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+" "dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDe" "i3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kax" "QmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLj" "h9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXX" "zJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrq" "DH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv" "9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQ" "ayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zk" "a+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKG" "osEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAw" "EAAQ=="

The database record is :

select value from dnstools_dnsrecord where type='dkim';
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| v=DKIM1;" "k=rsa;" "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2y" "dGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+" "dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDe" "i3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kax" "QmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLj" "h9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXX" "zJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrq" "DH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv" "9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQ" "ayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zk" "a+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKG" "osEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAw" "EAAQ== |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

The WEBUI record is :


Raw format
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2ydGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDei3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kaxQmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLjh9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXXzJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrqDH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zka+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKGosEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAwEAAQ==

Bind/named format
mail._domainkey.virtit.fr. IN TXT (
  "v=DKIM1;k=rsa;p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2"
  "ydGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+dc0zLNVrlEEJ"
  "usokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDei3HhFvi5fbUze0rQv51QoSvHF"
  "ikKardDJcKY92xoYtAYb7GkBBjbclQLv9kaxQmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi"
  "9qqc+BI4VTPbRJc+1wIhsLjh9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl"
  "/wMMBUwuXXzJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrqDH1"
  "8uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv9l0TK6L4UdxD9qyr"
  "ZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQayJm6fbEVfbYkjEqVV8de5lfwguek"
  "+9qy/D3W2cieav5LRRIL6fC8pkbCP9zka+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd3"
  "5E/spDOh9JZ+x4MToKGosEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5n"
  "BbMCAwEAAQ==")
Originally created by @AmazingBeu on GitHub (Dec 24, 2018). Original GitHub issue: https://github.com/modoboa/modoboa/issues/1640 # Impacted versions * Modoboa: 1.13.0 * installer used: Yes * Webserver: Nginx * Database: MySQL The WebUI return : ``` A DNS record has been found but its syntax is not valid: Invalid tag " "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AM ``` The command return : ``` # /srv/modoboa/env/bin/python /srv/modoboa/instance/manage.py modo check_mx /srv/modoboa/env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py:101: Warning: Data truncated for column 'error' at row 1 return self.cursor.execute(query, args) ``` The DNS record is : ``` $dig mail._domainkey.virtit.fr. TXT +noall +answer ; <<>> DiG 9.13.5 <<>> mail._domainkey.virtit.fr. TXT +noall +answer ;; global options: +cmd mail._domainkey.virtit.fr. 300 IN TXT "v=DKIM1;" "k=rsa;" "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2y" "dGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+" "dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDe" "i3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kax" "QmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLj" "h9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXX" "zJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrq" "DH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv" "9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQ" "ayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zk" "a+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKG" "osEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAw" "EAAQ==" ``` The database record is : ``` select value from dnstools_dnsrecord where type='dkim'; +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | value | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v=DKIM1;" "k=rsa;" "p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2y" "dGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+" "dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDe" "i3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kax" "QmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLj" "h9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXX" "zJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrq" "DH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv" "9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQ" "ayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zk" "a+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKG" "osEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAw" "EAAQ== | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ``` The WEBUI record is : ``` Raw format MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2ydGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+dc0zLNVrlEEJusokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDei3HhFvi5fbUze0rQv51QoSvHFikKardDJcKY92xoYtAYb7GkBBjbclQLv9kaxQmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi9qqc+BI4VTPbRJc+1wIhsLjh9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl/wMMBUwuXXzJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrqDH18uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv9l0TK6L4UdxD9qyrZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQayJm6fbEVfbYkjEqVV8de5lfwguek+9qy/D3W2cieav5LRRIL6fC8pkbCP9zka+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd35E/spDOh9JZ+x4MToKGosEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5nBbMCAwEAAQ== Bind/named format mail._domainkey.virtit.fr. IN TXT ( "v=DKIM1;k=rsa;p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyFBWxGeq85D9i2" "ydGSjh64V0IPPLPzrk2Yr/K+nTd6mQU04GsdrQKkKQrNy0MwAneptODUE46kC+dc0zLNVrlEEJ" "usokdmCTniw/t9QBSlY72JesKO0ryg28SfsFmFxui8T56SpDei3HhFvi5fbUze0rQv51QoSvHF" "ikKardDJcKY92xoYtAYb7GkBBjbclQLv9kaxQmhmKrSyiChMzTnb9SgTm6gOQ3GI4FruT09HGi" "9qqc+BI4VTPbRJc+1wIhsLjh9NAUgCAh7tENH6bIlNSuW9RSPxRUFsUozExt3/rX5S52KALmTl" "/wMMBUwuXXzJCVAfFubjOIH9KutpPAiRTF6qBTwuJ6xsZ2mqxg4n5znrc4WvYKV9COfEyrqDH1" "8uN871BWKA+jywE5lkCXdZss9gM1yVJ8e/SehWemumHgEKbrkZ1mzfqdiv9l0TK6L4UdxD9qyr" "ZQjUsVO5uCBQsJjKpG12rMYZWO5caDGa1G2u24WAFOSeQayJm6fbEVfbYkjEqVV8de5lfwguek" "+9qy/D3W2cieav5LRRIL6fC8pkbCP9zka+ayUCVNIkEZCUHRJrcb9uy/W+aFnFrx5xLMMd0yd3" "5E/spDOh9JZ+x4MToKGosEuGhg1rO9xccBS5xqa70DpBGpqW1bq/FDdQF1FS+kKKje6pmYYv5n" "BbMCAwEAAQ==") ```
kerem 2026-02-27 11:16:19 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@AmazingBeu commented on GitHub (Feb 6, 2019):

My problem has been partialy solved because the env/lib/python2.7/site-packages/modoboa/dnstools/lib.py library parse tags of my DNS record with double quote ( '" "k' and '" "p' ).

To solve this, i added tag = tag.strip('"') in the file like this :

def check_dkim_syntax(record):
    """Check if record has a valid DKIM syntax."""
    if not record.startswith("v=DKIM1"):
        raise DNSSyntaxError(_("Not a valid DKIM record"))
    key = None
    for tag in record.split(";")[1:]:
        tag = tag.strip(" ")
        tag = tag.strip('"')
        if tag == "":
            continue
        parts = tag.split("=", 1)

I think it can be added in the repository without breaking something

<!-- gh-comment-id:461213571 --> @AmazingBeu commented on GitHub (Feb 6, 2019): My problem has been partialy solved because the **env/lib/python2.7/site-packages/modoboa/dnstools/lib.py** library parse tags of my DNS record with double quote ( '" "k' and '" "p' ). To solve this, i added **tag = tag.strip('"')** in the file like this : ``` def check_dkim_syntax(record): """Check if record has a valid DKIM syntax.""" if not record.startswith("v=DKIM1"): raise DNSSyntaxError(_("Not a valid DKIM record")) key = None for tag in record.split(";")[1:]: tag = tag.strip(" ") tag = tag.strip('"') if tag == "": continue parts = tag.split("=", 1) ``` I think it can be added in the repository without breaking something
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/modoboa-modoboa#1288
No description provided.