Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update DNS extension to use latest rubydns gem #1253

Closed
4 tasks
bcoles opened this issue Apr 22, 2016 · 10 comments
Closed
4 tasks

Update DNS extension to use latest rubydns gem #1253

bcoles opened this issue Apr 22, 2016 · 10 comments

Comments

@bcoles
Copy link
Collaborator

bcoles commented Apr 22, 2016

The DNS extension currently makes use of rubydns gem version 0.7 which is also hard-coded in the Gemfile and Gemfile.lock.

It should be updated to the latest stable version (1.0.3) for maintainability as ongoing work to resolve #1025. This will also help prevent dependency issues like #1249 and #1237 in the future.

rubydns 0.9.0 onward uses Celluloid instead of EventMachine.

  • Remove the hard-coded '~> 0.7.3' version for rubydns from Gemfile
  • Update the rubydns gem and associated Gemfile.lock file with bundle update rubydns
  • Verify the rake unit and rake integration test pass
  • Manually verify the DNS extension continues to work
@ziflar
Copy link

ziflar commented Apr 22, 2016

@bcoles 👍 Thx it's ok
the update is ok
i just run :
update-beef

it's ok

@ioquatix
Copy link

RubyDNS 2.0.0-rc1 is available and it should be suitable for your update as it no longer depends on celluloid. Let me know if I can provide any other help.

@bcoles
Copy link
Collaborator Author

bcoles commented Apr 16, 2017

Thanks @ioquatix

Do you have a migration guide for 0.7 to 2.0 ? In particular, I noticed the 2.0.0 RC1 version gives the following error, even though the gem is required and the documentation indicates that class Server < RubyDNS::Server is the correct usage.

/pentest/web/beef/extensions/dns/dns.rb:17:in `<module:Dns>': uninitialized constant RubyDNS::Server (NameError)
Did you mean?  TCPServer

@ioquatix
Copy link

I apologise for this, perhaps the documentation is wrong - things have changed a lot - I'll check and get back to you.

@ioquatix
Copy link

Okay, RubyDNS::Server moved to Async::DNS::Server. You don't need to depend on rubydns, you can just depend directly on async-dns and then use Async::DNS::Server as your base class.

@ioquatix
Copy link

ioquatix commented Aug 5, 2017

RubyDNS 2.0.0 is now released.

@bcoles
Copy link
Collaborator Author

bcoles commented Aug 6, 2017

Thanks @ioquatix

Unfortunately updating the library is more complicated than I'd hoped and we're short on dev bandwidth.

@h4sh5
Copy link
Contributor

h4sh5 commented Jan 9, 2020

Moved the base class to Async::DNS::Server, and it starts with Thread.new { super() } to not block the program.

rubydns gem is no longer required, added async-dns to the gem file.

@h4sh5 h4sh5 closed this as completed Jan 9, 2020
@ioquatix
Copy link

Nice work!

@bcoles bcoles modified the milestones: 0.7.0.0-alpha, 0.6.0.0-alpha Jan 6, 2021
@bcoles
Copy link
Collaborator Author

bcoles commented Aug 15, 2021

Fixed in f5de5eb.

@bcoles bcoles modified the milestones: 0.6.0.0-alpha, 0.5.1.0-alpha Aug 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants