summaryrefslogtreecommitdiffstats
path: root/network/guacamole-server/patch/uuid.patch
blob: 9107ab2e920d265718b32da86bed2e5e97f97756 (plain)
--- guacamole-server-0.9.8/configure.ac	2015-09-04 17:36:05.000000000 -0700
+++ guacamole-server-0.9.8.new/configure.ac	2015-11-27 16:36:00.229847035 -0800
@@ -68,19 +68,25 @@
 
 # OSSP UUID
 AC_CHECK_LIB([ossp-uuid], [uuid_make], [UUID_LIBS=-lossp-uuid],
-             AC_CHECK_LIB([uuid], [uuid_make], [UUID_LIBS=-luuid],
+             AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS=-luuid],
                           AC_MSG_ERROR("The OSSP UUID library is required")))
 
 # Check for and validate OSSP uuid.h header
-AC_CHECK_HEADERS([ossp/uuid.h])
-AC_CHECK_DECL([uuid_make],,
-              AC_MSG_ERROR("No OSSP uuid.h found in include path"),
+AC_CHECK_HEADERS([ossp/uuid.h], [uuid/uuid.h])
+AC_CHECK_DECL([uuid_make],, ,
               [#ifdef HAVE_OSSP_UUID_H
                #include <ossp/uuid.h>
                #else
                #include <uuid.h>
                #endif
                ])
+AC_CHECK_DECL([uuid_generate],, ,
+              [#ifdef HAVE_OSSP_UUID_H
+               #include <ossp/uuid.h>
+               #else
+               #include <uuid/uuid.h>
+               #endif
+               ])
 
 # cunit
 AC_CHECK_LIB([cunit], [CU_run_test], [CUNIT_LIBS=-lcunit])
--- incubator-guacamole-server-0.9.10-incubating/src/libguac/id.c	2016-12-18 10:44:24.000000000 -0800
+++ incubator-guacamole-server-0.9.10-incubating.new/src/libguac/id.c	2017-01-20 14:48:45.273476934 -0800
@@ -25,7 +25,7 @@
 #ifdef HAVE_OSSP_UUID_H
 #include <ossp/uuid.h>
 #else
-#include <uuid.h>
+#include <uuid/uuid.h>
 #endif
 
 #include <stdlib.h>
@@ -34,6 +34,7 @@
 
     char* buffer;
     char* identifier;
+#ifdef HAVE_OSSP_UUID_H
     size_t identifier_length;
 
     uuid_t* uuid;
@@ -75,6 +76,21 @@
     }
 
     uuid_destroy(uuid);
+#else
+    uuid_t uuid;
+#define UUID_LEN_STR 36
+
+    buffer = malloc (UUID_LEN_STR + 2);
+    if (buffer == NULL) {
+        guac_error = GUAC_STATUS_NO_MEMORY;
+        guac_error_message = "Could not allocate memory for connection ID";
+        return NULL;
+    }
+    identifier = buffer + 1;
+
+    uuid_generate (uuid);
+    uuid_unparse (uuid, identifier);
+#endif
 
     buffer[0] = prefix;
     buffer[UUID_LEN_STR + 1] = '\0';