From c443aed700ee5c395a67f69201236501eb187d1f Mon Sep 17 00:00:00 2001 From: sr Date: Thu, 20 Dec 2012 14:57:13 +0100 Subject: [SERVER] Remove unused default-namespace code --- src/server/helper.c | 2 +- src/server/job.c | 31 +++---------------------------- src/server/rpc.c | 2 ++ 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/src/server/helper.c b/src/server/helper.c index e5f520a..747dafe 100644 --- a/src/server/helper.c +++ b/src/server/helper.c @@ -116,7 +116,7 @@ char host_to_string(const dnbd3_host_t *host, char *target, size_t targetlen) char is_valid_namespace(char *namespace) { - if (*namespace == '\0' || *namespace == '/') + if (namespace == NULL || *namespace == '\0' || *namespace == '/') return 0; // Invalid: Length = 0 or starting with a slash while (*namespace) { diff --git a/src/server/job.c b/src/server/job.c index 71e09da..8b302c5 100644 --- a/src/server/job.c +++ b/src/server/job.c @@ -453,22 +453,6 @@ static void query_servers() goto communication_error; } // Data seems ok - char *ns = getTextFromPath(doc, "/data/defaultns"); - if (ns && *ns == '\0') - { - xmlFree(ns); - ns = NULL; - } - else - { - printf("[DEBUG] Other server's default namespace is '%s'\n", ns); - if (!is_valid_namespace(ns)) - { - printf("[DEBUG] Ignoring invalid namespace from other server.\n"); - xmlFree(ns); - ns = NULL; - } - } xmlNodePtr cur; FOR_EACH_NODE(doc, "/data/images/image", cur) @@ -491,14 +475,8 @@ static void query_servers() char *slash = strrchr(image, '/'); if (slash == NULL) { - if (!ns) - goto free_current_image; - if (!is_valid_imagename(image)) - { - printf("[DEBUG] Invalid image name: '%s'\n", image); - goto free_current_image; - } - snprintf(xmlbuffer, MAX_RPC_PAYLOAD, "%s/%s", ns, image); + printf("[DEBUG] Ignoring remote image with no '/' in name...\n"); + goto free_current_image; } else { @@ -518,10 +496,7 @@ static void query_servers() // Image seems legit, check if there's a local copy dnbd3_namespace_t *trust; pthread_spin_lock(&_spinlock); - if (slash == NULL) - trust = dnbd3_get_trust_level(&host, ns); - else - trust = dnbd3_get_trust_level(&host, image); + trust = dnbd3_get_trust_level(&host, image); if (trust == NULL) { // Namespace of image is not trusted pthread_spin_unlock(&_spinlock); diff --git a/src/server/rpc.c b/src/server/rpc.c index 152bf7c..163b345 100644 --- a/src/server/rpc.c +++ b/src/server/rpc.c @@ -339,12 +339,14 @@ static int rpc_receive(int client_sock) complete += 100; xmlAddDecimalProp(complete / size, tmp_node, "cachefill"); } + // Build space separated list of alt servers int i; char serverstr[1000] = {0}, target[100]; for (i = 0; i < NUMBER_SERVERS; ++i) { if (image->servers[i].host.type == 0) continue; if (!host_to_string(&(image->servers[i].host), target, 100)) continue; + if (*serverstr) strcat(serverstr, " "); strcat(serverstr, target); } xmlNewProp(tmp_node, BAD_CAST "servers", BAD_CAST serverstr); // TODO -- cgit v1.2.3-55-g7522