summary refs log tree commit diff
path: root/shared/n-dhcp4/src/n-dhcp4-c-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'shared/n-dhcp4/src/n-dhcp4-c-connection.c')
-rw-r--r--shared/n-dhcp4/src/n-dhcp4-c-connection.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/shared/n-dhcp4/src/n-dhcp4-c-connection.c b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
index d4354467..a5c8ea66 100644
--- a/shared/n-dhcp4/src/n-dhcp4-c-connection.c
+++ b/shared/n-dhcp4/src/n-dhcp4-c-connection.c
@@ -1006,6 +1006,7 @@ static int n_dhcp4_c_connection_send_request(NDhcp4CConnection *connection,
                                              uint64_t timestamp) {
         char server_addr[INET_ADDRSTRLEN];
         char client_addr[INET_ADDRSTRLEN];
+        char error_msg[128];
         int r;
         bool broadcast = false;
 
@@ -1045,45 +1046,45 @@ static int n_dhcp4_c_connection_send_request(NDhcp4CConnection *connection,
         case N_DHCP4_C_MESSAGE_REBIND:
                 broadcast = true;
                 r = n_dhcp4_c_connection_packet_broadcast(connection, request);
-                if (r)
-                        return r;
                 break;
         case N_DHCP4_C_MESSAGE_INFORM:
                 broadcast = true;
                 r = n_dhcp4_c_connection_udp_broadcast(connection, request);
-                if (r)
-                        return r;
-
                 break;
         case N_DHCP4_C_MESSAGE_RENEW:
         case N_DHCP4_C_MESSAGE_RELEASE:
                 r = n_dhcp4_c_connection_udp_send(connection, request);
-                if (r)
-                        return r;
-
                 break;
         default:
                 c_assert(0);
         }
 
+        if (r) {
+                snprintf(error_msg, sizeof(error_msg), ": error %d", r);
+        } else {
+                error_msg[0] = '\0';
+        }
+
         if (request->userdata.client_addr == INADDR_ANY) {
                 n_dhcp4_c_log(connection->client_config, LOG_INFO,
-                              "sent %s to %s",
+                              "send %s to %s%s",
                               message_type_to_str(request->userdata.message_type),
                               broadcast ?
                               "255.255.255.255" :
                               inet_ntop(AF_INET, &connection->server_ip,
-                                        server_addr, sizeof(server_addr)));
+                                        server_addr, sizeof(server_addr)),
+                              error_msg);
         } else {
                 n_dhcp4_c_log(connection->client_config, LOG_INFO,
-                              "sent %s of %s to %s",
+                              "send %s of %s to %s%s",
                               message_type_to_str(request->userdata.message_type),
                               inet_ntop(AF_INET, &request->userdata.client_addr,
                                         client_addr, sizeof(client_addr)),
                               broadcast ?
                               "255.255.255.255" :
                               inet_ntop(AF_INET, &connection->server_ip,
-                                        server_addr, sizeof(server_addr)));
+                                        server_addr, sizeof(server_addr)),
+                              error_msg);
         }
 
         ++request->userdata.n_send;