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