Skip to content

Commit f9e2cc7

Browse files
committed
Some JSP support cleanup.
1 parent 1d5ad8d commit f9e2cc7

File tree

5 files changed

+10
-24
lines changed

5 files changed

+10
-24
lines changed

codepulse/src/main/scala/com/secdec/codepulse/tracer/AkkaTracingTarget.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ class AkkaTracingTarget(traceId: TraceId, traceData: TraceData, transientTraceDa
227227
for (reason <- t.completion) self ! TraceEnded(reason)
228228

229229
// set up data management for the trace
230-
val dataManager = new StreamingTraceDataManager(traceData, transientTraceData)
230+
val dataManager = new StreamingTraceDataManager(traceData, transientTraceData, jspMapper)
231231

232232
// remember this trace
233233
trace = Some(t)

codepulse/src/main/scala/com/secdec/codepulse/tracer/StreamingTraceDataManager.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import com.secdec.bytefrog.hq.trace.DefaultSegmentAccess
2424
import com.secdec.bytefrog.hq.trace.TraceDataManager
2525
import com.secdec.bytefrog.hq.trace.TraceEndReason
2626
import com.secdec.bytefrog.hq.trace.TraceSegmentManager
27+
import com.secdec.codepulse.data.jsp.JspMapper
2728
import com.secdec.codepulse.data.trace.TraceData
2829

2930
/** A TraceDataManager that records events through the `TraceRecorderServer`,
@@ -34,7 +35,7 @@ import com.secdec.codepulse.data.trace.TraceData
3435
* done at constructor time by creating a "PrecalculatedMethodCorrelator" for the
3536
* given analysis.
3637
*/
37-
class StreamingTraceDataManager(traceData: TraceData, transientData: TransientTraceData) extends TraceDataManager {
38+
class StreamingTraceDataManager(traceData: TraceData, transientData: TransientTraceData, jspMapper: Option[JspMapper]) extends TraceDataManager {
3839

3940
/** Set up listeners for the various trace segment builder events,
4041
* adapt them to LiveSegmentData instances,
@@ -48,7 +49,7 @@ class StreamingTraceDataManager(traceData: TraceData, transientData: TransientTr
4849
* fires it back through the `liveTraceData` event stream.
4950
*/
5051
def setupDataProcessors(router: DataRouter): Unit = {
51-
router += new TraceRecorderDataProcessor(traceData, transientData)
52+
router += new TraceRecorderDataProcessor(traceData, transientData, jspMapper)
5253
}
5354

5455
def finish(reason: TraceEndReason, traceWasStarted: Boolean): Unit = {

codepulse/src/main/scala/com/secdec/codepulse/tracer/TraceAPIServer.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ class TraceAPIServer(manager: TraceManager) extends RestHelper with Loggable {
9393

9494
case Some(_) =>
9595
target.transientData.getAndClearRecentlyEncounteredNodes { data =>
96-
println(data)
9796
controller.enterData(data)
9897
}
9998
}

codepulse/src/main/scala/com/secdec/codepulse/tracer/TraceRecorderDataProcessor.scala

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@ import com.secdec.bytefrog.hq.protocol.DataMessageContent
2424
import com.secdec.codepulse.data.MethodSignature
2525
import com.secdec.codepulse.data.MethodSignatureParser
2626
import com.secdec.codepulse.data.trace.TraceData
27-
import com.secdec.codepulse.data.jsp.JasperJspMapper
27+
import com.secdec.codepulse.data.jsp.JspMapper
2828

29-
class TraceRecorderDataProcessor(traceData: TraceData, transientData: TransientTraceData) extends DataProcessor {
29+
class TraceRecorderDataProcessor(traceData: TraceData, transientData: TransientTraceData, jspMapper: Option[JspMapper]) extends DataProcessor {
3030

3131
val methodCor = collection.mutable.Map[Int, Int]()
3232

33-
val jspMapper = JasperJspMapper(traceData.treeNodeData)
34-
3533
/** Process a single data message */
3634
def processMessage(message: DataMessageContent): Unit = message match {
3735

@@ -46,11 +44,7 @@ class TraceRecorderDataProcessor(traceData: TraceData, transientData: TransientT
4644

4745
// make method correlations
4846
case DataMessageContent.MapMethodSignature(sig, id) =>
49-
if (sig.startsWith("org/apache"))
50-
println(s"looking at $sig")
51-
val node = traceData.treeNodeData.getNodeIdForSignature(sig).orElse(jspMapper map sig)
52-
if (sig.startsWith("org/apache"))
53-
println(node)
47+
val node = traceData.treeNodeData.getNodeIdForSignature(sig).orElse(jspMapper.flatMap(_ map sig))
5448
for (treemapNodeId <- node) methodCor.put(id, treemapNodeId)
5549

5650
// ignore everything else

codepulse/src/main/scala/com/secdec/codepulse/tracer/TraceSettingsCreator.scala

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,11 @@ object TraceSettingsCreator {
3636
"^" + slashedName + "/[^/]+$"
3737
}).toList
3838
} ++ jspMapper.map { mapper =>
39-
println(mapper)
40-
try {
41-
traceData.treeNodeData.iterateJspMappings { it =>
42-
(for ((jspClass, _) <- it) yield mapper getInclusion jspClass).toList
43-
//"^org/apache/jsp/.*$" :: Nil
44-
}
45-
} catch {
46-
case e: Exception => e.printStackTrace; Nil
47-
} finally { println("out") }
39+
traceData.treeNodeData.iterateJspMappings { it =>
40+
(for ((jspClass, _) <- it) yield mapper getInclusion jspClass).toList
41+
}
4842
}.getOrElse(Nil)
4943

50-
println(inclusions)
51-
5244
TraceSettings(exclusions = List(".*"), inclusions)
5345
}
5446
}

0 commit comments

Comments
 (0)