Skip to content

Disable vendor extension types on the XML-RPC servlet - #171

Open
snoopdave wants to merge 1 commit into
masterfrom
xmlrpc-servlet-extension-types
Open

Disable vendor extension types on the XML-RPC servlet#171
snoopdave wants to merge 1 commit into
masterfrom
xmlrpc-servlet-extension-types

Conversation

@snoopdave

Copy link
Copy Markdown
Contributor

The XML-RPC servlet is configured to accept the library's non-standard vendor
extension types, which Roller does not use, and its mapped endpoint answers
requests even when the XML-RPC feature is switched off. This change turns the
extensions off and makes the disabled-by-default toggle close the endpoint.

What changed

  • Disable vendor extension types (enabledForExtensions=false, or drop the
    enabling servlet init-param), since Roller uses only the standard XML-RPC
    value types.
  • Gate the mapped endpoint on webservices.enableXmlRpc, so a disabled API is
    closed at the endpoint instead of relying on per-handler checks.
  • Preserve ordinary XML-RPC values and calls when the feature is enabled.

Tests

  • With the toggle off, both ordinary and extension-type requests are rejected at
    the endpoint.
  • With the toggle on, an extension-type value is rejected while an ordinary
    XML-RPC call reaches its handler.

Roller's XML-RPC API uses only the standard XML-RPC value types; the library's
vendor extension types are unused and are switched off. The endpoint is also
gated on webservices.enableXmlRpc so a disabled service is not reachable and
does not read request bodies.

Adds XmlRpcExtensionTypeTest, which checks the shipped configuration and that
ordinary calls still parse.

Claude-Session: https://claude.ai/code/session_01A1fhY1E2PCFU6UAPXu2WtV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant