SHA256
1
0
forked from pool/tigervnc
tigervnc/u_tigervnc-add-autoaccept-parameter.patch

65 lines
2.5 KiB
Diff
Raw Normal View History

Index: tigervnc-1.6.0/java/com/tigervnc/rfb/CSecurityTLS.java
===================================================================
--- tigervnc-1.6.0.orig/java/com/tigervnc/rfb/CSecurityTLS.java
+++ tigervnc-1.6.0/java/com/tigervnc/rfb/CSecurityTLS.java
@@ -64,6 +64,9 @@ public class CSecurityTLS extends CSecur
public static StringParameter x509crl
= new StringParameter("x509crl",
"X509 CRL file", "", Configuration.ConfigurationObject.ConfViewer);
+ public static StringParameter x509autoaccept
+ = new StringParameter("x509autoaccept",
+ "X509 Certificate SHA-1 fingerprint", "", Configuration.ConfigurationObject.ConfViewer);
private void initGlobal()
{
@@ -82,6 +85,7 @@ public class CSecurityTLS extends CSecur
setDefaults();
cafile = x509ca.getData();
crlfile = x509crl.getData();
+ certautoaccept = x509autoaccept.getData();
}
public static String getDefaultCA() {
@@ -277,6 +281,11 @@ public class CSecurityTLS extends CSecur
String thumbprint =
DatatypeConverter.printHexBinary(md.digest());
thumbprint = thumbprint.replaceAll("..(?!$)", "$0 ");
+
+ if (certautoaccept != null && thumbprint.equalsIgnoreCase(certautoaccept)) {
+ return;
+ }
+
int ret = JOptionPane.showOptionDialog(null,
"This certificate has been signed by an unknown authority\n"+
"\n"+
@@ -466,7 +475,7 @@ public class CSecurityTLS extends CSecur
private SSLEngineManager manager;
private boolean anon;
- private String cafile, crlfile;
+ private String cafile, crlfile, certautoaccept;
private FdInStream is;
private FdOutStream os;
Index: tigervnc-1.6.0/java/com/tigervnc/vncviewer/VncViewer.java
===================================================================
--- tigervnc-1.6.0.orig/java/com/tigervnc/vncviewer/VncViewer.java
+++ tigervnc-1.6.0/java/com/tigervnc/vncviewer/VncViewer.java
@@ -353,6 +353,8 @@ public class VncViewer extends javax.swi
parent.setFocusTraversalKeysEnabled(false);
setLookAndFeel();
setBackground(Color.white);
+
+ SecurityClient.setDefaults();
}
private void getTimestamp() {
@@ -374,6 +376,7 @@ public class VncViewer extends javax.swi
if (embed.getValue() && nViewers == 0) {
alwaysShowServerDialog.setParam(false);
Configuration.global().readAppletParams(this);
+ Configuration.viewer().readAppletParams(this);
fullScreen.setParam(false);
scalingFactor.setParam("100");
String host = getCodeBase().getHost();