From 78d7e538a5540e4921728970e92fc91e2a70deab Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Fri, 21 Jan 2022 17:34:30 +0100 Subject: [PATCH 1/2] Remove some JNDI Injection sinks Add tests and stubs --- .../code/java/security/JndiInjection.qll | 7 +- .../security/CWE-074/JndiInjectionTest.java | 10 + .../test/query-tests/security/CWE-074/options | 2 +- .../org/apache/shiro/jndi/JndiCallback.java | 10 + .../org/apache/shiro/jndi/JndiTemplate.java | 29 ++- .../org/springframework/LdapDataEntry.java | 25 +++ .../core/AttributeModificationsAware.java | 10 + .../ldap/core/AttributesMapper.java | 9 +- ...AuthenticatedLdapEntryContextCallback.java | 11 + .../AuthenticatedLdapEntryContextMapper.java | 11 + .../core/AuthenticationErrorCallback.java | 9 + .../ldap/core/ContextExecutor.java | 10 + .../ldap/core/ContextMapper.java | 7 +- .../ldap/core/ContextSource.java | 12 + .../ldap/core/DirContextOperations.java | 17 +- .../ldap/core/DirContextProcessor.java | 10 +- .../ldap/core/DistinguishedName.java | 60 +++++ .../ldap/core/LdapEntryIdentification.java | 19 ++ .../ldap/core/LdapOperations.java | 197 ++++++++++------- .../springframework/ldap/core/LdapRdn.java | 28 +++ .../ldap/core/LdapRdnComponent.java | 25 +++ .../ldap/core/LdapTemplate.java | 206 ++++++++++++------ .../core/NameClassPairCallbackHandler.java | 9 +- .../ldap/core/NameClassPairMapper.java | 10 + .../ldap/core/SearchExecutor.java | 11 + .../springframework/ldap/filter/Filter.java | 10 +- .../ldap/odm/core/ObjectDirectoryMapper.java | 19 ++ .../springframework/ldap/query/LdapQuery.java | 15 +- .../ldap/query/SearchScope.java | 11 + .../springframework/jndi/JndiCallback.java | 10 + .../springframework/jndi/JndiTemplate.java | 53 ++++- 31 files changed, 697 insertions(+), 175 deletions(-) create mode 100644 java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiCallback.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/LdapDataEntry.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributeModificationsAware.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextCallback.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextMapper.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticationErrorCallback.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextExecutor.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextSource.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DistinguishedName.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapEntryIdentification.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdn.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdnComponent.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairMapper.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/SearchExecutor.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/odm/core/ObjectDirectoryMapper.java create mode 100644 java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/SearchScope.java create mode 100644 java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiCallback.java diff --git a/java/ql/lib/semmle/code/java/security/JndiInjection.qll b/java/ql/lib/semmle/code/java/security/JndiInjection.qll index ebdf273d7d6..9dc0a86c502 100644 --- a/java/ql/lib/semmle/code/java/security/JndiInjection.qll +++ b/java/ql/lib/semmle/code/java/security/JndiInjection.qll @@ -88,7 +88,12 @@ private class DefaultJndiInjectionSinkModel extends SinkModelCsv { // Spring "org.springframework.jndi;JndiTemplate;false;lookup;;;Argument[0];jndi-injection", // spring-ldap 1.2.x and newer - "org.springframework.ldap.core;LdapOperations;true;lookup;;;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,ContextMapper);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,String[],ContextMapper);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String,ContextMapper);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String,String[],ContextMapper);;Argument[0];jndi-injection", "org.springframework.ldap.core;LdapOperations;true;lookupContext;;;Argument[0];jndi-injection", "org.springframework.ldap.core;LdapOperations;true;findByDn;;;Argument[0];jndi-injection", "org.springframework.ldap.core;LdapOperations;true;rename;;;Argument[0];jndi-injection", diff --git a/java/ql/test/query-tests/security/CWE-074/JndiInjectionTest.java b/java/ql/test/query-tests/security/CWE-074/JndiInjectionTest.java index c34445f7690..549ae554097 100644 --- a/java/ql/test/query-tests/security/CWE-074/JndiInjectionTest.java +++ b/java/ql/test/query-tests/security/CWE-074/JndiInjectionTest.java @@ -110,7 +110,17 @@ public class JndiInjectionTest { LdapTemplate ctx = new LdapTemplate(); Name name = new CompositeName().add(nameStr); + ctx.lookup(name); // $hasJndiInjection + ctx.lookup(name, (AttributesMapper) null); // Safe + ctx.lookup(name, (ContextMapper) null); // $hasJndiInjection + ctx.lookup(name, new String[] {}, (AttributesMapper) null); // Safe + ctx.lookup(name, new String[] {}, (ContextMapper) null); // $hasJndiInjection ctx.lookup(nameStr); // $hasJndiInjection + ctx.lookup(nameStr, (AttributesMapper) null); // Safe + ctx.lookup(nameStr, (ContextMapper) null); // $hasJndiInjection + ctx.lookup(nameStr, new String[] {}, (AttributesMapper) null); // Safe + ctx.lookup(nameStr, new String[] {}, (ContextMapper) null); // $hasJndiInjection + ctx.lookupContext(name); // $hasJndiInjection ctx.lookupContext(nameStr); // $hasJndiInjection ctx.findByDn(name, null); // $hasJndiInjection ctx.rename(name, null); // $hasJndiInjection diff --git a/java/ql/test/query-tests/security/CWE-074/options b/java/ql/test/query-tests/security/CWE-074/options index a015486520e..058d3f3e803 100644 --- a/java/ql/test/query-tests/security/CWE-074/options +++ b/java/ql/test/query-tests/security/CWE-074/options @@ -1 +1 @@ -//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/shiro-core-1.5.2:${testdir}/../../../stubs/spring-ldap-2.3.2:${testdir}/../../../stubs/Saxon-HE-9.9.1-7 +//semmle-extractor-options: --javac-args -cp ${testdir}/../../../stubs/springframework-5.3.8:${testdir}/../../../stubs/shiro-core-1.5.2:${testdir}/../../../stubs/spring-ldap-2.3.2:${testdir}/../../../stubs/Saxon-HE-9.9.1-7:${testdir}/../../../stubs/apache-commons-logging-1.2 diff --git a/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiCallback.java b/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiCallback.java new file mode 100644 index 00000000000..6b71341baf8 --- /dev/null +++ b/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiCallback.java @@ -0,0 +1,10 @@ +// Generated automatically from org.apache.shiro.jndi.JndiCallback for testing purposes + +package org.apache.shiro.jndi; + +import javax.naming.Context; + +public interface JndiCallback +{ + Object doInContext(Context p0); +} diff --git a/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiTemplate.java b/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiTemplate.java index 936be2abf7c..4fe4fc306d0 100644 --- a/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiTemplate.java +++ b/java/ql/test/stubs/shiro-core-1.5.2/org/apache/shiro/jndi/JndiTemplate.java @@ -1,13 +1,22 @@ +// Generated automatically from org.apache.shiro.jndi.JndiTemplate for testing purposes + package org.apache.shiro.jndi; -import javax.naming.NamingException; +import java.util.Properties; +import javax.naming.Context; +import org.apache.shiro.jndi.JndiCallback; -public class JndiTemplate { - public Object lookup(final String name) throws NamingException { - return new Object(); - } - - public Object lookup(String name, Class requiredType) throws NamingException { - return new Object(); - } -} \ No newline at end of file +public class JndiTemplate +{ + protected Context createInitialContext(){ return null; } + public JndiTemplate(){} + public JndiTemplate(Properties p0){} + public Object execute(JndiCallback p0){ return null; } + public Object lookup(String p0){ return null; } + public Object lookup(String p0, Class p1){ return null; } + public Properties getEnvironment(){ return null; } + public void bind(String p0, Object p1){} + public void rebind(String p0, Object p1){} + public void setEnvironment(Properties p0){} + public void unbind(String p0){} +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/LdapDataEntry.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/LdapDataEntry.java new file mode 100644 index 00000000000..4dbd3da1ca5 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/LdapDataEntry.java @@ -0,0 +1,25 @@ +// Generated automatically from org.springframework.LdapDataEntry for testing purposes + +package org.springframework; + +import java.util.SortedSet; +import javax.naming.Name; +import javax.naming.directory.Attributes; + +public interface LdapDataEntry +{ + Attributes getAttributes(); + Name getDn(); + Object getObjectAttribute(String p0); + Object[] getObjectAttributes(String p0); + SortedSet getAttributeSortedStringSet(String p0); + String getStringAttribute(String p0); + String[] getStringAttributes(String p0); + boolean attributeExists(String p0); + void addAttributeValue(String p0, Object p1); + void addAttributeValue(String p0, Object p1, boolean p2); + void removeAttributeValue(String p0, Object p1); + void setAttributeValue(String p0, Object p1); + void setAttributeValues(String p0, Object[] p1); + void setAttributeValues(String p0, Object[] p1, boolean p2); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributeModificationsAware.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributeModificationsAware.java new file mode 100644 index 00000000000..29c6a68b4be --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributeModificationsAware.java @@ -0,0 +1,10 @@ +// Generated automatically from org.springframework.ldap.core.AttributeModificationsAware for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.directory.ModificationItem; + +public interface AttributeModificationsAware +{ + ModificationItem[] getModificationItems(); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributesMapper.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributesMapper.java index af734cea237..4d595bc1138 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributesMapper.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AttributesMapper.java @@ -1,3 +1,10 @@ +// Generated automatically from org.springframework.ldap.core.AttributesMapper for testing purposes + package org.springframework.ldap.core; -public interface AttributesMapper {} \ No newline at end of file +import javax.naming.directory.Attributes; + +public interface AttributesMapper +{ + T mapFromAttributes(Attributes p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextCallback.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextCallback.java new file mode 100644 index 00000000000..146a44f79ab --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextCallback.java @@ -0,0 +1,11 @@ +// Generated automatically from org.springframework.ldap.core.AuthenticatedLdapEntryContextCallback for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.directory.DirContext; +import org.springframework.ldap.core.LdapEntryIdentification; + +public interface AuthenticatedLdapEntryContextCallback +{ + void executeWithContext(DirContext p0, LdapEntryIdentification p1); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextMapper.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextMapper.java new file mode 100644 index 00000000000..f6a9a2fcdd8 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticatedLdapEntryContextMapper.java @@ -0,0 +1,11 @@ +// Generated automatically from org.springframework.ldap.core.AuthenticatedLdapEntryContextMapper for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.directory.DirContext; +import org.springframework.ldap.core.LdapEntryIdentification; + +public interface AuthenticatedLdapEntryContextMapper +{ + T mapWithContext(DirContext p0, LdapEntryIdentification p1); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticationErrorCallback.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticationErrorCallback.java new file mode 100644 index 00000000000..1865df5337b --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/AuthenticationErrorCallback.java @@ -0,0 +1,9 @@ +// Generated automatically from org.springframework.ldap.core.AuthenticationErrorCallback for testing purposes + +package org.springframework.ldap.core; + + +public interface AuthenticationErrorCallback +{ + void execute(Exception p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextExecutor.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextExecutor.java new file mode 100644 index 00000000000..36174a2ea0e --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextExecutor.java @@ -0,0 +1,10 @@ +// Generated automatically from org.springframework.ldap.core.ContextExecutor for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.directory.DirContext; + +public interface ContextExecutor +{ + T executeWithContext(DirContext p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextMapper.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextMapper.java index 951015b637e..8298b482ce3 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextMapper.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextMapper.java @@ -1,4 +1,9 @@ +// Generated automatically from org.springframework.ldap.core.ContextMapper for testing purposes + package org.springframework.ldap.core; -public interface ContextMapper { + +public interface ContextMapper +{ + T mapFromContext(Object p0); } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextSource.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextSource.java new file mode 100644 index 00000000000..620791766ba --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/ContextSource.java @@ -0,0 +1,12 @@ +// Generated automatically from org.springframework.ldap.core.ContextSource for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.directory.DirContext; + +public interface ContextSource +{ + DirContext getContext(String p0, String p1); + DirContext getReadOnlyContext(); + DirContext getReadWriteContext(); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextOperations.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextOperations.java index 682de892a42..332aabc298c 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextOperations.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextOperations.java @@ -1,4 +1,19 @@ +// Generated automatically from org.springframework.ldap.core.DirContextOperations for testing purposes + package org.springframework.ldap.core; -public interface DirContextOperations { +import javax.naming.Name; +import javax.naming.directory.DirContext; +import org.springframework.LdapDataEntry; +import org.springframework.ldap.core.AttributeModificationsAware; + +public interface DirContextOperations extends AttributeModificationsAware, DirContext, LdapDataEntry +{ + String getNameInNamespace(); + String getReferralUrl(); + String[] getNamesOfModifiedAttributes(); + boolean isReferral(); + boolean isUpdateMode(); + void setDn(Name p0); + void update(); } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextProcessor.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextProcessor.java index 06c2b9aa544..6cfcdfcd41c 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextProcessor.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DirContextProcessor.java @@ -1,3 +1,11 @@ +// Generated automatically from org.springframework.ldap.core.DirContextProcessor for testing purposes + package org.springframework.ldap.core; -public interface DirContextProcessor {} \ No newline at end of file +import javax.naming.directory.DirContext; + +public interface DirContextProcessor +{ + void postProcess(DirContext p0); + void preProcess(DirContext p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DistinguishedName.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DistinguishedName.java new file mode 100644 index 00000000000..fcb930eefac --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/DistinguishedName.java @@ -0,0 +1,60 @@ +// Generated automatically from org.springframework.ldap.core.DistinguishedName for testing purposes + +package org.springframework.ldap.core; + +import java.util.Enumeration; +import java.util.List; +import javax.naming.Name; +import org.springframework.ldap.core.LdapRdn; + +public class DistinguishedName implements Name +{ + protected final void parse(String p0){} + public DistinguishedName append(DistinguishedName p0){ return null; } + public DistinguishedName append(String p0, String p1){ return null; } + public DistinguishedName immutableDistinguishedName(){ return null; } + public DistinguishedName(){} + public DistinguishedName(List p0){} + public DistinguishedName(Name p0){} + public DistinguishedName(String p0){} + public Enumeration getAll(){ return null; } + public LdapRdn getLdapRdn(String p0){ return null; } + public LdapRdn getLdapRdn(int p0){ return null; } + public LdapRdn removeFirst(){ return null; } + public LdapRdn removeLast(){ return null; } + public List getNames(){ return null; } + public Name add(String p0){ return null; } + public Name add(int p0, String p1){ return null; } + public Name addAll(Name p0){ return null; } + public Name addAll(int p0, Name p1){ return null; } + public Name getPrefix(int p0){ return null; } + public Name getSuffix(int p0){ return null; } + public Object clone(){ return null; } + public Object remove(int p0){ return null; } + public String encode(){ return null; } + public String get(int p0){ return null; } + public String getValue(String p0){ return null; } + public String toCompactString(){ return null; } + public String toString(){ return null; } + public String toUrl(){ return null; } + public boolean contains(DistinguishedName p0){ return false; } + public boolean endsWith(Name p0){ return false; } + public boolean equals(Object p0){ return false; } + public boolean isEmpty(){ return false; } + public boolean startsWith(Name p0){ return false; } + public int compareTo(Object p0){ return 0; } + public int hashCode(){ return 0; } + public int size(){ return 0; } + public static DistinguishedName EMPTY_PATH = null; + public static DistinguishedName immutableDistinguishedName(String p0){ return null; } + public static String KEY_CASE_FOLD_LOWER = null; + public static String KEY_CASE_FOLD_NONE = null; + public static String KEY_CASE_FOLD_PROPERTY = null; + public static String KEY_CASE_FOLD_UPPER = null; + public static String SPACED_DN_FORMAT_PROPERTY = null; + public void add(LdapRdn p0){} + public void add(String p0, String p1){} + public void add(int p0, LdapRdn p1){} + public void prepend(DistinguishedName p0){} + public void removeFirst(Name p0){} +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapEntryIdentification.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapEntryIdentification.java new file mode 100644 index 00000000000..d01556f4bd7 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapEntryIdentification.java @@ -0,0 +1,19 @@ +// Generated automatically from org.springframework.ldap.core.LdapEntryIdentification for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.ldap.LdapName; +import org.springframework.ldap.core.DistinguishedName; + +public class LdapEntryIdentification +{ + protected LdapEntryIdentification() {} + public DistinguishedName getAbsoluteDn(){ return null; } + public DistinguishedName getRelativeDn(){ return null; } + public LdapEntryIdentification(DistinguishedName p0, DistinguishedName p1){} + public LdapEntryIdentification(LdapName p0, LdapName p1){} + public LdapName getAbsoluteName(){ return null; } + public LdapName getRelativeName(){ return null; } + public boolean equals(Object p0){ return false; } + public int hashCode(){ return 0; } +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapOperations.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapOperations.java index 91cac00e673..b1bcc193112 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapOperations.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapOperations.java @@ -1,84 +1,129 @@ +// Generated automatically from org.springframework.ldap.core.LdapOperations for testing purposes + package org.springframework.ldap.core; -import java.util.*; - +import java.util.List; import javax.naming.Name; +import javax.naming.directory.Attributes; +import javax.naming.directory.ModificationItem; import javax.naming.directory.SearchControls; - +import org.springframework.ldap.core.AttributesMapper; +import org.springframework.ldap.core.AuthenticatedLdapEntryContextCallback; +import org.springframework.ldap.core.AuthenticatedLdapEntryContextMapper; +import org.springframework.ldap.core.AuthenticationErrorCallback; +import org.springframework.ldap.core.ContextExecutor; +import org.springframework.ldap.core.ContextMapper; +import org.springframework.ldap.core.DirContextOperations; +import org.springframework.ldap.core.DirContextProcessor; +import org.springframework.ldap.core.NameClassPairCallbackHandler; +import org.springframework.ldap.core.NameClassPairMapper; +import org.springframework.ldap.core.SearchExecutor; import org.springframework.ldap.filter.Filter; - +import org.springframework.ldap.odm.core.ObjectDirectoryMapper; import org.springframework.ldap.query.LdapQuery; -public interface LdapOperations { - void authenticate(LdapQuery query, String password); - - boolean authenticate(Name base, String filter, String password); - - List find(Name base, Filter filter, SearchControls searchControls, final Class clazz); - - List find(LdapQuery query, Class clazz); - - T findOne(LdapQuery query, Class clazz); - - void search(String base, String filter, int searchScope, boolean returningObjFlag, - NameClassPairCallbackHandler handler); - - void search(final String base, final String filter, final SearchControls controls, - NameClassPairCallbackHandler handler); - - void search(final String base, final String filter, final SearchControls controls, - NameClassPairCallbackHandler handler, DirContextProcessor processor); - - void search(String base, String filter, NameClassPairCallbackHandler handler); - - List search(String base, String filter, int searchScope, String[] attrs, - AttributesMapper mapper); - - List search(String base, String filter, int searchScope, AttributesMapper mapper); - - List search(String base, String filter, AttributesMapper mapper); - - List search(String base, String filter, int searchScope, String[] attrs, - ContextMapper mapper); - - List search(String base, String filter, int searchScope, ContextMapper mapper); - - List search(String base, String filter, ContextMapper mapper); - - List search(String base, String filter, SearchControls controls, - ContextMapper mapper); - - List search(String base, String filter, SearchControls controls, - AttributesMapper mapper); - - List search(String base, String filter, SearchControls controls, - AttributesMapper mapper, DirContextProcessor processor); - - List search(String base, String filter, SearchControls controls, ContextMapper mapper, - DirContextProcessor processor); - - DirContextOperations searchForContext(LdapQuery query); - - T searchForObject(Name base, String filter, ContextMapper mapper); - - T searchForObject(String base, String filter, ContextMapper mapper); - - T searchForObject(String base, String filter, SearchControls searchControls, - ContextMapper mapper); - - Object lookup(final String dn); - - DirContextOperations lookupContext(String dn); - - T findByDn(Name dn, final Class clazz); - - void rename(final Name oldDn, final Name newDn); - - List list(final Name base); - - List listBindings(final Name base); - - void unbind(final String dn); - - void unbind(final String dn, boolean recursive); +public interface LdapOperations +{ + List find(LdapQuery p0, Class p1); + List find(Name p0, Filter p1, SearchControls p2, Class p3); + List findAll(Class p0); + List findAll(Name p0, SearchControls p1, Class p2); + List list(Name p0, NameClassPairMapper p1); + List list(String p0, NameClassPairMapper p1); + List listBindings(Name p0, ContextMapper p1); + List listBindings(Name p0, NameClassPairMapper p1); + List listBindings(String p0, ContextMapper p1); + List listBindings(String p0, NameClassPairMapper p1); + List search(LdapQuery p0, AttributesMapper p1); + List search(LdapQuery p0, ContextMapper p1); + List search(Name p0, String p1, AttributesMapper p2); + List search(Name p0, String p1, ContextMapper p2); + List search(Name p0, String p1, SearchControls p2, AttributesMapper p3); + List search(Name p0, String p1, SearchControls p2, AttributesMapper p3, DirContextProcessor p4); + List search(Name p0, String p1, SearchControls p2, ContextMapper p3); + List search(Name p0, String p1, SearchControls p2, ContextMapper p3, DirContextProcessor p4); + List search(Name p0, String p1, int p2, AttributesMapper p3); + List search(Name p0, String p1, int p2, ContextMapper p3); + List search(Name p0, String p1, int p2, String[] p3, AttributesMapper p4); + List search(Name p0, String p1, int p2, String[] p3, ContextMapper p4); + List search(String p0, String p1, AttributesMapper p2); + List search(String p0, String p1, ContextMapper p2); + List search(String p0, String p1, SearchControls p2, AttributesMapper p3); + List search(String p0, String p1, SearchControls p2, AttributesMapper p3, DirContextProcessor p4); + List search(String p0, String p1, SearchControls p2, ContextMapper p3); + List search(String p0, String p1, SearchControls p2, ContextMapper p3, DirContextProcessor p4); + List search(String p0, String p1, int p2, AttributesMapper p3); + List search(String p0, String p1, int p2, ContextMapper p3); + List search(String p0, String p1, int p2, String[] p3, AttributesMapper p4); + List search(String p0, String p1, int p2, String[] p3, ContextMapper p4); + T authenticate(LdapQuery p0, String p1, AuthenticatedLdapEntryContextMapper p2); + T executeReadOnly(ContextExecutor p0); + T executeReadWrite(ContextExecutor p0); + T findByDn(Name p0, Class p1); + T findOne(LdapQuery p0, Class p1); + T lookup(Name p0, AttributesMapper p1); + T lookup(Name p0, ContextMapper p1); + T lookup(Name p0, String[] p1, AttributesMapper p2); + T lookup(Name p0, String[] p1, ContextMapper p2); + T lookup(String p0, AttributesMapper p1); + T lookup(String p0, ContextMapper p1); + T lookup(String p0, String[] p1, AttributesMapper p2); + T lookup(String p0, String[] p1, ContextMapper p2); + T searchForObject(LdapQuery p0, ContextMapper p1); + T searchForObject(Name p0, String p1, ContextMapper p2); + T searchForObject(Name p0, String p1, SearchControls p2, ContextMapper p3); + T searchForObject(String p0, String p1, ContextMapper p2); + T searchForObject(String p0, String p1, SearchControls p2, ContextMapper p3); + DirContextOperations lookupContext(Name p0); + DirContextOperations lookupContext(String p0); + DirContextOperations searchForContext(LdapQuery p0); + List list(Name p0); + List list(String p0); + List listBindings(Name p0); + List listBindings(String p0); + Object lookup(Name p0); + Object lookup(String p0); + ObjectDirectoryMapper getObjectDirectoryMapper(); + boolean authenticate(Name p0, String p1, String p2); + boolean authenticate(Name p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3); + boolean authenticate(Name p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3, AuthenticationErrorCallback p4); + boolean authenticate(Name p0, String p1, String p2, AuthenticationErrorCallback p3); + boolean authenticate(String p0, String p1, String p2); + boolean authenticate(String p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3); + boolean authenticate(String p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3, AuthenticationErrorCallback p4); + boolean authenticate(String p0, String p1, String p2, AuthenticationErrorCallback p3); + void authenticate(LdapQuery p0, String p1); + void bind(DirContextOperations p0); + void bind(Name p0, Object p1, Attributes p2); + void bind(String p0, Object p1, Attributes p2); + void create(Object p0); + void delete(Object p0); + void list(Name p0, NameClassPairCallbackHandler p1); + void list(String p0, NameClassPairCallbackHandler p1); + void listBindings(Name p0, NameClassPairCallbackHandler p1); + void listBindings(String p0, NameClassPairCallbackHandler p1); + void modifyAttributes(DirContextOperations p0); + void modifyAttributes(Name p0, ModificationItem[] p1); + void modifyAttributes(String p0, ModificationItem[] p1); + void rebind(DirContextOperations p0); + void rebind(Name p0, Object p1, Attributes p2); + void rebind(String p0, Object p1, Attributes p2); + void rename(Name p0, Name p1); + void rename(String p0, String p1); + void search(LdapQuery p0, NameClassPairCallbackHandler p1); + void search(Name p0, String p1, NameClassPairCallbackHandler p2); + void search(Name p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3); + void search(Name p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3, DirContextProcessor p4); + void search(Name p0, String p1, int p2, boolean p3, NameClassPairCallbackHandler p4); + void search(SearchExecutor p0, NameClassPairCallbackHandler p1); + void search(SearchExecutor p0, NameClassPairCallbackHandler p1, DirContextProcessor p2); + void search(String p0, String p1, NameClassPairCallbackHandler p2); + void search(String p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3); + void search(String p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3, DirContextProcessor p4); + void search(String p0, String p1, int p2, boolean p3, NameClassPairCallbackHandler p4); + void unbind(Name p0); + void unbind(Name p0, boolean p1); + void unbind(String p0); + void unbind(String p0, boolean p1); + void update(Object p0); } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdn.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdn.java new file mode 100644 index 00000000000..048e3e27936 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdn.java @@ -0,0 +1,28 @@ +// Generated automatically from org.springframework.ldap.core.LdapRdn for testing purposes + +package org.springframework.ldap.core; + +import java.io.Serializable; +import java.util.List; +import org.springframework.ldap.core.LdapRdnComponent; + +public class LdapRdn implements Comparable, Serializable +{ + public LdapRdn immutableLdapRdn(){ return null; } + public LdapRdn(){} + public LdapRdn(String p0){} + public LdapRdn(String p0, String p1){} + public LdapRdnComponent getComponent(){ return null; } + public LdapRdnComponent getComponent(int p0){ return null; } + public List getComponents(){ return null; } + public String encodeUrl(){ return null; } + public String getKey(){ return null; } + public String getLdapEncoded(){ return null; } + public String getValue(){ return null; } + public String getValue(String p0){ return null; } + public String toString(){ return null; } + public boolean equals(Object p0){ return false; } + public int compareTo(Object p0){ return 0; } + public int hashCode(){ return 0; } + public void addComponent(LdapRdnComponent p0){} +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdnComponent.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdnComponent.java new file mode 100644 index 00000000000..00ddb520aa8 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapRdnComponent.java @@ -0,0 +1,25 @@ +// Generated automatically from org.springframework.ldap.core.LdapRdnComponent for testing purposes + +package org.springframework.ldap.core; + +import java.io.Serializable; + +public class LdapRdnComponent implements Comparable, Serializable +{ + protected LdapRdnComponent() {} + protected String encodeLdap(){ return null; } + public LdapRdnComponent immutableLdapRdnComponent(){ return null; } + public LdapRdnComponent(String p0, String p1){} + public LdapRdnComponent(String p0, String p1, boolean p2){} + public String encodeUrl(){ return null; } + public String getKey(){ return null; } + public String getLdapEncoded(){ return null; } + public String getValue(){ return null; } + public String toString(){ return null; } + public boolean equals(Object p0){ return false; } + public int compareTo(Object p0){ return 0; } + public int hashCode(){ return 0; } + public static boolean DONT_DECODE_VALUE = false; + public void setKey(String p0){} + public void setValue(String p0){} +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapTemplate.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapTemplate.java index fee83cf4ec8..fe98e2bfceb 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapTemplate.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/LdapTemplate.java @@ -1,76 +1,146 @@ +// Generated automatically from org.springframework.ldap.core.LdapTemplate for testing purposes + package org.springframework.ldap.core; -import org.springframework.beans.factory.InitializingBean; - -import java.util.*; - +import java.util.List; import javax.naming.Name; +import javax.naming.directory.Attributes; +import javax.naming.directory.DirContext; +import javax.naming.directory.ModificationItem; import javax.naming.directory.SearchControls; - +import org.springframework.beans.factory.InitializingBean; +import org.springframework.ldap.core.AttributesMapper; +import org.springframework.ldap.core.AuthenticatedLdapEntryContextCallback; +import org.springframework.ldap.core.AuthenticatedLdapEntryContextMapper; +import org.springframework.ldap.core.AuthenticationErrorCallback; +import org.springframework.ldap.core.ContextExecutor; +import org.springframework.ldap.core.ContextMapper; +import org.springframework.ldap.core.ContextSource; +import org.springframework.ldap.core.DirContextOperations; +import org.springframework.ldap.core.DirContextProcessor; +import org.springframework.ldap.core.LdapOperations; +import org.springframework.ldap.core.NameClassPairCallbackHandler; +import org.springframework.ldap.core.NameClassPairMapper; +import org.springframework.ldap.core.SearchExecutor; import org.springframework.ldap.filter.Filter; - +import org.springframework.ldap.odm.core.ObjectDirectoryMapper; import org.springframework.ldap.query.LdapQuery; -public class LdapTemplate implements LdapOperations, InitializingBean { - public void authenticate(LdapQuery query, String password) { } - - public boolean authenticate(Name base, String filter, String password) { return true; } - - public List find(Name base, Filter filter, SearchControls searchControls, final Class clazz) { return null; } - - public List find(LdapQuery query, Class clazz) { return null; } - - public T findOne(LdapQuery query, Class clazz) { return null; } - - public void search(String base, String filter, int searchScope, boolean returningObjFlag, NameClassPairCallbackHandler handler) { } - - public void search(final String base, final String filter, final SearchControls controls, NameClassPairCallbackHandler handler) {} - - public void search(final String base, final String filter, final SearchControls controls, NameClassPairCallbackHandler handler, DirContextProcessor processor) {} - - public void search(String base, String filter, NameClassPairCallbackHandler handler) {} - - public List search(String base, String filter, int searchScope, String[] attrs, AttributesMapper mapper) { return null; } - - public List search(String base, String filter, int searchScope, AttributesMapper mapper) { return null; } - - public List search(String base, String filter, AttributesMapper mapper) { return null; } - - public List search(String base, String filter, int searchScope, String[] attrs, ContextMapper mapper) { return null; } - - public List search(String base, String filter, int searchScope, ContextMapper mapper) { return null; } - - public List search(String base, String filter, ContextMapper mapper) { return null; } - - public List search(String base, String filter, SearchControls controls, ContextMapper mapper) { return null; } - - public List search(String base, String filter, SearchControls controls, AttributesMapper mapper) { return null; } - - public List search(String base, String filter, SearchControls controls, AttributesMapper mapper, DirContextProcessor processor) { return null; } - - public List search(String base, String filter, SearchControls controls, ContextMapper mapper, DirContextProcessor processor) { return null; } - - public DirContextOperations searchForContext(LdapQuery query) { return null; } - - public T searchForObject(Name base, String filter, ContextMapper mapper) { return null; } - - public T searchForObject(String base, String filter, ContextMapper mapper) { return null; } - - public T searchForObject(String base, String filter, SearchControls searchControls, ContextMapper mapper) { return null; } - - public Object lookup(final String dn) { return new Object(); } - - public DirContextOperations lookupContext(String dn) { return null; } - - public T findByDn(Name dn, final Class clazz) { return null; } - - public void rename(final Name oldDn, final Name newDn) {} - - public List list(final Name base) { return null; } - - public List listBindings(final Name base) { return null; } - - public void unbind(final String dn) {} - - public void unbind(final String dn, boolean recursive) {} +public class LdapTemplate implements InitializingBean, LdapOperations +{ + protected void deleteRecursively(DirContext p0, Name p1){} + public List find(LdapQuery p0, Class p1){ return null; } + public List find(Name p0, Filter p1, SearchControls p2, Class p3){ return null; } + public List findAll(Class p0){ return null; } + public List findAll(Name p0, SearchControls p1, Class p2){ return null; } + public List list(Name p0, NameClassPairMapper p1){ return null; } + public List list(String p0, NameClassPairMapper p1){ return null; } + public List listBindings(Name p0, ContextMapper p1){ return null; } + public List listBindings(Name p0, NameClassPairMapper p1){ return null; } + public List listBindings(String p0, ContextMapper p1){ return null; } + public List listBindings(String p0, NameClassPairMapper p1){ return null; } + public List search(LdapQuery p0, AttributesMapper p1){ return null; } + public List search(LdapQuery p0, ContextMapper p1){ return null; } + public List search(Name p0, String p1, AttributesMapper p2){ return null; } + public List search(Name p0, String p1, ContextMapper p2){ return null; } + public List search(Name p0, String p1, SearchControls p2, AttributesMapper p3){ return null; } + public List search(Name p0, String p1, SearchControls p2, AttributesMapper p3, DirContextProcessor p4){ return null; } + public List search(Name p0, String p1, SearchControls p2, ContextMapper p3){ return null; } + public List search(Name p0, String p1, SearchControls p2, ContextMapper p3, DirContextProcessor p4){ return null; } + public List search(Name p0, String p1, int p2, AttributesMapper p3){ return null; } + public List search(Name p0, String p1, int p2, ContextMapper p3){ return null; } + public List search(Name p0, String p1, int p2, String[] p3, AttributesMapper p4){ return null; } + public List search(Name p0, String p1, int p2, String[] p3, ContextMapper p4){ return null; } + public List search(String p0, String p1, AttributesMapper p2){ return null; } + public List search(String p0, String p1, ContextMapper p2){ return null; } + public List search(String p0, String p1, SearchControls p2, AttributesMapper p3){ return null; } + public List search(String p0, String p1, SearchControls p2, AttributesMapper p3, DirContextProcessor p4){ return null; } + public List search(String p0, String p1, SearchControls p2, ContextMapper p3){ return null; } + public List search(String p0, String p1, SearchControls p2, ContextMapper p3, DirContextProcessor p4){ return null; } + public List search(String p0, String p1, int p2, AttributesMapper p3){ return null; } + public List search(String p0, String p1, int p2, ContextMapper p3){ return null; } + public List search(String p0, String p1, int p2, String[] p3, AttributesMapper p4){ return null; } + public List search(String p0, String p1, int p2, String[] p3, ContextMapper p4){ return null; } + public T authenticate(LdapQuery p0, String p1, AuthenticatedLdapEntryContextMapper p2){ return null; } + public T executeReadOnly(ContextExecutor p0){ return null; } + public T executeReadWrite(ContextExecutor p0){ return null; } + public T findByDn(Name p0, Class p1){ return null; } + public T findOne(LdapQuery p0, Class p1){ return null; } + public T lookup(Name p0, AttributesMapper p1){ return null; } + public T lookup(Name p0, ContextMapper p1){ return null; } + public T lookup(Name p0, String[] p1, AttributesMapper p2){ return null; } + public T lookup(Name p0, String[] p1, ContextMapper p2){ return null; } + public T lookup(String p0, AttributesMapper p1){ return null; } + public T lookup(String p0, ContextMapper p1){ return null; } + public T lookup(String p0, String[] p1, AttributesMapper p2){ return null; } + public T lookup(String p0, String[] p1, ContextMapper p2){ return null; } + public T searchForObject(LdapQuery p0, ContextMapper p1){ return null; } + public T searchForObject(Name p0, String p1, ContextMapper p2){ return null; } + public T searchForObject(Name p0, String p1, SearchControls p2, ContextMapper p3){ return null; } + public T searchForObject(String p0, String p1, ContextMapper p2){ return null; } + public T searchForObject(String p0, String p1, SearchControls p2, ContextMapper p3){ return null; } + public ContextSource getContextSource(){ return null; } + public DirContextOperations lookupContext(Name p0){ return null; } + public DirContextOperations lookupContext(String p0){ return null; } + public DirContextOperations searchForContext(LdapQuery p0){ return null; } + public LdapTemplate(){} + public LdapTemplate(ContextSource p0){} + public List list(Name p0){ return null; } + public List list(String p0){ return null; } + public List listBindings(Name p0){ return null; } + public List listBindings(String p0){ return null; } + public Object lookup(Name p0){ return null; } + public Object lookup(String p0){ return null; } + public ObjectDirectoryMapper getObjectDirectoryMapper(){ return null; } + public boolean authenticate(Name p0, String p1, String p2){ return false; } + public boolean authenticate(Name p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3){ return false; } + public boolean authenticate(Name p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3, AuthenticationErrorCallback p4){ return false; } + public boolean authenticate(Name p0, String p1, String p2, AuthenticationErrorCallback p3){ return false; } + public boolean authenticate(String p0, String p1, String p2){ return false; } + public boolean authenticate(String p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3){ return false; } + public boolean authenticate(String p0, String p1, String p2, AuthenticatedLdapEntryContextCallback p3, AuthenticationErrorCallback p4){ return false; } + public boolean authenticate(String p0, String p1, String p2, AuthenticationErrorCallback p3){ return false; } + public void afterPropertiesSet(){} + public void authenticate(LdapQuery p0, String p1){} + public void bind(DirContextOperations p0){} + public void bind(Name p0, Object p1, Attributes p2){} + public void bind(String p0, Object p1, Attributes p2){} + public void create(Object p0){} + public void delete(Object p0){} + public void list(Name p0, NameClassPairCallbackHandler p1){} + public void list(String p0, NameClassPairCallbackHandler p1){} + public void listBindings(Name p0, NameClassPairCallbackHandler p1){} + public void listBindings(String p0, NameClassPairCallbackHandler p1){} + public void modifyAttributes(DirContextOperations p0){} + public void modifyAttributes(Name p0, ModificationItem[] p1){} + public void modifyAttributes(String p0, ModificationItem[] p1){} + public void rebind(DirContextOperations p0){} + public void rebind(Name p0, Object p1, Attributes p2){} + public void rebind(String p0, Object p1, Attributes p2){} + public void rename(Name p0, Name p1){} + public void rename(String p0, String p1){} + public void search(LdapQuery p0, NameClassPairCallbackHandler p1){} + public void search(Name p0, String p1, NameClassPairCallbackHandler p2){} + public void search(Name p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3){} + public void search(Name p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3, DirContextProcessor p4){} + public void search(Name p0, String p1, int p2, boolean p3, NameClassPairCallbackHandler p4){} + public void search(SearchExecutor p0, NameClassPairCallbackHandler p1){} + public void search(SearchExecutor p0, NameClassPairCallbackHandler p1, DirContextProcessor p2){} + public void search(String p0, String p1, NameClassPairCallbackHandler p2){} + public void search(String p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3){} + public void search(String p0, String p1, SearchControls p2, NameClassPairCallbackHandler p3, DirContextProcessor p4){} + public void search(String p0, String p1, int p2, boolean p3, NameClassPairCallbackHandler p4){} + public void setContextSource(ContextSource p0){} + public void setDefaultCountLimit(int p0){} + public void setDefaultSearchScope(int p0){} + public void setDefaultTimeLimit(int p0){} + public void setIgnoreNameNotFoundException(boolean p0){} + public void setIgnorePartialResultException(boolean p0){} + public void setIgnoreSizeLimitExceededException(boolean p0){} + public void setObjectDirectoryMapper(ObjectDirectoryMapper p0){} + public void unbind(Name p0){} + public void unbind(Name p0, boolean p1){} + public void unbind(String p0){} + public void unbind(String p0, boolean p1){} + public void update(Object p0){} } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairCallbackHandler.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairCallbackHandler.java index 250e6da0237..61bca3585b6 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairCallbackHandler.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairCallbackHandler.java @@ -1,3 +1,10 @@ +// Generated automatically from org.springframework.ldap.core.NameClassPairCallbackHandler for testing purposes + package org.springframework.ldap.core; -public interface NameClassPairCallbackHandler { } +import javax.naming.NameClassPair; + +public interface NameClassPairCallbackHandler +{ + void handleNameClassPair(NameClassPair p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairMapper.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairMapper.java new file mode 100644 index 00000000000..77e36c5ec80 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/NameClassPairMapper.java @@ -0,0 +1,10 @@ +// Generated automatically from org.springframework.ldap.core.NameClassPairMapper for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.NameClassPair; + +public interface NameClassPairMapper +{ + T mapFromNameClassPair(NameClassPair p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/SearchExecutor.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/SearchExecutor.java new file mode 100644 index 00000000000..3783eae738f --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/core/SearchExecutor.java @@ -0,0 +1,11 @@ +// Generated automatically from org.springframework.ldap.core.SearchExecutor for testing purposes + +package org.springframework.ldap.core; + +import javax.naming.NamingEnumeration; +import javax.naming.directory.DirContext; + +public interface SearchExecutor +{ + NamingEnumeration executeSearch(DirContext p0); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/Filter.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/Filter.java index b24091e6de0..50652cd2361 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/Filter.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/Filter.java @@ -1,4 +1,12 @@ +// Generated automatically from org.springframework.ldap.filter.Filter for testing purposes + package org.springframework.ldap.filter; -public interface Filter { + +public interface Filter +{ + String encode(); + StringBuffer encode(StringBuffer p0); + boolean equals(Object p0); + int hashCode(); } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/odm/core/ObjectDirectoryMapper.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/odm/core/ObjectDirectoryMapper.java new file mode 100644 index 00000000000..fae54159cf8 --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/odm/core/ObjectDirectoryMapper.java @@ -0,0 +1,19 @@ +// Generated automatically from org.springframework.ldap.odm.core.ObjectDirectoryMapper for testing purposes + +package org.springframework.ldap.odm.core; + +import javax.naming.Name; +import org.springframework.LdapDataEntry; +import org.springframework.ldap.filter.Filter; + +public interface ObjectDirectoryMapper +{ + T mapFromLdapDataEntry(LdapDataEntry p0, Class p1); + Filter filterFor(Class p0, Filter p1); + Name getCalculatedId(Object p0); + Name getId(Object p0); + String attributeFor(Class p0, String p1); + String[] manageClass(Class p0); + void mapToLdapDataEntry(Object p0, LdapDataEntry p1); + void setId(Object p0, Name p1); +} diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/LdapQuery.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/LdapQuery.java index c94bb75c20c..13e64bf9657 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/LdapQuery.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/LdapQuery.java @@ -1,4 +1,17 @@ +// Generated automatically from org.springframework.ldap.query.LdapQuery for testing purposes + package org.springframework.ldap.query; -public interface LdapQuery { +import javax.naming.Name; +import org.springframework.ldap.filter.Filter; +import org.springframework.ldap.query.SearchScope; + +public interface LdapQuery +{ + Filter filter(); + Integer countLimit(); + Integer timeLimit(); + Name base(); + SearchScope searchScope(); + String[] attributes(); } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/SearchScope.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/SearchScope.java new file mode 100644 index 00000000000..20d082f60ec --- /dev/null +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/query/SearchScope.java @@ -0,0 +1,11 @@ +// Generated automatically from org.springframework.ldap.query.SearchScope for testing purposes + +package org.springframework.ldap.query; + + +public enum SearchScope +{ + OBJECT, ONELEVEL, SUBTREE; + private SearchScope() {} + public int getId(){ return 0; } +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiCallback.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiCallback.java new file mode 100644 index 00000000000..4b4daf2744e --- /dev/null +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiCallback.java @@ -0,0 +1,10 @@ +// Generated automatically from org.springframework.jndi.JndiCallback for testing purposes + +package org.springframework.jndi; + +import javax.naming.Context; + +public interface JndiCallback +{ + T doInContext(Context p0); +} diff --git a/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiTemplate.java b/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiTemplate.java index 800071a30d4..0f362a0d63b 100644 --- a/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiTemplate.java +++ b/java/ql/test/stubs/springframework-5.3.8/org/springframework/jndi/JndiTemplate.java @@ -1,21 +1,50 @@ +// Generated automatically from org.springframework.jndi.JndiTemplate for testing purposes + package org.springframework.jndi; import java.util.Properties; -import javax.naming.NamingException; +import javax.naming.Context; +import org.apache.commons.logging.Log; +import org.springframework.jndi.JndiCallback; public class JndiTemplate { - public JndiTemplate() {} + protected Context createInitialContext() { + return null; + } - public JndiTemplate(Properties environment) {} + protected final Log logger = null; - public Object lookup(final String name) throws NamingException { - return new Object(); - } + public T execute(JndiCallback p0) { + return null; + } - @SuppressWarnings("unchecked") - public T lookup(String name, Class requiredType) throws NamingException { - return (T) new Object(); - } - - public void setEnvironment(Properties environment) {} + public T lookup(String p0, Class p1) { + return null; + } + + public Context getContext() { + return null; + } + + public JndiTemplate() {} + + public JndiTemplate(Properties p0) {} + + public Object lookup(String p0) { + return null; + } + + public Properties getEnvironment() { + return null; + } + + public void bind(String p0, Object p1) {} + + public void rebind(String p0, Object p1) {} + + public void releaseContext(Context p0) {} + + public void setEnvironment(Properties p0) {} + + public void unbind(String p0) {} } From 908b7c43f214095d1f00d0c4bd909b455b6e1ef3 Mon Sep 17 00:00:00 2001 From: Tony Torralba Date: Mon, 24 Jan 2022 09:34:43 +0100 Subject: [PATCH 2/2] Fix stubs --- .../org/springframework/ldap/filter/EqualsFilter.java | 4 ++++ .../org/springframework/ldap/filter/HardcodedFilter.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/EqualsFilter.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/EqualsFilter.java index a5cbbd2a674..5ac87651711 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/EqualsFilter.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/EqualsFilter.java @@ -2,4 +2,8 @@ package org.springframework.ldap.filter; public class EqualsFilter implements Filter { public EqualsFilter(String attribute, String value) { } + public String encode() { return null; } + public StringBuffer encode(StringBuffer p0) { return null; } + public boolean equals(Object p0) { return false; } + public int hashCode() { return 0; } } diff --git a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/HardcodedFilter.java b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/HardcodedFilter.java index bc43dddc6f8..886e9e89199 100644 --- a/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/HardcodedFilter.java +++ b/java/ql/test/stubs/spring-ldap-2.3.2/org/springframework/ldap/filter/HardcodedFilter.java @@ -2,6 +2,9 @@ package org.springframework.ldap.filter; public class HardcodedFilter implements Filter { public HardcodedFilter(String filter) { } + public String encode() { return null; } public StringBuffer encode(StringBuffer buff) { return buff; } public String toString() { return ""; } + public boolean equals(Object p0) { return false; } + public int hashCode() { return 0; } }