Skip to content

Commit

Permalink
Change project list to show ids if there are projects with duplicate …
Browse files Browse the repository at this point in the history
…names
  • Loading branch information
Ryan McCauley authored and Ryan McCauley committed Jul 8, 2016
1 parent 3875c69 commit 0ab69ed
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions src/main/java/burp/BurpExtender.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public class BurpExtender implements IBurpExtender, ITab {
private JButton projectRefresh;

private String[] targetArr = new String[0];
private NameValuePair[] projectArr = new BasicNameValuePair[0];
private ModifiedNameValuePair[] projectArr = new ModifiedNameValuePair[0];

private boolean updating = false;
private ButtonAnimationThread refreshAnimation;
Expand Down Expand Up @@ -368,7 +368,7 @@ public void updateProjects(boolean ignoreMessages) {

CloseableHttpClient client = null;
BufferedReader rd = null;
NameValuePair[] projectArr = new BasicNameValuePair[0];
ModifiedNameValuePair[] projectArr = new ModifiedNameValuePair[0];
try{
client = getHttpClient(ignoreMessages);
if(client != null){
Expand All @@ -386,7 +386,7 @@ public void updateProjects(boolean ignoreMessages) {
JSONObject obj = new JSONObject(result.toString());
JSONArray projects = obj.getJSONArray("projects");

projectArr = new NameValuePair[projects.length()];
projectArr = new ModifiedNameValuePair[projects.length()];
for(int i = 0; i < projectArr.length; i++){
int id = projects.getJSONObject(i).getInt("id");
String name = projects.getJSONObject(i).getString("name");
Expand All @@ -396,6 +396,13 @@ public void updateProjects(boolean ignoreMessages) {
warn("No projects were found.");
} else {
Arrays.sort(projectArr);
//set the project ids to visible if the names are the same
for(int i = 0; i < projectArr.length-1; i++){
if(projectArr[i].getName() != null && projectArr[i].getName().equals(projectArr[i+1].getName())){
projectArr[i].setUseId(true);
projectArr[i+1].setUseId(true);
}
}
}
}
} catch (JSONException | IOException e){
Expand Down Expand Up @@ -493,16 +500,25 @@ public Component getUiComponent() {

private static class ModifiedNameValuePair extends BasicNameValuePair implements Comparable<NameValuePair>{
private static final long serialVersionUID = -6671681121783779976L;
private boolean useId = false;
public ModifiedNameValuePair(String name, String value) {
super(name, value);
}
public void setUseId(boolean useId){
this.useId = useId;
}
@Override
public String toString(){
if(useId)
return getName() + " (id: " + getValue() + ")";
return getName();
}
@Override
public int compareTo(NameValuePair o) {
return this.getName().compareTo(((NameValuePair)o).getName());
int val = this.getName().compareTo(((NameValuePair)o).getName());
if(val == 0)
return this.getValue().compareTo(((NameValuePair)o).getValue());
return val;
}
}

Expand Down

0 comments on commit 0ab69ed

Please sign in to comment.