The AIF module provides a support for running Absolute files. The new interfaces used by FileSwitch to invoke Absolute files are used to call the AIF module (see ExecFormats for more details). By default the most protective state is used by the module, where it will not let any un-headered file run. This is the recommended setting and should not be changed by users without due consideration for the implications.
The checks used ensure the consistency of the AIF header on Absolute files. This helps to improve the stability of the system by rejecting code which is malformed.
The AIF module can be configured for the current session by setting the AIF$Options system variable. This allows the user to disable certain checks imposed by the module. It is strongly recommended that this not be used by default; it should only be set when no other alternative exists. The options to disable checks will be removed in future.
The AIF$Options variable should be set to a string of characters indicating the checks which will be overridden :
O Accept over-long files With this check disabled, files which have had data appended to them, will be allowed to run. The additional data may indicate an incorrectly patched application, or a virus. T Accept truncated files With this check disabled, files which have been reduced in size, to smaller than the header declares, will be allowed to run. Such truncation is usually caused by incomplete file transfers. D Accept files with bad debug data descriptors With this check disabled, files which contain incorrectly specified debug data will be allowed to run. This may cause problems for debuggers. C Accept unsuitable code bit size With this check disabled, code which claims to be 26 bit only will be allowed to run on 32 bit hardware. This is one of the most dangerous options and it should be used only as a last resort. A Accept non-AIF files Which this check disabled, code which does not have AIF headers will be allowed to run. This may cause problems for very old applications which have been compressed using unsupported compression tools.
Which this check disabled, code which does not have AIF headers will be allowed to run. This may cause problems for very old applications which have been compressed using unsupported compression tools.
Warning: Disabling the check imposed by the AIF module is not recommended. Any data loss or hardware damage caused by the disabling of the checks is at the user's own risk.
The AIF module will log any files which violate any of the checks it applies. All details are logged to the FileSwitch log, together with the error message (even if the error is not reported).
This documentation is copyright 3QD Developments Ltd 2013 and may not be reproduced or published in any form without the copyright holders permission. RISC OS is subject to continuous development and improvement as such all information is reproduced by 3QD Developments Ltd in good faith and is believed to be correct at the time of publication E&OE. 3QD Developments Ltd cannot accept any liability for any loss or damage arising from the use of any information provided as part of the RISC OS Documentation.
HTML document version 1.03 3rd November 2015