Bug 46880 - Traceback due to large value in sambaKickoffTime
Traceback due to large value in sambaKickoffTime
Status: NEW
Product: UCS
Classification: Unclassified
Component: UMC - Users
UCS 5.0
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-04-25 11:06 CEST by Sönke Schwardt-Krummrich
Modified: 2020-06-22 18:25 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.057
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
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 Sönke Schwardt-Krummrich univentionstaff 2018-04-25 11:06:11 CEST
In our internal environment the following traceback occurred:

Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/management/console/base.py", line 253, in execute
    function.__func__(self, request, *args, **kwargs)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 192, in _response
    return function(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 318, in _response
    result = _multi_response(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 192, in _response
    return function(self, request)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 440, in _response
    return list(function(self, iterator, *nones))
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/decorators.py", line 286, in _fake_func
    yield function(self, *args)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/__init__.py", line 913, in syntax_choices_info
    return info_syntax_choices(syntax)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 1153, in info_syntax_choices
    size += len(module.search(filter=filter_s, simple=not syn.use_objects))
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 83, in _decorated
    return method(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/univention/management/console/ldap.py", line 143, in _decorated
    result = func(*args, **kwargs)
  File "/usr/lib/pymodules/python2.7/univention/management/console/modules/udm/udm_ldap.py", line 485, in search
    result = self.module.lookup(None, ldap_connection, filter_s, base=container, superordinate=superordinate, scope=scope, sizelimit=sizelimit)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 1404, in lookup
    result.append(cls(co, lo, None, dn=dn, superordinate=superordinate, attributes=attrs))
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1519, in __init__
    univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes=attributes)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 230, in __init__
    oldinfo = self.mapping.unmapValues(self.oldattr)
  File "/usr/lib/pymodules/python2.7/univention/admin/mapping.py", line 323, in unmapValues
    info[key] = func(oldattr)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1272, in unmapUserExpiry
    return unmapKrb5ValidEndToUserexpiry(oldattr) or unmapSambaKickoffTimeToUserexpiry(oldattr) or unmapShadowExpireToUserexpiry(oldattr)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 1296, in unmapSambaKickoffTimeToUserexpiry
    return time.strftime("%Y-%m-%d", time.gmtime(long(oldattr['sambaKickoffTime'][0]) + (3600 * 24)))
ValueError: timestamp out of range for platform time_t

Reason were 2 user objects with:
  sambaKickoffTime: 2147483647

This traceback is probably only on i386 plattforms a problem. I have not verified this.