Check sehandle before fixing permissions

Change-Id: I73ba5519bf650f0c7f0a683f311099ff13747155
ADB sideload command not work

In kernel(3.10) USB ADB gadget driver is removed.
Using Functionfs for USB adb gadget.

Android recovery uses a stripped down version
of adb command for sideload only. It's missing
the ffs function support, so add the ffs
support to allow sideload command to work

b/12608946

Change-Id: I4ad024723dfc5bdb544548391f99637c390b171e
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
recovery: Fix adb with linux 3.10

In kernel 3.10, f_adb has been removed and adbd can use functionfs
instead. Mount functionfs on boot for adbd. On older kernels, mount
will fail silently and adbd will revert to f_adb.

Change-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811
Fixes for exfat-fuse

Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
Remove extra slashes from zip path in openrecovery

TWFunc::Get_Path() returns a path with a trailing slash and the substr
method is returning a string with a leading slash, so we don't need to
specify additional slashes for wholePath in Locate_Zip_File().

Also, put 'value' readout to log on its own line if it exists.

Change-Id: I2a4db6dbde5552f5a803eabb0599fd983d683fca
atime is access time, let's just use mtime

Change-Id: I828bc473a263868bd82b042c4009701d09a77a1f
applypatch: add support for BML partitions

This actually uses the EMMC partition access code. In order for this
to work, the BML partition name is changed back to the block
device name (e.g. "boot" -> "/dev/block/bml9"), and the
BML_UNLOCK_ALL ioctl is called before writing.

Change-Id: I012f1eca0b486b7465ca38b5db1f513ee8a246ea