Mozilla Will Ship Its First Rust Component In Firefox 48 (softpedia.com)
An anonymous reader quotes a report from Softpedia: Mozilla announced today plans to ship its first ever Rust code with the production releases of Firefox. The first ever Rust components will arrive in Firefox 48, scheduled for release on August 2, 2016. After teasing Rust features last year, the Mozilla Foundation announced today that Firefox 48 would contain a new media stack component that's entirely coded in Rust. The first Firefox component to feature Rust code was not chosen at random because media components often execute malicious code when parsing multimedia files. "This makes a memory-safe programming language like Rust a compelling addition to Mozilla's tool-chest for protecting against potentially malicious media content on the Web," says Dave Herman, Director of Strategy at Mozilla Research. During tests of this Rust-based media component in Firefox's unstable builds, Mozilla says that after one billion uses they have yet to see a crash or issue in the Rust media component. Last month, Mozilla released the first versions of Servo, a minimal browser created in Rust code alone. At around the same time, Microsoft open-sourced Checked C, an extension to the C programming language that brings new features to address a series of security-related issues.
Java isn't supposed to be able to get out of its sandbox without permission, yet it's the source of many vulnerabilities. Why would we trust Rust to be any safer?
It'll bring the bug reporter down with crash reports in the first 24 hours of full release then?
Too bad the Rust community is so toxic. Can't call a process a slave, it has to be a "follower".
I really hate seeing Mozilla getting "rusty"!!!
Time is what keeps everything from happening all at once.
It looks like I have to stop using Firefox. I only use it for nostalgic reasons and that I'm familiar with it. However, I should have dumped it long ago.
Who but Mozilla can we trust to protect our privacy? Everyone else seems to want to profit in one way or another.
Time is what keeps everything from happening all at once.
I think part of Mozilla's motivation to use rust is that it prevents leaks and they know they have many.
refactor the law, its bloated, confusing and unmaintainable.
Not me, I want a pony.
Here we go again. Assholes always dissing Mozilla no matter what.
It really depends on where the rust occurs. If it's just on the panelling or in the chrome then you can sand it down and repaint, but if it's structural rust you're pretty much hosed. Time to switch to Pale Moon, which hasn't started rusting yet.
I call BS. Everyone knows Firefox died version 41.
Torbrowser works well, the included addons in Tails Linux OS work fine, nothing breaks and no complaints!
While that reasoning makes perfect sense, there is no alternative that is not at least equally broken.
You run back to your privacy hating ad-broker little boy. Empower those guys, like a complete idiot. Chrome users are the AOL users of yesteryear.
In fact there is already a debian package of rust: https://packages.debian.org/st...
And debian means ubuntu and lots of other distros.
because I closely observe rust and it will make a great product. As for MS "safe" C, it lacks namespaces, and therefore I prefer classical C. If I want "Safe" C, I would write Go.
I think the most valuable point to make is that by abstracting buffers in a meaningful way, when hackers eventually figure out how to get past the protection mechanisms... probably by stepping through the rust compiler to find loopholes, a single patch should fix all instances of the vulnerability.
Also, it should protect against code injection attacks, but it doesn't mean it's a silver bullet. It should still be possible to cause browser crashes due to I handled memory exceptions. Consider an H.264 decoder which makes a large number of branch decisions. Intentionally malicious H.264 data can still cause crashes due to OOM because of long frame sequences that could require the decoder buffers 500 seconds of frames for prediction.
Also, even when coding in Rust, optimization will be an issue. For application code, no problems. But for decoding images and video, decisions will be made to optimize code which can be performance lethal. If buffer checks are performed every time bits are decoded from the entropy coding mechanism, it could take a LONG time to decode all the bits of a frame. So, programmers will start using C or Assembler (as they always do) to optimize this code.
Consider that modern browsers also require encoders and performance of a heavily memory checked language will kill it. Even today x264 can't handle real-time with any quality for 4K video on most CPUs and Intel's hardware encoders are extremely poorly optimized for I and P only encoding as required for conferencing.
The language is certainly not a silver bullet. It's a piece of the solution. What worries me is the crazy thought process people will have about "I'm using Rust, I don't have to think about memory anymore".
The choice to use Rust for the media stack may indicate that the performance concerns you mention aren't a problem in practice, or at least that the cases where it's a problem can be nested inside an unsafe{} block without significant concern.
Most of rust's sanity checking happens at compile time, so the performance cost should be 0 in those cases. There's no runtime. It does bounds checking on arrays by default, but those are optimized out if you use iterators or if the compiler can prove that the index is never out of bounds. You can also use the previously mentioned unsafe keyword to skip bounds checking, if you're convinced that you're smarter than the compiler and the checks are causing a noticeable performance impact, though branch prediction on modern processors can alleviate much of the overhead for that.
There's no shortage of things to criticize about the language, but by all indications I've seen, speed/optimization is not on the list.
See subject: & faster too via APK Hosts File Engine 9.0++ SR-4 32/64-bit http://www.bing.com/search?q=%...
Ads rob bandwidth/speed, security (malvertising), privacy (tracking) + anonymity.
Hosts add speed (hardcodes/adblocks), security (bad sites/poisoned dns), reliability (dns down), & anonymity (dns requestlogs/trackers) natively. Hosts != ClarityRay blockable (vs. inferior wasteful redundant slow usermode addons)
Works vs. caps & HTTP PUSH ads w/ firewalls.
Avg. webpage = big as Doom http://www.theregister.co.uk/2... & ads = 40% of the size.
Less power/cpu/ram + IO use vs. DNS/routers/addons/antivirus (slows you) + less security issues/complexity. Compliments firewalls (w/ layered drivers blocking less used IP addys vs. hosts blocking more used domains) & DNS (lightens dns load).
Gets data via 10 security sites.
APK
P.S. - Safe https://www.virustotal.com/en/... (Verified by Malwarebytes' S. Burn "I've seen the code & it's safe" http://forum.hosts-file.net/vi... )
Which is that JavaScript is toxic and MUST be replaced. You remove JavaScript from the equation? Suddenly all the nasties just disappear.
So I really don't care what language they write their video player or whatever in because until we deal with the rotting elephant carcass that is JavaScript I just don't see this change doing jack squat in the long run.
ACs don't waste your time replying, your posts are never seen by me.
... "I'm using Rust, I don't have to think about memory anymore".
Rust is a low level language that forces you to think about memory. It's like a modern C. You can see for yourself how much of the Rust manual deals with memory management. In particular this page shows how the Rust stack and heap are the same as in C: https://doc.rust-lang.org/book... . The thing Rust has over C is a type system that eliminates common classes of bug.
I do a lot of security-oriented C++ programming, and haven't heard of or explored Rust before - is it mature enough, to be used in place of C++, while still allowing the flexibility of C++? Or is it something that should be used only in very specific circumstances? (and on that note - can it be made to bind/intermesh with C++, fairly easily?)
To be a slave and a follower have two very different meanings. A slave has no choice in his master, a follower chooses who to follow. Which leads me to one of two conclusions:
Rust handles this relationship differently from other languages and people are having a hissyfit about it without understanding its technological implications.
or
Rust is so overcome with political correctness that they are describing a relationship which doesn't exist because someone feels words in the english language should be abolished out of fear that they may offend.
If it's the latter then Rust should be boycotted in an attempt to prevent stupidity from spreading.
The real lesson in Star Wars is not the attack surface, it's the fact that when you know about a weak spot you don't have your squadrons of fighters and bombers start at the other end of the ennemy base to make their way under heavy fire and defense and have them mowed down as they approach the target.
lucm, indeed.
http://vignette4.wikia.nocooki...
:D
What worries me is the crazy thought process people will have about "I'm using Rust, I don't have to think about memory anymore".
I can't imagine anyone who's used rust actually saying that. If you don't think about memory hard enough, the Rust compiler will whine horribly and won't compile your program. That's one of the biggest complaints about it AFAICT!
SJW n. One who posts facts.
Unwanted iron oxide that is usually scraped away?
Not me, I want a pony.
Here you go. I'd also prefer it to Rust.
I am TheRaven on Soylent News
I'm still on Firefox 30 to avoid Mozilla's shenanigans, and judging from the browser stats more than 2/3rds of Firefox users intentionally avoid upgrading.
We know you want to keep the world using your Portable Assembler. It makes the work of some of your big brothers easier.
99,9% of software engineers labor in some sort of Agile Hamster Wheel, with management trying to speed up the wheel all the time.
That is why even the experienced guys create boatloads of exploitable bugs when they use C and C++.
It is a myth that "you can produce error free C code, if you only were diligent enough". In 99.9% of projects there is simply no funding for the diligence required.
I always find it funny how Magic Things like "high quality" are attached to "agile". The opposite is true - it is the good old Forced Engineering, as in Forced March.
This world is all about Cheap Engineering, country castles for banksters and five SUVs per M.D.
Thanks for spreading Fear, Uncertainty, Doubt here.
How much does the MIC pay you for protecting C ?
So the beneficiaries of crap languages now want to paint Rust and Swift "marxist" ?
Try harder and be notified that you will get back everything, with interest.
version of FF that we should skip?
"Rust" was used because the semi-anon originator of the ideas behind Rust had used different classes of cars in order to try out the type system of the predecessor language of Rust and Swift. Also, the semi-anon guy then lived in the region where cars were invented.
That's why Mozilla chose the name "Rust", as this is often used in a derogatory way to describe cars.
Hope this helps you
the semi anon guy
Also when you spend $100 trillion on building some huge moving military base made with a billion tons of steel etc., you'd better defend it with 1000+ Tie fighters not 20 or so.
If only computer systems could be built from a small set of basic elements and a small set of provably-correct rules to build larger structures on top of those. ...oh wait, they can!
Ezekiel 23:20
Firefox routinely crashes on my OSx so much so I have abandoned it.
Rick B.
If you had such special needs and hated the version churn why not use the medium-term support version? (ESR 31.x, 38.x, 45.x)
FYI, firefox will still nag you to update to the latest ESR version (45.02), and you're still vulnerable to any security holes they fix in the latest version.
A browser called "The" using the engine "and"
dicks stuck on stupid.
The only language whose name admits that it's out of date the day it's released.
== Jez ==
Do you miss Firefox? Try Pale Moon.