v1.3.5 documentation

This commit is contained in:
Jeremy Long
2016-03-05 16:26:13 -05:00
parent 235a3c36cc
commit 82b7c12757
26 changed files with 1476 additions and 0 deletions

9
css/apache-maven-fluido-1.5.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,30 @@
function show(type)
{
count = 0;
for (var key in methods) {
var row = document.getElementById(key);
if ((methods[key] & type) != 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,30 @@
function show(type)
{
count = 0;
for (var key in methods) {
var row = document.getElementById(key);
if ((methods[key] & type) != 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,30 @@
function show(type)
{
count = 0;
for (var key in methods) {
var row = document.getElementById(key);
if ((methods[key] & type) != 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,30 @@
function show(type)
{
count = 0;
for (var key in methods) {
var row = document.getElementById(key);
if ((methods[key] & type) != 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
}
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,124 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_31) on Sat Mar 05 13:21:26 EST 2016 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.3.5 API)</title>
<meta name="date" content="2016-03-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream (Dependency-Check Utils 1.3.5 API)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../org/owasp/dependencycheck/utils/package-summary.html">Package</a></li>
<li><a href="../../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html" title="class in org.owasp.dependencycheck.utils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/owasp/dependencycheck/utils/class-use/ExpectedOjectInputStream.html" target="_top">Frames</a></li>
<li><a href="ExpectedOjectInputStream.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h2 title="Uses of Class org.owasp.dependencycheck.utils.ExpectedOjectInputStream" class="title">Uses of Class<br>org.owasp.dependencycheck.utils.ExpectedOjectInputStream</h2>
</div>
<div class="classUseContainer">No usage of org.owasp.dependencycheck.utils.ExpectedOjectInputStream</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../org/owasp/dependencycheck/utils/package-summary.html">Package</a></li>
<li><a href="../../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html" title="class in org.owasp.dependencycheck.utils">Class</a></li>
<li class="navBarCell1Rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/owasp/dependencycheck/utils/class-use/ExpectedOjectInputStream.html" target="_top">Frames</a></li>
<li><a href="ExpectedOjectInputStream.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright? 2012-15 Jeremy Long. All Rights Reserved.</small></p>
</body>
</html>

View File

@@ -0,0 +1,30 @@
function show(type)
{
count = 0;
for (var key in methods) {
var row = document.getElementById(key);
if ((methods[key] & type) != 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type)
{
for (var value in tabs) {
var sNode = document.getElementById(tabs[value][0]);
var spanNode = sNode.firstChild;
if (value == type) {
sNode.className = activeTableTab;
spanNode.innerHTML = tabs[value][1];
}
else {
sNode.className = tableTab;
spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
}
}
}

View File

@@ -0,0 +1,157 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Coverage Report</title>
<link title="Style" type="text/css" rel="stylesheet" href="css/main.css"/>
<script type="text/javascript" src="js/popup.js"></script>
</head>
<body>
<h5>Coverage Report - org.owasp.dependencycheck.utils.ExpectedOjectInputStream</h5>
<div class="separator">&nbsp;</div>
<table class="report">
<thead><tr> <td class="heading">Classes in this File</td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Line Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Branch Coverage</a></td> <td class="heading"><a class="dfn" href="help.html" onclick="popupwindow('help.html'); return false;">Complexity</a></td></tr></thead>
<tr><td><a href="org.owasp.dependencycheck.utils.ExpectedOjectInputStream.html">ExpectedOjectInputStream</a></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">7/7</span></div></div></td></tr></table></td><td><table cellpadding="0px" cellspacing="0px" class="percentgraph"><tr class="percentgraph"><td align="right" class="percentgraph" width="40">100%</td><td class="percentgraph"><div class="percentgraph"><div class="greenbar" style="width:100px"><span class="text">2/2</span></div></div></td></tr></table></td><td class="value"><span class="hidden">2.0;</span>2</td></tr>
</table>
<div class="separator">&nbsp;</div>
<table cellspacing="0" cellpadding="0" class="src">
<tr> <td class="numLine">&nbsp;1</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/*</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;2</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * This file is part of dependency-check-core.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;3</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;4</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Licensed under the Apache License, Version 2.0 (the "License");</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;5</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * you may not use this file except in compliance with the License.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;6</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * You may obtain a copy of the License at</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;7</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;8</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;9</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;10</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;11</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;12</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;13</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * See the License for the specific language governing permissions and</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;14</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * limitations under the License.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;15</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;16</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Copyright (c) 2016 Jeremy Long. All Rights Reserved.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;17</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;18</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">package</span> org.owasp.dependencycheck.utils;</pre></td></tr>
<tr> <td class="numLine">&nbsp;19</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;20</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.IOException;</pre></td></tr>
<tr> <td class="numLine">&nbsp;21</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.InputStream;</pre></td></tr>
<tr> <td class="numLine">&nbsp;22</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.InvalidClassException;</pre></td></tr>
<tr> <td class="numLine">&nbsp;23</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.ObjectInputStream;</pre></td></tr>
<tr> <td class="numLine">&nbsp;24</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.io.ObjectStreamClass;</pre></td></tr>
<tr> <td class="numLine">&nbsp;25</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.ArrayList;</pre></td></tr>
<tr> <td class="numLine">&nbsp;26</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.Arrays;</pre></td></tr>
<tr> <td class="numLine">&nbsp;27</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">import</span> java.util.List;</pre></td></tr>
<tr> <td class="numLine">&nbsp;28</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;29</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;30</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * An ObjectInputStream that will only deserialize expected classes.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;31</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;32</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @author Jeremy Long</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;33</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;34</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="keyword">public</span> <span class="keyword">class</span> ExpectedOjectInputStream <span class="keyword">extends</span> ObjectInputStream {</pre></td></tr>
<tr> <td class="numLine">&nbsp;35</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;36</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;37</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * The list of fully qualified class names that are able to be deserialized.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;38</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;39</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">private</span> List&lt;String&gt; expected = <span class="keyword">new</span> ArrayList&lt;String&gt;();</pre></td></tr>
<tr> <td class="numLine">&nbsp;40</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;41</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;42</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Constructs a new ExpectedOjectInputStream that can be used to securely deserialize an object by restricting the classes</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;43</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * that can deserialized to a known set of expected classes.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;44</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;45</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param inputStream the input stream that contains the object to deserialize</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;46</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param expected the fully qualified class names of the classes that can be deserialized</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;47</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws IOException thrown if there is an error reading from the stream</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;48</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;49</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">public</span> ExpectedOjectInputStream(InputStream inputStream, String... expected) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;50</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">super</span>(inputStream);</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;51</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">this</span>.expected.addAll(Arrays.asList(expected));</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;52</td> <td class="nbHitsCovered">&nbsp;2</td> <td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;53</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;</pre></td></tr>
<tr> <td class="numLine">&nbsp;54</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="comment">/**</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;55</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * Only deserialize instances of expected classes by validating the class name prior to deserialization.</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;56</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;57</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @param desc the class from the object stream to validate</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;58</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @return the resolved class</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;59</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws java.io.IOException thrown if the class being read is not one of the expected classes or if there is an error</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;60</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * reading from the stream</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;61</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> * @throws java.lang.ClassNotFoundException thrown if there is an error finding the class to deserialize</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;62</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;<span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine">&nbsp;63</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; @Override</pre></td></tr>
<tr> <td class="numLine">&nbsp;64</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; <span class="keyword">protected</span> Class&lt;?&gt; resolveClass(ObjectStreamClass desc) <span class="keyword">throws</span> IOException, ClassNotFoundException {</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;65</td> <td class="nbHitsCovered"><a title="Line 65: Conditional coverage 100% (2/2).">&nbsp;7</a></td> <td class="src"><pre class="src">&nbsp;<a title="Line 65: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!<span class="keyword">this</span>.expected.contains(desc.getName())) {</a></pre></td></tr>
<tr> <td class="numLineCover">&nbsp;66</td> <td class="nbHitsCovered">&nbsp;1</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">throw</span> <span class="keyword">new</span> InvalidClassException(<span class="string">"Unexpected deserialization"</span>, desc.getName());</pre></td></tr>
<tr> <td class="numLine">&nbsp;67</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLineCover">&nbsp;68</td> <td class="nbHitsCovered">&nbsp;6</td> <td class="src"><pre class="src">&nbsp; <span class="keyword">return</span> <span class="keyword">super</span>.resolveClass(desc);</pre></td></tr>
<tr> <td class="numLine">&nbsp;69</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp; }</pre></td></tr>
<tr> <td class="numLine">&nbsp;70</td> <td class="nbHits">&nbsp;</td>
<td class="src"><pre class="src">&nbsp;}</pre></td></tr>
</table>
<div class="footer">Report generated by <a href="http://cobertura.sourceforge.net/" target="_top">Cobertura</a> 2.1.1 on 3/5/16 1:21 PM.</div>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpectedOjectInputStreamTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * This file is part of dependency-check-core.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <em class="jxr_comment"> * Copyright (c) 2016 Jeremy Long. All Rights Reserved.</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedOutputStream;
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayInputStream;
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream;
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream;
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.junit.AfterClass;
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> org.junit.Before;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> org.junit.BeforeClass;
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * @author jeremy</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">ExpectedOjectInputStreamTest</a> {
<a class="jxr_linenumber" name="L37" href="#L37">37</a>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">ExpectedOjectInputStreamTest</a>() {
<a class="jxr_linenumber" name="L39" href="#L39">39</a> }
<a class="jxr_linenumber" name="L40" href="#L40">40</a>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> @BeforeClass
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setUpClass() {
<a class="jxr_linenumber" name="L43" href="#L43">43</a> }
<a class="jxr_linenumber" name="L44" href="#L44">44</a>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> @AfterClass
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> tearDownClass() {
<a class="jxr_linenumber" name="L47" href="#L47">47</a> }
<a class="jxr_linenumber" name="L48" href="#L48">48</a>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> @Before
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
<a class="jxr_linenumber" name="L52" href="#L52">52</a>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> @After
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
<a class="jxr_linenumber" name="L56" href="#L56">56</a>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * Test of resolveClass method, of class ExpectedOjectInputStream.</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> @Test
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testResolveClass() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L62" href="#L62">62</a> List&lt;SimplePojo&gt; data = <strong class="jxr_keyword">new</strong> ArrayList&lt;SimplePojo&gt;();
<a class="jxr_linenumber" name="L63" href="#L63">63</a> data.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a>());
<a class="jxr_linenumber" name="L64" href="#L64">64</a>
<a class="jxr_linenumber" name="L65" href="#L65">65</a> ByteArrayOutputStream mem = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
<a class="jxr_linenumber" name="L66" href="#L66">66</a> ObjectOutputStream out = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> BufferedOutputStream(mem));
<a class="jxr_linenumber" name="L67" href="#L67">67</a> out.writeObject(data);
<a class="jxr_linenumber" name="L68" href="#L68">68</a> out.flush();
<a class="jxr_linenumber" name="L69" href="#L69">69</a> byte[] buf = mem.toByteArray();
<a class="jxr_linenumber" name="L70" href="#L70">70</a> out.close();
<a class="jxr_linenumber" name="L71" href="#L71">71</a> ByteArrayInputStream in = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(buf);
<a class="jxr_linenumber" name="L72" href="#L72">72</a>
<a class="jxr_linenumber" name="L73" href="#L73">73</a> ExpectedOjectInputStream instance = <strong class="jxr_keyword">new</strong> ExpectedOjectInputStream(in, <span class="jxr_string">"java.util.ArrayList"</span>, <span class="jxr_string">"org.owasp.dependencycheck.utils.SimplePojo"</span>, <span class="jxr_string">"java.lang.Integer"</span>, <span class="jxr_string">"java.lang.Number"</span>);
<a class="jxr_linenumber" name="L74" href="#L74">74</a> instance.readObject();
<a class="jxr_linenumber" name="L75" href="#L75">75</a> }
<a class="jxr_linenumber" name="L76" href="#L76">76</a>
<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> * Test of resolveClass method, of class ExpectedOjectInputStream.</em>
<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L80" href="#L80">80</a> @Test(expected = java.io.InvalidClassException.<strong class="jxr_keyword">class</strong>)
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testResolveClassException() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L82" href="#L82">82</a> List&lt;SimplePojo&gt; data = <strong class="jxr_keyword">new</strong> ArrayList&lt;SimplePojo&gt;();
<a class="jxr_linenumber" name="L83" href="#L83">83</a> data.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a>());
<a class="jxr_linenumber" name="L84" href="#L84">84</a>
<a class="jxr_linenumber" name="L85" href="#L85">85</a> ByteArrayOutputStream mem = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
<a class="jxr_linenumber" name="L86" href="#L86">86</a> ObjectOutputStream out = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> BufferedOutputStream(mem));
<a class="jxr_linenumber" name="L87" href="#L87">87</a> out.writeObject(data);
<a class="jxr_linenumber" name="L88" href="#L88">88</a> out.flush();
<a class="jxr_linenumber" name="L89" href="#L89">89</a> byte[] buf = mem.toByteArray();
<a class="jxr_linenumber" name="L90" href="#L90">90</a> out.close();
<a class="jxr_linenumber" name="L91" href="#L91">91</a> ByteArrayInputStream in = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(buf);
<a class="jxr_linenumber" name="L92" href="#L92">92</a>
<a class="jxr_linenumber" name="L93" href="#L93">93</a> ExpectedOjectInputStream instance = <strong class="jxr_keyword">new</strong> ExpectedOjectInputStream(in, <span class="jxr_string">"java.util.ArrayList"</span>, <span class="jxr_string">"org.owasp.dependencycheck.utils.SimplePojo"</span>);
<a class="jxr_linenumber" name="L94" href="#L94">94</a> instance.readObject();
<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>

View File

@@ -0,0 +1,42 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>SimplePojo xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/owasp/dependencycheck/utils/SimplePojo.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * Copyright 2016 OWASP.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L17" href="#L17">17</a>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <em class="jxr_javadoccomment"> * Simple pojo used to test the ExpectedObjectInputStream.</em>
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <em class="jxr_javadoccomment"> * @author jeremy</em>
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a> <strong class="jxr_keyword">implements</strong> Serializable {
<a class="jxr_linenumber" name="L26" href="#L26">26</a>
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">public</strong> String s = <span class="jxr_string">"3"</span>;
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">public</strong> Integer i = 3;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpectedOjectInputStream xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * This file is part of dependency-check-core.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <em class="jxr_comment"> * Copyright (c) 2016 Jeremy Long. All Rights Reserved.</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.io.InvalidClassException;
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream;
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.io.ObjectStreamClass;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * An ObjectInputStream that will only deserialize expected classes.</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">ExpectedOjectInputStream</a> <strong class="jxr_keyword">extends</strong> ObjectInputStream {
<a class="jxr_linenumber" name="L35" href="#L35">35</a>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * The list of fully qualified class names that are able to be deserialized.</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> List&lt;String&gt; expected = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="L40" href="#L40">40</a>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * Constructs a new ExpectedOjectInputStream that can be used to securely deserialize an object by restricting the classes</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * that can deserialized to a known set of expected classes.</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * @param inputStream the input stream that contains the object to deserialize</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * @param expected the fully qualified class names of the classes that can be deserialized</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if there is an error reading from the stream</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">ExpectedOjectInputStream</a>(InputStream inputStream, String... expected) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">super</strong>(inputStream);
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">this</strong>.expected.addAll(Arrays.asList(expected));
<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
<a class="jxr_linenumber" name="L53" href="#L53">53</a>
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * Only deserialize instances of expected classes by validating the class name prior to deserialization.</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> * @param desc the class from the object stream to validate</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * @return the resolved class</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException thrown if the class being read is not one of the expected classes or if there is an error</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * reading from the stream</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> * @throws java.lang.ClassNotFoundException thrown if there is an error finding the class to deserialize</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a> @Override
<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">protected</strong> Class&lt;?&gt; resolveClass(ObjectStreamClass desc) <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException {
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">if</strong> (!<strong class="jxr_keyword">this</strong>.expected.contains(desc.getName())) {
<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> InvalidClassException(<span class="jxr_string">"Unexpected deserialization"</span>, desc.getName());
<a class="jxr_linenumber" name="L67" href="#L67">67</a> }
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.resolveClass(desc);
<a class="jxr_linenumber" name="L69" href="#L69">69</a> }
<a class="jxr_linenumber" name="L70" href="#L70">70</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>

25
js/apache-maven-fluido-1.5.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpectedOjectInputStreamTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * This file is part of dependency-check-core.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <em class="jxr_comment"> * Copyright (c) 2016 Jeremy Long. All Rights Reserved.</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <strong class="jxr_keyword">import</strong> java.io.BufferedOutputStream;
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayInputStream;
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.io.ByteArrayOutputStream;
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream;
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> org.junit.AfterClass;
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">import</strong> org.junit.Before;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <strong class="jxr_keyword">import</strong> org.junit.BeforeClass;
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> * @author jeremy</em>
<a class="jxr_linenumber" name="L35" href="#L35">35</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">ExpectedOjectInputStreamTest</a> {
<a class="jxr_linenumber" name="L37" href="#L37">37</a>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStreamTest.html">ExpectedOjectInputStreamTest</a>() {
<a class="jxr_linenumber" name="L39" href="#L39">39</a> }
<a class="jxr_linenumber" name="L40" href="#L40">40</a>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> @BeforeClass
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setUpClass() {
<a class="jxr_linenumber" name="L43" href="#L43">43</a> }
<a class="jxr_linenumber" name="L44" href="#L44">44</a>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> @AfterClass
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> tearDownClass() {
<a class="jxr_linenumber" name="L47" href="#L47">47</a> }
<a class="jxr_linenumber" name="L48" href="#L48">48</a>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> @Before
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a class="jxr_linenumber" name="L51" href="#L51">51</a> }
<a class="jxr_linenumber" name="L52" href="#L52">52</a>
<a class="jxr_linenumber" name="L53" href="#L53">53</a> @After
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a class="jxr_linenumber" name="L55" href="#L55">55</a> }
<a class="jxr_linenumber" name="L56" href="#L56">56</a>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * Test of resolveClass method, of class ExpectedOjectInputStream.</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> @Test
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testResolveClass() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L62" href="#L62">62</a> List&lt;SimplePojo&gt; data = <strong class="jxr_keyword">new</strong> ArrayList&lt;SimplePojo&gt;();
<a class="jxr_linenumber" name="L63" href="#L63">63</a> data.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a>());
<a class="jxr_linenumber" name="L64" href="#L64">64</a>
<a class="jxr_linenumber" name="L65" href="#L65">65</a> ByteArrayOutputStream mem = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
<a class="jxr_linenumber" name="L66" href="#L66">66</a> ObjectOutputStream out = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> BufferedOutputStream(mem));
<a class="jxr_linenumber" name="L67" href="#L67">67</a> out.writeObject(data);
<a class="jxr_linenumber" name="L68" href="#L68">68</a> out.flush();
<a class="jxr_linenumber" name="L69" href="#L69">69</a> byte[] buf = mem.toByteArray();
<a class="jxr_linenumber" name="L70" href="#L70">70</a> out.close();
<a class="jxr_linenumber" name="L71" href="#L71">71</a> ByteArrayInputStream in = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(buf);
<a class="jxr_linenumber" name="L72" href="#L72">72</a>
<a class="jxr_linenumber" name="L73" href="#L73">73</a> ExpectedOjectInputStream instance = <strong class="jxr_keyword">new</strong> ExpectedOjectInputStream(in, <span class="jxr_string">"java.util.ArrayList"</span>, <span class="jxr_string">"org.owasp.dependencycheck.utils.SimplePojo"</span>, <span class="jxr_string">"java.lang.Integer"</span>, <span class="jxr_string">"java.lang.Number"</span>);
<a class="jxr_linenumber" name="L74" href="#L74">74</a> instance.readObject();
<a class="jxr_linenumber" name="L75" href="#L75">75</a> }
<a class="jxr_linenumber" name="L76" href="#L76">76</a>
<a class="jxr_linenumber" name="L77" href="#L77">77</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L78" href="#L78">78</a> <em class="jxr_javadoccomment"> * Test of resolveClass method, of class ExpectedOjectInputStream.</em>
<a class="jxr_linenumber" name="L79" href="#L79">79</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L80" href="#L80">80</a> @Test(expected = java.io.InvalidClassException.<strong class="jxr_keyword">class</strong>)
<a class="jxr_linenumber" name="L81" href="#L81">81</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testResolveClassException() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L82" href="#L82">82</a> List&lt;SimplePojo&gt; data = <strong class="jxr_keyword">new</strong> ArrayList&lt;SimplePojo&gt;();
<a class="jxr_linenumber" name="L83" href="#L83">83</a> data.add(<strong class="jxr_keyword">new</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a>());
<a class="jxr_linenumber" name="L84" href="#L84">84</a>
<a class="jxr_linenumber" name="L85" href="#L85">85</a> ByteArrayOutputStream mem = <strong class="jxr_keyword">new</strong> ByteArrayOutputStream();
<a class="jxr_linenumber" name="L86" href="#L86">86</a> ObjectOutputStream out = <strong class="jxr_keyword">new</strong> ObjectOutputStream(<strong class="jxr_keyword">new</strong> BufferedOutputStream(mem));
<a class="jxr_linenumber" name="L87" href="#L87">87</a> out.writeObject(data);
<a class="jxr_linenumber" name="L88" href="#L88">88</a> out.flush();
<a class="jxr_linenumber" name="L89" href="#L89">89</a> byte[] buf = mem.toByteArray();
<a class="jxr_linenumber" name="L90" href="#L90">90</a> out.close();
<a class="jxr_linenumber" name="L91" href="#L91">91</a> ByteArrayInputStream in = <strong class="jxr_keyword">new</strong> ByteArrayInputStream(buf);
<a class="jxr_linenumber" name="L92" href="#L92">92</a>
<a class="jxr_linenumber" name="L93" href="#L93">93</a> ExpectedOjectInputStream instance = <strong class="jxr_keyword">new</strong> ExpectedOjectInputStream(in, <span class="jxr_string">"java.util.ArrayList"</span>, <span class="jxr_string">"org.owasp.dependencycheck.utils.SimplePojo"</span>);
<a class="jxr_linenumber" name="L94" href="#L94">94</a> instance.readObject();
<a class="jxr_linenumber" name="L95" href="#L95">95</a> }
<a class="jxr_linenumber" name="L96" href="#L96">96</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>

View File

@@ -0,0 +1,42 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>SimplePojo xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../testapidocs/org/owasp/dependencycheck/utils/SimplePojo.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * Copyright 2016 OWASP.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L17" href="#L17">17</a>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <em class="jxr_javadoccomment"> * Simple pojo used to test the ExpectedObjectInputStream.</em>
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <em class="jxr_javadoccomment"> * @author jeremy</em>
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/SimplePojo.html">SimplePojo</a> <strong class="jxr_keyword">implements</strong> Serializable {
<a class="jxr_linenumber" name="L26" href="#L26">26</a>
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">public</strong> String s = <span class="jxr_string">"3"</span>;
<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">public</strong> Integer i = 3;
<a class="jxr_linenumber" name="L29" href="#L29">29</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>

View File

@@ -0,0 +1,83 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpectedOjectInputStream xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * This file is part of dependency-check-core.</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * Licensed under the Apache License, Version 2.0 (the "License");</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * you may not use this file except in compliance with the License.</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * limitations under the License.</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a> <em class="jxr_comment"> * Copyright (c) 2016 Jeremy Long. All Rights Reserved.</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a> <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a> <strong class="jxr_keyword">package</strong> org.owasp.dependencycheck.utils;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>
<a class="jxr_linenumber" name="L20" href="#L20">20</a> <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="L21" href="#L21">21</a> <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="L22" href="#L22">22</a> <strong class="jxr_keyword">import</strong> java.io.InvalidClassException;
<a class="jxr_linenumber" name="L23" href="#L23">23</a> <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream;
<a class="jxr_linenumber" name="L24" href="#L24">24</a> <strong class="jxr_keyword">import</strong> java.io.ObjectStreamClass;
<a class="jxr_linenumber" name="L25" href="#L25">25</a> <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="L26" href="#L26">26</a> <strong class="jxr_keyword">import</strong> java.util.Arrays;
<a class="jxr_linenumber" name="L27" href="#L27">27</a> <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>
<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a> <em class="jxr_javadoccomment"> * An ObjectInputStream that will only deserialize expected classes.</em>
<a class="jxr_linenumber" name="L31" href="#L31">31</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment"> * @author Jeremy Long</em>
<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L34" href="#L34">34</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">ExpectedOjectInputStream</a> <strong class="jxr_keyword">extends</strong> ObjectInputStream {
<a class="jxr_linenumber" name="L35" href="#L35">35</a>
<a class="jxr_linenumber" name="L36" href="#L36">36</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a> <em class="jxr_javadoccomment"> * The list of fully qualified class names that are able to be deserialized.</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a> <strong class="jxr_keyword">private</strong> List&lt;String&gt; expected = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="L40" href="#L40">40</a>
<a class="jxr_linenumber" name="L41" href="#L41">41</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a> <em class="jxr_javadoccomment"> * Constructs a new ExpectedOjectInputStream that can be used to securely deserialize an object by restricting the classes</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a> <em class="jxr_javadoccomment"> * that can deserialized to a known set of expected classes.</em>
<a class="jxr_linenumber" name="L44" href="#L44">44</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L45" href="#L45">45</a> <em class="jxr_javadoccomment"> * @param inputStream the input stream that contains the object to deserialize</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a> <em class="jxr_javadoccomment"> * @param expected the fully qualified class names of the classes that can be deserialized</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a> <em class="jxr_javadoccomment"> * @throws IOException thrown if there is an error reading from the stream</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a> <strong class="jxr_keyword">public</strong> <a href="../../../../org/owasp/dependencycheck/utils/ExpectedOjectInputStream.html">ExpectedOjectInputStream</a>(InputStream inputStream, String... expected) <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="L50" href="#L50">50</a> <strong class="jxr_keyword">super</strong>(inputStream);
<a class="jxr_linenumber" name="L51" href="#L51">51</a> <strong class="jxr_keyword">this</strong>.expected.addAll(Arrays.asList(expected));
<a class="jxr_linenumber" name="L52" href="#L52">52</a> }
<a class="jxr_linenumber" name="L53" href="#L53">53</a>
<a class="jxr_linenumber" name="L54" href="#L54">54</a> <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L55" href="#L55">55</a> <em class="jxr_javadoccomment"> * Only deserialize instances of expected classes by validating the class name prior to deserialization.</em>
<a class="jxr_linenumber" name="L56" href="#L56">56</a> <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="L57" href="#L57">57</a> <em class="jxr_javadoccomment"> * @param desc the class from the object stream to validate</em>
<a class="jxr_linenumber" name="L58" href="#L58">58</a> <em class="jxr_javadoccomment"> * @return the resolved class</em>
<a class="jxr_linenumber" name="L59" href="#L59">59</a> <em class="jxr_javadoccomment"> * @throws java.io.IOException thrown if the class being read is not one of the expected classes or if there is an error</em>
<a class="jxr_linenumber" name="L60" href="#L60">60</a> <em class="jxr_javadoccomment"> * reading from the stream</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a> <em class="jxr_javadoccomment"> * @throws java.lang.ClassNotFoundException thrown if there is an error finding the class to deserialize</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a> <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a> @Override
<a class="jxr_linenumber" name="L64" href="#L64">64</a> <strong class="jxr_keyword">protected</strong> Class&lt;?&gt; resolveClass(ObjectStreamClass desc) <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException {
<a class="jxr_linenumber" name="L65" href="#L65">65</a> <strong class="jxr_keyword">if</strong> (!<strong class="jxr_keyword">this</strong>.expected.contains(desc.getName())) {
<a class="jxr_linenumber" name="L66" href="#L66">66</a> <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> InvalidClassException(<span class="jxr_string">"Unexpected deserialization"</span>, desc.getName());
<a class="jxr_linenumber" name="L67" href="#L67">67</a> }
<a class="jxr_linenumber" name="L68" href="#L68">68</a> <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.resolveClass(desc);
<a class="jxr_linenumber" name="L69" href="#L69">69</a> }
<a class="jxr_linenumber" name="L70" href="#L70">70</a> }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2012&#x2013;2016 <a href="http://www.owasp.org">OWASP</a>. All rights reserved.</div>
</body>
</html>