diff --git a/KNOWN_ISSUES.txt b/KNOWN_ISSUES.txt index 0552958c64..acd6746a23 100644 --- a/KNOWN_ISSUES.txt +++ b/KNOWN_ISSUES.txt @@ -15,3 +15,4 @@ by Tika (word docs, PDF, HTML, JPEG, etc.) are not being added to the index. - For unknown file types, we extract UTF-8 (Ascii) and UTF-16 English strings. No non-English strings are extracted. +- Comments and java script in HTML files are not being added to index. diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsAbstract.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsAbstract.java index 82fdb4dce5..ea9f9bd286 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsAbstract.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsAbstract.java @@ -129,12 +129,28 @@ public abstract class KeywordSearchListsAbstract { } /** - * get list of all loaded keyword list names + * Get list names of all loaded keyword list names * @return List of keyword list names */ List getListNames() { return new ArrayList(theLists.keySet()); } + + /** + * Get list names of all locked or unlocked loaded keyword list names + * @param locked true if look for locked lists, false otherwise + * @return List of keyword list names + */ + List getListNames(boolean locked) { + ArrayList lists = new ArrayList(); + for (String listName : theLists.keySet()) { + KeywordSearchList list = theLists.get(listName); + if (locked == list.isLocked()) + lists.add(listName); + } + + return lists; + } /** * return first list that contains the keyword @@ -175,6 +191,21 @@ public abstract class KeywordSearchListsAbstract { int getNumberLists() { return theLists.size(); } + + /** + * get number of unlocked or locked lists currently stored + * @param locked true if look for locked lists, false otherwise + * @return number of unlocked lists currently stored + */ + int getNumberLists(boolean locked) { + int numLists = 0; + for (String listName : theLists.keySet()) { + KeywordSearchList list = theLists.get(listName); + if (locked == list.isLocked()) + ++ numLists; + } + return numLists; + } /** * get list by name or null diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java index 08b69b1a6f..b8595c1e0c 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/KeywordSearchListsManagementPanel.java @@ -192,9 +192,18 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel { } boolean shouldAdd = false; if (writer.listExists(listName)) { - boolean replace = KeywordSearchUtil.displayConfirmDialog("New Keyword List", "Keyword List <" + listName + "> already exists, do you want to replace it?", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN); - if (replace) { - shouldAdd = true; + if (writer.getList(listName).isLocked() ) { + boolean replace = KeywordSearchUtil.displayConfirmDialog("New Keyword List", "Keyword List <" + listName + + "> already exists as a read-only list. Do you want to replace it for the duration of the program (the change will not be persistent).", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN); + if (replace) { + shouldAdd = true; + } + } + else { + boolean replace = KeywordSearchUtil.displayConfirmDialog("New Keyword List", "Keyword List <" + listName + "> already exists, do you want to replace it?", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.WARN); + if (replace) { + shouldAdd = true; + } } } else { shouldAdd = true; @@ -323,7 +332,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel { @Override public int getRowCount() { - return listsHandle.getNumberLists(); + return listsHandle.getNumberLists(false); } @Override @@ -333,7 +342,7 @@ class KeywordSearchListsManagementPanel extends javax.swing.JPanel { @Override public Object getValueAt(int rowIndex, int columnIndex) { - return listsHandle.getListNames().get(rowIndex); + return listsHandle.getListNames(false).get(rowIndex); } @Override diff --git a/NEWS.txt b/NEWS.txt index 7a1566b5b2..081431d045 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,7 +1,7 @@ 3.0.0b3 (June 12, 2012) -New Features: +New Features (Funded by US Army Intelligence Center of Excellence (USAICoE)): - Ingest manager runs triage/ingest task after disk is added. -- Keyword search (indexed via SOLR) +- Basic keyword search (indexed via SOLR) - Recent activity extract (web artifacts, recent documents, devices, etc.) - Improved UI