-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
The following sequence was seen while running a test. The lasso library attempts to open an XML snippet:
...
[pid 16997] open("../../../tests/data//idp5-saml2/metadata.xml", O_RDONLY) = 4
[pid 16997] open("/usr/lib/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 16997] open("/usr/lib/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 16997] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3545, ...}) = 0
[pid 16997] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3545, ...}) = 0
[pid 16997] stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3545, ...}) = 0
[... BAD open here vvv]
[pid 16997] open("<?xml version=\"1.0\"?>\n<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\"\n xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\"\n xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\"\n entityID=\"http://sp5/metadata\">\n <SPSSODescriptor\n AuthnRequestsSigned=\"true\"\n protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\n <KeyDescriptor use=\"signing\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <ds:X509Data>\n <ds:X509Certificate>MIIDnjCCAoagAwIBAgIBATANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJGUjEPMA0GA1UECBMGRnJhbmNlMQ4wDAYDVQQHEwVQYXJpczETMBEGA1UEChMKRW50cm91dmVydDEPMA0GA1UEAxMGRGFtaWVuMB4XDTA2MTAyNzA5MDc1NFoXDTExMTAyNjA5MDc1NFowVDELMAkGA1UEBhMCRlIxDzANBgNVBAgTBkZyYW5jZTEOMAwGA1UEBxMFUGFyaXMxEzARBgNVBAoTCkVudHJvdXZlcnQxDzANBgNVBAMTBkRhbWllbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM06Hx6VgHYR9wUf/tZVVTRkVWNqh9x+PvHA2qH4OYMuqGs4Af6lU2YsZvnrmRdcFWv0+UkdAgXhReCWAZgtB1pd/W9m6qDRldCCyysow6xPPKRz/pOTwRXm/fM0QGPeXzwzj34BXOIOuFu+n764vKn18d+uuVAEzk1576pxTp4pQPzJfdNLrLeQ8vyCshoFU+MYJtp1UA+h2JoO0Y8oGvywbUxHioHN5PvnzObfAM4XaDQohmfxM9Uc7Wp4xKAc1nUq5hwBrHpjFMRSz6UCfMoJSGIi+3xJMkNCjL0XEw5NKVc5jRKkzSkN5j8KTM/k1jPPsDHPRYzbWWhnNtd6JlkCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFP2WWMDShux3iF74+SoO1xf6qhqaMB8GA1UdIwQYMBaAFGjl6TRXbQDHzSlZu+e8VeBaZMB5MA0GCSqGSIb3DQEBBQUAA4IBAQAZ/imK7UMognXbs5RfSB8cMW6iNAI+JZqe9XWjvtmLfIIPbHM96o953SiFvrvQBZjGmmPMK3UH29cjzDx1R/RQaYTyMrHyTePLh3BMd5mpJ/9eeJCSxPzE2ECqWRUapkjukecFXqmRItwgTxSIUE9QkpzvuQRb268PwmgroE0mwtiREADnvTFkLkdiEMewfiYxZfJJLPBqwlkw/7f1SyzXoPXnz5QbNwDmrHelga6rKSprYKb3pueqaIe8j/APNC1/bzp8cGOcJ88BD5+Ny6qgPVCrMLE5twQumJ12V3SvjGNtzFBvg2c/9S5OmVqRLlTxKnCrWAXftSm1rNtewTsF</ds:X509Certificate>\n </ds:X509Data>\n </ds:KeyInfo>\n </KeyDescriptor>\n \n <KeyDescriptor use=\"encryption\">\n <ds:KeyInfo xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\">\n <ds:X509Data>\n <ds:X509Certificate>MIIDnjCCAoagAwIBAgIBATANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJGUjEPMA0GA1UECBMGRnJhbmNlMQ4wDAYDVQQHEwVQYXJpczETMBEGA1UEChMKRW50cm91dmVydDEPMA0GA1UEAxMGRGFtaWVuMB4XDTA2MTAyNzA5MDc1NFoXDTExMTAyNjA5MDc1NFowVDELMAkGA1UEBhMCRlIxDzANBgNVBAgTBkZyYW5jZTEOMAwGA1UEBxMFUGFyaXMxEzARBgNVBAoTCkVudHJvdXZlcnQxDzANBgNVBAMTBkRhbWllbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM06Hx6VgHYR9wUf/tZVVTRkVWNqh9x+PvHA2qH4OYMuqGs4Af6lU2YsZvnrmRdcFWv0+UkdAgXhReCWAZgtB1pd/W9m6qDRldCCyysow6xPPKRz/pOTwRXm/fM0QGPeXzwzj34BXOIOuFu+n764vKn18d+uuVAEzk1576pxTp4pQPzJfdNLrLeQ8vyCshoFU+MYJtp1UA+h2JoO0Y8oGvywbUxHioHN5PvnzObfAM4XaDQohmfxM9Uc7Wp4xKAc1nUq5hwBrHpjFMRSz6UCfMoJSGIi+3xJMkNCjL0XEw5NKVc5jRKkzSkN5j8KTM/k1jPPsDHPRYzbWWhnNtd6JlkCAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFP2WWMDShux3iF74+SoO1xf6qhqaMB8GA1UdIwQYMBaAFGjl6TRXbQDHzSlZu+e8VeBaZMB5MA0GCSqGSIb3DQEBBQUAA4IBAQAZ/imK7UMognXbs5RfSB8cMW6iNAI+JZqe9XWjvtmLfIIPbHM96o953SiFvrvQBZjGmmPMK3UH29cjzDx1R/RQaYTyMrHyTePLh3BMd5mpJ/9eeJCSxPzE2ECqWRUapkjukecFXqmRItwgTxSIUE9QkpzvuQRb268PwmgroE0mwtiREADnvTFkLkdiEMewfiYxZfJJLPBqwlkw/7f1SyzXoPXnz5QbNwDmrHelga6rKSprYKb3pueqaIe8j/APNC1/bzp8cGOcJ88BD5+Ny6qgPVCrMLE5twQumJ12V3SvjGNtzFBvg2c/9S5OmVqRLlTxKnCrWAXftSm1rNtewTsF</ds:X509Certificate>\n </ds:X509Data>\n </ds:KeyInfo>\n </KeyDescriptor>\n \n <ArtifactResolutionService isDefault=\"true\" index=\"0\"\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"http://sp5/artifact\" />\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"http://sp5/singleLogoutSOAP\" />\n <SingleLogoutService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"http://sp5/singleLogout\"\n ResponseLocation=\"http://sp5/singleLogoutReturn\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:SOAP\"\n Location=\"http://sp5/manageNameIdSOAP\" />\n <ManageNameIDService\n Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect\"\n Location=\"http://sp5/manageNameId\"\n ResponseLocation=\"http://sp5"..., O_RDONLY) = -1 ENAMETOOLONG (File name too long)
[... BAD open here ^^^]
[pid 16997] open("/usr/lib/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 16997] open("/usr/lib/ssl/cert.pem", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 16997] open("../../../tests/data//sp5-saml2/private-key.pem", O_RDONLY) = 4
...
To reproduce, after make check:
builder-48:radu [Linux] ~/proj/lasso/build/Xenial ((v2.8.0))
$ tests/tests
Stack frame where provider->filename is an XML fragment, not a filename:
init_from_xml(LassoNode * node, xmlNode * xmlnode) (\home\radu\proj\lasso\lasso\id-ff\provider.c:693)
init_from_xml(LassoNode * node, xmlNode * xmlnode) (\home\radu\proj\lasso\lasso\id-ff\server.c:352)
lasso_node_new_from_xmlNode_with_type(xmlNode * xmlnode, char * typename) (\home\radu\proj\lasso\lasso\xml\xml.c:2492)
_lasso_node_new_from_xmlNode(xmlNode * xmlnode) (\home\radu\proj\lasso\lasso\xml\xml.c:2417)
lasso_node_new_from_dump(const char * dump) (\home\radu\proj\lasso\lasso\xml\xml.c:2245)
lasso_server_new_from_dump(const gchar * dump) (\home\radu\proj\lasso\lasso\id-ff\server.c:823)
test02_saml2_serviceProviderLogin(int _i) (\home\radu\proj\lasso\tests\login_tests_saml2.c:160)
tcase_run_tfun_nofork.isra (Unknown Source:0)
srunner_run (Unknown Source:0)
main(int argc, char ** argv) (\home\radu\proj\lasso\tests\tests.c:180)
Line 721 in 6e1306c
| if (provider->metadata_filename) { |
It looks like line 672 casts a LassoNode into a LassoProvider:
Line 672 in 6e1306c
| LassoProvider *provider = LASSO_PROVIDER(node); |
I don't know enough about the internals to know if this is a valid cast at this point, so I'm leaving this bug here.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels