Thread
:
[Announce] advanced-systemui (ASUI)
View Single Post
maacruz
2011-02-09 , 23:09
Posts: 1,101 | Thanked: 1,185 times | Joined on Aug 2008 @ Spain
#
330
Sequence locking/unlocking:
In the logs, dbus name :1.7 is mce (com.nokia.mce), :1.8 is the gconf part of mce, :1.46 is systemui (com.nokia.system_ui), 1.45 is the gconf part of systemui, 1.470 is the device lock keypad plugin of systemui
For the complete mce/systemui method calls look at the logs.
same first 3 steps of pressing powerkey interaction
selecting lock in the menu, systemui calls com.nokia.mce.request.powerkey_callback with value uint32=4 (I guess this is the menu value for locking)
mce calls com.nokia.system_ui.request.powerkeymenu_close to close the menu, systemui will ack later with reply value uint32=0
mce calls com.nokia.system_ui.request.devlock_open (uint32=3) to open the keypad, systemui will ack later with reply value uint32=1
systemui calls com.nokia.mce.request.powerkey_callback with value uint32=-4
mce calls com.nokia.system_ui.request.powerkeymenu_close again, systemui will ack later with reply value uint32=0
systemui sends ack replies mentioned before, and updates gconf value /system/systemui/devlock/devicelock_autolock_enabled
mce sends signal com.nokia.mce.signal.devicelock_mode_ind with value
string "locked"
mce updates gconf values /system/osso/dsm/locks/devicelock_failed and devicelock_total_failed
after entering a code, systemui's device lock plugin will adquire a dbus name to send messages to mce
now comes the interesting part, device lock plugins calls com.nokia.mce.request.validate_devicelock_code with two string values. The second one is a crypt seed for md5 (see man 3 crypt), the first one is the result of calling crypt with the typed code and the seed.
mce receives the seed, so it can use it to call crypt with the unlock code stored in the device and check the result against the crypted typed code. If it is correct, mce will reply string "true", if it is incorrect, it will reply "false" to the previous call.
systemui calls com.nokia.mce.request.devlock_callback with value uint32=3 if the typed code was wrong, and uint32=2 if it was correct
If the typed code was wrong
systemui calls com.nokia.mce.request.devlock_callback with value uint32=3
mce calls com.nokia.system_ui.request.devlock_open (uint32=2)
mce updates gconf values devicelock_failed, devicelock_autolock_enabled, devicelock_total_failed
mce sends the locked signal again
mce calls com.nokia.system_ui.request.devlock_open (uint32=3) again
If the typed code was correct
systemui calls com.nokia.mce.request.devlock_callback with value uint32=2
mce calls com.nokia.system_ui.request.devlock_close
mce sends signal com.nokia.mce.signal.devicelock_mode_ind with value
string "unlocked"
mce updates gconf values devicelock_failed, devicelock_autolock_enabled, devicelock_total_failed
Last edited by maacruz; 2011-02-09 at
23:12
.
Quote & Reply
|
The Following User Says Thank You to maacruz For This Useful Post:
tso
maacruz
View Public Profile
Send a private message to maacruz
Find all posts by maacruz