--- 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 #else #include #endif ]) +AC_CHECK_DECL([uuid_generate],, , + [#ifdef HAVE_OSSP_UUID_H + #include + #else + #include + #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 #else -#include +#include #endif #include @@ -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';