summaryrefslogtreecommitdiff
path: root/src/licensing.c
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik.ramaekers@protonmail.com>2020-02-16 11:44:55 +0100
committerAldrik Ramaekers <aldrik.ramaekers@protonmail.com>2020-02-16 11:44:55 +0100
commit138b63df9af0f32c0e22172dddf5234759883f67 (patch)
tree8e039dadc90ef091ade671d0eeed0cd3ac00b942 /src/licensing.c
parentb0c2f39e24cd6e09db23258e172e4390e72d0dca (diff)
licensing
Diffstat (limited to 'src/licensing.c')
-rw-r--r--src/licensing.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/licensing.c b/src/licensing.c
new file mode 100644
index 0000000..8de3604
--- /dev/null
+++ b/src/licensing.c
@@ -0,0 +1,36 @@
+/*
+* BSD 2-Clause “Simplified” License
+* Copyright (c) 2019, Aldrik Ramaekers, aldrik.ramaekers@protonmail.com
+* All rights reserved.
+*/
+
+#include "external/cJSON.h"
+
+static void* validate_license_thread(void *arg)
+{
+ char params[50];
+ sprintf(params, "can_run?ti=%s", license_key);
+
+ char response[MAX_INPUT_LENGTH];
+ if (platform_send_http_request("api.aldrik.org", params, response))
+ {
+ cJSON *result = cJSON_Parse(response);
+ if (!result) return false;
+ cJSON *canRun = cJSON_GetObjectItem(result, "canRun");
+ license_is_valid = canRun->valueint;
+ }
+
+ return 0;
+}
+
+void validate_license()
+{
+ license_is_valid = true;
+
+#ifdef MODE_DEVELOPER
+ return;
+#endif
+
+ thread license_thread = thread_start(validate_license_thread, NULL);
+ thread_detach(&license_thread);
+}