TOOLS

find-sc.exe

	Extract [SecurityCritical] from Silverlight platform code to
	ensure Moonlight compatibility. The output of the tool is kept
	under the /compatibility directory and its content is stored
	in SVN in order to track changes over time (and new SL releases)

detect-sc.exe

	Find out what Moonlight (platform code) methods are likely to
	need [SecurityCritical] in order to work properly under the
	CoreCLR securiy model. The output of the tool is kept under the
	/automatic directory and its content is stored in SVN in order 
	to track/audit changes.

detect-ssc.exe

	Find out what Moonlight (platform code) methods are likely to
	need [SecuritySafeCritical] in order to work properly under the
	CoreCLR securiy model. The output of the tool is kept under the
	/automatic directory and its content is stored in SVN in order 
	to track/audit changes.

merge.exe

	Merge all data files (from compatibility, automatic and overrides)
	into a single file (per assembly) usable by the tuner to inject
	the right [SecurityCritical] or [SecuritySafeCritical] attributes
	into the platform assemblies.

audit.exe

	Detect new or updated [SecuritySafeCritical] methods in the 
	platform assemblies. Comments can be added when the method was
	reviewed - e.g. reviewer name and some useful notes for future
	reviewers

ivt-check.exe

	Check the specified assembly for its use of [InternalsVisibleTo]
	and report any assembly that is not platform code. This makes it
	possible to ensure our platform assemblies are not opening 
	themselves to external code.

Note: the tools are not meant to be installed on the end-users system.
They are only needed at build-time.


FILES

/compatibility/*.compat.sc

	Files are generated, using find-sc.exe, from Silverlight 2.0 
	platform code. They contains the [SecurityCritical] attributes
	on visible API which are required for comaptibility.

/automatic/*.auto.[sc|ssc]

	Files are generated, using detect-sc.exe and detect-ssc.exe,
	on the Moonlight 2.0 platform code.

/overrides/*.manual

	Manually updated files to add, or remove, security attributes.

/*.secattr

	Merged files, from the above sources, that are consumed by the
	tuner.

/audit/*.audit

	Audit data files. Auditor can add comments, while the audit.exe
	tool will update the files when new or updated SSC methods are
	detected.

