Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions csharp/src/main/java/com/ibm/plugin/translation/translator/CSharpTranslator.java
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
import com.ibm.engine.language.csharp.tree.CSharpTree;
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.context.CipherContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.DigestContext;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.KeyContext;
import com.ibm.engine.model.context.MacContext;
import com.ibm.engine.model.context.PRNGContext;
Expand Down Expand Up @@ -60,7 +60,7 @@ public CSharpTranslator() {
public Optional<INode> translate(
@Nonnull final IBundle bundleIdentifier,
@Nonnull final IValue<CSharpTree> value,
@Nonnull final IDetectionContext detectionValueContext,
@Nonnull final DetectionContext detectionValueContext,
@Nonnull final String filePath) {
DetectionLocation detectionLocation =
getDetectionContextFrom(value.getLocation(), bundleIdentifier, filePath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.ibm.engine.model.OperationMode;
import com.ibm.engine.model.Padding;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.mapper.jca.JcaCipherOperationModeMapper;
Expand Down Expand Up @@ -55,7 +55,7 @@ public final class CSharpCipherContextTranslator
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<com.ibm.engine.language.csharp.tree.CSharpTree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<?>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import com.ibm.engine.language.csharp.tree.CSharpTree;
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -40,7 +40,7 @@ public final class CSharpDigestContextTranslator implements IContextTranslation<
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<CSharpTree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<?>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import com.ibm.engine.model.KeySize;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -45,12 +44,11 @@ public final class CSharpKeyContextTranslator implements IContextTranslation<CSh
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<CSharpTree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<?>
&& detectionContext instanceof DetectionContext context) {
String kind = context.get("kind").orElse("");
if (value instanceof ValueAction<?>) {
String kind = detectionContext.get("kind").orElse("");
return switch (kind) {
case "RSA" -> Optional.of(new RSA(detectionLocation));
case "ECDSA" -> Optional.of(new ECDSA(detectionLocation));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import com.ibm.engine.language.csharp.tree.CSharpTree;
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -41,7 +41,7 @@ public final class CSharpMacContextTranslator implements IContextTranslation<CSh
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<CSharpTree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<?>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,14 @@
*/
package com.ibm.engine.model.context;

import java.util.Map;
import javax.annotation.Nonnull;

public class PRNGContext implements IDetectionContext {
public class PRNGContext extends DetectionContext {

public PRNGContext() {
super(Map.of());
}

@Nonnull
@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,10 @@
*/
package com.ibm.engine.model.context;

import java.util.Map;
import javax.annotation.Nonnull;

public class ProtocolContext implements IDetectionContext, ISupportKind<ProtocolContext.Kind> {
public class ProtocolContext extends DetectionContext implements ISupportKind<ProtocolContext.Kind> {

public enum Kind {
TLS,
Expand All @@ -31,10 +32,12 @@ public enum Kind {
@Nonnull private final ProtocolContext.Kind kind;

public ProtocolContext(@Nonnull ProtocolContext.Kind kind) {
super(Map.of("kind", kind.name()));
this.kind = kind;
}

public ProtocolContext() {
super(Map.of());
this.kind = ProtocolContext.Kind.NONE;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import com.ibm.engine.language.go.GoScanContext;
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.context.CipherContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.DigestContext;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.KeyContext;
import com.ibm.engine.model.context.MacContext;
import com.ibm.engine.model.context.PRNGContext;
Expand Down Expand Up @@ -62,7 +62,7 @@ public GoTranslator() {
public Optional<INode> translate(
@Nonnull final IBundle bundleIdentifier,
@Nonnull final IValue<Tree> value,
@Nonnull final IDetectionContext detectionValueContext,
@Nonnull final DetectionContext detectionValueContext,
@Nonnull final String filePath) {
DetectionLocation detectionLocation =
getDetectionContextFrom(value.getLocation(), bundleIdentifier, filePath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import com.ibm.engine.model.KeySize;
import com.ibm.engine.model.OperationMode;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.mapper.gocrypto.GoCryptoModeMapper;
Expand All @@ -50,7 +50,7 @@ public final class GoCipherContextTranslator implements IContextTranslation<Tree
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<Tree>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import com.ibm.engine.model.IValue;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -46,7 +46,7 @@ public final class GoDigestContextTranslator implements IContextTranslation<Tree
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<Tree>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import com.ibm.engine.model.SaltSize;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.mapper.gocrypto.GoCryptoCurveMapper;
Expand Down Expand Up @@ -63,13 +62,12 @@ public final class GoKeyContextTranslator implements IContextTranslation<Tree> {
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
if (value instanceof ValueAction<Tree>
&& detectionContext instanceof DetectionContext context) {
if (value instanceof ValueAction<Tree>) {
final GoCryptoCurveMapper curveMapper = new GoCryptoCurveMapper();

String kind = context.get("kind").orElse("");
String kind = detectionContext.get("kind").orElse("");
switch (kind) {
case "RSA":
return Optional.of(new RSA(PublicKeyEncryption.class, detectionLocation));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import com.ibm.engine.model.IValue;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -43,7 +43,7 @@ public final class GoMacContextTranslator implements IContextTranslation<Tree> {
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<Tree>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import com.ibm.engine.model.IValue;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.Algorithm;
Expand All @@ -43,7 +43,7 @@ public final class GoPRNGContextTranslator implements IContextTranslation<Tree>
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<Tree>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.Protocol;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.ProtocolContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
Expand All @@ -45,7 +45,7 @@ public final class GoProtocolContextTranslator implements IContextTranslation<Tr
public Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
if (value instanceof ValueAction<Tree> valueAction) {
return switch (valueAction.asString()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.SignatureAction;
import com.ibm.engine.model.ValueAction;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -49,7 +49,7 @@ public final class GoSignatureContextTranslator implements IContextTranslation<T
public @Nonnull Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {

if (value instanceof ValueAction<Tree>) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import com.ibm.engine.model.IValue;
import com.ibm.engine.model.context.AlgorithmParameterContext;
import com.ibm.engine.model.context.CipherContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.model.context.DigestContext;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.KeyAgreementContext;
import com.ibm.engine.model.context.KeyContext;
import com.ibm.engine.model.context.MacContext;
Expand Down Expand Up @@ -74,7 +74,7 @@ public JavaTranslator() {
public Optional<INode> translate(
@Nonnull final IBundle bundleIdentifier,
@Nonnull final IValue<Tree> value,
@Nonnull final IDetectionContext detectionValueContext,
@Nonnull final DetectionContext detectionValueContext,
@Nonnull final String filePath) {
DetectionLocation detectionLocation =
getDetectionContextFrom(value.getLocation(), bundleIdentifier, filePath);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package com.ibm.plugin.translation.translator.contexts;

import com.ibm.engine.model.IValue;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.engine.rule.IBundle;
import com.ibm.mapper.IContextTranslation;
import com.ibm.mapper.model.INode;
Expand All @@ -37,7 +37,7 @@ public abstract class JavaAbstractLibraryTranslator implements IContextTranslati
public Optional<INode> translate(
@Nonnull IBundle bundleIdentifier,
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
return switch (bundleIdentifier.getIdentifier()) {
case "Jca" -> translateJCA(value, detectionContext, detectionLocation);
Expand All @@ -49,12 +49,12 @@ public Optional<INode> translate(
@Nonnull
protected abstract Optional<INode> translateJCA(
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation);

@Nonnull
protected abstract Optional<INode> translateBC(
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation);
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.ibm.engine.model.MacSize;
import com.ibm.engine.model.Mode;
import com.ibm.engine.model.TagSize;
import com.ibm.engine.model.context.IDetectionContext;
import com.ibm.engine.model.context.DetectionContext;
import com.ibm.mapper.mapper.jca.JcaAlgorithmMapper;
import com.ibm.mapper.mapper.jca.JcaModeMapper;
import com.ibm.mapper.model.INode;
Expand All @@ -43,7 +43,7 @@ public final class JavaAlgorithmParameterContextTranslator extends JavaAbstractL
@Override
protected @Nonnull Optional<INode> translateJCA(
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
if (value instanceof Algorithm<Tree>) {
JcaAlgorithmMapper jcaAlgorithmMapper = new JcaAlgorithmMapper();
Expand All @@ -55,14 +55,14 @@ public final class JavaAlgorithmParameterContextTranslator extends JavaAbstractL
@Nonnull
protected Optional<INode> translateBC(
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
return translateCommon(value, detectionContext, detectionLocation);
}

private @Nonnull Optional<INode> translateCommon(
@Nonnull IValue<Tree> value,
@Nonnull IDetectionContext detectionContext,
@Nonnull DetectionContext detectionContext,
@Nonnull DetectionLocation detectionLocation) {
if (value instanceof KeySize<Tree> keySize) {
KeyLength keyLength = new KeyLength(keySize.getValue(), detectionLocation);
Expand Down
Loading