You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2013/03/18 15:18:21 UTC
svn commit: r1457777 - in
/manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main:
java/org/apache/manifoldcf/crawler/connectors/livelink/
native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/
Author: kwright
Date: Mon Mar 18 14:18:20 2013
New Revision: 1457777
URL: http://svn.apache.org/r1457777
Log:
Add UI support for server keystore and server domain
Modified:
manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkAuthority.java
manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkConnector.java
manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/common_en_US.properties
Modified: manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkAuthority.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkAuthority.java?rev=1457777&r1=1457776&r2=1457777&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkAuthority.java (original)
+++ manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkAuthority.java Mon Mar 18 14:18:20 2013
@@ -489,6 +489,27 @@ public class LivelinkAuthority extends o
out.print(
"<script type=\"text/javascript\">\n"+
"<!--\n"+
+"function ServerDeleteCertificate(aliasName)\n"+
+"{\n"+
+" editconnection.serverkeystorealias.value = aliasName;\n"+
+" editconnection.serverconfigop.value = \"Delete\";\n"+
+" postForm();\n"+
+"}\n"+
+"\n"+
+"function ServerAddCertificate()\n"+
+"{\n"+
+" if (editconnection.servercertificate.value == \"\")\n"+
+" {\n"+
+" alert(\""+Messages.getBodyJavascriptString(locale,"LivelinkConnector.ChooseACertificateFile")+"\");\n"+
+" editconnection.servercertificate.focus();\n"+
+" }\n"+
+" else\n"+
+" {\n"+
+" editconnection.serverconfigop.value = \"Add\";\n"+
+" postForm();\n"+
+" }\n"+
+"}\n"+
+"\n"+
"function checkConfig()\n"+
"{\n"+
" if (editconnection.serverport.value != \"\" && !isInteger(editconnection.serverport.value))\n"+
@@ -579,52 +600,72 @@ public class LivelinkAuthority extends o
Locale locale, ConfigParams parameters, String tabName)
throws ManifoldCFException, IOException
{
- String serverName = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverName);
+ // LAPI parameters
+ String serverName = parameters.getParameter(LiveLinkParameters.serverName);
if (serverName == null)
serverName = "localhost";
-
- String serverPort = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverPort);
+ String serverPort = parameters.getParameter(LiveLinkParameters.serverPort);
if (serverPort == null)
serverPort = "2099";
-
- String serverUserName = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverUsername);
+ String serverDomain = parameters.getParameter(LiveLinkParameters.serverDomain);
+ if (serverDomain == null)
+ serverDomain = "";
+ String serverUserName = parameters.getParameter(LiveLinkParameters.serverUsername);
if (serverUserName == null)
serverUserName = "";
-
- String serverPassword = parameters.getObfuscatedParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverPassword);
+ String serverPassword = parameters.getObfuscatedParameter(LiveLinkParameters.serverPassword);
if (serverPassword == null)
serverPassword = "";
-
+ String serverUseSSL = parameters.getParameter(LiveLinkParameters.serverSSL);
+ if (serverUseSSL == null)
+ serverUseSSL = "no";
+ String serverKeystore = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager localServerKeystore;
+ if (serverKeystore == null)
+ localServerKeystore = KeystoreManagerFactory.make("");
+ else
+ localServerKeystore = KeystoreManagerFactory.make("",serverKeystore);
+
+ // Cache parameters
String cacheLifetime = parameters.getParameter(LiveLinkParameters.cacheLifetime);
if (cacheLifetime == null)
cacheLifetime = "1";
-
String cacheLRUsize = parameters.getParameter(LiveLinkParameters.cacheLRUSize);
if (cacheLRUsize == null)
cacheLRUsize = "1000";
- org.apache.manifoldcf.crawler.connectors.livelink.MatchMap matchMap = null;
- String usernameRegexp = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.userNameRegexp);
- String livelinkUserExpr = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.livelinkNameSpec);
+ MatchMap matchMap = null;
+ String usernameRegexp = parameters.getParameter(LiveLinkParameters.userNameRegexp);
+ String livelinkUserExpr = parameters.getParameter(LiveLinkParameters.livelinkNameSpec);
if (usernameRegexp != null && usernameRegexp.length() > 0 && livelinkUserExpr != null)
{
// Old-style configuration. Convert to the new.
- matchMap = new org.apache.manifoldcf.crawler.connectors.livelink.MatchMap();
+ matchMap = new MatchMap();
matchMap.appendOldstyleMatchPair(usernameRegexp,livelinkUserExpr);
}
else
{
// New style configuration.
- String userNameMapping = parameters.getParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.userNameMapping);
+ String userNameMapping = parameters.getParameter(LiveLinkParameters.userNameMapping);
if (userNameMapping == null)
userNameMapping = "^(.*)\\\\@([A-Z|a-z|0-9|_|-]*)\\\\.(.*)$=$(2)\\\\$(1l)";
- matchMap = new org.apache.manifoldcf.crawler.connectors.livelink.MatchMap(userNameMapping);
+ matchMap = new MatchMap(userNameMapping);
}
usernameRegexp = matchMap.getMatchString(0);
livelinkUserExpr = matchMap.getReplaceString(0);
// The "Server" tab
+ // Always pass the whole keystore as a hidden.
+ out.print(
+"<input name=\"serverconfigop\" type=\"hidden\" value=\"Continue\"/>\n"
+ );
+ if (serverKeystore != null)
+ {
+ out.print(
+"<input type=\"hidden\" name=\"serverkeystoredata\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverKeystore)+"\"/>\n"
+ );
+ }
if (tabName.equals(Messages.getString(locale,"LivelinkConnector.Server")))
{
out.print(
@@ -639,6 +680,10 @@ public class LivelinkAuthority extends o
" <td class=\"value\"><input type=\"text\" size=\"5\" name=\"serverport\" value=\""+serverPort+"\"/></td>\n"+
" </tr>\n"+
" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerDomain")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverDomain)+"\"/></td>\n"+
+" </tr>\n"+
+" <tr>\n"+
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"LivelinkConnector.ServerUserName") + "</nobr></td>\n"+
" <td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverUserName)+"\"/></td>\n"+
" </tr>\n"+
@@ -646,6 +691,49 @@ public class LivelinkAuthority extends o
" <td class=\"description\"><nobr>" + Messages.getBodyString(locale,"LivelinkConnector.ServerPassword") + "</nobr></td>\n"+
" <td class=\"value\"><input type=\"password\" size=\"32\" name=\"serverpassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverPassword)+"\"/></td>\n"+
" </tr>\n"+
+" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"
+ );
+ out.print(
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerSSLCertificateList")+"</nobr></td>\n"+
+" <td class=\"value\">\n"+
+" <input type=\"hidden\" name=\"serverkeystorealias\" value=\"\"/>\n"+
+" <table class=\"displaytable\">\n"
+ );
+ // List the individual certificates in the store, with a delete button for each
+ String[] contents = localServerKeystore.getContents();
+ if (contents.length == 0)
+ {
+ out.print(
+" <tr><td class=\"message\" colspan=\"2\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.NoCertificatesPresent")+"</nobr></td></tr>\n"
+ );
+ }
+ else
+ {
+ int i = 0;
+ while (i < contents.length)
+ {
+ String alias = contents[i];
+ String description = localServerKeystore.getDescription(alias);
+ if (description.length() > 128)
+ description = description.substring(0,125) + "...";
+ out.print(
+" <tr>\n"+
+" <td class=\"value\"><input type=\"button\" onclick='Javascript:ServerDeleteCertificate(\""+org.apache.manifoldcf.ui.util.Encoder.attributeJavascriptEscape(alias)+"\")' alt=\""+Messages.getAttributeString(locale,"LivelinkConnector.DeleteCert")+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(alias)+"\" value=\"Delete\"/></td>\n"+
+" <td>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)+"</td>\n"+
+" </tr>\n"
+ );
+ i++;
+ }
+ }
+ out.print(
+" </table>\n"+
+" <input type=\"button\" onclick='Javascript:ServerAddCertificate()' alt=\""+Messages.getAttributeString(locale,"LivelinkConnector.AddCert")+"\" value=\"Add\"/> \n"+
+" "+Messages.getBodyString(locale,"LivelinkConnector.Certificate")+"<input name=\"servercertificate\" size=\"50\" type=\"file\"/>\n"+
+" </td>\n"+
+" </tr>\n"
+ );
+ out.print(
"</table>\n"
);
}
@@ -655,6 +743,7 @@ public class LivelinkAuthority extends o
out.print(
"<input type=\"hidden\" name=\"servername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverName)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverport\" value=\""+serverPort+"\"/>\n"+
+"<input type=\"hidden\" name=\"serverdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverDomain)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverUserName)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverpassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverPassword)+"\"/>\n"
);
@@ -728,34 +817,98 @@ public class LivelinkAuthority extends o
Locale locale, ConfigParams parameters)
throws ManifoldCFException
{
+ // Server parameters
String serverName = variableContext.getParameter("servername");
if (serverName != null)
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverName,serverName);
+ parameters.setParameter(LiveLinkParameters.serverName,serverName);
String serverPort = variableContext.getParameter("serverport");
if (serverPort != null)
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverPort,serverPort);
+ parameters.setParameter(LiveLinkParameters.serverPort,serverPort);
+ String serverDomain = variableContext.getParameter("serverdomain");
+ if (serverDomain != null)
+ parameters.setParameter(LiveLinkParameters.serverDomain,serverDomain);
String serverUserName = variableContext.getParameter("serverusername");
if (serverUserName != null)
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverUsername,serverUserName);
+ parameters.setParameter(LiveLinkParameters.serverUsername,serverUserName);
String serverPassword = variableContext.getParameter("serverpassword");
if (serverPassword != null)
- parameters.setObfuscatedParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.serverPassword,serverPassword);
+ parameters.setObfuscatedParameter(LiveLinkParameters.serverPassword,serverPassword);
+ String serverKeystoreValue = variableContext.getParameter("serverkeystoredata");
+ if (serverKeystoreValue != null)
+ parameters.setParameter(LiveLinkParameters.serverKeystore,serverKeystoreValue);
+
+ String serverConfigOp = variableContext.getParameter("serverconfigop");
+ if (serverConfigOp != null)
+ {
+ if (serverConfigOp.equals("Delete"))
+ {
+ String alias = variableContext.getParameter("serverkeystorealias");
+ serverKeystoreValue = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager mgr;
+ if (serverKeystoreValue != null)
+ mgr = KeystoreManagerFactory.make("",serverKeystoreValue);
+ else
+ mgr = KeystoreManagerFactory.make("");
+ mgr.remove(alias);
+ parameters.setParameter(LiveLinkParameters.serverKeystore,mgr.getString());
+ }
+ else if (serverConfigOp.equals("Add"))
+ {
+ String alias = IDFactory.make(threadContext);
+ byte[] certificateValue = variableContext.getBinaryBytes("servercertificate");
+ serverKeystoreValue = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager mgr;
+ if (serverKeystoreValue != null)
+ mgr = KeystoreManagerFactory.make("",serverKeystoreValue);
+ else
+ mgr = KeystoreManagerFactory.make("");
+ java.io.InputStream is = new java.io.ByteArrayInputStream(certificateValue);
+ String certError = null;
+ try
+ {
+ mgr.importCertificate(alias,is);
+ }
+ catch (Throwable e)
+ {
+ certError = e.getMessage();
+ }
+ finally
+ {
+ try
+ {
+ is.close();
+ }
+ catch (IOException e)
+ {
+ // Eat this exception
+ }
+ }
+
+ if (certError != null)
+ {
+ return "Illegal certificate: "+certError;
+ }
+ parameters.setParameter(LiveLinkParameters.serverKeystore,mgr.getString());
+ }
+ }
+
+ // User name parameters
String usernameRegexp = variableContext.getParameter("usernameregexp");
String livelinkUserExpr = variableContext.getParameter("livelinkuserexpr");
if (usernameRegexp != null && livelinkUserExpr != null)
{
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.userNameRegexp,null);
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.livelinkNameSpec,null);
+ parameters.setParameter(LiveLinkParameters.userNameRegexp,null);
+ parameters.setParameter(LiveLinkParameters.livelinkNameSpec,null);
- org.apache.manifoldcf.crawler.connectors.livelink.MatchMap matchMap = new org.apache.manifoldcf.crawler.connectors.livelink.MatchMap();
+ MatchMap matchMap = new MatchMap();
matchMap.appendMatchPair(usernameRegexp,livelinkUserExpr);
- parameters.setParameter(org.apache.manifoldcf.crawler.connectors.livelink.LiveLinkParameters.userNameMapping,matchMap.toString());
+ parameters.setParameter(LiveLinkParameters.userNameMapping,matchMap.toString());
}
+ // Cache parameters
String cacheLifetime = variableContext.getParameter("cachelifetime");
if (cacheLifetime != null)
parameters.setParameter(LiveLinkParameters.cacheLifetime,cacheLifetime);
-
String cacheLRUsize = variableContext.getParameter("cachelrusize");
if (cacheLRUsize != null)
parameters.setParameter(LiveLinkParameters.cacheLRUSize,cacheLRUsize);
Modified: manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkConnector.java
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkConnector.java?rev=1457777&r1=1457776&r2=1457777&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkConnector.java (original)
+++ manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/java/org/apache/manifoldcf/crawler/connectors/livelink/LivelinkConnector.java Mon Mar 18 14:18:20 2013
@@ -1436,10 +1436,31 @@ public class LivelinkConnector extends o
out.print(
"<script type=\"text/javascript\">\n"+
"<!--\n"+
+"function ServerDeleteCertificate(aliasName)\n"+
+"{\n"+
+" editconnection.serverkeystorealias.value = aliasName;\n"+
+" editconnection.serverconfigop.value = \"Delete\";\n"+
+" postForm();\n"+
+"}\n"+
+"\n"+
+"function ServerAddCertificate()\n"+
+"{\n"+
+" if (editconnection.servercertificate.value == \"\")\n"+
+" {\n"+
+" alert(\""+Messages.getBodyJavascriptString(locale,"LivelinkConnector.ChooseACertificateFile")+"\");\n"+
+" editconnection.servercertificate.focus();\n"+
+" }\n"+
+" else\n"+
+" {\n"+
+" editconnection.serverconfigop.value = \"Add\";\n"+
+" postForm();\n"+
+" }\n"+
+"}\n"+
+"\n"+
"function IngestDeleteCertificate(aliasName)\n"+
"{\n"+
" editconnection.ingestkeystorealias.value = aliasName;\n"+
-" editconnection.configop.value = \"Delete\";\n"+
+" editconnection.ingestconfigop.value = \"Delete\";\n"+
" postForm();\n"+
"}\n"+
"\n"+
@@ -1452,7 +1473,7 @@ public class LivelinkConnector extends o
" }\n"+
" else\n"+
" {\n"+
-" editconnection.configop.value = \"Add\";\n"+
+" editconnection.ingestconfigop.value = \"Add\";\n"+
" postForm();\n"+
" }\n"+
"}\n"+
@@ -1539,39 +1560,43 @@ public class LivelinkConnector extends o
Locale locale, ConfigParams parameters, String tabName)
throws ManifoldCFException, IOException
{
- String ingestProtocol = parameters.getParameter(LiveLinkParameters.ingestProtocol);
- if (ingestProtocol == null)
- ingestProtocol = "http";
- String ingestPort = parameters.getParameter(LiveLinkParameters.ingestPort);
- if (ingestPort == null)
- ingestPort = "";
- String ingestCgiPath = parameters.getParameter(LiveLinkParameters.ingestCgiPath);
- if (ingestCgiPath == null)
- ingestCgiPath = "/livelink/livelink.exe";
- String viewProtocol = parameters.getParameter(LiveLinkParameters.viewProtocol);
- if (viewProtocol == null)
- viewProtocol = "";
- String viewServerName = parameters.getParameter(LiveLinkParameters.viewServerName);
- if (viewServerName == null)
- viewServerName = "";
- String viewPort = parameters.getParameter(LiveLinkParameters.viewPort);
- if (viewPort == null)
- viewPort = "";
- String viewCgiPath = parameters.getParameter(LiveLinkParameters.viewCgiPath);
- if (viewCgiPath == null)
- viewCgiPath = "";
+
+ // LAPI parameters
String serverName = parameters.getParameter(LiveLinkParameters.serverName);
if (serverName == null)
serverName = "localhost";
String serverPort = parameters.getParameter(LiveLinkParameters.serverPort);
if (serverPort == null)
serverPort = "2099";
+ String serverDomain = parameters.getParameter(LiveLinkParameters.serverDomain);
+ if (serverDomain == null)
+ serverDomain = "";
String serverUserName = parameters.getParameter(LiveLinkParameters.serverUsername);
if (serverUserName == null)
serverUserName = "";
String serverPassword = parameters.getObfuscatedParameter(LiveLinkParameters.serverPassword);
if (serverPassword == null)
serverPassword = "";
+ String serverUseSSL = parameters.getParameter(LiveLinkParameters.serverSSL);
+ if (serverUseSSL == null)
+ serverUseSSL = "no";
+ String serverKeystore = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager localServerKeystore;
+ if (serverKeystore == null)
+ localServerKeystore = KeystoreManagerFactory.make("");
+ else
+ localServerKeystore = KeystoreManagerFactory.make("",serverKeystore);
+
+ // Document access parameters
+ String ingestProtocol = parameters.getParameter(LiveLinkParameters.ingestProtocol);
+ if (ingestProtocol == null)
+ ingestProtocol = "http";
+ String ingestPort = parameters.getParameter(LiveLinkParameters.ingestPort);
+ if (ingestPort == null)
+ ingestPort = "";
+ String ingestCgiPath = parameters.getParameter(LiveLinkParameters.ingestCgiPath);
+ if (ingestCgiPath == null)
+ ingestCgiPath = "/livelink/livelink.exe";
String ingestNtlmUsername = parameters.getParameter(LiveLinkParameters.ingestNtlmUsername);
if (ingestNtlmUsername == null)
ingestNtlmUsername = "";
@@ -1587,10 +1612,32 @@ public class LivelinkConnector extends o
localIngestKeystore = KeystoreManagerFactory.make("");
else
localIngestKeystore = KeystoreManagerFactory.make("",ingestKeystore);
+
+ // Document view parameters
+ String viewProtocol = parameters.getParameter(LiveLinkParameters.viewProtocol);
+ if (viewProtocol == null)
+ viewProtocol = "";
+ String viewServerName = parameters.getParameter(LiveLinkParameters.viewServerName);
+ if (viewServerName == null)
+ viewServerName = "";
+ String viewPort = parameters.getParameter(LiveLinkParameters.viewPort);
+ if (viewPort == null)
+ viewPort = "";
+ String viewCgiPath = parameters.getParameter(LiveLinkParameters.viewCgiPath);
+ if (viewCgiPath == null)
+ viewCgiPath = "";
+
+ // The "Server" tab
+ // Always pass the whole keystore as a hidden.
out.print(
-"<input name=\"configop\" type=\"hidden\" value=\"Continue\"/>\n"
+"<input name=\"serverconfigop\" type=\"hidden\" value=\"Continue\"/>\n"
);
- // The "Server" tab
+ if (serverKeystore != null)
+ {
+ out.print(
+"<input type=\"hidden\" name=\"serverkeystoredata\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverKeystore)+"\"/>\n"
+ );
+ }
if (tabName.equals(Messages.getString(locale,"LivelinkConnector.Server")))
{
out.print(
@@ -1605,6 +1652,10 @@ public class LivelinkConnector extends o
" <td class=\"value\"><input type=\"text\" size=\"5\" name=\"serverport\" value=\""+serverPort+"\"/></td>\n"+
" </tr>\n"+
" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerDomain")+"</nobr></td>\n"+
+" <td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverDomain)+"\"/></td>\n"+
+" </tr>\n"+
+" <tr>\n"+
" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerUserName")+"</nobr></td>\n"+
" <td class=\"value\"><input type=\"text\" size=\"32\" name=\"serverusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverUserName)+"\"/></td>\n"+
" </tr>\n"+
@@ -1612,6 +1663,49 @@ public class LivelinkConnector extends o
" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerPassword")+"</nobr></td>\n"+
" <td class=\"value\"><input type=\"password\" size=\"32\" name=\"serverpassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverPassword)+"\"/></td>\n"+
" </tr>\n"+
+" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"
+ );
+ out.print(
+" <tr>\n"+
+" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.ServerSSLCertificateList")+"</nobr></td>\n"+
+" <td class=\"value\">\n"+
+" <input type=\"hidden\" name=\"serverkeystorealias\" value=\"\"/>\n"+
+" <table class=\"displaytable\">\n"
+ );
+ // List the individual certificates in the store, with a delete button for each
+ String[] contents = localServerKeystore.getContents();
+ if (contents.length == 0)
+ {
+ out.print(
+" <tr><td class=\"message\" colspan=\"2\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.NoCertificatesPresent")+"</nobr></td></tr>\n"
+ );
+ }
+ else
+ {
+ int i = 0;
+ while (i < contents.length)
+ {
+ String alias = contents[i];
+ String description = localServerKeystore.getDescription(alias);
+ if (description.length() > 128)
+ description = description.substring(0,125) + "...";
+ out.print(
+" <tr>\n"+
+" <td class=\"value\"><input type=\"button\" onclick='Javascript:ServerDeleteCertificate(\""+org.apache.manifoldcf.ui.util.Encoder.attributeJavascriptEscape(alias)+"\")' alt=\""+Messages.getAttributeString(locale,"LivelinkConnector.DeleteCert")+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(alias)+"\" value=\"Delete\"/></td>\n"+
+" <td>"+org.apache.manifoldcf.ui.util.Encoder.bodyEscape(description)+"</td>\n"+
+" </tr>\n"
+ );
+ i++;
+ }
+ }
+ out.print(
+" </table>\n"+
+" <input type=\"button\" onclick='Javascript:ServerAddCertificate()' alt=\""+Messages.getAttributeString(locale,"LivelinkConnector.AddCert")+"\" value=\"Add\"/> \n"+
+" "+Messages.getBodyString(locale,"LivelinkConnector.Certificate")+"<input name=\"servercertificate\" size=\"50\" type=\"file\"/>\n"+
+" </td>\n"+
+" </tr>\n"
+ );
+ out.print(
"</table>\n"
);
}
@@ -1621,6 +1715,7 @@ public class LivelinkConnector extends o
out.print(
"<input type=\"hidden\" name=\"servername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverName)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverport\" value=\""+serverPort+"\"/>\n"+
+"<input type=\"hidden\" name=\"serverdomain\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverDomain)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverusername\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverUserName)+"\"/>\n"+
"<input type=\"hidden\" name=\"serverpassword\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(serverPassword)+"\"/>\n"
);
@@ -1628,6 +1723,9 @@ public class LivelinkConnector extends o
// The "Document Access" tab
// Always pass the whole keystore as a hidden.
+ out.print(
+"<input name=\"ingestconfigop\" type=\"hidden\" value=\"Continue\"/>\n"
+ );
if (ingestKeystore != null)
{
out.print(
@@ -1651,7 +1749,9 @@ public class LivelinkConnector extends o
" <tr>\n"+
" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.DocumentFetchPort")+"</nobr></td>\n"+
" <td class=\"value\"><input type=\"text\" size=\"5\" name=\"ingestport\" value=\""+ingestPort+"\"/></td>\n"+
-" </tr>\n"+
+" </tr>\n"
+ );
+ out.print(
" <tr>\n"+
" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.DocumentFetchSSLCertificateList")+"</nobr></td>\n"+
" <td class=\"value\">\n"+
@@ -1689,7 +1789,10 @@ public class LivelinkConnector extends o
" <input type=\"button\" onclick='Javascript:IngestAddCertificate()' alt=\""+Messages.getAttributeString(locale,"LivelinkConnector.AddCert")+"\" value=\"Add\"/> \n"+
" "+Messages.getBodyString(locale,"LivelinkConnector.Certificate")+"<input name=\"ingestcertificate\" size=\"50\" type=\"file\"/>\n"+
" </td>\n"+
-" </tr>\n"+
+" </tr>\n"
+ );
+ out.print(
+" <tr><td class=\"separator\" colspan=\"2\"><hr/></td></tr>\n"+
" <tr>\n"+
" <td class=\"description\"><nobr>"+Messages.getBodyString(locale,"LivelinkConnector.DocumentFetchCGIPath")+"</nobr></td>\n"+
" <td class=\"value\"><input type=\"text\" size=\"32\" name=\"ingestcgipath\" value=\""+org.apache.manifoldcf.ui.util.Encoder.attributeEscape(ingestCgiPath)+"\"/></td>\n"+
@@ -1785,21 +1888,7 @@ public class LivelinkConnector extends o
Locale locale, ConfigParams parameters)
throws ManifoldCFException
{
- String serverName = variableContext.getParameter("servername");
- if (serverName != null)
- parameters.setParameter(LiveLinkParameters.serverName,serverName);
- String serverPort = variableContext.getParameter("serverport");
- if (serverPort != null)
- parameters.setParameter(LiveLinkParameters.serverPort,serverPort);
- String ingestProtocol = variableContext.getParameter("ingestprotocol");
- if (ingestProtocol != null)
- parameters.setParameter(LiveLinkParameters.ingestProtocol,ingestProtocol);
- String ingestPort = variableContext.getParameter("ingestport");
- if (ingestPort != null)
- parameters.setParameter(LiveLinkParameters.ingestPort,ingestPort);
- String ingestCgiPath = variableContext.getParameter("ingestcgipath");
- if (ingestCgiPath != null)
- parameters.setParameter(LiveLinkParameters.ingestCgiPath,ingestCgiPath);
+ // View parameters
String viewProtocol = variableContext.getParameter("viewprotocol");
if (viewProtocol != null)
parameters.setParameter(LiveLinkParameters.viewProtocol,viewProtocol);
@@ -1812,12 +1901,92 @@ public class LivelinkConnector extends o
String viewCgiPath = variableContext.getParameter("viewcgipath");
if (viewCgiPath != null)
parameters.setParameter(LiveLinkParameters.viewCgiPath,viewCgiPath);
+
+ // Server parameters
+ String serverName = variableContext.getParameter("servername");
+ if (serverName != null)
+ parameters.setParameter(LiveLinkParameters.serverName,serverName);
+ String serverPort = variableContext.getParameter("serverport");
+ if (serverPort != null)
+ parameters.setParameter(LiveLinkParameters.serverPort,serverPort);
+ String serverDomain = variableContext.getParameter("serverdomain");
+ if (serverDomain != null)
+ parameters.setParameter(LiveLinkParameters.serverDomain,serverDomain);
String serverUserName = variableContext.getParameter("serverusername");
if (serverUserName != null)
parameters.setParameter(LiveLinkParameters.serverUsername,serverUserName);
String serverPassword = variableContext.getParameter("serverpassword");
if (serverPassword != null)
parameters.setObfuscatedParameter(LiveLinkParameters.serverPassword,serverPassword);
+ String serverKeystoreValue = variableContext.getParameter("serverkeystoredata");
+ if (serverKeystoreValue != null)
+ parameters.setParameter(LiveLinkParameters.serverKeystore,serverKeystoreValue);
+
+ String serverConfigOp = variableContext.getParameter("serverconfigop");
+ if (serverConfigOp != null)
+ {
+ if (serverConfigOp.equals("Delete"))
+ {
+ String alias = variableContext.getParameter("serverkeystorealias");
+ serverKeystoreValue = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager mgr;
+ if (serverKeystoreValue != null)
+ mgr = KeystoreManagerFactory.make("",serverKeystoreValue);
+ else
+ mgr = KeystoreManagerFactory.make("");
+ mgr.remove(alias);
+ parameters.setParameter(LiveLinkParameters.serverKeystore,mgr.getString());
+ }
+ else if (serverConfigOp.equals("Add"))
+ {
+ String alias = IDFactory.make(threadContext);
+ byte[] certificateValue = variableContext.getBinaryBytes("servercertificate");
+ serverKeystoreValue = parameters.getParameter(LiveLinkParameters.serverKeystore);
+ IKeystoreManager mgr;
+ if (serverKeystoreValue != null)
+ mgr = KeystoreManagerFactory.make("",serverKeystoreValue);
+ else
+ mgr = KeystoreManagerFactory.make("");
+ java.io.InputStream is = new java.io.ByteArrayInputStream(certificateValue);
+ String certError = null;
+ try
+ {
+ mgr.importCertificate(alias,is);
+ }
+ catch (Throwable e)
+ {
+ certError = e.getMessage();
+ }
+ finally
+ {
+ try
+ {
+ is.close();
+ }
+ catch (IOException e)
+ {
+ // Eat this exception
+ }
+ }
+
+ if (certError != null)
+ {
+ return "Illegal certificate: "+certError;
+ }
+ parameters.setParameter(LiveLinkParameters.serverKeystore,mgr.getString());
+ }
+ }
+
+ // Ingest parameters
+ String ingestProtocol = variableContext.getParameter("ingestprotocol");
+ if (ingestProtocol != null)
+ parameters.setParameter(LiveLinkParameters.ingestProtocol,ingestProtocol);
+ String ingestPort = variableContext.getParameter("ingestport");
+ if (ingestPort != null)
+ parameters.setParameter(LiveLinkParameters.ingestPort,ingestPort);
+ String ingestCgiPath = variableContext.getParameter("ingestcgipath");
+ if (ingestCgiPath != null)
+ parameters.setParameter(LiveLinkParameters.ingestCgiPath,ingestCgiPath);
String ingestNtlmDomain = variableContext.getParameter("ingestntlmdomain");
if (ingestNtlmDomain != null)
parameters.setParameter(LiveLinkParameters.ingestNtlmDomain,ingestNtlmDomain);
@@ -1831,10 +2000,10 @@ public class LivelinkConnector extends o
if (ingestKeystoreValue != null)
parameters.setParameter(LiveLinkParameters.ingestKeystore,ingestKeystoreValue);
- String configOp = variableContext.getParameter("configop");
- if (configOp != null)
+ String ingestConfigOp = variableContext.getParameter("ingestconfigop");
+ if (ingestConfigOp != null)
{
- if (configOp.equals("Delete"))
+ if (ingestConfigOp.equals("Delete"))
{
String alias = variableContext.getParameter("ingestkeystorealias");
ingestKeystoreValue = parameters.getParameter(LiveLinkParameters.ingestKeystore);
@@ -1846,7 +2015,7 @@ public class LivelinkConnector extends o
mgr.remove(alias);
parameters.setParameter(LiveLinkParameters.ingestKeystore,mgr.getString());
}
- else if (configOp.equals("Add"))
+ else if (ingestConfigOp.equals("Add"))
{
String alias = IDFactory.make(threadContext);
byte[] certificateValue = variableContext.getBinaryBytes("ingestcertificate");
Modified: manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/common_en_US.properties
URL: http://svn.apache.org/viewvc/manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/common_en_US.properties?rev=1457777&r1=1457776&r2=1457777&view=diff
==============================================================================
--- manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/common_en_US.properties (original)
+++ manifoldcf/branches/CONNECTORS-664/connectors/livelink/connector/src/main/native2ascii/org/apache/manifoldcf/crawler/connectors/livelink/common_en_US.properties Mon Mar 18 14:18:20 2013
@@ -132,3 +132,5 @@ LivelinkConnector.CacheLifetimeMustBeAnI
LivelinkConnector.CacheLRUSizeCannotBeNull=Cache LRU size cannot be null
LivelinkConnector.CacheLRUSizeMustBeAnInteger=Cache LRU size must be an integer
+LivelinkConnector.ServerDomain=Server domain (if using NTLM):
+LivelinkConnector.ServerSSLCertificateList=Server SSL certificate list: