hashicorp / hashicorp/consul

Consul intentions have case-sensitive behaviour

Open
#16,244 5 comments 0 reactions 0 assignees View on GitHub
theme/connect theme/operator-usability theme/security
Dominant language
Go
Stars
30.1k
Forks
4.6k
Avg merge
1d 18h
Merged PRs (30d)
39

Description

#### Overview of the Issue

I can register a service with a CaseSensitive name, but if I try to set an intention to allow access to the service, it does not grant access. I have tried setting the intention both through the UI and via terraform and I could not get it to stick either way.

If I re-register the original service with a lowercase name then everything works as expected.

#### Reproduction Steps

Steps to reproduce this issue, eg:

1. Register a service in the catalog - service1CaseSensitive
2. Register a second service in the catalog - service2 with service1CaseSensitive as an upstream
3. Create a deny all intention
4. Add an allow intention from service2 -> service1CaseSensitive
5. View the intention list - your new intention appears to be there
6. View the topology screen - you will see that service1CaseSensitive shows as denied

### Consul info for both Client and Server

Server and client are both v14.4

### Operating system and Environment details

Server - Ubuntu 22.04
Client - Windows Server 2019

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with the listed catalog registrations, deny intention, and allow intention for a mixed-case service name. Trace how Consul evaluates intentions for the topology view, comparing mixed-case and lowercase names. Done means the allow intention grants access consistently for mixed-case service names, with regression coverage for the reproduction.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
authorization, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.