RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1277681 - Exception triggered when Ipsilon receives AuthnRequest via SOAP endpoint
Summary: Exception triggered when Ipsilon receives AuthnRequest via SOAP endpoint
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: ipsilon
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Rob Crittenden
QA Contact: Namita Soman
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-03 20:14 UTC by Nathan Kinder
Modified: 2016-11-23 11:17 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-23 11:17:57 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Nathan Kinder 2015-11-03 20:14:42 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/ipsilon/ticket/177

When a SAML AuthnRequest is posted to the SOAP endpoint Ipsilon responds with a 400 error because an exception is raised when an attempt is made to save transaction data.

The root cause of the problem is the transaction object created in provider/saml2/auth.AuthenticateRequest._preop() is not initialized.


{{{
    def _preop(self, *args, **kwargs):
        try:
            # generate a new id or get current one
            self.trans = Transaction('saml2', **kwargs)

}}}

slightly later when this code tries to update and save the transaction


{{{
                # SAML binding known, store in transaction
                data = {'saml2_binding': self.binding}
                self.trans.store(data)

}}}

an exception is thrown because the uninitialized Transaction object has no uuid associated with it, a requirement for storing the value.

As to why the transaction is uninitialized is a long and complicated story which will be the subject of another ticket.

But for now it appears the most expedient solution is to remove the following block of code from _preop


{{{
            if self.binding is None:
                # SAML binding is unknown, try to get it from transaction
                transdata = self.trans.retrieve()
                self.binding = transdata.get('saml2_binding')
            else:
                # SAML binding known, store in transaction
                data = {'saml2_binding': self.binding}
                self.trans.store(data)
}}}

because it's not actually accomplishing anything. No one references the saml2_binding value being stored in the transaction, it was put there for bullet-proofing. In hindsight it was probably a bad idea because the binding is a property of the current request, not a property of the series of requests forming a transaction.

This doesn't solve the problem of the uninitialized transaction, but the uninitialized transactions in this code block currently only occurs in the SOAP case, which is the one failing.

Comment 2 John Dennis 2015-11-04 15:33:06 UTC
The upstream commit fixing this is

f04fa820d439513de6a2c55bb097c7fde12d6806

Comment 4 Martin Kosek 2016-11-23 11:17:57 UTC
Red Hat Enterprise Linux 7.2 introduced the Ipsilon identity provider service for federated single sign-on (SSO). Subsequently, Red Hat has released Red Hat Single Sign-On as a web SSO solution based on the Keycloak community project. Red Hat Single Sign-On provides greater capabilities than Ipsilon and is designated as the standard web SSO solution across the Red Hat product portfolio.

Therefore, as mentioned in the RHEL-7.3 Release Notes:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.3_Release_Notes/chap-Red_Hat_Enterprise_Linux-7.3_Release_Notes-Deprecated_Functionality.html
Ipsilon is now obsolete in RHEL and all existing Ipsilon users are recommended to migrate to Red Hat SSO product:
https://access.redhat.com/products/red-hat-single-sign-on
Please approach the Customer Service for advice.

Given above, this Bugzilla is now closed as WONTFIX.


Note You need to log in before you can comment on or make changes to this bug.