<div dir="ltr"><div><div>Is this actually a real world problem that users are running into?<br><br></div>If not then adding any kind of limit seems like it has the potential to cause more problems than it will solve.<br><br>As others have pointed out I think the security angle is moot, as if you can deploy to the server your deployment can DOS the server in any number of ways, security manager or no security manager (the simplest way is just to put while(true){} in a Servlet then send some requests, after a while you will lock up every web thread and use 100% CPU, and there is no way to configure the security manager to stop this). <br><br></div>Stuart<br><div><div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, 4 Nov 2015 at 20:12 Darran Lofthouse &lt;<a href="mailto:darran.lofthouse@jboss.com">darran.lofthouse@jboss.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> From within GWT is there any option to detect the file size before<br>
uploading?<br>
<br>
I wonder if it is better if we had something where we ask the server<br>
&quot;Can you accept a file of size X?&quot; before commencing an upload rather<br>
than setting some arbitrary limit.  Something like that could also be<br>
used in domain mode before deployments are distributed allowing them to<br>
fail early.<br>
<br>
You may have 8Gb free on your disk and have 2Gb deployments, after a<br>
couple of deployments the space would be gone but the arbitrary value<br>
would still allow 2Gb uploads.<br>
<br>
Regards,<br>
Darran Lofthouse.<br>
<br>
<br>
On 04/11/15 01:13, Lin Gao wrote:<br>
&gt;&gt; On 11/03/2015 02:41 AM, Lin Gao wrote:<br>
&gt;&gt;&gt; Hi,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     WildFly does not limit the deployment file size, users with appropriate<br>
&gt;&gt;&gt;     privilege(deployer) can select any file to deploy from both CLI and web<br>
&gt;&gt;&gt;     console.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     For the too big file, it may exhaust all available disk space, and in<br>
&gt;&gt;&gt;     some cases, even small file can exhaust the disk space if the current<br>
&gt;&gt;&gt;     disk space is not big enough.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     So shall we limit file size of the deployment in WildFly? or shall we<br>
&gt;&gt;&gt;     limit the available disk space? or shall we just show a warning message<br>
&gt;&gt;&gt;     to users?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     If we do, where in the management API configuration for this should be<br>
&gt;&gt;&gt;     done, if it is done this way?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     Arbitrary limits will break users, so if we have an arbitrary limit it<br>
&gt;&gt;&gt;     needs to be easily adjusted.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     In case of domain mode, different hosts may have different disk space,<br>
&gt;&gt;&gt;     which means they are likely have different capacity to hold deployment<br>
&gt;&gt;&gt;     files. For example, servers in server-group-A may have 2GB available<br>
&gt;&gt;&gt;     disk space, servers in server-group-B may have 200MB available disk<br>
&gt;&gt;&gt;     space. An unified limit for the whole domain seems not fair for the<br>
&gt;&gt;&gt;     servers with more available disk space.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     Also, WildFly does not limit type of the deployment file, but it might<br>
&gt;&gt;&gt;     need a separate discussion if necessary?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;     Any thoughts?<br>
&gt;&gt;<br>
&gt;&gt; Is this in response to a real observed problem?<br>
&gt;<br>
&gt; Yes it is.<br>
&gt;<br>
&gt;&gt; In general, if the user<br>
&gt;&gt; doesn&#39;t have space for a deployment, the deployment will fail with an<br>
&gt;&gt; error and (I am fairly certain) will delete the partial deployment.  If<br>
&gt;&gt; there is space, then the deployment will succeed regardless of size.<br>
&gt;<br>
&gt;&gt; It&#39;s interesting that the JIRA you reference speaks in terms of<br>
&gt;&gt; security.  If an admin wants to lock down storage space, it&#39;s probably<br>
&gt;&gt; best to do it at the operating system level using e.g. disk quotas -<br>
&gt;&gt; there are too many ways to get the application server to write arbitrary<br>
&gt;&gt; amounts of data to the file system, regardless of the presence of a<br>
&gt;&gt; security manager or any other application-level control.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;m pretty sure that if an attacker has permission to upload deployments<br>
&gt;&gt; to the server, they already essentially have control over the server.<br>
&gt;&gt; This should be an OS level concern.<br>
&gt;<br>
&gt; The JIRA in question was a &#39;bug&#39; related to security at first, after several<br>
&gt; rounds of discussion, it is agreed that it is not a security vulnerability, but<br>
&gt; an &#39;Enhancement&#39;.<br>
&gt;<br>
&gt; The proposed requirement for the enhancement is:<br>
&gt;<br>
&gt; Provide an option in config to alert user that<br>
&gt; a) File is larger than a configurable limit<br>
&gt; b) File type is/is not valid.<br>
&gt;<br>
&gt; but it may need more discussion in community on both the requirement and design<br>
&gt; if it will be done, that is why this thread comes out in first place. :-)<br>
&gt;<br>
&gt;&gt;&gt;     FYI: <a href="https://issues.jboss.org/browse/WFCORE-1057" rel="noreferrer" target="_blank">https://issues.jboss.org/browse/WFCORE-1057</a><br>
&gt;&gt;&gt;<br>
&gt;<br>
&gt; Best Regards<br>
&gt; --<br>
&gt; Lin Gao<br>
&gt; Software Engineer<br>
&gt; JBoss by Red Hat<br>
&gt; _______________________________________________<br>
&gt; wildfly-dev mailing list<br>
&gt; <a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
&gt;<br>
_______________________________________________<br>
wildfly-dev mailing list<br>
<a href="mailto:wildfly-dev@lists.jboss.org" target="_blank">wildfly-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/wildfly-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/wildfly-dev</a><br>
</blockquote></div></div></div></div></div>