From: Andi McClure Date: Mon, 1 May 2017 20:11:43 +0000 (-0400) Subject: Document --assembly-loader, change default to 'legacy' and fix comment X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=commitdiff_plain;h=ca6365b31664632788756053279590dee2daf183 Document --assembly-loader, change default to 'legacy' and fix comment Also set testing_gac tests to use --assembly-loader=strict, since it is no longer the default --- diff --git a/man/mono.1 b/man/mono.1 index dcde246d472..b23581535c5 100644 --- a/man/mono.1 +++ b/man/mono.1 @@ -311,6 +311,9 @@ Instructs the AOT compiler to emit (or not emit) debug symbol information. For more information about AOT, see: http://www.mono-project.com/docs/advanced/aot/ .RE .TP +\fB--aot-path=PATH\fR +List of additional directories to search for AOT images. +.TP \fB--apply-bindings=FILE\fR Apply the assembly bindings from the specified configuration file when running the AOT compiler. This is useful when compiling an auxiliary assembly that is @@ -321,6 +324,13 @@ app.exe.config available when compiling lib.dll ahead of time, use: mono --apply-bindings=app.exe.config --aot lib.dll .fi .TP +\fB--assembly-loader=MODE\fR +If mode is \fBstrict\fR, Mono will check that the public key token, culture and version +of a candidate assembly matches the requested strong name. If mode is \fBlegacy\fR, as +long as the name matches, the candidate will be allowed. \fBstrict\fR is the behavior +consistent with .NET Framework but may break some existing mono-based applications. +The default is \fBlegacy\fR. +.TP \fB--attach=[options]\fR Currently the only option supported by this command line argument is \fBdisable\fR which disables the attach functionality. @@ -331,9 +341,6 @@ The default files are /etc/mono/config and ~/.mono/config or the file specified in the MONO_CONFIG environment variable, if set. See the mono-config(5) man page for details on the format of this file. .TP -\fB--aot-path=PATH\fR -List of additional directories to search for AOT images. -.TP \fB--debugger-agent=[options]\fR This instructs the Mono runtime to start a debugging agent inside the Mono runtime and connect it to a diff --git a/mono/metadata/metadata.c b/mono/metadata/metadata.c index 78dece0b24e..dd1ea04a33e 100644 --- a/mono/metadata/metadata.c +++ b/mono/metadata/metadata.c @@ -520,11 +520,11 @@ mono_tables_names [] = { #endif /* If TRUE (but also see DISABLE_STICT_STRONG_NAMES #define), Mono will check - * that the public key token and version of a candidate assembly matches the - * requested strong name. If FALSE, as long as the name matches, the candidate + * that the public key token, culture and version of a candidate assembly matches + * the requested strong name. If FALSE, as long as the name matches, the candidate * will be allowed. */ -static gboolean check_strong_names_strictly = TRUE; +static gboolean check_strong_names_strictly = FALSE; // Amount initially reserved in each imageset's mempool. // FIXME: This number is arbitrary, a more practical number should be found diff --git a/mono/tests/testing_gac/Makefile.am b/mono/tests/testing_gac/Makefile.am index d65b359ce5d..1a4e30a68f3 100644 --- a/mono/tests/testing_gac/Makefile.am +++ b/mono/tests/testing_gac/Makefile.am @@ -23,7 +23,8 @@ RUNTIME= $(top_builddir)/runtime/mono-wrapper TEST_RUNTIME = MONO_PATH=$(CLASS) $(RUNTIME) TOOLS_RUNTIME= MONO_PATH=$(mcs_topdir)/class/lib/build $(RUNTIME) -TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME) +# These tests are testing strict assembly strong-name resolution +TEST_RUNNER = ../test-runner.exe --runtime $(RUNTIME) --runtime-args "--assembly-loader=strict" if HOST_WIN32 TEST_RUNNER_ARGS=--runtime $(if $(MONO_EXECUTABLE),$(shell cygpath -w -a $(MONO_EXECUTABLE) | sed 's/\\/\\\\/g'),mono)