Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • BIND BIND
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 633
    • Issues 633
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 87
    • Merge requests 87
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • BINDBIND
  • Issues
  • #2746
Closed
Open
Issue created Jun 02, 2021 by Laurent Gouhier@lg

unable to convert libuv error code in udp_send_cb to isc_result: -40: message too long

Summary

When I request a record that should generate UDP Fragements I am gettings theses logs in named.log :

May 26 11:57:14 solid named[9534]: ./bind-9.16/lib/isc/netmgr/udp.c:548: unexpected error:

May 26 11:57:14 solid named[9534]: unable to convert libuv error code in udp_send_cb to isc_result: -40: message too long

BIND version used

BIND 9.16.16 (Stable Release) id:0c314d8

running on FreeBSD amd64 13.0-STABLE FreeBSD 13.0-STABLE #155 stable/13-n245693-6cd1cb27a97-dirty: Thu May 20 01:40:10 UTC 2021 root@fb13-x64-sds80:/usr/obj/usr/src/amd64.amd64/sys/SOLIDSERVER

built by make with '--enable-threads' '--with-make-clean=no' '--with-gssapi=/usr/local' '--with-geoip' '--with-libjson=yes' '--with-libxml2=yes' '--prefix=/' '--enable-filter-aaaa'

compiled by CLANG FreeBSD Clang 11.0.1 (git@github.com:llvm/llvm-project.git llvmorg-11.0.1-0-g43ff75f2c3fe)

compiled with OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021

linked to OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021

compiled with libuv version: 1.41.0

linked to libuv version: 1.41.0

compiled with libxml2 version: 2.9.10

linked to libxml2 version: 20910

compiled with json-c version: 0.15

linked to json-c version: 0.15

compiled with zlib version: 1.2.11

linked to zlib version: 1.2.11

threads support is enabled

Steps to reproduce

  • Set in named.conf :

    edns-udp-size 4096;

    max-udp-size 4096;

  • Request a record that generate a response with a size greater than 3675

Possible fixes

It seems that is related to : !4668 (66eefac7)

In the commit we can see the new define "setsockopt_off"

#define setsockopt_off(socket, level, name) \

setsockopt(socket, level, name, &(int){ 1 }, sizeof(int))

But instead of sending a value 0 to disable the option, a 1 is send. So it is doing the same thing as the define "setsockopt_on"

editing the netmgr.c by

#define setsockopt_off(socket, level, name) \

setsockopt(socket, level, name, &(int){ 0 }, sizeof(int))

Work as it should

Best regards

Assignee
Assign to
Time tracking