Package: plasma-workspace
Version: 4:5.13.5-1+b1
Severity: normal

Dear Maintainer,

The Package plasma-workspace depends on libplasma-geolocatin-interface5,
which in turn have a code flow that allow MAC address collection 
   and transfer to Mozilla services.

I could not find a way to disable this functionality, or to see which QT apps 
could even consume this dataengine; other than manually deleting the .so files 
and .desktop that implement geolocation.

Some users [who?] may be will find this functionality as useful, but for me 
collecting other people BSSID and sending them over the network is a privacy 
concern.
What I would expect : 

this and all geolocation based package to be recommended and installed only if 
user request.
specific config (like with /etc/geoclue-2.0 ) that will enable/disable per 
resource collection / sending. 

Workaround: 

1) The Mozilla Location Services suggest to ask people to 
   change their WiFi to have _nomap as a workaround for BSSID collection.

2) deleting .so and .desktop files that implement geolocation (that may cause 
crash later).
Code in question :  

[code]   for (const auto &device : NetworkManager::networkInterfaces()) {
QSharedPointer<NetworkManager::WirelessDevice> wifi = 
qSharedPointerDynamicCast<NetworkManager::WirelessDevice>(device);
if (!wifi) {
continue;
}
for (const auto &network : wifi->networks()) {
const QString &ssid = network->ssid();
if (ssid.isEmpty() || ssid.endsWith(QLatin1String("_nomap"))) {
// skip hidden SSID and networks with "_nomap"
continue;
}
for (const auto &accessPoint : network->accessPoints()) {
wifiAccessPoints.append(QJsonObject{{QStringLiteral("macAddress"), 
accessPoint->hardwareAddress()}});
}
}
}
[/code]
And :


[code]
    const QJsonArray wifiAccessPoints = accessPoints();
      
QJsonObject request;
if (wifiAccessPoints.count() >= 2) {
request.insert(QStringLiteral("wifiAccessPoints"), wifiAccessPoints);
}
const QByteArray postData = 
QJsonDocument(request).toJson(QJsonDocument::Compact);
const QString apiKey = QStringLiteral("60e8eae6-3988-4ada-ad48-2cfddddf216b");
KIO::TransferJob *datajob = 
KIO::http_post(QUrl(QStringLiteral("https://location.services.mozilla.com/v1/geolocate?key=%1
 <https://location.services.mozilla.com/v1/geolocate?key=%1>").arg(apiKey)),
postData,
KIO::HideProgressInfo);
datajob->addMetaData(QStringLiteral("content-type"), 
QStringLiteral("application/json"));
[/code]




Reply via email to