Index: /trunk/Config.kmk
===================================================================
--- /trunk/Config.kmk	(revision 11609)
+++ /trunk/Config.kmk	(revision 11610)
@@ -410,6 +410,4 @@
 ifeq ($(KBUILD_TARGET),solaris)
  VBOX_WITH_SECURELABEL=
- VBOX_WITH_VRDP_AUTHMOD=
- VBOX_WITH_VRDP_RDESKTOP=
  VBOX_WITH_USB=
  VBOX_WITH_OGL=
@@ -1412,4 +1410,8 @@
 endif
 SDK_VBOX_OPENSSL_LIBS?= $(PATH_LIB)/VBox-libcrypto$(VBOX_SUFF_LIB)
+# Build entire openssl library, not just the minimal subset.
+if1of ($(KBUILD_TARGET), linux solaris)
+ VBOX_OPENSSL_ALL=1
+endif
 
 SDK_VBOX_FFMPEG       = .
Index: /trunk/src/VBox/Installer/linux/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 11609)
+++ /trunk/src/VBox/Installer/linux/Makefile.kmk	(revision 11610)
@@ -169,5 +169,5 @@
 	rdesktop-vrdp.tar.gz
 
- ifndef VBOX_HEADLESS
+ ifdef VBOX_WITH_VRDP_RDESKTOP
   LINUXNOSTRIP += \
 	rdesktop-vrdp-keymaps
Index: /trunk/src/VBox/Installer/solaris/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Installer/solaris/Makefile.kmk	(revision 11609)
+++ /trunk/src/VBox/Installer/solaris/Makefile.kmk	(revision 11610)
@@ -152,8 +152,13 @@
 	VBoxVRDP.so
 
-#
-# @todo This later...
-# SOLARIS_NO_STRIP += \
-#	rdesktop-vrdp.tar.gz
+ SOLARIS_NO_STRIP += \
+	rdesktop-vrdp.tar.gz
+
+ ifdef VBOX_WITH_VRDP_RDESKTOP
+  SOLARIS_NO_STRIP += \
+	rdesktop-vrdp-keymaps
+  SOLARIS_STRIP_BINS += \
+	rdesktop-vrdp
+ endif
 endif
 
Index: /trunk/src/VBox/RDP/client/Makefile.kmk
===================================================================
--- /trunk/src/VBox/RDP/client/Makefile.kmk	(revision 11609)
+++ /trunk/src/VBox/RDP/client/Makefile.kmk	(revision 11610)
@@ -28,5 +28,5 @@
 PROGRAMS += rdesktop-vrdp
 rdesktop-vrdp_TEMPLATE = VBOXR3NPEXE
-# rdesktop-vrdp_SDKS = VBOX_OPENSSL - crap, we don't build everything that's required here. :/
+rdesktop-vrdp_SDKS = VBOX_OPENSSL
 rdesktop-vrdp_DEFS = \
 	PACKAGE_NAME=\"rdesktop-vrdp\" PACKAGE_TARNAME=\"rdesktop-vrdp\" PACKAGE_VERSION=\"1.6.0\" \
@@ -34,14 +34,21 @@
 	HAVE_SYS_TYPES_H=1 HAVE_SYS_STAT_H=1 HAVE_STDLIB_H=1 HAVE_STRING_H=1 HAVE_MEMORY_H=1 \
 	HAVE_STRINGS_H=1 HAVE_INTTYPES_H=1 HAVE_STDINT_H=1 HAVE_UNISTD_H=1 HAVE_SYS_SELECT_H=1 \
-	HAVE_LOCALE_H=1 HAVE_LANGINFO_H=1 HAVE_ICONV_H=1 ssldir=\"/usr\" \
+	HAVE_LOCALE_H=1 HAVE_LANGINFO_H=1 HAVE_ICONV_H=1 \
 	EGD_SOCKET=\"/var/run/egd-pool\" WITH_RDPSND=1 HAVE_DIRENT_H=1 HAVE_DIRFD=1 HAVE_DECL_DIRFD=1 \
 	HAVE_ICONV=1 ICONV_CONST= HAVE_SYS_VFS_H=1 HAVE_SYS_STATVFS_H=1 HAVE_SYS_STATFS_H=1 \
-	HAVE_SYS_PARAM_H=1 HAVE_SYS_MOUNT_H=1 STAT_STATVFS=1 HAVE_STRUCT_STATVFS_F_NAMEMAX=1 \
-	HAVE_STRUCT_STATFS_F_NAMELEN=1 HAVE_MNTENT_H=1 HAVE_SETMNTENT=1 \
+	HAVE_SYS_PARAM_H=1 HAVE_SYS_MOUNT_H=1 HAVE_STRUCT_STATVFS_F_NAMEMAX=1 \
 	KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(DEFS)),RTPATH_APP_PRIVATE,\"/opt/VirtualBox-$(VBOX_VERSION_STRING)\")\"/rdesktop-vrdp-keymaps\" \
-	RDPSND_OSS=1 WITH_RDPUSB=1 RDESKTOP=1
+	WITH_RDPUSB=1 RDESKTOP=1
+
+rdesktop-vrdp_DEFS.linux = \
+	HAVE_MNTENT_H=1 HAVE_SETMNTENT=1 STAT_STATVFS=1 HAVE_STRUCT_STATFS_F_NAMELEN=1 \
+	RDPSND_OSS=1 WITH_RDPUSB=1
 ifdef VBOX_WITHOUT_LINUX_COMPILER_H
- rdesktop-vrdp_DEFS += VBOX_WITHOUT_LINUX_COMPILER_H
+ rdesktop-vrdp_DEFS.linux += VBOX_WITHOUT_LINUX_COMPILER_H
 endif
+# @todo once rdp proxy is available on Solaris, add WITH_RDPUSB=1
+rdesktop-vrdp_DEFS.solaris = \
+	HAVE_SYS_FILIO_H=1 RDPSND_SUN=1 HAVE_ICONV_H=1 ICONV_CONST=const STAT_STATVFS64=1 _FILE_OFFSET_BITS=64
+
 rdesktop-vrdp_SOURCES = \
 	tcp.c \
@@ -76,5 +83,6 @@
 	rdpsnd_dsp.c \
 	rdpsnd_oss.c
-rdesktop-vrdp_SOURCES += \
+# @todo implement usb proxy for Solaris
+rdesktop-vrdp_SOURCES.linux = \
 	vrdp/rdpusb.c \
 	vrdp/USBProxyDevice-linux.c
@@ -83,6 +91,5 @@
 	$(VBOX_LIBPATH_X11)
 rdesktop-vrdp_LIBS = \
-	X11 \
-	crypto
+	X11
 
 #
Index: /trunk/src/VBox/RDP/client/vrdp/USBProxyDevice-linux.c
===================================================================
--- /trunk/src/VBox/RDP/client/vrdp/USBProxyDevice-linux.c	(revision 11609)
+++ /trunk/src/VBox/RDP/client/vrdp/USBProxyDevice-linux.c	(revision 11610)
@@ -432,5 +432,5 @@
     uint32_t uDev;
     int rc = RTStrToUInt32Ex(psz + 1, NULL, 10, &uDev);
-    if (VBOX_SUCCESS(rc))
+    if (RT_SUCCESS(rc))
     {
         /* the bus number */
@@ -441,5 +441,5 @@
         uint32_t uBus;
         rc = RTStrToUInt32Ex(psz + 1, NULL, 10, &uBus);
-        if (VBOX_SUCCESS(rc))
+        if (RT_SUCCESS(rc))
         {
             strcpy(psz + 1, "devices");
@@ -451,8 +451,8 @@
             PRTSTREAM pFile;
             rc = RTStrmOpen(pszDevices, "r", &pFile);
-            if (VBOX_SUCCESS(rc))
+            if (RT_SUCCESS(rc))
             {
                 char szLine[1024];
-                while (VBOX_SUCCESS(RTStrmGetLine(pFile, szLine, sizeof(szLine))))
+                while (RT_SUCCESS(RTStrmGetLine(pFile, szLine, sizeof(szLine))))
                 {
                     /* we're only interested in 'T:' lines. */
@@ -487,5 +487,5 @@
                      * Scan until we find a selected configuration, the next device, or EOF.
                      */
-                    while (VBOX_SUCCESS(RTStrmGetLine(pFile, szLine, sizeof(szLine))))
+                    while (RT_SUCCESS(RTStrmGetLine(pFile, szLine, sizeof(szLine))))
                     {
                         psz = RTStrStripL(szLine);
@@ -504,5 +504,5 @@
                             psz = RTStrStripL(psz + 5);
                             rc = RTStrToUInt32Ex(psz, &pszNext, 10, &u); AssertRC(rc);
-                            if (VBOX_SUCCESS(rc))
+                            if (RT_SUCCESS(rc))
                             {
                                 if (piFirstCfg)
@@ -556,5 +556,5 @@
     RTFILE File;
     int rc = RTFileOpen(&File, pszAddress, RTFILE_O_READWRITE | RTFILE_O_OPEN | RTFILE_O_DENY_NONE);
-    if (VBOX_SUCCESS(rc))
+    if (RT_SUCCESS(rc))
     {
         /*
@@ -566,5 +566,5 @@
             pDevLnx->File = File;
             rc = RTCritSectInit(&pDevLnx->CritSect);
-            if (VBOX_SUCCESS(rc))
+            if (RT_SUCCESS(rc))
             {
                 pProxyDev->Backend.pv = pDevLnx;
@@ -907,5 +907,5 @@
             if (VBOX_FAILURE(rc2))
                 usbProxLinuxUrbUnplugged(pProxyDev);
-            if (VBOX_SUCCESS(rc2))
+            if (RT_SUCCESS(rc2))
             {
                 ASMAtomicDecU32(&g_cResetActive);
Index: /trunk/src/VBox/RDP/client/vrdp/vrdpusb.h
===================================================================
--- /trunk/src/VBox/RDP/client/vrdp/vrdpusb.h	(revision 11609)
+++ /trunk/src/VBox/RDP/client/vrdp/vrdpusb.h	(revision 11610)
@@ -74,5 +74,5 @@
 #define VERR_VUSB_USBFS_PERMISSION (-2005)
 
-#define VBOX_SUCCESS(_rc) ((_rc) >= 0)
+#define RT_SUCCESS(_rc) ((_rc) >= 0)
 
 #define RTFILE int
@@ -99,7 +99,7 @@
 } while (0)
 
-#define AssertRC(_rc) Assert(VBOX_SUCCESS(_rc))
-
-#define RT_FAILURE(_rc) (!VBOX_SUCCESS(_rc))
+#define AssertRC(_rc) Assert(RT_SUCCESS(_rc))
+
+#define RT_FAILURE(_rc) (!RT_SUCCESS(_rc))
 
 #define NOREF(_a) ((void)_a)
