aboutsummaryrefslogtreecommitdiff
path: root/sanitizers
diff options
context:
space:
mode:
authorFabian Meumertzheim <fabian@meumertzhe.im>2022-10-15 21:19:55 +0200
committerFabian Meumertzheim <fabian@meumertzhe.im>2022-10-18 12:34:44 +0200
commit6bc7c9043c71646f99bf43b44be747c7bba93c71 (patch)
treedb89fc45a024820ad9278495c19ebee1156ac306 /sanitizers
parentdb9cab98b2db1017b047e310e07afa1dc0153cd9 (diff)
downloadjazzer-api-6bc7c9043c71646f99bf43b44be747c7bba93c71.tar.gz
tests: Simplify LDAP test setups
The indirection of using a factory isn't necessary and actually causes ClassNotFoundExceptions on the factory when the entire fuzz target is loaded in a custom ClassLoader and the factory isn't on the system class loader path.
Diffstat (limited to 'sanitizers')
-rw-r--r--sanitizers/src/test/java/com/example/BUILD.bazel2
-rw-r--r--sanitizers/src/test/java/com/example/LdapDnInjection.java14
-rw-r--r--sanitizers/src/test/java/com/example/LdapSearchInjection.java14
-rw-r--r--sanitizers/src/test/java/com/example/ldap/MockInitialContextFactory.java26
4 files changed, 6 insertions, 50 deletions
diff --git a/sanitizers/src/test/java/com/example/BUILD.bazel b/sanitizers/src/test/java/com/example/BUILD.bazel
index 985c7b20..6f396594 100644
--- a/sanitizers/src/test/java/com/example/BUILD.bazel
+++ b/sanitizers/src/test/java/com/example/BUILD.bazel
@@ -85,7 +85,6 @@ java_fuzz_target_test(
name = "LdapSearchInjection",
srcs = [
"LdapSearchInjection.java",
- "ldap/MockInitialContextFactory.java",
"ldap/MockLdapContext.java",
],
allowed_findings = [
@@ -103,7 +102,6 @@ java_fuzz_target_test(
name = "LdapDnInjection",
srcs = [
"LdapDnInjection.java",
- "ldap/MockInitialContextFactory.java",
"ldap/MockLdapContext.java",
],
allowed_findings = [
diff --git a/sanitizers/src/test/java/com/example/LdapDnInjection.java b/sanitizers/src/test/java/com/example/LdapDnInjection.java
index 911db1dc..227a6bb9 100644
--- a/sanitizers/src/test/java/com/example/LdapDnInjection.java
+++ b/sanitizers/src/test/java/com/example/LdapDnInjection.java
@@ -15,20 +15,12 @@
package com.example;
import com.code_intelligence.jazzer.api.FuzzedDataProvider;
-import java.util.Hashtable;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.directory.InitialDirContext;
+import com.example.ldap.MockLdapContext;
+import javax.naming.directory.DirContext;
import javax.naming.directory.SearchControls;
public class LdapDnInjection {
- private static InitialDirContext ctx;
-
- public static void fuzzerInitialize() throws NamingException {
- Hashtable<String, String> env = new Hashtable<>();
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.example.ldap.MockInitialContextFactory");
- ctx = new InitialDirContext(env);
- }
+ private static final DirContext ctx = new MockLdapContext();
public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataProvider) throws Exception {
// Externally provided DN input needs to be escaped properly
diff --git a/sanitizers/src/test/java/com/example/LdapSearchInjection.java b/sanitizers/src/test/java/com/example/LdapSearchInjection.java
index b3dfee74..5226b819 100644
--- a/sanitizers/src/test/java/com/example/LdapSearchInjection.java
+++ b/sanitizers/src/test/java/com/example/LdapSearchInjection.java
@@ -15,20 +15,12 @@
package com.example;
import com.code_intelligence.jazzer.api.FuzzedDataProvider;
-import java.util.Hashtable;
-import javax.naming.Context;
-import javax.naming.NamingException;
+import com.example.ldap.MockLdapContext;
import javax.naming.directory.SearchControls;
-import javax.naming.ldap.InitialLdapContext;
+import javax.naming.ldap.LdapContext;
public class LdapSearchInjection {
- private static InitialLdapContext ctx;
-
- public static void fuzzerInitialize() throws NamingException {
- Hashtable<String, String> env = new Hashtable<>();
- env.put(Context.INITIAL_CONTEXT_FACTORY, "com.example.ldap.MockInitialContextFactory");
- ctx = new InitialLdapContext(env, null);
- }
+ private static final LdapContext ctx = new MockLdapContext();
public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataProvider) throws Exception {
// Externally provided LDAP query input needs to be escaped properly
diff --git a/sanitizers/src/test/java/com/example/ldap/MockInitialContextFactory.java b/sanitizers/src/test/java/com/example/ldap/MockInitialContextFactory.java
deleted file mode 100644
index b674f5c5..00000000
--- a/sanitizers/src/test/java/com/example/ldap/MockInitialContextFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2021 Code Intelligence GmbH
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.example.ldap;
-
-import java.util.Hashtable;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.spi.InitialContextFactory;
-
-public class MockInitialContextFactory implements InitialContextFactory {
- public Context getInitialContext(Hashtable environment) {
- return new MockLdapContext();
- }
-}