Bug 32962

Summary: Two way sync of binary objects
Product: UCS Reporter: Kevin Dominik Korte <korte>
Component: S4 ConnectorAssignee: Connector maintainers <connector-maintainers>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: P5 CC: gohmann, grandjean, requate
Version: UCS 3.1   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=49092
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional): Further conceptual development
Max CVSS v3 score:

Description Kevin Dominik Korte univentionstaff 2013-10-22 19:07:33 CEST
Currently, when syncing binary objects currently only works oneway by adding into the mapping entries like

                                        'userCert':univention.s4connector.attribute (
ucs_attribute='userCertificate',
ldap_attribute='userCertificate;binary',
con_attribute='userCertificate'
                                                ),

This however prevents a two way sync as the attribute doesn't have the binary in the end. Therefore it would be good, if the connector would be extended to allow the sync of binary objects.
Comment 1 Arvid Requate univentionstaff 2013-10-24 11:52:09 CEST
"one way": which way? Logs?
Comment 2 Kevin Dominik Korte univentionstaff 2013-10-25 22:53:34 CEST
It only syncronizes from UCS to S4 on the way back the following error occures

22.10.2013 14:50:45,870 LDAP        (PROCESS): sync to ucs: Resync
rejected dn: CN=Win7-02,CN=Computers,<Base>
22.10.2013 14:50:45,879 LDAP        (PROCESS): sync to ucs:  
[windowscomputer] [    modify] cn=win7-02,cn=computers,<Base>
22.10.2013 14:50:46,10 LDAP        (ERROR  ): Unknown Exception during
sync_to_ucs
22.10.2013 14:50:46,11 LDAP        (ERROR  ): Traceback (most recent
call last):
  File
"/usr/lib/pymodules/python2.6/univention/s4connector/__init__.py",
line 1311, in sync_to_ucs
    result = self.modify_in_ucs(property_type, object, module,
position)
  File
"/usr/lib/pymodules/python2.6/univention/s4connector/__init__.py",
line 1178, in modify_in_ucs
    return ucs_object.modify() and
self.__modify_custom_attributes(property_type, object, ucs_object,
module, position)
  File
"/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py",
line 344, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File
"/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py",
line 868, in _modify
    self.lo.modify(self.dn, ml, ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line
412, in modify
    raise univention.admin.uexceptions.ldapError, _err2str(msg)
ldapError: Invalid syntax: userCertificate;binary: value #0 invalid
per syntax
Comment 3 Stefan Gohmann univentionstaff 2013-11-01 21:14:02 CET
You can simple overwrite the mapping functions in mapping.py. Alternative you can add post-functions.
Comment 4 Stefan Gohmann univentionstaff 2016-10-11 08:01:21 CEST
This issue has been filed against UCS 3.1.

UCS 3.1 is out of maintenance and many UCS components have vastly changed in later releases. Thus, this issue is now being closed.

If this issue still occurs in newer UCS versions, please reopen.