Add a return value to radius_message_t.sign()
[strongswan.git] / src / libcharon / plugins / tnc_pdp / tnc_pdp.c
index 7e2e667..6911364 100644 (file)
@@ -293,12 +293,13 @@ static void send_response(private_tnc_pdp_t *this, radius_message_t *request,
                chunk_free(&data);
        }
        response->set_identifier(response, request->get_identifier(request));
-       response->sign(response, request->get_authenticator(request),
-                                  this->secret, this->hasher, this->signer, NULL, TRUE);
-
-       DBG1(DBG_CFG, "sending RADIUS %N to client '%H'", radius_message_code_names,
-                code, client);
-       send_message(this, response, client);
+       if (response->sign(response, request->get_authenticator(request),
+                                          this->secret, this->hasher, this->signer, NULL, TRUE))
+       {
+               DBG1(DBG_CFG, "sending RADIUS %N to client '%H'",
+                        radius_message_code_names, code, client);
+               send_message(this, response, client);
+       }
        response->destroy(response);
 }