version 1.4.3 documentation

This commit is contained in:
Jeremy Long
2016-09-06 08:48:40 -04:00
parent 44917ad0d3
commit e1a447f722
1225 changed files with 44138 additions and 39411 deletions

View File

@@ -138,56 +138,67 @@
<a class="jxr_linenumber" name="L130" href="#L130">130</a> }
<a class="jxr_linenumber" name="L131" href="#L131">131</a> } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="L132" href="#L132">132</a> file = <strong class="jxr_keyword">new</strong> File(suppressionFilePath);
<a class="jxr_linenumber" name="L133" href="#L133">133</a> <strong class="jxr_keyword">if</strong> (!file.exists()) {
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <strong class="jxr_keyword">final</strong> InputStream suppressionsFromClasspath = <strong class="jxr_keyword">this</strong>.getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <strong class="jxr_keyword">if</strong> (suppressionsFromClasspath != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L136" href="#L136">136</a> deleteTempFile = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L137" href="#L137">137</a> file = FileUtils.getTempFile(<span class="jxr_string">"suppression"</span>, <span class="jxr_string">"xml"</span>);
<a class="jxr_linenumber" name="L138" href="#L138">138</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L139" href="#L139">139</a> org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
<a class="jxr_linenumber" name="L140" href="#L140">140</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L141" href="#L141">141</a> throwSuppressionParseException(<span class="jxr_string">"Unable to locate suppressions file in classpath"</span>, ex);
<a class="jxr_linenumber" name="L142" href="#L142">142</a> }
<a class="jxr_linenumber" name="L143" href="#L143">143</a> }
<a class="jxr_linenumber" name="L144" href="#L144">144</a> }
<a class="jxr_linenumber" name="L145" href="#L145">145</a> }
<a class="jxr_linenumber" name="L146" href="#L146">146</a> <strong class="jxr_keyword">if</strong> (file != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L147" href="#L147">147</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L148" href="#L148">148</a> rules.addAll(parser.parseSuppressionRules(file));
<a class="jxr_linenumber" name="L149" href="#L149">149</a> LOGGER.debug(<span class="jxr_string">"{} suppression rules were loaded."</span>, rules.size());
<a class="jxr_linenumber" name="L150" href="#L150">150</a> } <strong class="jxr_keyword">catch</strong> (SuppressionParseException ex) {
<a class="jxr_linenumber" name="L151" href="#L151">151</a> LOGGER.warn(<span class="jxr_string">"Unable to parse suppression xml file '{}'"</span>, file.getPath());
<a class="jxr_linenumber" name="L152" href="#L152">152</a> LOGGER.warn(ex.getMessage());
<a class="jxr_linenumber" name="L153" href="#L153">153</a> <strong class="jxr_keyword">throw</strong> ex;
<a class="jxr_linenumber" name="L154" href="#L154">154</a> }
<a class="jxr_linenumber" name="L155" href="#L155">155</a> }
<a class="jxr_linenumber" name="L156" href="#L156">156</a> } <strong class="jxr_keyword">catch</strong> (DownloadFailedException ex) {
<a class="jxr_linenumber" name="L157" href="#L157">157</a> throwSuppressionParseException(<span class="jxr_string">"Unable to fetch the configured suppression file"</span>, ex);
<a class="jxr_linenumber" name="L158" href="#L158">158</a> } <strong class="jxr_keyword">catch</strong> (MalformedURLException ex) {
<a class="jxr_linenumber" name="L159" href="#L159">159</a> throwSuppressionParseException(<span class="jxr_string">"Configured suppression file has an invalid URL"</span>, ex);
<a class="jxr_linenumber" name="L160" href="#L160">160</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L161" href="#L161">161</a> throwSuppressionParseException(<span class="jxr_string">"Unable to create temp file for suppressions"</span>, ex);
<a class="jxr_linenumber" name="L162" href="#L162">162</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L163" href="#L163">163</a> <strong class="jxr_keyword">if</strong> (deleteTempFile &amp;&amp; file != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L164" href="#L164">164</a> FileUtils.delete(file);
<a class="jxr_linenumber" name="L165" href="#L165">165</a> }
<a class="jxr_linenumber" name="L166" href="#L166">166</a> }
<a class="jxr_linenumber" name="L167" href="#L167">167</a> }
<a class="jxr_linenumber" name="L168" href="#L168">168</a>
<a class="jxr_linenumber" name="L169" href="#L169">169</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L170" href="#L170">170</a> <em class="jxr_javadoccomment"> * Utility method to throw parse exceptions.</em>
<a class="jxr_linenumber" name="L171" href="#L171">171</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L172" href="#L172">172</a> <em class="jxr_javadoccomment"> * @param message the exception message</em>
<a class="jxr_linenumber" name="L173" href="#L173">173</a> <em class="jxr_javadoccomment"> * @param exception the cause of the exception</em>
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <em class="jxr_javadoccomment"> * @throws SuppressionParseException throws the generated</em>
<a class="jxr_linenumber" name="L175" href="#L175">175</a> <em class="jxr_javadoccomment"> * SuppressionParseException</em>
<a class="jxr_linenumber" name="L176" href="#L176">176</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L177" href="#L177">177</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> throwSuppressionParseException(String message, Exception exception) <strong class="jxr_keyword">throws</strong> SuppressionParseException {
<a class="jxr_linenumber" name="L178" href="#L178">178</a> LOGGER.warn(message);
<a class="jxr_linenumber" name="L179" href="#L179">179</a> LOGGER.debug(<span class="jxr_string">""</span>, exception);
<a class="jxr_linenumber" name="L180" href="#L180">180</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/xml/suppression/SuppressionParseException.html">SuppressionParseException</a>(message, exception);
<a class="jxr_linenumber" name="L181" href="#L181">181</a> }
<a class="jxr_linenumber" name="L182" href="#L182">182</a> }
<a class="jxr_linenumber" name="L133" href="#L133">133</a> InputStream suppressionsFromClasspath = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="L134" href="#L134">134</a> <strong class="jxr_keyword">if</strong> (!file.exists()) {
<a class="jxr_linenumber" name="L135" href="#L135">135</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L136" href="#L136">136</a> suppressionsFromClasspath = <strong class="jxr_keyword">this</strong>.getClass().getClassLoader().getResourceAsStream(suppressionFilePath);
<a class="jxr_linenumber" name="L137" href="#L137">137</a> <strong class="jxr_keyword">if</strong> (suppressionsFromClasspath != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L138" href="#L138">138</a> deleteTempFile = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="L139" href="#L139">139</a> file = FileUtils.getTempFile(<span class="jxr_string">"suppression"</span>, <span class="jxr_string">"xml"</span>);
<a class="jxr_linenumber" name="L140" href="#L140">140</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L141" href="#L141">141</a> org.apache.commons.io.FileUtils.copyInputStreamToFile(suppressionsFromClasspath, file);
<a class="jxr_linenumber" name="L142" href="#L142">142</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L143" href="#L143">143</a> throwSuppressionParseException(<span class="jxr_string">"Unable to locate suppressions file in classpath"</span>, ex);
<a class="jxr_linenumber" name="L144" href="#L144">144</a> }
<a class="jxr_linenumber" name="L145" href="#L145">145</a> }
<a class="jxr_linenumber" name="L146" href="#L146">146</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L147" href="#L147">147</a> <strong class="jxr_keyword">if</strong> (suppressionsFromClasspath != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L148" href="#L148">148</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L149" href="#L149">149</a> suppressionsFromClasspath.close();
<a class="jxr_linenumber" name="L150" href="#L150">150</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L151" href="#L151">151</a> LOGGER.debug(<span class="jxr_string">"Failed to close stream"</span>, ex);
<a class="jxr_linenumber" name="L152" href="#L152">152</a> }
<a class="jxr_linenumber" name="L153" href="#L153">153</a> }
<a class="jxr_linenumber" name="L154" href="#L154">154</a> }
<a class="jxr_linenumber" name="L155" href="#L155">155</a> }
<a class="jxr_linenumber" name="L156" href="#L156">156</a> }
<a class="jxr_linenumber" name="L157" href="#L157">157</a> <strong class="jxr_keyword">if</strong> (file != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L158" href="#L158">158</a> <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L159" href="#L159">159</a> rules.addAll(parser.parseSuppressionRules(file));
<a class="jxr_linenumber" name="L160" href="#L160">160</a> LOGGER.debug(<span class="jxr_string">"{} suppression rules were loaded."</span>, rules.size());
<a class="jxr_linenumber" name="L161" href="#L161">161</a> } <strong class="jxr_keyword">catch</strong> (SuppressionParseException ex) {
<a class="jxr_linenumber" name="L162" href="#L162">162</a> LOGGER.warn(<span class="jxr_string">"Unable to parse suppression xml file '{}'"</span>, file.getPath());
<a class="jxr_linenumber" name="L163" href="#L163">163</a> LOGGER.warn(ex.getMessage());
<a class="jxr_linenumber" name="L164" href="#L164">164</a> <strong class="jxr_keyword">throw</strong> ex;
<a class="jxr_linenumber" name="L165" href="#L165">165</a> }
<a class="jxr_linenumber" name="L166" href="#L166">166</a> }
<a class="jxr_linenumber" name="L167" href="#L167">167</a> } <strong class="jxr_keyword">catch</strong> (DownloadFailedException ex) {
<a class="jxr_linenumber" name="L168" href="#L168">168</a> throwSuppressionParseException(<span class="jxr_string">"Unable to fetch the configured suppression file"</span>, ex);
<a class="jxr_linenumber" name="L169" href="#L169">169</a> } <strong class="jxr_keyword">catch</strong> (MalformedURLException ex) {
<a class="jxr_linenumber" name="L170" href="#L170">170</a> throwSuppressionParseException(<span class="jxr_string">"Configured suppression file has an invalid URL"</span>, ex);
<a class="jxr_linenumber" name="L171" href="#L171">171</a> } <strong class="jxr_keyword">catch</strong> (IOException ex) {
<a class="jxr_linenumber" name="L172" href="#L172">172</a> throwSuppressionParseException(<span class="jxr_string">"Unable to create temp file for suppressions"</span>, ex);
<a class="jxr_linenumber" name="L173" href="#L173">173</a> } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="L174" href="#L174">174</a> <strong class="jxr_keyword">if</strong> (deleteTempFile &amp;&amp; file != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="L175" href="#L175">175</a> FileUtils.delete(file);
<a class="jxr_linenumber" name="L176" href="#L176">176</a> }
<a class="jxr_linenumber" name="L177" href="#L177">177</a> }
<a class="jxr_linenumber" name="L178" href="#L178">178</a> }
<a class="jxr_linenumber" name="L179" href="#L179">179</a>
<a class="jxr_linenumber" name="L180" href="#L180">180</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L181" href="#L181">181</a> <em class="jxr_javadoccomment"> * Utility method to throw parse exceptions.</em>
<a class="jxr_linenumber" name="L182" href="#L182">182</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L183" href="#L183">183</a> <em class="jxr_javadoccomment"> * @param message the exception message</em>
<a class="jxr_linenumber" name="L184" href="#L184">184</a> <em class="jxr_javadoccomment"> * @param exception the cause of the exception</em>
<a class="jxr_linenumber" name="L185" href="#L185">185</a> <em class="jxr_javadoccomment"> * @throws SuppressionParseException throws the generated</em>
<a class="jxr_linenumber" name="L186" href="#L186">186</a> <em class="jxr_javadoccomment"> * SuppressionParseException</em>
<a class="jxr_linenumber" name="L187" href="#L187">187</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L188" href="#L188">188</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> throwSuppressionParseException(String message, Exception exception) <strong class="jxr_keyword">throws</strong> SuppressionParseException {
<a class="jxr_linenumber" name="L189" href="#L189">189</a> LOGGER.warn(message);
<a class="jxr_linenumber" name="L190" href="#L190">190</a> LOGGER.debug(<span class="jxr_string">""</span>, exception);
<a class="jxr_linenumber" name="L191" href="#L191">191</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/xml/suppression/SuppressionParseException.html">SuppressionParseException</a>(message, exception);
<a class="jxr_linenumber" name="L192" href="#L192">192</a> }
<a class="jxr_linenumber" name="L193" href="#L193">193</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>