diff options
Diffstat (limited to 'rootdir')
-rw-r--r-- | rootdir/init.camera.rc | 18 | ||||
-rwxr-xr-x | rootdir/system/bin/credmgrfirstboot.sh | 27 |
2 files changed, 43 insertions, 2 deletions
diff --git a/rootdir/init.camera.rc b/rootdir/init.camera.rc index 07fbc14..b27f675 100644 --- a/rootdir/init.camera.rc +++ b/rootdir/init.camera.rc @@ -72,8 +72,6 @@ on post-fs-data mkdir /data/media 0770 media_rw media_rw - mkdir /data/credmgr 0770 system credmgr_client - # SONY: Create dir for Widevine keybox mkdir /data/persist/wv 0700 system system @@ -98,6 +96,9 @@ on post-fs-data # SONY: Import MiscTA to System properties exec -- /system/bin/taimport property + + #Wait /data to init credmgrd + start initcredmgr service taimport /system/bin/taimport class late_start @@ -110,12 +111,25 @@ service iddd /system/bin/iddd user idd group idd log inet +# This script init /cache/CredentialManagerData if /data/credmgr doesn't meet our requirements +service initcredmgr /system/bin/credmgrfirstboot.sh + class main + user system + group credmgr_client + oneshot + +# When credmgrfirstboot is ready it set sys.credmgrdready=true. +# Start credmgrd after that +on property:sys.credmgrdready=true +start credmgrd + # Start Credential manager daemon service credmgrd /system/bin/credmgrd user system group credmgr_client socket credmgr stream 0660 system credmgr_client class main + disabled #doesn't exist on shinano. Keept for compat purpose # Start Security Daemon diff --git a/rootdir/system/bin/credmgrfirstboot.sh b/rootdir/system/bin/credmgrfirstboot.sh new file mode 100755 index 0000000..9d9c837 --- /dev/null +++ b/rootdir/system/bin/credmgrfirstboot.sh @@ -0,0 +1,27 @@ +#!/system/bin/sh +CREDFOLDER=/data/credmgr + +# If credmgrd data doesn't match our + +if [ $(find $CREDFOLDER -group credmgr_client -type f -name "credmgr.db" | wc -l ) -eq 0 ]; then + # If /data/credmgr exist remove it + /system/bin/logwrapper /system/bin/toybox echo "CREDINIT: Dont match" + if [ -d "$CREDFOLDER" ]; then + /system/bin/logwrapper /system/bin/toybox echo "CREDINIT: Drop old credmgrdata" + /system/bin/mv -vf $CREDFOLDER $CREDFOLDER.old + fi + # Put binary into /cache + /system/bin/logwrapper mkdir $CREDFOLDER + /system/bin/logwrapper chown system:credmgr_client $CREDFOLDER + /system/bin/logwrapper chcon u:object_r:credmgrd_data_file:s0 $CREDFOLDER + /system/bin/logwrapper /system/bin/toybox echo "CREDINIT: cp initial file" + /system/bin/logwrapper cp -v /system/vendor/CredentialManagerData /cache/CredentialManagerData +fi + +if [ $? -eq 0 ]; then + # Tell init we are ready + /system/bin/setprop sys.credmgrdready true +else + /system/bin/toybox echo "CREDINIT: Something goes wrong at credmgrd init!" +fi + |