From 8af6b12ee8716d2004d13bbfc81281953975b466 Mon Sep 17 00:00:00 2001 From: open-license-manager <rillf@maildrop.cc> Date: 周一, 04 8月 2014 00:15:33 +0800 Subject: [PATCH] new identifier strategy (to be reverted --- src/library/os/linux/os-linux.c | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-) diff --git a/src/library/os/linux/os-linux.c b/src/library/os/linux/os-linux.c index b791859..af828bd 100644 --- a/src/library/os/linux/os-linux.c +++ b/src/library/os/linux/os-linux.c @@ -31,6 +31,9 @@ #include <dirent.h> #include <stdio.h> +#include <dbus-1.0/dbus/dbus.h> +#include <sys/utsname.h> + static int ifname_position(char *ifnames, char * ifname, int ifnames_max) { int i, position; position = -1; @@ -49,7 +52,7 @@ FUNCTION_RETURN f_return = OK; struct ifaddrs *ifaddr, *ifa; - int family, i, n, if_name_position; + int family, i, n, if_name_position; unsigned int if_num, if_max; //char host[NI_MAXHOST]; char *ifnames; @@ -408,3 +411,22 @@ return NONE; } +FUNCTION_RETURN getMachineName(unsigned char identifier[6]) { + static struct utsname u; + + if (uname(&u) < 0) { + return ERROR; + } + memcpy(identifier, u.nodename, 6); + return OK; +} + +FUNCTION_RETURN getOsSpecificIdentifier(unsigned char identifier[6]) { + char* dbus_id = dbus_get_local_machine_id(); + if (dbus_id == NULL) { + return ERROR; + } + memcpy(identifier, dbus_id, 6); + dbus_free(dbus_id); + return OK; +} -- Gitblit v1.9.1