[ 
https://issues.apache.org/jira/browse/LUCENENET-357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12859512#action_12859512
 ] 

Robert Jordan commented on LUCENENET-357:
-----------------------------------------

> I am eager to see a weak-reference implementation in pure managed code 
> without using "WeakReference" class.

Using WeakReference is not the issue. Subclassing it like WeakRef does is 
causing the trouble. Maybe because overriding some of its member might expose 
some security issues.


> Mostly won't work on shared hosts / Mosso cloud etc due to 'Trust' levels
> -------------------------------------------------------------------------
>
>                 Key: LUCENENET-357
>                 URL: https://issues.apache.org/jira/browse/LUCENENET-357
>             Project: Lucene.Net
>          Issue Type: Bug
>         Environment: .NET 3.5 / Medium or Medium modified trust
>            Reporter: Frank West
>
> Initially I had to remove a few references to the Sys Environment to get it 
> to work. However now it fails use of the 'Weak Hashtable' - any reference to 
> a 'weak[something]' will fail with a security exception. The issue only 
> happens when returning sorted results.
> As an example here's the web.config modified trust file I'm being forced to 
> use on Mosso (Rackspace cloud)
> <configuration>
>   <mscorlib>
>     <security>
>       <policy>
>         <PolicyLevel version="1">
>           <SecurityClasses>
>             <SecurityClass Name="AllMembershipCondition" 
> Description="System.Security.Policy.AllMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="AspNetHostingPermission" 
> Description="System.Web.AspNetHostingPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ConfigurationPermission" 
> Description="System.Configuration.ConfigurationPermission, 
> System.Configuration, Version=2.0.0.0, Culture=neutral, 
> PublicKeyToken=b03f5f7f11d50a3a"/>
>             <SecurityClass Name="DnsPermission" 
> Description="System.Net.DnsPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="EnvironmentPermission" 
> Description="System.Security.Permissions.EnvironmentPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="FileIOPermission" 
> Description="System.Security.Permissions.FileIOPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="FirstMatchCodeGroup" 
> Description="System.Security.Policy.FirstMatchCodeGroup, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="IsolatedStorageFilePermission" 
> Description="System.Security.Permissions.IsolatedStorageFilePermission, 
> mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="NamedPermissionSet" 
> Description="System.Security.NamedPermissionSet"/>
>             <SecurityClass Name="PrintingPermission" 
> Description="System.Drawing.Printing.PrintingPermission, System.Drawing, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
>             <SecurityClass Name="SecurityPermission" 
> Description="System.Security.Permissions.SecurityPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SmtpPermission" 
> Description="System.Net.Mail.SmtpPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SqlClientPermission" 
> Description="System.Data.SqlClient.SqlClientPermission, System.Data, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="StrongNameMembershipCondition" 
> Description="System.Security.Policy.StrongNameMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UIPermission" 
> Description="System.Security.Permissions.UIPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UnionCodeGroup" 
> Description="System.Security.Policy.UnionCodeGroup, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="UrlMembershipCondition" 
> Description="System.Security.Policy.UrlMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="WebPermission" 
> Description="System.Net.WebPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ZoneMembershipCondition" 
> Description="System.Security.Policy.ZoneMembershipCondition, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="ReflectionPermission" 
> Description="System.Security.Permissions.ReflectionPermission, mscorlib, 
> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="OleDbPermission" 
> Description="System.Data.OleDb.OleDbPermission, System.Data, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="OdbcPermission" 
> Description="System.Data.Odbc.OdbcPermission, System.Data, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>             <SecurityClass Name="SocketPermission" 
> Description="System.Net.SocketPermission, System, Version=2.0.0.0, 
> Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
>           </SecurityClasses>
>           <NamedPermissionSets>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Unrestricted="true" Name="FullTrust" Description="Allows full access to all 
> resources"/>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Name="Nothing" Description="Denies all resources, including the right to 
> execute"/>
>             <PermissionSet class="NamedPermissionSet" version="1" 
> Name="ASP.Net">
>               <IPermission class="AspNetHostingPermission" version="1" 
> Level="Medium"/>
>               <IPermission class="ConfigurationPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="DnsPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="EnvironmentPermission" version="1" 
> Read="TEMP;TMP;USERNAME;OS;COMPUTERNAME"/>
>               <IPermission class="FileIOPermission" version="1" 
> Read="$AppDir$" Write="$AppDir$" Append="$AppDir$" PathDiscovery="$AppDir$"/>
>               <IPermission class="IsolatedStorageFilePermission" version="1" 
> Allowed="AssemblyIsolationByUser" UserQuota="9223372036854775807"/>
>               <!-- <IPermission class="PrintingPermission" version="1" 
> Level="DefaultPrinting"/> -->
>               <IPermission class="SecurityPermission" version="1" 
> Flags="Assertion, Execution, ControlThread, ControlPrincipal, 
> RemotingConfiguration"/>
>               <IPermission class="SmtpPermission" version="1" 
> Access="ConnectToUnrestrictedPort"/>
>               <IPermission class="SqlClientPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="WebPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="OleDbPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="OdbcPermission" version="1" 
> Unrestricted="true"/>
>               <IPermission class="SocketPermission" version="1" 
> Unrestricted="true" />
>               <IPermission class="ReflectionPermission" version="1" 
> Unrestricted="true"/>
>             </PermissionSet>
>           </NamedPermissionSets>
>           <CodeGroup class="FirstMatchCodeGroup" version="1" 
> PermissionSetName="Nothing">
>             <IMembershipCondition class="AllMembershipCondition" version="1"/>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="ASP.Net">
>               <IMembershipCondition class="UrlMembershipCondition" 
> version="1" Url="$AppDirUrl$/*"/>
>             </CodeGroup>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="ASP.Net">
>               <IMembershipCondition class="UrlMembershipCondition" 
> version="1" Url="$CodeGen$/*"/>
>             </CodeGroup>
>             <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="Nothing">
>               <IMembershipCondition class="ZoneMembershipCondition" 
> version="1" Zone="MyComputer"/>
>               <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="FullTrust" Name="Microsoft_Strong_Name" Description="This 
> code group grants code signed with the Microsoft strong name full trust. ">
>                 <IMembershipCondition class="StrongNameMembershipCondition" 
> version="1" 
> PublicKeyBlob="002400000480000094000000060200000024000052534131000400000100010007D1FA57C4AED9F0A32E84AA0FAEFD0DE9E8FD6AEC8F87FB03766C834C99921EB23BE79AD9D5DCC1DD9AD236132102900B723CF980957FC4E177108FC607774F29E8320E92EA05ECE4E821C0A5EFE8F1645C4C0C93C1AB99285D622CAA652C1DFAD63D745D6F2DE5F17E5EAF0FC4963D261C8A12436518206DC093344D5AD293"/>
>               </CodeGroup>
>               <CodeGroup class="UnionCodeGroup" version="1" 
> PermissionSetName="FullTrust" Name="Ecma_Strong_Name" Description="This code 
> group grants code signed with the ECMA strong name full trust. ">
>                 <IMembershipCondition class="StrongNameMembershipCondition" 
> version="1" PublicKeyBlob="00000000000000000400000000000000"/>
>               </CodeGroup>
>             </CodeGroup>
>           </CodeGroup>
>         </PolicyLevel>
>       </policy>
>     </security>
>   </mscorlib>
> </configuration>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to