]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
Function kr_resolve_query_finalize() returns error code.
authorKarel Slany <karel.slany@nic.cz>
Mon, 25 Jul 2016 11:33:45 +0000 (13:33 +0200)
committerOndřej Surý <ondrej@sury.org>
Thu, 11 Aug 2016 12:06:45 +0000 (14:06 +0200)
daemon/worker.c
lib/resolve.c
lib/resolve.h

index c27084a67a0345c33d7aaf039ac54479e8a6c5b9..26dc6d80d1a65c31e56257f69d13a456cedb65a6 100644 (file)
@@ -478,8 +478,8 @@ static int qr_task_send(struct qr_task *task, uv_handle_t *handle, struct sockad
                ret = kr_resolve_query_finalize(&task->req, NULL, addr,
                                                handle->type == UV_UDP ? SOCK_DGRAM : SOCK_STREAM,
                                                pkt);
-               if (ret == KNOT_STATE_FAIL) {
-                       return kr_error(EINVAL); /* @todo: What error code should it return. */
+               if (ret != kr_ok()) {
+                       return ret;
                }
        }
        /* Send using given protocol */
index 7a61695b4c5fdb17383d9d14c23ec3e8653505c7..513fcb197c890ba09149366e01390aac274e682c 100644 (file)
@@ -817,12 +817,12 @@ int kr_resolve_query_finalize(struct kr_request *request, struct sockaddr *src,
        struct kr_rplan *rplan = &request->rplan;
 
        if (knot_wire_get_qr(packet->wire) != 0) {
-               return request->state;
+               return kr_ok();
        }
 
        /* No query left for resolution */
        if (kr_rplan_empty(rplan)) {
-               return KNOT_STATE_FAIL;
+               return kr_error(EINVAL);
        }
        /* If we have deferred answers, resume them. */
        struct kr_query *qry = array_tail(rplan->pending);
@@ -843,14 +843,14 @@ int kr_resolve_query_finalize(struct kr_request *request, struct sockaddr *src,
                 * building the query i.e. the space needed for the cookie
                 * cannot be allocated in the cookie layer. */
                if (!outbound_request_update_cookies(request, src, dst)) {
-                       return KNOT_STATE_FAIL;
+                       return kr_error(EINVAL);
                }
        }
 #endif /* defined(ENABLE_COOKIES) */
 
        int ret = query_finalize(request, qry, packet);
        if (ret != 0) {
-               return KNOT_STATE_FAIL;
+               return kr_error(EINVAL);
        }
 
        WITH_DEBUG {
@@ -870,7 +870,7 @@ int kr_resolve_query_finalize(struct kr_request *request, struct sockaddr *src,
        }
        }
 
-       return request->state;
+       return kr_ok();
 }
 
 int kr_resolve_finish(struct kr_request *request, int state)
index 312de6e705a3dd7e9ad52deaf3649d9a8b7853c4..fe4349636c3674ce0891299eb3213fbd0f1c8f92 100644 (file)
@@ -187,7 +187,7 @@ int kr_resolve_produce(struct kr_request *request, struct sockaddr **dst, int *t
  * @param  dst     address of the name server
  * @param  type    used socket type (SOCK_STREAM, SOCK_DGRAM)
  * @param  packet  [in,out] query packet to be finalised
- * @return         any state
+ * @return         kr_ok() or error code
  */
 KR_EXPORT
 int kr_resolve_query_finalize(struct kr_request *request, struct sockaddr *src,