A year of Rust and DNS
21–30 of 109 posts
Re: A year of Rust and DNS
#22Love the idea of reimplementing DNS in Rust. Would love to see more efforts like this so that we have secure-by-design language implementation of core security services. But BIND isn't just failing because "it's written in C", it's failing because it's written in terrible C. That said, "terrible C" is probably most every C routine written by someone with less than 10 years of solid low level experience, so "writing g…
Yup. This has been the case for virtually all of the "core" open-source C projects I've opened up the covers on. In particular, bash's code base is terrifying. The more I look, the more I believe that nearly everything we build on top of needs to be thrown out and rewritten with a safer language (e.g., Rust) and with a focus on incorporating software development best practices we've learned since the past forty years.
Re: A year of Rust and DNS
#23Re: A year of Rust and DNS
#24Earlier quoted context omitted.
I thought DJB generally donates his code to the public domain. Hard to be "friendlier" than that.
Public domain code is actually illegal in some places, if I recall correctly
That's not an issue for me at my $corporation because they are sane, but apparently that's the argument.
Re: A year of Rust and DNS
#25Earlier quoted context omitted.
I thought DJB generally donates his code to the public domain. Hard to be "friendlier" than that.
Public domain code is actually illegal in some places, if I recall correctly
Re: A year of Rust and DNS
#26Re: A year of Rust and DNS
#27Love the idea of reimplementing DNS in Rust. Would love to see more efforts like this so that we have secure-by-design language implementation of core security services. But BIND isn't just failing because "it's written in C", it's failing because it's written in terrible C. That said, "terrible C" is probably most every C routine written by someone with less than 10 years of solid low level experience, so "writing g…
How so? If it ain't broke...
Re: A year of Rust and DNS
#28Love the idea of reimplementing DNS in Rust. Would love to see more efforts like this so that we have secure-by-design language implementation of core security services. But BIND isn't just failing because "it's written in C", it's failing because it's written in terrible C. That said, "terrible C" is probably most every C routine written by someone with less than 10 years of solid low level experience, so "writing g…
C code doesn't have to be terrible. And "terrible" often is in the eye of the beholder.
I've heard people decry OpenSSL and it's various warts (it has many), but as a code base, it's worked well for years across an incredible range of platforms.
Some claim the architecture and quality is crap (often, it's more about style), some just know that's how it was developed and stick to the style and extend / fix / etc. A lot of the OpenSSL issues stem from the wide range of use and the lack of giveback by companies working with it (including donations, etc. This goes back nearly 15+ years).
A new and hot language does not make a new implementation any more secure (maybe it has different issues) than one that has been around awhile, had multiple eyes, etc.
Re: A year of Rust and DNS
#29>Implementing rfc1035 was deceivingly easy
This stuck out to me - RFC1035 is the first RFC I've read all the way through and had a shot at implementing. Then you realise it's RFCs all the way down and there's no easy way to navigate through all the overridden / deprecated parts.
Re: A year of Rust and DNS
#30With Ironsides, that makes at least two of you using safest languages you can find to try to improve DNS. Good goal and tool to pick. :) http://ironsides.martincarlisle.com/ "Take a look at the full list sometime, I think roughly 50% of those could have been avoided by using (safe) Rust." This is true for most vulnerabilities I see in C-related apps. We also know there's techniques to prevent that with acceptable per…
> With Ironsides, that makes at least two of you using safest languages you can find to try to improve DNS I looked at that a while ago, I should take another. Thanks for pointing that out. > I think one of most valuable things you could do in this project is create a single specification of various things in DNS that cites parts of RFC's or advice from real-world implementations to justify each part. Kind of a walkt…
Wireshark's DNS dissector is exceptionally useful here.
I agree that it's a project in and of itself.