[COMMUNITY]  Promote AJP listener allowed-request-attributes-pattern attribute to community stability

In  undertow
Tracked by https://github.com/wildfly/wildfly-proposals/issues/694

Overview

[WFLY-15452](https://issues.redhat.com/browse/WFLY-15452) introduced a preview stability attribute to allow users to instruct Undertow’s AJP listener to accept custom request attributes whose name matches a regex. That feature provided a proper subsystem-based way to configure behavior that Undertow, WildFly (and EAP) have supported for many years, configured via a system property or environment variable. This feature is simply to promote the subsystem attribute to community stability.

User Stories

I’m an admin of an environment that uses an AJP-based load balancer. We use custom AJP request attributes when sending requests from our loadbalancer to a backend WildFly server, and we configure WildFly’s AJP listener to allow those using env vars. We want to be able to configure this via standalone.xml, consistent with how we configure the rest of the server. We want this to work out of the box with no need to allow preview stability features.

Issue Metadata

Affected Projects or Components

Other Interested Projects

Relevant Installation Types

  • Traditional standalone server (unzipped or provisioned by Galleon)

  • Managed domain

  • OpenShift Source-to-Image (S2I)

  • Bootable jar

Requirements

  • A new wildfly-undertow_comunity_14_0.xsd will be added, along with the related UndertowSubsystemSchema enum and any necessary parser adjustments.

Changed requirements

None

Non-Requirements

None

Future Work

Potential promotion to default stability, if wanted.

Backwards Compatibility

Default Configuration

No impact. The AJP listener resource is not in any default configuration, and the attribute has no default value.

Importing Existing Configuration

No impact.

Deployments

No impact.

Interoperability

No impact.

Admin Clients

No additional work should be required. This attribute is automatically configurable in clients if exposed by the server. Promoting it simply makes it exposed OOTB in standard WildFly.

Security Considerations

This attribute allows users to grant permission to the undertow subsystem to accept custom AJP request attributes that match a provided pattern. Users are expected to understand the pattern values they specify and the use of the matching attributes.

Test Plan

This feature is about configuration via the subsystem, so the testing will focus on that: standard subsystem testing of the parsing, Stage.MODEL processing and persistence of the attribute in a configuration element using commmuntity stability xsd.

The Undertow behavior this controls has been part of Undertow for many years. Use of it, configured via an env var or system property, has been supported in WildFly since WildFly 18 and even in JBoss EAP since EAP 7.2.7.

Community Documentation

Add a description of this and other attributes in the currently empty [AJP Listener](https://docs.wildfly.org/35/Admin_Guide.html#ajp-listener) section of the undertow subsystem documentation.

Release Note Content

The undertow subsystem now allows configuring the AJP listener to accept custom AJP request headers. This capability has been available since WildFly 33 in a server running at the preview stability level. This feature is now provided at the community stability level, meaning it’s available in the out-of-the-box stability level of standard WildFly.