@@ -117,6 +117,19 @@ typedef struct {
117117static xmlNode * construct_async_reply (const async_command_t * cmd ,
118118 const pcmk__action_result_t * result );
119119
120+ /*!
121+ * \internal
122+ * \brief Set a bad fencer API request error in a result object
123+ *
124+ * \param[out] result Result to set
125+ */
126+ static inline void
127+ set_bad_request_result (pcmk__action_result_t * result )
128+ {
129+ pcmk__set_result (result , CRM_EX_PROTOCOL , PCMK_EXEC_INVALID ,
130+ "Fencer API request missing required information (bug?)" );
131+ }
132+
120133/*!
121134 * \internal
122135 * \brief Check whether the fencer's device table contains a watchdog device
@@ -1693,7 +1706,7 @@ fenced_register_level(xmlNode *msg, pcmk__action_result_t *result)
16931706
16941707 level = unpack_level_request (msg , & mode , & target , & id );
16951708 if (level == NULL ) {
1696- fenced_set_protocol_error (result );
1709+ set_bad_request_result (result );
16971710 return ;
16981711 }
16991712
@@ -1798,7 +1811,7 @@ fenced_unregister_level(xmlNode *msg, pcmk__action_result_t *result)
17981811
17991812 level = unpack_level_request (msg , NULL , & target , & id );
18001813 if (level == NULL ) {
1801- fenced_set_protocol_error (result );
1814+ set_bad_request_result (result );
18021815 return ;
18031816 }
18041817
@@ -1916,7 +1929,7 @@ execute_agent_action(xmlNode *msg, pcmk__action_result_t *result)
19161929 crm_info ("Malformed API action request: device %s, action %s" ,
19171930 (id ? id : "not specified" ),
19181931 (action ? action : "not specified" ));
1919- fenced_set_protocol_error (result );
1932+ set_bad_request_result (result );
19201933 return ;
19211934 }
19221935
@@ -1962,7 +1975,7 @@ execute_agent_action(xmlNode *msg, pcmk__action_result_t *result)
19621975 cmd = create_async_command (msg );
19631976 if (cmd == NULL ) {
19641977 crm_log_xml_warn (msg , "invalid" );
1965- fenced_set_protocol_error (result );
1978+ set_bad_request_result (result );
19661979 return ;
19671980 }
19681981
@@ -2857,7 +2870,7 @@ fence_locally(xmlNode *msg, pcmk__action_result_t *result)
28572870 cmd = create_async_command (msg );
28582871 if (cmd == NULL ) {
28592872 crm_log_xml_warn (msg , "invalid" );
2860- fenced_set_protocol_error (result );
2873+ set_bad_request_result (result );
28612874 return ;
28622875 }
28632876
@@ -3262,7 +3275,7 @@ handle_relay_request(pcmk__request_t *request)
32623275 crm_element_value (dev , PCMK__XA_ST_TARGET ));
32633276
32643277 if (initiate_remote_stonith_op (NULL , request -> xml , FALSE) == NULL ) {
3265- fenced_set_protocol_error (& request -> result );
3278+ set_bad_request_result (& request -> result );
32663279 return fenced_construct_reply (request -> xml , NULL , & request -> result );
32673280 }
32683281
@@ -3289,7 +3302,7 @@ handle_fence_request(pcmk__request_t *request)
32893302 NULL );
32903303 break ;
32913304 default :
3292- fenced_set_protocol_error (& request -> result );
3305+ set_bad_request_result (& request -> result );
32933306 break ;
32943307 }
32953308
@@ -3356,7 +3369,7 @@ handle_fence_request(pcmk__request_t *request)
33563369
33573370 } else if (initiate_remote_stonith_op (request -> ipc_client , request -> xml ,
33583371 FALSE) == NULL ) {
3359- fenced_set_protocol_error (& request -> result );
3372+ set_bad_request_result (& request -> result );
33603373
33613374 } else {
33623375 pcmk__set_result (& request -> result , CRM_EX_OK , PCMK_EXEC_PENDING ,
0 commit comments