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".
This means that in my Gentoo systems, to get Firefox I'll have to have a build-time dependency on a compiler built from a package that is not marked as stable. And that has a lunatic developer community. Oh great. What could go wrong?
I really hate seeing Mozilla getting "rusty"!!!
Time is what keeps everything from happening all at once.
Mozilla trying to push their unwanted crap unto users. Nobody asked for Rust. Everyone is asking fixes for the memory leaks, CSS3 and DOM compliance.
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.
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... )
I recently quit using Firefox after 2-3 years using it full time as my primary browser. Why? It wasn't because of this Rust or whatever. It was because Firefox was slow as hell and the plugins were spotty and would stop working for no reason. Firefox was intended as a bare-bones browser, if you want extra functionality then use plugins. Fine, I get it. But when FF constantly changes, it breaks the plugins and they stop working.
I use FF for real, when I need plugins to work then I need them to work, right then. No futzing around or filing bug reports on the developer's page. Or waiting a month or two for a new version to come out. Fuck that noise. After that happened a few times, I still kept Firefox because I don't like changing things for no reason. After it kept happening, I started looking for alternatives. After a plugin that I really need stopped working on my Firefox (but apparently nobody else's) that was the last straw. Buh-bye Firefox.
I'm using Vivaldi now and it's surprising that I haven't had any plugin issues or web page incompatibilities. Perhaps because it's just a re-skin of Chrome. Anyway, I'm finished with Firefox for this lifetime. It's still installed on my machine but I won't be installing it on the next box I buy. Enjoy your descent into irrelevance and boutique browser status. Although I suspect Slashdot will continue to cover every brain fart that comes out of Mozilla even after Firefox goes below 1% market share.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
you would think, decades after "Start Wars", that this bullshit concept would be put to rest, you only need one hole in the security, only one really tiny one. The size of the "attack surface" is utterly meaningless
I call BS. Everyone knows Firefox died version 41.
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.
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?
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
Rust is a general-purpose, multi-paradigm, compiled programming language sponsored by Mozilla Research.[11] It is designed to be a "safe, concurrent, practical language", supporting pure-functional, imperative-procedural, and object-oriented styles.
...The goal of Rust is to be a good language for creating highly concurrent and highly safe systems,[22] and programming in the large. This has led to a feature set with an emphasis on safety, control of memory layout, and concurrency. Performance of idiomatic Rust is comparable to the performance of idiomatic C++.
Already got one of those. Its called Ada. There's a free mature compiler available for it for pretty much every platform that GCC works on.
But I guess Rust would be superior if you think Ada had the right idea on everything substantial, but really need curly-braces in your language. Or if you'd prefer a language whose features are still in so much flux that a working program you write today will likely not compile with next year's compiler. So its got that going for it.
Firefox routinely crashes on my OSx so much so I have abandoned it.
Rick B.
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.