--- 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 #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.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 #else -#include +#include #endif #include @@ -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';