Skip to content

Server-Side Protocol Version Restriction (RESP2/RESP3) #1755

@AlexandrStarov

Description

@AlexandrStarov

Feature request type

Summary

Add ability to restrict which RESP protocol versions (RESP2 or RESP3) clients can use when connecting to Garnet server.

Motivation

Business Use Case

In enterprise environments, organizations need to:

  • Enforce standardization across client applications
  • Control protocol upgrades in a phased manner
  • Prevent legacy clients from connecting to RESP3-only infrastructure
  • Ensure compatibility by blocking RESP3 clients when infrastructure doesn't support it
  • Security compliance - some policies require specific protocol versions

Current Limitation

Currently, Garnet accepts both RESP2 and RESP3 connections without restriction. The protocol is negotiated by the client via the HELLO command, and the server always accepts the client's preference.

Problem: Server administrators have no way to enforce protocol version policies.

Describe the solution you'd like

Proposed Solution

Command-Line Arguments

Add new command-line parameters to restrict protocol versions:
GarnetServer --allowed-protocols RESP3 # RESP3 only GarnetServer --allowed-protocols RESP2 # RESP2 only GarnetServer --allowed-protocols BOTH # Both (default)

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions