Bug 1683706

Summary: Libreswan shows incorrect error messages
Product: Red Hat Enterprise Linux 8 Reporter: Jaroslav Aster <jaster>
Component: libreswanAssignee: Paul Wouters <pwouters>
Status: CLOSED ERRATA QA Contact: Jaroslav Aster <jaster>
Severity: low Docs Contact:
Priority: low    
Version: 8.0Flags: pm-rhel: mirror+
Target Milestone: rc   
Target Release: 8.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 20:59:01 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:
Bug Depends On: 1682518    
Bug Blocks:    

Description Jaroslav Aster 2019-02-27 15:42:19 UTC
Description of problem:

Libreswan shows incorrect error messages. Based on the bug bz#1648776, only values no, never and insist are allowed for ikev2 option, but error messages show incorrect information.

# cat cat libreswan-3.27-1648776-v1v2split.patch
...
starter_error_append(perrl, "ikev2=permit is no longer accepted. Use ikev2=yes or ikev2=no");
...
starter_error_append(perrl, "ikev2=propose is no longer accepted. Use ikev2=yes or ikev2=no");
...

Version-Release number of selected component (if applicable):

libreswan-3.27-9.el8


How reproducible:

100%

Steps to Reproduce:

Set non allowed value to ikev2 option and check the log file.

Comment 1 Paul Wouters 2019-02-27 15:59:47 UTC
yeah this is a problem because upstream and downstream disagreed about how to handle this migration.

I would prefer not to keep upstream and downstream out of sync on this forever. So we should talk about the future of this issue.

Comment 2 Jaroslav Aster 2019-02-27 16:09:36 UTC
Disagree Paul, because this is very confusing for users. You fixed man-page and this has to be fixed too. Imagine a situation, when user set ikev2=yes. This value is not allowed in current libreswan. Yes is alias for propose, so user see in the log

ikev2=propose is no longer accepted. Use ikev2=yes or ikev2=no

User will not understand, where is the mistake, because error message says, that yes is allowed and user uses yes, so everything is ok for him, and error message mentions some propose, which is not in configuration file.

Comment 3 Paul Wouters 2019-02-27 18:15:07 UTC
I agree it is confusing for users and that the error messages should be fixed to match the man page and use within RHEL. 

What I was saying was that upstream and downstream diverted with the meaning of ikev2=yes

upstream has changed they keywords so that ikev2=no|never became "ikev1 only" and ikev2=yes|propose|permit|insist became "ikev2 only".

rhel now has "ikev2=no|never" is "ikev1 only", ikev2=insist to be "ikev2 only" and ikev2=yes|permit|propose became errors


So either we have to keep these changes for the whole RHEL8 cycle, or we try to teach the users the upstream way in RHEL 8.1.
That is why I mentioned we might want to change the meaning of the keywords to match new code for RHEL8.1

note, upstream is moving towards using the existing keyexchange=ikev1|ikev2 and mapping ikev2= on that and obsoleting the ikev2= keyword alltogether

Comment 7 errata-xmlrpc 2019-11-05 20:59:01 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://access.redhat.com/errata/RHSA-2019:3391