Fixed lots of issues with installing a low-caps version of fshell from SIS file.
* Fixed issue in CCommandFactory whereby some APIs like GetCommandInfoL could trigger allocations on the wrong heap or signals to the wrong thread. The symptoms were often seen as a crash in the which_00 thread when running ciftest.
* Lots of build fixes for when FSHELL_PROTECTED_UIDS isn't defined and when all capabilities aren't available.
* Added new platform.mmh macro FSHELL_OPEN_SIGNED.
* Open signing of fshell SIS files is now supported for production S60 handsets. Build fshell with the FSHELL_OPEN_SIGNED macro defined (and without defining FSHELL_CAP_ALL or FSHELL_PROTECTED_UIDS) in your platform.mmh and submit \epoc32\fshell\fshell.unsigned.sis to https://www.symbiansigned.com/app/page/public/openSignedOnline.do . The following commands are not available when using Open Signing due to Platform Security restrictions: fdb; kerninfo; chunkinfo; svrinfo; objinfo; sudo; fsck; localdrive; ramdefrag; readmem; reboot; setcritical; setpriority. Others such as chkdeps, e32header, ps, and fshell itself will run but in a restricted capacity (for example, fshell will no longer allow you to modify files in the \sys\bin directory).
* Removed commands objinfo, svrinfo, chunkinfo, readmem, fsck completely when memory access isn't present - previously they would still appear in the help but would give an error if you tried to run them.
# chkdeps.cif
#
# Copyright (c) 2010 Accenture. All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the "Eclipse Public License v1.0"
# which accompanies this distribution, and is available
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
#
# Initial Contributors:
# Accenture - Initial contribution
#
==name chkdeps
==short-description
Checks the DLL dependancies of a DLL or EXE.
==long-description
Outputs the names of any DLLs that this links against that could not be located. In addition the following criteria are checked to ensure the DLLs would load correctly. This is not an exhaustive list of everything that can cause a DLL to fail to link but it attempts to catch most of the common errors:
=over 5
=item *
The UID3 of the DLL matches what is expected.
=item *
The capabilities are such that the DLL would be allowed to be loaded (only checked if the argument is an EXE).
=item *
The major version of the DLL matches what is expected. (This does not actually appear to be strictly enforced by the loader but it is checked for anyway).
=item *
All the ordinals that are being imported are actually present in the DLL.
=back
==argument filename file_name
The path to a DLL or EXE to check.
==option bool v verbose
Display all linked DLLs, not just missing ones.
==option bool d debug
Enable debug tracing (only useful for debugging chkdeps itself).
==copyright
Copyright (c) 2009-2010 Accenture. All rights reserved.