Bug 48061 - Windows_certificate solution with problems in the backup server module
Windows_certificate solution with problems in the backup server module
Status: RESOLVED WORKSFORME
Product: UCS
Classification: Unclassified
Component: UMC - Computers
UCS 4.3
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-10-26 14:11 CEST by Christina Scheinig
Modified: 2019-03-30 08:40 CET (History)
3 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 1: Nuisance – not a big deal but noticeable
User Pain: 0.023
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2018102521000933
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christina Scheinig univentionstaff 2018-10-26 14:11:57 CEST
In case, that is not just an Cool Solution issue, I file a Bug here.
In a customer environment with extended support for this solution
https://wiki.univention.de/index.php/Cool_Solution_-_Creation_and_management_of_user_and_Windows_certificates

an error message is shown on the backup server, opening a computer with a certificate in the computers module.
Ein Fehler ist aufgetreten:
Interner Server-Fehler: Der Modulprozess wurde unerwartet beendet.

This means in /var/log/univention/management-console-module-udm.log
the following traceback:
 
24.10.18 14:39:46.975  MODULE      ( ERROR   ) : Traceback (most recent call last):
  File "/usr/sbin/univention-management-console-module", line 121, in <module>
    notifier.loop()
  File "/usr/lib/pymodules/python2.7/notifier/nf_generic.py", line 287, in loop
    step()
  File "/usr/lib/pymodules/python2.7/notifier/nf_generic.py", line 279, in step
    __min_timer = dispatch.dispatcher_run()
  File "/usr/lib/pymodules/python2.7/notifier/dispatch.py", line 72, in dispatcher_run
    if not disp():
  File "/usr/lib/pymodules/python2.7/notifier/threads.py", line 154, in _simple_threads_dispatcher
    task.announce()
  File "/usr/lib/pymodules/python2.7/notifier/threads.py", line 135, in announce
    self._callback( self, self._result )
  File "/usr/lib/pymodules/python2.7/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "/usr/lib/pymodules/python2.7/univention/management/console/base.py", line 289, in thread_finished_callback
    self.finished(request.id, result)
  File "/usr/lib/pymodules/python2.7/univention/management/console/base.py", line 462, in finished
    self.result(res)
  File "/usr/lib/pymodules/python2.7/univention/management/console/base.py", line 466, in result
    self.signal_emit('success', response)
  File "/usr/lib/pymodules/python2.7/notifier/signals.py", line 75, in signal_emit
    self.__signals[ signal ].emit( *args )
  File "/usr/lib/pymodules/python2.7/notifier/signals.py", line 41, in emit
    cb( *args )
  File "/usr/lib/pymodules/python2.7/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/modserver.py", line 128, in _reply
    self.response(msg)
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/modserver.py", line 359, in response
    self.__queue += str(msg)
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/message.py", line 308, in __str__
    return Message._formattedMessage(self._id, self._type, self.mimetype, self.command, body, self.arguments)
  File "/usr/lib/pymodules/python2.7/univention/management/console/protocol/message.py", line 114, in _formattedMessage
    data = json.dumps(body)
  File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 380, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 291, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 373, in iterencode
    return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 1: invalid start byte

I reproduced this on my testenvironment:
UCS: 4.3-2 errata229
Comment 1 Stefan Gohmann univentionstaff 2018-11-02 08:29:55 CET
It works for me if I install univention-usercert on the DC backup. It might be a problem since the package contains a listener. I haven't checked it.

I guess the univention-usercert package doesn't register the hook via the LDAP extension, see ucs_registerLDAPExtension.

So it is not a UCS bug.
Comment 2 Christina Scheinig univentionstaff 2018-11-02 09:36:04 CET
(In reply to Stefan Gohmann from comment #1)
> It works for me if I install univention-usercert on the DC backup. It might
> be a problem since the package contains a listener. I haven't checked it.
> 
> I guess the univention-usercert package doesn't register the hook via the
> LDAP extension, see ucs_registerLDAPExtension.
> 
> So it is not a UCS bug.

Okay, in my test environment it works too with this package. I will give the solution to the customer.