-char *myport;
-static struct event device_ev;
-devops_t devops;
-
-char *proxyhost;
-char *proxyport;
-char *proxyuser;
-char *proxypass;
-proxytype_t proxytype;
-int autoconnect;
-
-char *scriptinterpreter;
-char *scriptextension;
-
-bool node_read_ecdsa_public_key(node_t *n) {
- if(ecdsa_active(&n->ecdsa))
- return true;
-
- splay_tree_t *config_tree;
- FILE *fp;
- char *pubname = NULL, *hcfname = NULL;
- char *p;
- bool result = false;
-
- xasprintf(&hcfname, "%s" SLASH "hosts" SLASH "%s", confbase, n->name);
-
- init_configuration(&config_tree);
- if(!read_config_file(config_tree, hcfname))
- goto exit;
-
- /* First, check for simple ECDSAPublicKey statement */
-
- if(get_config_string(lookup_config(config_tree, "ECDSAPublicKey"), &p)) {
- result = ecdsa_set_base64_public_key(&n->ecdsa, p);
- free(p);
- goto exit;
- }
-
- /* Else, check for ECDSAPublicKeyFile statement and read it */
-
- if(!get_config_string(lookup_config(config_tree, "ECDSAPublicKeyFile"), &pubname))
- xasprintf(&pubname, "%s" SLASH "hosts" SLASH "%s", confbase, n->name);
-
- fp = fopen(pubname, "r");
-
- if(!fp) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Error reading ECDSA public key file `%s': %s", pubname, strerror(errno));
- goto exit;
- }
-
- result = ecdsa_read_pem_public_key(&n->ecdsa, fp);
- fclose(fp);
-
-exit:
- exit_configuration(&config_tree);
- free(hcfname);
- free(pubname);
- return result;
-}
-
-bool read_ecdsa_public_key(connection_t *c) {
- FILE *fp;
- char *fname;
- char *p;
- bool result;
-
- /* First, check for simple ECDSAPublicKey statement */
-
- if(get_config_string(lookup_config(c->config_tree, "ECDSAPublicKey"), &p)) {
- result = ecdsa_set_base64_public_key(&c->ecdsa, p);
- free(p);
- return result;
- }
-
- /* Else, check for ECDSAPublicKeyFile statement and read it */
-
- if(!get_config_string(lookup_config(c->config_tree, "ECDSAPublicKeyFile"), &fname))
- xasprintf(&fname, "%s" SLASH "hosts" SLASH "%s", confbase, c->name);
-
- fp = fopen(fname, "r");
-
- if(!fp) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Error reading ECDSA public key file `%s': %s",
- fname, strerror(errno));
- free(fname);