LineageOS 14.1 and WiGLE WiFi Wardriving

Issues with the Android network detection software. Please include Software version, Android version, and device when reporting

22 posts • Page 1 of 2
We're seeing recurring problems decrypting stored WiGLE credentials on LineageOS with Samsung S4/S5 .
We're working on this issue, but would appreciate any full logfiles showing app initialization. This may be addressed by https://github.com/wiglenet/wigle-wifi- ... g/pull/157
Initial reports say that release 2.21 has fixed this in at least two cases; keep us posted!
I'm not sure if what I'm seeing is the same issue but I get a filenotfound exception trying to upload on LineageOS 14.1.

This is the log output:



WigleWifi error log - Aug 19, 2017 11:33:47 AM
versionName: 2.21
baseError: FileNotFoundException: https://api.wigle.net/api/v2/file/upload

detail: Has data connection: true
packageName: net.wigle.wigleandroid
MODEL: LG-H811
RELEASE: 7.1.2
BOARD: MSM8992
BRAND: lge
DEVICE: h811
DISPLAY: lineage_h811-userdebug 7.1.2 NJH47F 67dcfc5b97
FINGERPRINT: lge/p1__tmo_us/p1:6.0/MRA58K/152940055675e:user/release-keys
HOST: lineageos-build
ID: NJH47F
PRODUCT: g4__tmo_us
TAGS: release-keys
TIME: 1502818791000
TYPE: user
USER: lineage
Thread: Thread[ApiUL-Thread-8,5,main] throwable: java.io.FileNotFoundException: https://api.wigle.net/api/v2/file/upload

java.io.FileNotFoundException: https://api.wigle.net/api/v2/file/upload
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:250)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java)
at net.wigle.wigleandroid.background.HttpFileUploader.getInputStream(HttpFileUploader.java:175)
at net.wigle.wigleandroid.background.HttpFileUploader.upload(HttpFileUploader.java:150)
at net.wigle.wigleandroid.background.ObservationUploader.doUpload(ObservationUploader.java:234)
at net.wigle.wigleandroid.background.ObservationUploader.doRun(ObservationUploader.java:121)
at net.wigle.wigleandroid.background.ObservationUploader.subRun(ObservationUploader.java:93)
at net.wigle.wigleandroid.background.AbstractBackgroundTask.run(AbstractBackgroundTask.java:84)
Thread: Thread[ApiUL-Thread-8,5,main] throwable: java.io.FileNotFoundException: https://api.wigle.net/api/v2/file/upload

ApiUL-Thread-8] transferred 229376 of 409597
ApiUL-Thread-8] transferred 245760 of 409597
ApiUL-Thread-8] transferred 262144 of 409597
ApiUL-Thread-8] transferred 278528 of 409597
ApiUL-Thread-8] transferred 294912 of 409597
ApiUL-Thread-8] transferred 311296 of 409597
ApiUL-Thread-8] transferred 327680 of 409597
ApiUL-Thread-8] transferred 344064 of 409597
ApiUL-Thread-8] transferred 360448 of 409597
ApiUL-Thread-8] transferred 376832 of 409597
ApiUL-Thread-8] transferred 393216 of 409597
ApiUL-Thread-8] transferred 409597 of 409597
ApiUL-Thread-8] done. transferred 409597 of 409597
ApiUL-Thread-8] File is written
ApiUL-Thread-8] connection response code: 401
ApiUL-Thread-8] conn disconnect
ApiUL-Thread-8] file problem: java.io.FileNotFoundException: https://api.wigle.net/api/v2/file/upload
ApiUL-Thread-8] Thread: Thread[ApiUL-Thread-8,5,main] throwable: java.io.FileNotFoundException: https://api.wigle.net/api/v2/file/upload
ApiUL-Thread-8] exists: true dir: true read: true write: true path: /storage/emulated/0
ApiUL-Thread-8] Writing stackfile to: /storage/emulated/0/wiglewifi/errorstack_1503156827247.txt/errorstack_1503156827247.txt
That certainly looks like the same or related. Can you try de-authorizing and re-authorizing?

Thanks for your help!
Fix for this should be deployed on most devices now - if you're not running 2.21 yet, please update and let us know how things are working!
Not sure that went according to plan ;)

I deauthenticated then logged back in from the app. Got a toast popup saying login failed. Go back into settings and.....

It looks like it got a session ID?

Color me confused.

Still though, I can grab the csv.gz file and manually upload to wigle via the website ;)
hm, that's not good. If you visit the uploads or rankings views in the app, do they update correctly? (those both require working authentication)

Cheers,

-ark
They don't work, so the auth definitely isn't happening.
Hi,

It's been 3 months I haven't been able to upload any wardriving result from the app.

Just tested with LineageOS 14.1-20171012, and it seems that the keystore issue is still going on (it has been recently updated):
https://jira.lineageos.org/browse/BUGBASH-590

Tested with the latest FOSS version (2.25)
Here's a stack trace :
https://pastebin.com/tVeJzqxC
(Oddly enough, I wasn't able to retrieve the error stack from Wigle's folder, the line 36 may explain why : )

Code: Select all

Writing stackfile to: /storage/emulated/0/wiglewifi/errorstack_1508440551690.txt/errorstack_1508440551690.txt
Also gonna mention that the application doesn't seem to want to connect my account in app/see the rankings/anything that needs an internet connection.

Sorry to post it here instead of Github, I don't have an account there.
I hope you guys can deal with this issue, because it seems that the LineageOS team will not take care of it immediately.
If you need any logs, feel free to bug me.

Thanks!

EDIT: Weird. I downloaded the 2.25 version from this link, took care of uninstalling the previous version before installing the new one, but in my android settings version 2.24 is shown...
Image
hey NW - sorry, I thought we had this fixed. So, there are a couple of things going on here:

1. the stack trace you posted is actually indicating a network connection problem, not a keystore problem. Can you just trying hitting https://api.wigle.net/api/v2/file/upload in your phone's browser? It should return

Code: Select all

{"code":405,"message":"HTTP 405 Method Not Allowed"}
if your connection is working right. Depending on the result, this could actually be a different problem - let us know here?

2. We implemented an update that uses AES instead of the broken RSA cipher where possible (as part of fixing things for Oreo as well as LineageOS) - but you will need to deauthorize and re-authorize to update the keystore - we can't read the old key because the RSA cipher has been broken, so we need to remove the broken entry and put replace it with a new, working one. If that still doesn't work, uninstall/re-install can do the trick according to some reports BUT, check out #3 below before doing that, since if you're using app-internal storage for files instead of internal flash/SD, you can lose your data if you uninstall.

3. The error stack retrieval problem in conjunction with lineage OS 7.1 might indicate a third possible problem that we hadn't addressed. If you deny access to "Photos, media and files" on your device, then the app has to use app-internal storage which can't be accessed from a file manager. We originally wrote to this area using a world-readable flag so you could still get at it - but the android team deprecated this mode in Android 6 and stopped supporting it completely in android 7, forcing us to private-mode files. They did this for security reasons, and I can understand their reasoning, even if it's a PITA for experts. It seems possible to me that this is what you're encountering, although with broken authentication, switching can be a sticky wicket. At least, you can switch this permission on and off in the Settings -> Apps -> WiGLE WiFi Wardriving - > Permissions menu to test.


Sorry this has been such a saga. A lot of changes and at least one bug has come down in the last few Android releases, and we've had a few problems keeping everything compatible.
Hello,

1. I tried it and it's working. I have internet on my phone, I don't think the problem is coming from there -- I'm getting exactly the same code you wrote.
It seems that only the app can't reach the host.

2. I've already tried to reinstall the app and I had to write my credentials again, but it just won't connect - it says my password may be incorrect, even though I double checked it.

3. I checked my settings in case internet access would be blocked for this app only and it isn't the case. I already took care of allowing the app to access and use my folders, and to get my GPS location.

-----------------

I've just done some tests and noticed something interesting. The app actually does reach the host despite it displays error messages.
I've followed these steps :
1. Reinstall the app / deauthorize / remove credentials from the settings
2. Close the app, then open it again
3. Go to settings, enter credentials and click login -> an error message will be shown
4. Change tab (go to the access point list or anything else)
5. Go back to settings tab and notice you've actually been logged in (it shows my username and some kind of hash just below it)

I checked the data consumption of the app from android settings and it sent a few KB, so I guess it did something...
However, the upload function is still broken despite this. I tried to upload a run but it doesn't appear in my upload history on the website. What a strange behavior...
Image
OK, so from the logs, you're definitely getting login denied - consistent with the broken keystore issue even if that stack blames something else.

I'll take some time today to get the FOSS build updated to 2.25 - it's still at 2.24 (foss-master kind-of and orphan in our infrastructure, we don't update it as often as we ought to).
We'll get the newer release going, see what the new error handling infrastructure can teach us.

Cheers,

-Ark and the WiGLE team.
FOSS build 2.25+ is up now; let us know whether this helps, and please relay a new log if it fails!
Alright, I uninstalled manually the previous version of the app and installed the new one.

I tested once again but it seems it doesn't solve the problem.
But this time, I took the time to dissect the logs and found out that a keystore error is actually happening well before I press the upload button. Sorry for my lack of observation...
So I took the time to save all the logs while :
- Opening the app
- Trying to connect from the settings. I entered my credentials and pressed the auth button twice
- Trying to upload my run
- Closing the app
Then I purged as much logs as possible.

I allowed myself to send you a PM with my logs, in case it contains sensitive data (even though I tried to clean everything sensitive, I still have trouble to deal with such a big amount of data...).

Thanks for your work !
Image
we've got a line on this, finally. It looks like Lineage has some differences in build/cipher support from the core android lines. We'll have a proposed fix in 2.26.

Really appreciate the help on this - this was a REALLY difficult problem to debug, and we couldn't have done it without lots of feedback and full logs!

22 posts • Page 1 of 2

Return to “WiGLE WiFi Wardriving Bugs”

Who is online

Users browsing this forum: No registered users and 9 guests