1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
--- guacamole-server-0.9.7/configure.ac 2015-06-08 17:35:23.000000000 -0700
+++ guacamole-server-0.9.7-new/configure.ac 2015-06-18 15:03:22.424072017 -0700
@@ -64,19 +64,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.7/src/libguac/client.c 2015-05-29 15:29:19.000000000 -0700
+++ guacamole-server-0.9.7-new/src/libguac/client.c 2015-06-18 14:58:43.163055905 -0700
@@ -36,7 +36,7 @@
#ifdef HAVE_OSSP_UUID_H
#include <ossp/uuid.h>
#else
-#include <uuid.h>
+#include <uuid/uuid.h>
#endif
#include <stdarg.h>
@@ -134,8 +134,8 @@
char* buffer;
char* identifier;
+#ifdef HAVE_OSSP_UUID_H
size_t identifier_length;
-
uuid_t* uuid;
/* Attempt to create UUID object */
@@ -175,6 +175,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';
|