Hi,

first of all, thanks for the help.

The profile.c if from the lasso module -> https://github.com/adieu/lasso/blob/master/lasso/saml-2.0/profile.c

We need to find which lasso function in SOGoSAML2Session.m (I assume, it may be another file) is called and make that error, then check the arguments given.

I try to find the mentioned function with this changes:

--- SOGoSAML2Session.m ---
- (id) _initWithDump: (NSDictionary *) saml2Dump
           inContext: (WOContext *) context
{
  lasso_error_t rc;
  LassoServer *server;
  LassoProfile *profile;
  const gchar *dump;

  if ((self = [self init]))
    {
      server = [SOGoSAML2Session lassoServerInContext: context];
      lassoLogin = lasso_login_new (server);
      if (saml2Dump)
        {
          profile = LASSO_PROFILE (lassoLogin);

          ASSIGN (login, [saml2Dump objectForKey: @"login"]);
          ASSIGN (identifier, [saml2Dump objectForKey: @"identifier"]);
          ASSIGN (assertion, [saml2Dump objectForKey: @"assertion"]);
          ASSIGN(identity, [saml2Dump objectForKey: @"identity"]);
          dump = [identity UTF8String];
          if (dump)
            {
              NSLog(@"_initWithDump/identity/pre: %@", dump);
              lasso_profile_set_identity_from_dump (profile, dump);
              NSLog(@"_initWithDump/identity/pore: %@", dump);
            }

---

---
Jun 28 09:00:30 sogod [831]: |SOGo| request took 0.102924 seconds to execute
Jun 28 09:00:30 sogod [831]: 79.140.187.148, 172.27.11.107 "POST /SOGo/saml2-signon-post HTTP/1.1" 302 0/12977 0.105 - - 692K - 12 Jun 28 09:00:30 sogod [831]: |SOGo| starting method 'GET' on uri '/SOGo//claas.hilbre...@linum.com'

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7439d35 in objc_msg_lookup () from /lib/x86_64-linux-gnu/libobjc.so.4
(gdb) bt
#0 0x00007ffff7439d35 in objc_msg_lookup () at /lib/x86_64-linux-gnu/libobjc.so.4
#1  0x00007ffff6dc45cc in GSPrivateFormat
(s=s@entry=0x7fffffffa9f0, format=format@entry=0x7fffffffaa30, ap=ap@entry=0x7fffffffbae0, locale=locale@entry=0x0) at ./Source/GSFormat.m:1869 #2 0x00007ffff6de9d69 in -[GSPlaceholderString initWithFormat:locale:arguments:] (self=0x5555556ea340, _cmd=<optimized out>, format=<optimized out>, locale=0x0, argList=0x7fffffffbae0) at ./Source/GSString.m:1642 #3 0x00007ffff6ec0674 in NSLogv (format=0x7ffff7fbf820 <_OBJC_INSTANCE_24.9>, args=0x7fffffffbae0) at ./Source/NSLog.m:425 #4 0x00007ffff6ec09e9 in NSLog (format=<optimized out>) at ./Source/NSLog.m:297
#5  0x00007ffff7f3e7ed in -[SOGoSAML2Session _initWithDump:inContext:]
(self=0x555555ddd350, _cmd=0x7ffff7fc01b0 <_OBJC_SELECTOR_TABLE+688>, saml2Dump=0x555555746610, context=0x555555ddce30)
    at ./SoObjects/SOGo/SOGoSAML2Session.m:372
#6  0x00007ffff7f3eb31 in +[SOGoSAML2Session _SAML2SessionWithDump:inContext:]
(self=0x7ffff7fbfd80 <_OBJC_Class_SOGoSAML2Session>, _cmd=0x7ffff7fc01d0 <_OBJC_SELECTOR_TABLE+720>, saml2Dump=0x555555746610, context=0x555555ddce30)
    at ./SoObjects/SOGo/SOGoSAML2Session.m:413
#7 0x00007ffff7f3ec69 in +[SOGoSAML2Session SAML2SessionWithIdentifier:inContext:]
---


Reply via email to