|Summary:||Regression kadmin/ktutil no longer have readline compiled in|
|Component:||krb5||Assignee:||Robbie Harwood <rharwood>|
|Status:||CLOSED CURRENTRELEASE||QA Contact:||Fedora Extras Quality Assurance <extras-qa>|
|Version:||28||CC:||abokovoy, Colin.Simpson, jflorian, nalin, npmccallum, rharwood, sbose, ssorce, tibbs|
|Fixed In Version:||e2fsprogs-1.44.2-0.fc28||Doc Type:||If docs needed, set a value|
|Doc Text:||Story Points:||---|
|Last Closed:||2018-07-16 21:46:09 UTC||Type:||Bug|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
|Bug Depends On:||1489539|
Description Colin.Simpson 2018-05-09 15:46:27 UTC
Description of problem: A long time ago in the Fedora 5 era I asked for Readline to be compiled into the Kerberos utils so that kadmin and ktutil would have command line history, editing and file completion. This was completed and made it into Fedora and eventually RHEL. This has disappeared now in Fedora 28...making the management of keytabs a complete pain. Can you add back esp to ensure this makes it into future RHEL releases? The original bug #197044 is where this was first actioned. Version-Release number of selected component (if applicable): krb5-workstation-1.16-26.fc28.x86_64 How to reproduce: Run up ktutil and observe that things like rkt don't support file completion and moving around the command line with arrow keys within these utils is no longer possible.
Comment 1 Jason Tibbitts 2018-05-09 16:27:44 UTC
This problem isn't new in F28. I tracked this down quite some time ago and figured out that there is a set of external factors which cause this to work or fail. krb5 links against another library (libedit) whose job it is to load one of many readline libraries. This library seems to have a hardcoded list of libraries it will try to load, and sometimes that gets out of date or messed up. Do an strace of kadmin and see the libraries it tries to open. For me, in F27, I see it try to open libreadline.so.6, and installing compat-readline6 gives kadmin line editing functionality again. In any case, the bug here isn't in krb5.
Comment 2 Robbie Harwood 2018-05-09 17:11:04 UTC
Comment 3 Colin.Simpson 2018-05-09 17:21:54 UTC
You have set this to needinfo, what info do you need?
Comment 4 Robbie Harwood 2018-05-09 17:30:58 UTC
I need to know if the fix suggested in comment#1 works for you. From there, we decide whether to close, reassign to libedit, or something else.
Comment 5 Jason Tibbitts 2018-05-09 19:10:23 UTC
Someone should definitely double-check that I'm not talking out of my rear. I honestly cannot remember the results of my previous investigation into this. I found some discussion from September with Simo and Robbie and it seems that the issue is actually in libss (part of e2fsprogs) and not libedit (or krb5). And in fact, I did file a bug: https://bugzilla.redhat.com/show_bug.cgi?id=1489539 libss has a hardcoded list of libraries it searches. I pulled and checked the e2fsprogs source and found that at least the current version should work. And indeed, on rawhide (with e2fsprogs 1.44.1) things are OK. But F28 has e2fsprogs 1.43.8, so there the hardcoded search list incuides neither libreadline.so.7 nor libedit.so.0. The easiest way to get around that is to just install compat-libreadline6. So this is really just a dup of 1489539.
Comment 6 Robbie Harwood 2018-05-09 19:15:03 UTC
Makes sense. Gonna keep this open for visibility.
Comment 7 Colin.Simpson 2018-05-10 09:48:54 UTC
Yup Jason is on the money. Running strace against says this will look for libreadline.so.4, libreadline.so.5 and libreadline.so.6 but not the current libreadline.so.7 Installing the latest one of these searched for compat-readline6-6.3-14.fc28.x86_64 Restores readline functionality to ktutil So I guess as the other bug suggests patching/rebasing to look for libreadline.so.7 is the correct action.
Comment 8 John Florian 2018-05-20 22:37:38 UTC
Ha! I could've sworn kadmin did readline once, but I have enough grey to question my senility. So glad to have found this.