GithubHelp home page GithubHelp logo

Comments (7)

MichaCo avatar MichaCo commented on June 9, 2024

you'd have to provide a working/simple example of how to reproduce this
Thanks

from dnsclient.net.

MichaCo avatar MichaCo commented on June 9, 2024

That being said, @jjxtra, there is a part in ReadLabels which is recursive. DNS name labels can be referenced to reduce the size of the overall packet, and, each reference can again reference another, already exiting label.
If that causes an endless loop, then the data received is probably wrong or incomplete or something.
I could probably stop this after a few iterations, to prevent the stackoverflow. But you'd still get an exception..

Would be really interesting to know the server and query which causes that for you!

from dnsclient.net.

jjxtra avatar jjxtra commented on June 9, 2024

Could we terminate after 100 or 1000 iterations? If an ILogger reference is included it could log a warning with the host or query? Or maybe throw a LabelRecursionException that could be caught further down stream?

Easiest option for me is a log or throw and then it can print out the query and/or host name server used...

from dnsclient.net.

jjxtra avatar jjxtra commented on June 9, 2024

I believe this will resolve with #167 @MichaCo

from dnsclient.net.

MichaCo avatar MichaCo commented on June 9, 2024

Nice 👍 , I'll take a look later

from dnsclient.net.

jjxtra avatar jjxtra commented on June 9, 2024

Any update here @MichaCo ? Happy to help if you need it.

from dnsclient.net.

MichaCo avatar MichaCo commented on June 9, 2024

@jjxtra well this is a pretty low priority thing and I have to take some time to review your PR, and, I don't really have a lot of time atm.

I just did review it though, see comments.

During the review I had to write a unit test which actually can reproduce the StackOverflow error, so, I'd rather close your PR if you don't mind and then use my version? Unless you want to play more with it for fun.

from dnsclient.net.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.