-#include "logger.h"
-#include "ecdsa.h"
-#include "utils.h"
-
-// Set ECDSA keys
-
-bool ecdsa_set_base64_public_key(ecdsa_t *ecdsa, const char *p) {
- *ecdsa = EC_KEY_new_by_curve_name(NID_secp521r1);
+#define __TINC_ECDSA_INTERNAL__
+typedef EC_KEY ecdsa_t;
+
+#include "../logger.h"
+#include "../ecdsa.h"
+#include "../utils.h"
+#include "../xalloc.h"
+
+// Get and set ECDSA keys
+//
+ecdsa_t *ecdsa_set_base64_public_key(const char *p) {
+ ecdsa_t *ecdsa = EC_KEY_new_by_curve_name(NID_secp521r1);
+ if(!ecdsa) {
+ logger(DEBUG_ALWAYS, LOG_DEBUG, "EC_KEY_new_by_curve_name failed: %s", ERR_error_string(ERR_get_error(), NULL));
+ return NULL;
+ }