Use unsigned 16-bit integer for SRP port 25/279625/2
authorArkadiusz Bokowy <a.bokowy@partner.samsung.com>
Fri, 12 Aug 2022 09:39:52 +0000 (11:39 +0200)
committerArkadiusz Bokowy <a.bokowy@partner.samsung.com>
Tue, 16 Aug 2022 06:54:12 +0000 (08:54 +0200)
According to OpenThread[1] documentation the size of the SRP client
service port shall be unsigned 16-bit integer.

References:
[1] https://openthread.io/reference/struct/ot-srp-client-service

Change-Id: I027cc821ac13017ab6e5411f02cb8e3c79206085

include/thread.h
src/thread-srp.c
tests/thread-test/thread-srp.c

index 27064579b440d2542f5b4d73dfd58f11b31c9f8c..c991b62286ec55938a3a90e4211540d735988f66 100644 (file)
@@ -1475,7 +1475,7 @@ int thread_srp_client_set_host_address(thread_instance_h instance, const char *i
  * @see thread_srp_client_set_host_address()
  */
 int thread_srp_client_register_service(thread_instance_h instance,
-       const char *service_name, const char *service_type, uint64_t port);
+       const char *service_name, const char *service_type, uint16_t port);
 
 /**
  * @ingroup CAPI_NETWORK_THREAD_SRP_MODULE
@@ -1524,7 +1524,7 @@ int thread_srp_server_stop(thread_instance_h instance);
  * @see thread_srp_server_start()
  */
 int thread_srp_server_get_registered_service(thread_instance_h instance, const char **service_name,
-       const char **address, uint64_t *port, bool *is_deleted);
+       const char **address, uint16_t *port, bool *is_deleted);
 
 /**
  * @ingroup CAPI_NETWORK_THREAD_SRP_MODULE
index c8da03de8df8270fbd721e86d1aac16eca211470..461d044f555e665d06697ab73e9d70ed792086d7 100644 (file)
@@ -148,7 +148,7 @@ int thread_srp_client_set_host_address(thread_instance_h instance,
 }
 
 int thread_srp_client_register_service(thread_instance_h instance,
-       const char *service_name, const char *service_type, uint64_t port)
+       const char *service_name, const char *service_type, uint16_t port)
 {
        FUNC_ENTRY;
        THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
@@ -161,8 +161,8 @@ int thread_srp_client_register_service(thread_instance_h instance,
        const char *msg = THREAD_SRP_CLIENT_REGISTER_SERVICE_CMD;
 
        char buffer[THREAD_MAX_BUFFER_SIZE] = {0};
-       snprintf(buffer, sizeof(buffer), "%s %s %s %zu", msg,
-                               service_name, service_type, (size_t)port);
+       snprintf(buffer, sizeof(buffer), "%s %s %s %u", msg,
+                               service_name, service_type, (int)port);
        ret = _thread_socket_client_execute(_thread_get_socket_fd(),
                                                buffer, strlen(buffer));
        if (ret != THREAD_ERROR_NONE && ret != THREAD_ERROR_ALREADY_DONE) {
@@ -221,7 +221,7 @@ int thread_srp_server_stop(thread_instance_h instance)
 
 int thread_srp_server_get_registered_service(thread_instance_h instance,
        const char **service_name, const char **address,
-       uint64_t *port, bool *is_deleted)
+       uint16_t *port, bool *is_deleted)
 {
        FUNC_ENTRY;
        THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
@@ -293,8 +293,8 @@ int thread_srp_server_get_registered_service(thread_instance_h instance,
                }
        }
 
-       THREAD_DBG("service_name: %s, address: %s, port: %zu, is_deleted: %d",
-                       *service_name, *address, (size_t)*port, *is_deleted);
+       THREAD_DBG("service_name: %s, address: %s, port: %u, is_deleted: %d",
+                       *service_name, *address, (int)*port, *is_deleted);
 
        FUNC_EXIT;
        return ret;
index 8b503891a40892a1f063eb2896f48910c6d00444..f3d5150b5e42a0aeafe91907b88f6385e56be0ec 100644 (file)
@@ -34,7 +34,7 @@
 
 const char *service_name;
 const char *address;
-uint64_t port;
+uint16_t port;
 bool is_deleted;
 uint64_t g_port;
 
@@ -193,7 +193,7 @@ static int __run_thread_srp_server_get_registered_service(MManager *mm, struct m
 
        if (ret == THREAD_ERROR_NONE) {
                msg("thread_srp_get_registered_service success");
-               msg("service: [%s], [%s], [%zu], [%s]", service_name, address, (size_t)port, is_deleted ? "TRUE" : "FALSE");
+               msg("service: [%s], [%s], [%u], [%s]", service_name, address, (int)port, is_deleted ? "TRUE" : "FALSE");
        } else
                msg("thread_srp_get_registered_service failed");
 OUT:
@@ -243,4 +243,3 @@ struct menu_data menu_thread_srp[] = {
                NULL, __run_thread_srp_server_get_registered_service, NULL },
        { NULL, NULL, },
 };
-