Device uuid#192
Conversation
|
This is only for test purpose,
i checked your points @Smeulf:
PS. you have already seen, but I say it anyway, just to make things easier as you see i put the call at the beginning, with output in the log, all temporary |
|
By system name I ment 'computer name'. I agree if some data can't be retrieved correctly, then they should be excluded from UUID creation. I gonna run some tests under:
We definitely need Android tests and MacOS. Those are the most affected by the bug, we may find some willing people :) Can you offuscate the UUID in logs? Like keeping only the 5/10 first chars and put some stars for the remaining ones? |
|
yes when i implement it for credentials i will eliminate all debugging output |
|
Not sure what data it can retrieve: |
|
Also still thinking. I was thinking about a flag in the db like 'enc_version' = 2, so if it's not 2 then ask for credentials. But it may be wise to just handle the exception a wrong encryption key generates. I don't know what's the best way... |
nothing of useful it can be used only from "outside" of the android device |
|
a user who performed the macintosh test contacted me, unfortunately the code didn't work I have tried several attempts to install macosx in virtualbox to have a chance to make tests |
|
@Thunderbird2086 had the problem on Mac (see #186), maybe he would be experimented enough to help? |
|
i have found this |
|
#192 (comment) updated regarding my current tests. Take a look from time to time, i'll keep update it. |
|
Do you need more linux version tests? |
|
Mmh no other distributions should be use the same id path |
Both rebooted to confirm, all fine, UUIDs are generated and same after reboot. I figured out you didn't change the encryption method yet hahaha |
|
Windows 10 x86 works fine too. |
|
as long ago microsoft said "why change a thing if it works"... I did a last test with macintosh following about the operations of the link I posted now I have to figure out how to extract the right information |
|
on my honor8 android is working, but as previously mentioned, every time the operating system is updated, credentials will be requested...and the strings are not very robust yesterday i have found "pyjnius" to get access to android class (ANDROID_ID), but also this module have part of C... again nothing. |
|
i have found the hostname in android should be output the hostname string |
|
ok tested on an HonorPlay with android 9 it's working |
Looks interesting! |
|
...bad news |
|
They're trying to make us crazy?! |
29ce632 to
eaab9b2
Compare
|
that's enough for me, can you do a quick check? |
|
That's working, tested setting the other device first as main, the update refused to work as expected. Then set the device as main, "et voilà". However, sometimes _compute_next_schedule shows Maybe we should add a |
|
you can test with minor time like 500? |
|
Hi guys. I can test android 9 and 8.1 which also didn't work. Let me know what I can help with. I'm a coder from the OLD days with a bit of time on my hands these days. Also can test windows of course. Cheers |
|
@CastagnaIT 500ms is indeed sufficient. See associated PR #202, I did it the brutal way again haha, because I don't think it's usefull to have a parameter in |
|
@dagwieers |
|
Because it is not a Windows system ? |
|
also adding |
|
I don't understand why, the code works correctly we have already tested on all types of systems |
This fixes problems with newer androids 9/10 that have random mac address and also with apple devices
|
pylint does code analysis based on what is available on the system. If you call modules, classes and methods, it verifies if they exist and are called correctly, without running the code. So it cannot evaluate expressions and doesn't know what parts of the code are dead for a specific platform. So in that case you have to exclude pylint checks. It is a trade-off. |
|
exactly i had to disable some checks |
Check if this PR fulfills these requirements:
Types of changes
Description
It is no longer possible to use MAC-address to make safe the credentials
due to security-related changes in operating systems in first place android 9 and up
So change keys to use a per device UUID
Side note for macos:
in _get_macos_uuid
the os.popen should be replaced with subprocess
however, first we need to find a user that have an apple products to run the tests
In case of Feature change / Breaking change:
Describe the current behavior
Describe the new behavior
Screenshots (if appropriate):