diff -ur vnc_unixsrc/include/rfbproto.h vnc_unixsrc-workingbeta/include/rfbproto.h
--- vnc_unixsrc/include/rfbproto.h	2006-11-28 13:22:07.000000000 +0100
+++ vnc_unixsrc-workingbeta/include/rfbproto.h	2010-07-04 17:19:06.000000000 +0200
@@ -271,9 +271,11 @@
 /* Standard authentication methods. */
 #define rfbAuthNone 1
 #define rfbAuthVNC 2
+#define rfbAPCAUTH 3
 
 #define sig_rfbAuthNone "NOAUTH__"
 #define sig_rfbAuthVNC "VNCAUTH_"
+#define sig_APCAUTH "APCAUTH_"
 
 /* These two are not used in the mainstream version. */
 #define rfbAuthUnixLogin 129
diff -ur vnc_unixsrc/vncviewer/rfbproto.c vnc_unixsrc-workingbeta/vncviewer/rfbproto.c
--- vnc_unixsrc/vncviewer/rfbproto.c	2006-12-08 08:20:03.000000000 +0100
+++ vnc_unixsrc-workingbeta/vncviewer/rfbproto.c	2010-07-04 17:36:17.000000000 +0200
@@ -36,6 +36,7 @@
 static int ReadSecurityType(void);
 static int SelectSecurityType(void);
 static Bool PerformAuthenticationTight(void);
+static Bool AuthenticateAPC(void);
 static Bool AuthenticateVNC(void);
 static Bool AuthenticateNone(void);
 static Bool ReadAuthenticationResult(void);
@@ -151,6 +152,9 @@
 	  "No authentication");
   CapsAdd(authCaps, rfbAuthVNC, rfbStandardVendor, sig_rfbAuthVNC,
 	  "Standard VNC password authentication");
+  /* alwayonpc AUTH*/
+  CapsAdd(authCaps, rfbAPCAUTH, rfbStandardVendor, sig_APCAUTH, "Alwaysonpc.com Dummy-Auth");
+
 
   /* Supported encoding types */
   CapsAdd(encodingCaps, rfbEncodingCopyRect, rfbStandardVendor,
@@ -275,7 +279,7 @@
     if (!AuthenticateVNC())
       return False;
     break;
-  case rfbSecTypeTight:
+  case rfbSecTypeTight: 
     tightVncProtocol = True;
     InitCapabilities();
     if (!SetupTunneling())
@@ -485,7 +489,7 @@
   /* Try server's preferred authentication scheme. */
   for (i = 0; i < CapsNumEnabled(authCaps); i++) {
     authScheme = CapsGetByOrder(authCaps, i);
-    if (authScheme != rfbAuthVNC && authScheme != rfbAuthNone)
+    if (authScheme != rfbAuthVNC && authScheme != rfbAuthNone && authScheme != rfbAPCAUTH)
       continue;                 /* unknown scheme - cannot use it */
     authScheme = Swap32IfLE(authScheme);
     if (!WriteExact(rfbsock, (char *)&authScheme, sizeof(authScheme)))
@@ -497,6 +501,8 @@
       return AuthenticateNone();
     case rfbAuthVNC:
       return AuthenticateVNC();
+    case rfbAPCAUTH:
+      return AuthenticateAPC();    
     default:                      /* should never happen */
       fprintf(stderr, "Internal error: Invalid authentication type\n");
       return False;
@@ -525,6 +531,106 @@
   return True;
 }
 
+/* alwaysonpc.com-dummy-packet
+ *
+ * You can send invalid 
+ * login-information to get
+ * access to the server,
+ * than type your mail/pw
+ * into the appearing mask.
+ *
+ * Thats the reason I chose to
+ * send a dummy-packet with
+ * dummy@dummyhostcom:dummy
+ *
+ * Setup:
+ * On local machine exec
+ * ssh -L 5900:127.0.0.1:5900 -p 443 yourmail@vnc.alwaysonpc.com
+ *
+ * than run this patched
+ * version of vncviewer
+ * ./vncviewer 127.0.0.1
+ *
+ * by Thorben Went
+ */
+
+static Bool
+AuthenticateAPC(void) {
+ char dummypacket[] = {
+ 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x75, 0x73, 0x65, 
+ 0x72, 0x40, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x68, 
+ 0x6f, 0x73, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 
+ 0x75, 0x6d, 0x6d, 0x79, 0x70, 0x77, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
+ 0x01, 0x02, 0x03, 0x04, 0x30, 0x34, 0x32, 0x32, 
+ 0x32, 0x30, 0x30, 0x39, 0x00, 0x00, 0x00, 0x00 };
+ 
+ 
+ if (!WriteExact(rfbsock, dummypacket, sizeof(dummypacket)))
+    return False;
+ return ReadAuthenticationResult();
+}
+
+
 
 /*
  * Standard VNC authentication.
Nur in vnc_unixsrc/vncviewer: Vncviewer.

