Bug 1153518

Summary: service lookups returned in lowercase with case_sensitive=preserving
Product: Red Hat Enterprise Linux 7 Reporter: Kaushik Banerjee <kbanerje>
Component: sssdAssignee: Jakub Hrozek <jhrozek>
Status: CLOSED ERRATA QA Contact: Kaushik Banerjee <kbanerje>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: grajaiya, jgalipea, lslebodn, mkosek, mzidek, pbrezina, preichl
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.12.2-7.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 10:33:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kaushik Banerjee 2014-10-16 06:40:06 UTC
Description of problem:
service lookups returned in lowercase with case_sensitive=preserving

Version-Release number of selected component (if applicable):
sssd-1.12.1-3.el7

How reproducible:
Always

Steps to Reproduce:
1.
dn: cn=Svc1,ou=Services,dc=example,dc=com
objectClass: ipService
cn: svc1_alias1
cn: SVC1_Alias2
cn: Svc1
ipServicePort: 65535
ipServiceProtocol: Tcp
ipServiceProtocol: udp
ipServiceProtocol: dummy_proto

2. Configure and start sssd with case_sensitive=preserving

3. Lookup service

Actual results:
# getent services Svc1
svc1                  65535/tcp svc1_alias1 svc1_alias2

# getent services 65535/TCP
svc1                  65535/tcp svc1_alias1 svc1_alias2

Expected results:
Case should not be lowered

Additional info:

Comment 2 Jakub Hrozek 2014-10-16 09:03:03 UTC
Upstream ticket:
https://fedorahosted.org/sssd/ticket/2460

Comment 3 Jakub Hrozek 2014-10-29 09:46:52 UTC
master: c4e278c2637547640d28bda007c9c38a17956fcc

Comment 5 Kaushik Banerjee 2014-11-04 12:17:54 UTC
Only the name of the service has it's case preserved. The protocol name and aliases are still lowercased.

On testing with sssd-1.12.2-7.el7, I get:
# getent services SVC1
Svc1       65535/tcp svc1_alias1 svc1_alias2

Comment 6 Jakub Hrozek 2014-11-04 13:37:49 UTC
(In reply to Kaushik Banerjee from comment #5)
> Only the name of the service has it's case preserved. The protocol name and
> aliases are still lowercased.
> 
> On testing with sssd-1.12.2-7.el7, I get:
> # getent services SVC1
> Svc1       65535/tcp svc1_alias1 svc1_alias2

Michal would explain better, but I'm afraid this is a limitation that we can't work around if we want to keep the case-insensitive /matching/.

Can we take this as a current design limitation and file a (deferred) ticket to also keep the case of services and protocols in case a customer or a user is also interested in this functionality?

We can also document this shortcoming in the man pages.

Comment 7 Michal Zidek 2014-11-26 17:25:24 UTC
I missed that this bugzilla had new comments, so sorry for delayed answer. Jakub is right, we can not preserve the alias and protocol names without loosing case-insensitivity. The upstream man page was already updated to mention this.

Comment 8 Kaushik Banerjee 2014-12-03 10:18:46 UTC
Verified in version 1.12.2-28.el7

# getent services svc1
Svc1                  65535/tcp svc1_alias1 svc1_alias2

# getent services 65535/TCP
Svc1                  65535/TCP svc1_alias1 svc1_alias2

Comment 10 errata-xmlrpc 2015-03-05 10:33:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0441.html