Skip to content

Commit e0559e0

Browse files
committed
2 parents 2ba50c1 + 9d9b3f4 commit e0559e0

3 files changed

Lines changed: 23 additions & 15 deletions

File tree

src/com/denimgroup/threadfix/cli/endpoints/EndpointMain.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ enum Logging {
8080
static int totalDetectedParameters = 0;
8181
static int totalDistinctParameters = 0;
8282

83+
static int numProjectsWithDuplicates = 0;
84+
8385
static String testUrlPath = null;
8486
static Credentials testCredentials = null;
8587

@@ -244,18 +246,15 @@ public static void main(String[] args) {
244246
} catch (IOException e) {
245247
throw new RuntimeException(e);
246248
}
247-
} else {
248-
int i = 0;
249-
// for (Endpoint endpoint : allEndpoints) {
250-
// //println(endpoint.getCSVLine(printFormat));
251-
// i += printEndpointWithVariants(i, 0, endpoint);
252-
// }
253249
}
254250
}
255251

256252

257253

258254
println("-- DONE --");
255+
256+
println(numProjectsWithDuplicates + " projects had duplicate endpoints");
257+
259258
println("Generated " + totalDistinctEndpoints + " distinct endpoints");
260259
println("Generated " + totalDetectedEndpoints + " total endpoints");
261260
println("Generated " + totalDistinctParameters + " distinct parameters");
@@ -487,6 +486,10 @@ private static List<Endpoint> listEndpoints(File rootFile, Collection<FrameworkT
487486
println("Failed to validate serialization for at least one of these endpoints");
488487
}
489488

489+
if (!EndpointValidation.validateDuplicates(endpoints)) {
490+
numProjectsWithDuplicates++;
491+
}
492+
490493
// Run endpoint testing against a given server
491494
if (testUrlPath != null) {
492495
EndpointTester tester = new EndpointTester(testUrlPath);

src/com/denimgroup/threadfix/cli/endpoints/EndpointTester.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public int authorize(Credentials credentials, Endpoint endpoint) throws IOExcept
8686
e.printStackTrace();
8787
}
8888

89-
return -1;
89+
return 0xffff;
9090
}
9191

9292
private boolean saveCredentialsResponse(HttpURLConnection conn, Credentials creds) {

src/com/denimgroup/threadfix/cli/endpoints/EndpointValidation.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@ public class EndpointValidation {
2424
public static boolean validateSerialization(File sourceCodeFolder, List<Endpoint> endpoints) {
2525
List<Endpoint> allEndpoints = EndpointUtil.flattenWithVariants(endpoints);
2626

27-
List<List<Endpoint>> duplicateEndpoints = detectDuplicates(endpoints);
28-
if (!duplicateEndpoints.isEmpty()) {
29-
logger.warn("Found " + duplicateEndpoints.size() + " duplicated endpoints:");
30-
for (List<Endpoint> duplicateSet : duplicateEndpoints) {
31-
logger.warn("- " + duplicateSet.size() + ": " + duplicateSet.get(0).toString());
32-
}
33-
}
34-
3527
try {
3628
String serializedCollection = EndpointSerialization.serializeAll(allEndpoints);
3729
Endpoint[] deserializedCollection = EndpointSerialization.deserializeAll(serializedCollection);
@@ -168,6 +160,19 @@ else if (!endpoint.getFilePath().contains("(lib)")) {
168160
return true;
169161
}
170162

163+
public static boolean validateDuplicates(Collection<Endpoint> endpoints) {
164+
boolean validated = true;
165+
List<List<Endpoint>> duplicateEndpoints = detectDuplicates(endpoints);
166+
if (!duplicateEndpoints.isEmpty()) {
167+
logger.warn("Found " + duplicateEndpoints.size() + " duplicated endpoints:");
168+
for (List<Endpoint> duplicateSet : duplicateEndpoints) {
169+
logger.warn("- " + duplicateSet.size() + ": " + duplicateSet.get(0).toString());
170+
validated = false;
171+
}
172+
}
173+
return validated;
174+
}
175+
171176
private static List<List<Endpoint>> detectDuplicates(Collection<Endpoint> endpoints) {
172177
List<List<Endpoint>> duplicates = new ArrayList<>();
173178

0 commit comments

Comments
 (0)