WAYF discovery session initiation ends with error "basic_string::_S_construct NULL not valid"

Description

There is a problem when trying to initiate a session through WAYF discovery. I got error:

std::exception at (https://sp.feld.cvut.cz/secure/info.php)

basic_string::_S_construct NULL not valid

The same message appears in native.log:

ERROR Shibboleth.Apache [13697] shib_check_user: basic_string::_S_construct NULL not valid

There is nothing in shibd.log.

In the configuration I have:

<SSO discoveryProtocol="WAYF" discoveryURL="https://www.eduid.cz/wayf/">
SAML2 SAML1
</SSO>

If I set discoveryProtocl="SAMLDS", there is no error.

Environment

Debian Lenny
Linux sp2.cesnet.cz 2.6.18-128.2.1.el5.028stab064.8 #1 SMP Fri Nov 6 12:26:59 MSK 2009 i686 GNU/Linux

Activity

Show:

Scott Cantor February 4, 2011 at 2:32 PM

http://svn.shibboleth.net/view/cpp-sp?view=revision&revision=3400

The bug shows up when there's no acsIndex in the SessionInitiator (so it's possible to work around it, and older configs probably won't exhibit the bug).

Scott Cantor February 4, 2011 at 1:32 PM

Confirmed, I'll have to release a 2.4.2 to fix this.

Ivan Novakov February 3, 2011 at 10:39 AM
Edited

I did a clean install with as minimum changes to the configuration file as possible.

Now if I add a specific SessionInitiator element I get the same error:

<SessionInitiator type="Chaining" Location="/Login2" isDefault="false" id="Login2">
<SessionInitiator type="SAML2" template="bindingTemplate.html"/>
<SessionInitiator type="Shib1"/>
<SessionInitiator type="WAYF" URL="https://www.eduid.cz/wayf/"/>
</SessionInitiator>

Scott Cantor February 3, 2011 at 10:20 AM

Thanks...on the list you mentioned combining this syntax with the old approach. Did you reproduce the bug with just this setup?

Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Fix versions

Affects versions

Created February 3, 2011 at 7:20 AM
Updated June 24, 2021 at 3:26 PM
Resolved February 4, 2011 at 2:32 PM