-
Notifications
You must be signed in to change notification settings - Fork 221
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
com.google.android.gms:play-services-fido
ends up in the build and pulls in other parts of the Google Play Services client library
#463
Comments
In the past, it's been reported that Iceraven generates some false positives on tests like that because the tests are scanning for certain words or indicators in the code but aren't actually checking to see if any data is really being collected and sent anywhere. Basically, Iceraven has to retain some of the words and hooks associated with proprietary telemetry to make the browser work without doing a code overhaul that is much more massive than the scope of the fork. But they try to tear out the parts that actually send out your data places. My guess is almost any Fenix fork would show positives on those tests, even though, like Iceraven, many try to eliminate proprietary telemetry or telemetry in general. It's just easier to build when something that's supposed to point to a telemetry component has a stub to point at and make it think it's there (Even though it isn't). With that said, it's always possible that some new version of Fenix will change the way it does telemetry and that'll get filtered down to Iceraven accidentally. So, what I would suggest if this explanation doesn't satisfy you and you think something is up, is to use an Android program similar to Wireshark to monitor outgoing connections. If you can find Iceraven actually connecting to telemetry servers apart from those on pages it's loading, that would be an issue that I think the developer of the browser would want to know about so he can fix it. He hates telemetry as best I can tell from his public comments. |
@interfect Any thoughts on this? There was another guy who posted and removed firewall records that seemed to show connection attempts. |
What we're supposed to be doing is shipping this code to replace some Google code that e.g. provides an advertising ID to Mozilla's own telemetry code. The Mozilla telemetry code is still built and shipped, but turned off, because it didn't seem feasible to chase it down and unhook it from the rest of the project. I think I'm successfully not including I checked
So it looks like the browser engine ( So we end up shipping some of Google's closed-source client libraries, but they aren't supposed to be collecting analytics to send to me or Mozilla. Who knows if they also have their own internal tracking code to make everything that uses a Google Play Services library tell Google about it. I think I may have looked at this and deemed it good enough; this isn't itself an advertising or telemetry library, and I don't think there's a license issue here (otherwise Mozilla couldn't ship this either). Removing it might require forking I think that Geckoview comes in This is related to https://bugzilla.mozilla.org/show_bug.cgi?id=1549418 and mozilla-mobile/android-components#3036 and mozilla-mobile#1340 where the FIDO dependency was added to add the feature to Mozilla Firefox. I'll ask the |
com.google.android.gms:play-services-fido
ends up in the build and pulls in other parts of the Google Play Services client library
Is using Fennec's version of android-components as the upstream to Iceraven's android-components rather than the Mozilla Firefox version of android-components an option? The ongoing Fenix-based Fennec project has the narrower goal of eliminating only proprietary telemetry instead of all telemetry from their builds, but if editing code within android-components is out of scope for Iceraven, and if it is determined that what people are complaining about meets whatever Fennec's definition of proprietary telemetry is, then switching upstream providers for android-components might be a pragmatic way to get Iceraven back a little closer to what it describes as the ideal in the readme.md without expanding scope (Pragmatic because in theory they might leave non-proprietary code in that module if there is any, but the alternative may be to leave all telemetry in that module, if there is any, in, which would be worse.). It'd just be subbing out one source for another. Iceraven could continue to use Mozilla Firefox as direct upstream for the other module that's out of scope, and continue with it's own special sauce for the one that's in scope, if desired, assuming they all work nicely with each other. Just throwing that out there as an idea. There is at least one Fenix-based Android browser that uses Fennec as upstream for everything. |
@relan Does your project's version of android-components consider this proprietary telemetry and remove it, or do you consider it open-source telemetry and leave it in? |
All proprietary code is removed from Fennec F-Droid. If you find any, let me know, I'll fix that. As to com.google.android.gms:play-services-fido, this is not exactly telemetry, but as it's non-free, it's also removed from GeckoView (patch, sed). Note that we at F-Droid build Android Components, App Services, Glean and GeckoView libraries from source. There's no Maven repo that could be used as a drop-in replacement of the Mozilla repo. |
Thanks! It's Interfect's ballgame in terms of what he wants to do with Iceraven, but this should give him enough information to base a decision on (and potentially a ready made patch if he wants to get into modifying that area of the Fenix code). It sounds like the lack of a Fennec repo would prevent it from being upstream to Iceraven for android-components unless Interfect were to drastically modify his workflow. Whether that's an option for him is something only he knows. |
That would make swapping over challenging; I don't know enough about the build system at the moment to say how I could accomplish this. I had very little luck getting the F-Droid build tooling to build Iceraven, because it involves a VM that it wanted to run in ways that didn't quite work on my computer. But I've reinstalled since then so maybe I could get it working if I tried again? |
The Github-based build process is probably not going to be able to use the F-Droid build system, though. That would need something else to orchestrate the builds of all these pieces. |
F-Droid's Also note that full Fennec F-Droid compilation for a single architecture takes about 3 hours on my (pretty old) quad-core machine. Setting up ccache for LLVM (we build WASI toolchain, which is needed for libraries sandboxing in Gecko) reduces this time by more than a hour. |
@giostark
safebrowsing is unrelated to these proprietary libraries, is an open source
client implmenetion, can be configured to only perform local checks, and is an
extremely powerful feature that can stop phishing/malware campaings within
minutes.
|
@SkewedZeppelin |
This issue (or something similar enough that it looks the same to me as a lay person) has also surfaced in regard to Tor browser on F-Droid: https://gitlab.com/guardianproject/fdroid-metadata/-/issues/3 |
It hasn't surfaced, it has been there for years.
|
I probably should have said "resurfaced" as in seems to have become a more actively considered issue with a new thread (The one linked to above) having been started noting the specific library in question in the last week and received some attention and replies. I can see a link back from that link to a more general discussion three years ago that's last comment was 10 months ago. Of course, that doesn't speak to what may have been steady hard work going on behind the scenes, or what may be on various other related issue trackers for different collections of projects that include the browser. To be honest, this is not the world's biggest issue for me, especially with Iceraven over three months out from it's last update of any kind. I'm just noting this since the issue is open and I stumbled across something that may be at least mildly relevant (Even if I'm off as to timeframe of the issue, at least the links might make it easier for someone looking into it later to gather information). I'd much rather see @interfect or a new volunteer focus on cutting an update than dealing with this right now. |
Adjust and GoogleAdMob trackers
How to find trackers:
The text was updated successfully, but these errors were encountered: