Print proper error code for DNS-SD 12/235212/2 accepted/tizen/unified/20200608.211145 submit/tizen/20200608.074221
authorYu <jiung.yu@samsung.com>
Wed, 3 Jun 2020 00:03:47 +0000 (09:03 +0900)
committerYu <jiung.yu@samsung.com>
Wed, 3 Jun 2020 00:05:44 +0000 (09:05 +0900)
Change-Id: Idf754b48d2d2420fc089ffdc323c4f90927149c9
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
src/dns-sd/dns-sd.c

index 739415b14e6fff6f923ad190784ffac57442fbeb..31e11d4560f30b2f2485b175263322dfae7d780f 100644 (file)
@@ -43,32 +43,71 @@ static __thread GSList *resolve_handle_list = NULL;
 static __thread bool g_is_init = false;
 static __thread GDBusConnection *netconfig_bus = NULL;
 
-static const char *dnssd_error_to_string(dnssd_error_e error)
+static const char *dnssd_error_to_string(DNSServiceErrorType dnssd_service_error)
 {
-       switch (error) {
-       case DNSSD_ERROR_NONE:
-               return "DNSSD_ERROR_NONE";
-       case DNSSD_ERROR_OUT_OF_MEMORY:
-               return "DNSSD_ERROR_OUT_OF_MEMORY";             //LCOV_EXCL_LINE
-       case DNSSD_ERROR_INVALID_PARAMETER:
-               return "DNSSD_ERROR_INVALID_PARAMETER"; //LCOV_EXCL_LINE
-       case DNSSD_ERROR_NOT_SUPPORTED:
-               return "DNSSD_ERROR_NOT_SUPPORTED";             //LCOV_EXCL_LINE
-       case DNSSD_ERROR_NOT_INITIALIZED:
-               return "DNSSD_ERROR_NOT_INITIALIZED";   //LCOV_EXCL_LINE
-       case DNSSD_ERROR_ALREADY_REGISTERED:
-               return "DNSSD_ERROR_ALREADY_REGISTERED";//LCOV_EXCL_LINE
-       case DNSSD_ERROR_NAME_CONFLICT:
-               return "DNSSD_ERROR_NAME_CONFLICT";             //LCOV_EXCL_LINE
-       case DNSSD_ERROR_SERVICE_NOT_RUNNING:
-               return "DNSSD_ERROR_SERVICE_NOT_RUNNING";//LCOV_EXCL_LINE
-       case DNSSD_ERROR_OPERATION_FAILED:
-               return "DNSSD_ERROR_OPERATION_FAILED";  //LCOV_EXCL_LINE
+       switch (dnssd_service_error) {
+       case kDNSServiceErr_NoError:
+               return "NoError";
+       case kDNSServiceErr_Unknown:
+               return "Unknown";
+       case kDNSServiceErr_NoMemory:
+               return "NoMemory";
+       case kDNSServiceErr_BadParam:
+               return "BadParam";
+       case kDNSServiceErr_BadReference:
+               return "BadReference";
+       case kDNSServiceErr_BadState:
+               return "BadState";
+       case kDNSServiceErr_BadFlags:
+               return "BadFlags";
+       case kDNSServiceErr_Unsupported:
+               return "Unsupported";
+       case kDNSServiceErr_NotInitialized:
+               return "NotInitialized";
+       case kDNSServiceErr_AlreadyRegistered:
+               return "AlreadyRegistered";
+       case kDNSServiceErr_NameConflict:
+               return "NameConflict";
+       case kDNSServiceErr_Invalid:
+               return "Invalid";
+       case kDNSServiceErr_Firewall:
+               return "Firewall";
+       case kDNSServiceErr_Incompatible:
+               return "Incompatible";
+       case kDNSServiceErr_BadInterfaceIndex:
+               return "BadInterfaceIndex";
+       case kDNSServiceErr_Refused:
+               return "Refused";
+       case kDNSServiceErr_NoSuchRecord:
+               return "NoSuchRecord";
+       case kDNSServiceErr_NoAuth:
+               return "NoAuth";
+       case kDNSServiceErr_NoSuchKey:
+               return "NoSuchKey";
+       case kDNSServiceErr_NATTraversal:
+               return "NATTraversal";
+       case kDNSServiceErr_DoubleNAT:
+               return "DoubleNAT";
+       case kDNSServiceErr_BadTime:
+               return "BadTime";
+       case kDNSServiceErr_Transient:
+               return "Transient";
+       case kDNSServiceErr_ServiceNotRunning:
+               return "ServiceNotRunning";
+       case kDNSServiceErr_NATPortMappingUnsupported:
+               return "NATPortMappingUnsupported";
+       case kDNSServiceErr_NATPortMappingDisabled:
+               return "NATPortMappingDisabled";
+       case kDNSServiceErr_NoRouter:
+               return "NoRouter";
+       case kDNSServiceErr_PollingMode:
+               return "PollingMode";
+       case kDNSServiceErr_Timeout:
+               return "Timeout";
        default:
                return "UNSUPPORTED_ERROR";
        }
 }
-
 static dnssd_handle_s *__dnssd_check_handle_validity(dnssd_handle_s *handle)
 {
        __DNSSD_LOG_FUNC_ENTER__;
@@ -626,7 +665,7 @@ int dnssd_service_add_txt_record(dnssd_service_h local_service,
                const char *key, unsigned short length, const void *value)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        TXTRecordRef *txt_record;
        dnssd_handle_s *local_handle = NULL;
        dnssd_register_data_s *reg = NULL;
@@ -677,11 +716,11 @@ int dnssd_service_add_txt_record(dnssd_service_h local_service,
        }
 
        ret = TXTRecordSetValue(txt_record, key, length, value);
-       if (ret != DNSSD_ERROR_NONE) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to add value to key, error[%s]",     //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));                            //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;
-               return ret;
+               return DNSSD_ERROR_OPERATION_FAILED;
        } else {
                DNSSD_LOGD("Succeeded to add value to key");
        }
@@ -694,7 +733,7 @@ int dnssd_service_remove_txt_record(dnssd_service_h local_service,
                const char *key)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        TXTRecordRef *txt_record;
        dnssd_handle_s *local_handle;
        dnssd_register_data_s *reg = NULL;
@@ -731,11 +770,11 @@ int dnssd_service_remove_txt_record(dnssd_service_h local_service,
        txt_record = &(reg->txt_ref);
 
        ret = TXTRecordRemoveValue(txt_record, key);
-       if (ret != DNSSD_ERROR_NONE) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to remove value from key, error[%s]",
                                dnssd_error_to_string(ret));
                __DNSSD_LOG_FUNC_EXIT__;
-               return ret;
+               return DNSSD_ERROR_OPERATION_FAILED;
        } else {
                DNSSD_LOGD("Succeeded to remove value from key");
        }
@@ -757,7 +796,7 @@ int dnssd_service_set_record(dnssd_service_h local_service, unsigned short type,
                unsigned short length, const void *data)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle = NULL;
        dnssd_register_data_s *reg;
 
@@ -795,7 +834,7 @@ int dnssd_service_set_record(dnssd_service_h local_service, unsigned short type,
                                local_handle->flags, length, data, 0);          //LCOV_EXCL_LINE
        }
 
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to Add Record for DNS Service, error[%s]",   //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));                                                    //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;                                                                                //LCOV_EXCL_LINE
@@ -812,10 +851,10 @@ int dnssd_service_unset_record(dnssd_service_h local_service,
                unsigned short type)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle;
        dnssd_register_data_s *reg;
-       int dnssd_err = 0;
+       DNSServiceErrorType dnssd_err = 0;
        uint32_t version = 0;
        uint32_t size = sizeof(version);
 
@@ -849,14 +888,14 @@ int dnssd_service_unset_record(dnssd_service_h local_service,
        }
 
        dnssd_err = DNSServiceGetProperty(kDNSServiceProperty_DaemonVersion, &version, &size);
-       if (!dnssd_err)
+       if (dnssd_err != kDNSServiceErr_NoError)
                DNSSD_LOGD("Daemon is running ver. %d.%d", version / 10000, version / 100 % 100);
        else
                DNSSD_LOGE("Daemon is not running");
 
        ret = DNSServiceRemoveRecord(local_handle->sd_ref, reg->record_ref,
                        local_handle->flags);
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to Remove Record for DNS Service, error[%s]",        //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));                                                            //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;                                                                                        //LCOV_EXCL_LINE
@@ -883,7 +922,7 @@ static void __dnssd_register_reply_cb(DNSServiceRef sd_ref, unsigned int flags,
 
        DNSSD_LOGD("Received Registration Reply");
 
-       if (error_code != DNSSD_ERROR_NONE)
+       if (error_code != kDNSServiceErr_NoError)
                DNSSD_LOGE("Failed to register, error code %d -> %s",   //LCOV_EXCL_LINE
                                error_code,     //LCOV_EXCL_LINE
                                dnssd_error_to_string(error_code));     //LCOV_EXCL_LINE
@@ -917,7 +956,7 @@ int dnssd_register_local_service(dnssd_service_h local_service,
                dnssd_registered_cb register_cb, void *user_data)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle = NULL;
        dnssd_register_data_s *reg = NULL;
        void *data;
@@ -975,7 +1014,7 @@ int dnssd_register_local_service(dnssd_service_h local_service,
                        length, data, __dnssd_register_reply_cb,
                        NULL);
        g_free(data);
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to register for dns service, error[%s]",     //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));    //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;        //LCOV_EXCL_LINE
@@ -1029,7 +1068,7 @@ int dnssd_deregister_local_service(dnssd_service_h local_service)
        if (reg->record_ref) {
                ret = DNSServiceRemoveRecord(local_handle->sd_ref, reg->record_ref,
                                local_handle->flags);
-               if (ret < 0)    //LCOV_EXCL_LINE
+               if (ret != kDNSServiceErr_NoError)      //LCOV_EXCL_LINE
                        DNSSD_LOGE("Failed to Remove Record for DNS Service, "  //LCOV_EXCL_LINE
                                        "error[%s]", dnssd_error_to_string(ret));       //LCOV_EXCL_LINE
                else    //LCOV_EXCL_LINE
@@ -1148,7 +1187,7 @@ static int __dnssd_getaddrinfo(dnssd_handle_s *dnssd_handle, unsigned int flags,
                const char *fullname, const char *txt_record,
                unsigned short txt_len, int port)
 {
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle = NULL;
        dnssd_found_data_s *found = NULL;
        char *name;
@@ -1216,7 +1255,7 @@ static int __dnssd_getaddrinfo(dnssd_handle_s *dnssd_handle, unsigned int flags,
        if (ret < 0) {
                DNSSD_LOGE("Failed to GetAddrInfo, error[%s]",
                                dnssd_error_to_string(ret));
-               return ret;
+               return DNSSD_ERROR_OPERATION_FAILED;
        }
 
        __dnssd_handle_add_event_handler(&(local_handle->watch_id), local_handle);
@@ -1271,7 +1310,7 @@ static int __dnssd_resolve_dns_service(dnssd_handle_s *dnssd_handle,
                const char *service_name, const char *type, const char *domain)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        resolve_reply_data *data;
 
        data = g_try_malloc0(sizeof(resolve_reply_data));
@@ -1289,11 +1328,11 @@ static int __dnssd_resolve_dns_service(dnssd_handle_s *dnssd_handle,
 
        ret = DNSServiceResolve(&(data->sd_ref), flags, if_index, service_name,
                        type, domain, __dnssd_resolve_reply_cb, data);
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to Resolve DNS Service, error[%s]",
                                dnssd_error_to_string(ret));
                __DNSSD_LOG_FUNC_EXIT__;
-               return ret;
+               return DNSSD_ERROR_OPERATION_FAILED;
        }
 
        __dnssd_resolve_data_add_event_handler(&(data->watch_id), data);
@@ -1353,7 +1392,7 @@ static void __dnssd_browse_reply_cb(DNSServiceRef sd_ref, unsigned int flags,
 
        DNSSD_LOGD("Received Browse Reply");
 
-       if (error_code != DNSSD_ERROR_NONE) {
+       if (error_code != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to browse, error code %s",
                                dnssd_error_to_string(error_code));
                __DNSSD_LOG_FUNC_EXIT__;
@@ -1413,7 +1452,7 @@ int dnssd_start_browsing_service(const char *service_type,
                void *user_data)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle;
        dnssd_browse_data_s *browse;
        unsigned int handler;
@@ -1468,13 +1507,13 @@ int dnssd_start_browsing_service(const char *service_type,
                        kDNSServiceInterfaceIndexAny, local_handle->service_type,
                        local_handle->domain, __dnssd_browse_reply_cb,
                        NULL);
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to browse for dns service, error[%s]",       //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));    //LCOV_EXCL_LINE
                g_free(local_handle->service_type);     //LCOV_EXCL_LINE
                g_free(local_handle);   //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;        //LCOV_EXCL_LINE
-               return ret;     //LCOV_EXCL_LINE
+               return DNSSD_ERROR_OPERATION_FAILED;    //LCOV_EXCL_LINE
        }
 
        browse->callback = found_cb;
@@ -1493,7 +1532,7 @@ int dnssd_start_browsing_service_on_interface(const char *service_type, const ch
                void *user_data)
 {
        __DNSSD_LOG_FUNC_ENTER__;
-       int ret;
+       DNSServiceErrorType ret;
        dnssd_handle_s *local_handle;
        dnssd_browse_data_s *browse;
        unsigned int handler;
@@ -1552,13 +1591,13 @@ int dnssd_start_browsing_service_on_interface(const char *service_type, const ch
                        if_index, local_handle->service_type,
                        local_handle->domain, __dnssd_browse_reply_cb,
                        NULL);
-       if (ret < 0) {
+       if (ret != kDNSServiceErr_NoError) {
                DNSSD_LOGE("Failed to browse for dns service, error[%s]",       //LCOV_EXCL_LINE
                                dnssd_error_to_string(ret));    //LCOV_EXCL_LINE
                g_free(local_handle->service_type);     //LCOV_EXCL_LINE
                g_free(local_handle);   //LCOV_EXCL_LINE
                __DNSSD_LOG_FUNC_EXIT__;        //LCOV_EXCL_LINE
-               return ret;     //LCOV_EXCL_LINE
+               return DNSSD_ERROR_OPERATION_FAILED;    //LCOV_EXCL_LINE
        }
 
        browse->callback = found_cb;