View Issue Details

IDProjectCategoryView StatusLast Update
0006161SOGoBackend Address Bookpublic2025-11-25 13:58
Reporterpipandmar Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status newResolutionopen 
PlatformServerOSLinux DebianOS Version12 (Bookworm)
Product Version5.12.4 
Summary0006161: Exception-Error occurs when a LDAP-entry is interpreted as empty
Description

The routine 'initWithName:' in 'SOGo-5.12.4/SoObjects/Contacts/SOGoContactLDIFEntry.m' should return the contact-data which are connected to a given LDAP-entry. If the LDAP-data is somehow interpreted as empty, the routine returns an empty value, which leads to an Exception-Error e.g. when checking the S/MIME-signature connected to this LDAP-entry.

The problem is discussed in https://support.sogo.nu/view.php?id=6022

The logged error message is:
sogod[783800:783819] EXCEPTION: <NSException: 0x5614d251c9d0> NAME:NSInvalidArgumentException REASON:'_name' must not be an empty string INFO:(null)
The corresponding Backtrace is attached below.

The attached patch for 'SOGo-5.12.4/SoObjects/Contacts/SOGoContactLDIFEntry.m' implements a workaround by defining a dummy value, if an LDAP-entry is interpreted as empty.

TagsNo tags attached.

Activities

pipandmar

pipandmar

2025-11-25 13:58

reporter  

SoObjects_Contacts_SOGoContactLDIFEntry_m.patch (507 bytes)   
*** SoObjects/Contacts/SOGoContactLDIFEntry.m.orig	2025-11-05 08:51:09.819581061 +0100
--- SoObjects/Contacts/SOGoContactLDIFEntry.m	2025-11-05 08:48:39.335449930 +0100
***************
*** 52,57 ****
--- 52,60 ----
        withLDIFEntry: (NSDictionary *) newEntry
          inContainer: (id) newContainer
  {
+   if ([newName length] == 0) {
+       newName = @"Unnamed Contact";
+     }
    if ((self = [self initWithName: newName inContainer: newContainer]))
      {
        ASSIGN (ldifEntry, newEntry);
smime-debug-bt.txt (7,986 bytes)   
#0  -[NSException raise] (self=0x5555563f5d10, _cmd=0x7ffff71abfe0 <_OBJC_SELECTOR_TABLE+480>) at ./Source/NSException.m:1596
#1  0x00007ffff6e70aa6 in +[NSException raise:format:arguments:] (self=<optimized out>, _cmd=<optimized out>, 
    name=0x7ffff71ac990 <_OBJC_INSTANCE_5>, format=<optimized out>, argList=0x7fffffffb740) at ./Source/NSException.m:1487
#2  0x00007ffff6e716e4 in +[NSException raise:format:] (self=0x7ffff71ac320 <_OBJC_Class_NSException>, _cmd=<optimized out>, 
    name=0x7ffff71ac990 <_OBJC_INSTANCE_5>, format=0x7ffff7f6bfa0 <_OBJC_INSTANCE_4.120>) at ./Source/NSException.m:1472
#3  0x00007ffff7eb42d7 in -[SOGoObject initWithName:inContainer:] (self=0x5555563f4840, 
    _cmd=0x7ffff2b3c500 <_OBJC_SELECTOR_TABLE+64>, _name=0x7ffff7f935a0 <_OBJC_INSTANCE_116.28>, _container=0x5555561c6c20)
    at SOGoObject.m:177
#4  0x00007ffff2b25ef9 in -[SOGoContactLDIFEntry initWithName:withLDIFEntry:inContainer:] (self=0x5555563f4840, 
    _cmd=0x7ffff2b3c4e0 <_OBJC_SELECTOR_TABLE+32>, newName=0x7ffff7f935a0 <_OBJC_INSTANCE_116.28>, newEntry=0x5555563c6eb0, 
    newContainer=0x5555561c6c20) at SOGoContactLDIFEntry.m:55
#5  0x00007ffff2b25e7f in +[SOGoContactLDIFEntry contactEntryWithName:withLDIFEntry:inContainer:] (
    self=0x7ffff2b3c440 <_OBJC_Class_SOGoContactLDIFEntry>, _cmd=0x7ffff2b3f7d0 <_OBJC_SELECTOR_TABLE+464>, 
    newName=0x7ffff7f935a0 <_OBJC_INSTANCE_116.28>, newEntry=0x5555563c6eb0, newContainer=0x5555561c6c20)
    at SOGoContactLDIFEntry.m:45
#6  0x00007ffff2b27724 in -[SOGoContactSourceFolder lookupName:inContext:acquire:] (self=0x5555561c6c20, 
    _cmd=0x7ffff2b37c90 <_OBJC_SELECTOR_TABLE+912>, objectName=0x7ffff7f935a0 <_OBJC_INSTANCE_116.28>, 
    lookupContext=0x5555561491c0, acquire=0 '\000') at SOGoContactSourceFolder.m:200
#7  0x00007ffff2b21a21 in -[SOGoContactFolders contactForEmail:] (self=0x55555602ae00, 
    _cmd=0x7fffe61fc590 <_OBJC_SELECTOR_TABLE+784>, theEmail=0x555555d42eb0) at SOGoContactFolders.m:519
#8  0x00007fffe61d492b in -[UIxMailView contentViewerComponent] (self=0x5555555d4e50, 
    _cmd=0x7fffe61fc670 <_OBJC_SELECTOR_TABLE+1008>) at UIxMailView.m:263
#9  0x00007fffe61d4d43 in -[UIxMailView view:] (self=0x5555555d4e50, _cmd=0x7fffe61fc5f0 <_OBJC_SELECTOR_TABLE+880>, raw=0 '\000')
    at UIxMailView.m:348
#10 0x00007fffe61d4a58 in -[UIxMailView defaultAction] (self=0x5555555d4e50, _cmd=0x555555a4b9a0) at UIxMailView.m:278
#11 0x00007ffff795d960 in -[WOComponent(DirectActionExtensions) performActionNamed:] (self=0x5555555d4e50, 
    _cmd=0x7ffff2a46f20 <_OBJC_SELECTOR_TABLE+1824>, _actionName=0x555556277e90) at WOPageRequestHandler.m:245
#12 0x00007ffff2a3b1cc in -[UIxComponent performActionNamed:] (self=0x5555555d4e50, 
    _cmd=0x7ffff7b23f40 <_OBJC_SELECTOR_TABLE+928>, _actionName=0x5555559246f0) at UIxComponent.m:821
#13 0x00007ffff79e66ae in -[SoActionInvocation callOnObject:withPositionalParametersWhenNotNil:inContext:] (self=0x555556078180, 
    _cmd=0x7ffff7b23f70 <_OBJC_SELECTOR_TABLE+976>, _client=0x555555d33420, _positionalArgs=0x0, _ctx=0x5555561491c0)
    at SoActionInvocation.m:300
#14 0x00007ffff79e67f7 in -[SoActionInvocation callOnObject:inContext:] (self=0x555556078180, 
    _cmd=0x7ffff7b23e90 <_OBJC_SELECTOR_TABLE+752>, _client=0x555555d33420, _ctx=0x5555561491c0) at SoActionInvocation.m:318
#15 0x00007ffff79e6410 in -[SoActionInvocation callOnObject:withPositionalParametersWhenNotNil:inContext:] (self=0x55555593dfc0, 
    _cmd=0x7ffff7b23f70 <_OBJC_SELECTOR_TABLE+976>, _client=0x555555d33420, _positionalArgs=0x0, _ctx=0x5555561491c0)
    at SoActionInvocation.m:260
#16 0x00007ffff79e67f7 in -[SoActionInvocation callOnObject:inContext:] (self=0x55555593dfc0, 
    _cmd=0x7ffff7b1db40 <_OBJC_SELECTOR_TABLE+672>, _client=0x555555d33420, _ctx=0x5555561491c0) at SoActionInvocation.m:318
#17 0x00007ffff79e0386 in -[SoObjectMethodDispatcher dispatchInContext:] (self=0x555556199470, 
    _cmd=0x7ffff7b200a0 <_OBJC_SELECTOR_TABLE+1568>, _ctx=0x5555561491c0) at SoObjectMethodDispatcher.m:192
#18 0x00007ffff79e2bb5 in -[SoObjectRequestHandler handleRequest:inContext:session:application:] (self=0x555555a6caf0, 
    _cmd=0x7ffff7aa9d30 <_OBJC_SELECTOR_TABLE+848>, _rq=0x5555561294d0, _ctx=0x5555561491c0, _sn=0x0, app=0x5555559efbf0)
    at SoObjectRequestHandler.m:589
#19 0x00007ffff795f99b in -[WORequestHandler handleRequest:] (self=0x555555a6caf0, 
    _cmd=0x7ffff7a72190 <_OBJC_SELECTOR_TABLE+1616>, _request=0x5555561294d0) at WORequestHandler.m:240
#20 0x00007ffff791a8d6 in -[WOCoreApplication dispatchRequest:usingHandler:] (self=0x5555559efbf0, 
    _cmd=0x7ffff7a721e0 <_OBJC_SELECTOR_TABLE+1696>, _request=0x5555561294d0, handler=0x555555a6caf0) at WOCoreApplication.m:712
#21 0x00007ffff791ac41 in -[WOCoreApplication dispatchRequest:] (self=0x5555559efbf0, 
    _cmd=0x5555555678b0 <_OBJC_SELECTOR_TABLE+1744>, _request=0x5555561294d0) at WOCoreApplication.m:752
#22 0x000055555555dbd6 in -[SOGo dispatchRequest:] (self=0x5555559efbf0, _cmd=0x7ffff7b0fe80 <_OBJC_SELECTOR_TABLE+1792>, 
    _request=0x5555561294d0) at SOGo.m:614
#23 0x00007ffff79cf52c in -[WOHttpTransaction _run] (self=0x5555560e2540, _cmd=0x7ffff7b0feb0 <_OBJC_SELECTOR_TABLE+1840>)
    at WOHttpTransaction.m:566
#24 0x00007ffff79cf8f2 in -[WOHttpTransaction run] (self=0x5555560e2540, _cmd=0x7ffff7b0c390 <_OBJC_SELECTOR_TABLE+1168>)
    at WOHttpTransaction.m:619
#25 0x00007ffff79caf81 in -[WOHttpAdaptor runConnection:] (self=0x555555c2f020, _cmd=0x7ffff7b0c430 <_OBJC_SELECTOR_TABLE+1328>, 
    _socket=0x5555560af290) at WOHttpAdaptor.m:373
#26 0x00007ffff79cb1d8 in -[WOHttpAdaptor _handleAcceptedConnection:] (self=0x555555c2f020, 
    _cmd=0x7ffff7b0c440 <_OBJC_SELECTOR_TABLE+1344>, _connection=0x5555560af290) at WOHttpAdaptor.m:407
#27 0x00007ffff79cb651 in -[WOHttpAdaptor _handleConnection:] (self=0x555555c2f020, 
    _cmd=0x7ffff7b0c4e0 <_OBJC_SELECTOR_TABLE+1504>, connection=0x5555560af290) at WOHttpAdaptor.m:466
#28 0x00007ffff79cbb3f in -[WOHttpAdaptor acceptConnection:] (self=0x555555c2f020, 
    _cmd=0x7ffff7b0c350 <_OBJC_SELECTOR_TABLE+1104>, _notification=0x5555560ef1a0) at WOHttpAdaptor.m:527
#29 0x00007ffff6ec6ccb in -[NSNotificationCenter _postAndRelease:] (self=0x555555742700, _cmd=<optimized out>, 
    notification=0x5555560ef1a0) at ./Source/NSNotificationCenter.m:1198
#30 0x00007ffff7560d38 in -[NSObject(FileObjectWatcher) receivedEvent:type:extra:forMode:] (self=0x555555bf1a70, 
    _cmd=0x7ffff728fa30 <_OBJC_SELECTOR_TABLE+304>, _fdData=0x5, _type=ET_RDESC, _extra=0x5, 
    _mode=0x7ffff720a210 <_OBJC_INSTANCE_2>) at NSRunLoop+FileObjects.m:59
#31 0x00007ffff6fddeb6 in -[GSRunLoopCtxt pollUntil:within:] (self=<optimized out>, 
    _cmd=0x7ffff72093e0 <_OBJC_SELECTOR_TABLE+1184>, milliseconds=<optimized out>, contexts=0x555555ae0e20)
    at ./Source/unix/GSRunLoopCtxt.m:600
#32 0x00007ffff6f11674 in -[NSRunLoop acceptInputForMode:beforeDate:] (self=0x555555a0a6a0, 
    _cmd=0x7ffff7209410 <_OBJC_SELECTOR_TABLE+1232>, mode=0x7ffff720a210 <_OBJC_INSTANCE_2>, limit_date=0x555555c5cc30)
    at ./Source/NSRunLoop.m:1254
#33 0x00007ffff6f11340 in -[NSRunLoop runMode:beforeDate:] (self=<optimized out>, _cmd=<optimized out>, 
    mode=0x7ffff720a210 <_OBJC_INSTANCE_2>, date=<optimized out>) at ./Source/NSRunLoop.m:1334
#34 0x00007ffff791a045 in -[WOCoreApplication run] (self=0x5555559efbf0, _cmd=0x5555555675f0 <_OBJC_SELECTOR_TABLE+1040>)
    at WOCoreApplication.m:584
#35 0x000055555555ca7d in -[SOGo run] (self=0x5555559efbf0, _cmd=0x7ffff7a94f50 <_OBJC_SELECTOR_TABLE+208>) at SOGo.m:346
#36 0x00007ffff794816e in WOApplicationMain (_appClassName=0x5555555651e0 <_OBJC_INSTANCE_4.1>, argc=13, argv=0x7fffffffeb48)
    at WOApplicationMain.m:42
#37 0x00007ffff796c00e in WOWatchDogApplicationMain (appName=0x5555555651e0 <_OBJC_INSTANCE_4.1>, argc=13, argv=0x7fffffffeb48)
    at WOWatchDogApplicationMain.m:1051
#38 0x000055555555b399 in main (argc=13, argv=0x7fffffffeb48, env=0x7fffffffebb8) at sogod.m:59

smime-debug-bt.txt (7,986 bytes)   

Issue History

Date Modified Username Field Change
2025-11-25 13:58 pipandmar New Issue
2025-11-25 13:58 pipandmar File Added: SoObjects_Contacts_SOGoContactLDIFEntry_m.patch
2025-11-25 13:58 pipandmar File Added: smime-debug-bt.txt