slackbuilds/network/guacamole-server/uuid.patch

76 lines
2.1 KiB
Diff

--- 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])
--- guacamole-server-0.9.8/src/libguac/client.c 2015-09-04 17:36:05.000000000 -0700
+++ guacamole-server-0.9.8.new/src/libguac/client.c 2015-11-27 16:36:00.230847035 -0800
@@ -39,7 +39,7 @@
#ifdef HAVE_OSSP_UUID_H
#include <ossp/uuid.h>
#else
-#include <uuid.h>
+#include <uuid/uuid.h>
#endif
#include <stdarg.h>
@@ -170,8 +170,8 @@
char* buffer;
char* identifier;
+#ifdef HAVE_OSSP_UUID_H
size_t identifier_length;
-
uuid_t* uuid;
/* Attempt to create UUID object */
@@ -211,6 +211,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] = '$';
buffer[UUID_LEN_STR + 1] = '\0';