diff --git a/imposter/wazuh-server-config.yaml b/imposter/wazuh-server-config.yaml index d762d7d3..6f2c9cc8 100644 --- a/imposter/wazuh-server-config.yaml +++ b/imposter/wazuh-server-config.yaml @@ -19,6 +19,13 @@ security: resources: + - method: GET + path: /_spec/* + response: + statusCode: 200 + security: + default: Permit + - method: GET path: / response: diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Command.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Command.java index a3bfa70b..570da672 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Command.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/model/Command.java @@ -28,6 +28,7 @@ import reactor.util.annotation.NonNull; +/** Command's fields. */ public class Command implements ToXContentObject { public static final String COMMAND = "command"; public static final String ORDER_ID = "order_id"; @@ -145,6 +146,14 @@ public static Command parse(XContentParser parser) } } + /** + * Parses the request's payload into the Command[] model. + * + * @param parser XContentParser from the Rest Request + * @return instance of Command + * @throws IOException error parsing request content + * @throws IllegalArgumentException missing arguments + */ public static List parseToArray(XContentParser parser) throws IOException, IllegalArgumentException { List commands = new ArrayList<>(); diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/AuthHttpRestClient.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/AuthHttpRestClient.java index e17bf2a9..5820a19e 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/AuthHttpRestClient.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/AuthHttpRestClient.java @@ -37,10 +37,15 @@ import com.wazuh.commandmanager.auth.HTTPAuthenticator; import com.wazuh.commandmanager.settings.PluginSettings; +/** HttpRestClient with authentication. */ public class AuthHttpRestClient extends HttpRestClient implements HTTPAuthenticator { - public static final String SECURITY_USER_AUTHENTICATE = "/security/user/authenticate"; private static final Logger log = LogManager.getLogger(AuthHttpRestClient.class); + + /** Wazuh Server Management API endpoint for basic authentication. */ + public static final String SECURITY_USER_AUTHENTICATE = "/security/user/authenticate"; + + /** Maximum number of authentication retries before giving up. */ public static final int MAX_RETRIES = 3; private final AuthCredentials credentials; diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/HttpRestClient.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/HttpRestClient.java index c613437d..d4dd461b 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/HttpRestClient.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/utils/httpclient/HttpRestClient.java @@ -32,7 +32,6 @@ import org.apache.hc.core5.io.CloseMode; import org.apache.hc.core5.net.URIBuilder; import org.apache.hc.core5.reactor.IOReactorConfig; -import org.apache.hc.core5.reactor.ssl.TlsDetails; import org.apache.hc.core5.ssl.SSLContextBuilder; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -104,16 +103,8 @@ private void startHttpAsyncClient() { .loadTrustMaterial(null, (chains, authType) -> true) .build(); - @SuppressWarnings("deprecation") final TlsStrategy tlsStrategy = - ClientTlsStrategyBuilder.create() - .setSslContext(sslContext) - .setTlsDetailsFactory( - sslEngine -> - new TlsDetails( - sslEngine.getSession(), - sslEngine.getApplicationProtocol())) - .build(); + ClientTlsStrategyBuilder.create().setSslContext(sslContext).build(); final PoolingAsyncClientConnectionManager connectionManager = PoolingAsyncClientConnectionManagerBuilder.create()