freeipa/ipapython
Alexander Bokovoy 1f6ca418ee handle Y2038 in timestamp to datetime conversions
According to datetime.utcfromtimestamp() method documentation[1],
this and similar methods fail for dates past 2038 and can be replaced by
the following expression on the POSIX compliant systems:

  datetime(1970, 1, 1, tzinfo=timezone.utc) + timedelta(seconds=timestamp)

Make sure to use a method that at least allows to import the timestamps
properly to datetime objects on 32-bit platforms.

[1] https://docs.python.org/3/library/datetime.html#datetime.datetime.utcfromtimestamp

Fixes: https://pagure.io/freeipa/issue/8378

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
Reviewed-By: Christian Heimes <cheimes@redhat.com>
2020-06-25 09:18:02 +03:00
..
install Fix errors found by Pylint-2.4.3 2019-10-21 18:01:32 +11:00
__init__.py Rename ipa-python directory to ipapython so it is a real python library 2009-02-09 14:35:15 -05:00
admintool.py ipapython/admintool.py: use SERVER_NOT_CONFIGURED 2019-07-30 12:01:27 +02:00
certdb.py Check valid before/after of external certs 2019-12-10 16:23:31 +01:00
config.py Fix E712 comparison to True / False 2020-05-05 10:42:46 +02:00
cookie.py handle Y2038 in timestamp to datetime conversions 2020-06-25 09:18:02 +03:00
directivesetter.py Grammar: whitespace is a word 2020-06-23 10:16:29 +02:00
dn_ctypes.py Load libldap_r-*.so.2 2019-05-14 12:27:55 +02:00
dn.py Removes several pylint warnings. 2019-09-27 09:38:32 +02:00
dnsutil.py DNS install check: allow overlapping zone to be from the master itself 2019-12-12 18:24:44 +01:00
dogtag.py Send only the path and not the full URI to httplib.request 2019-03-19 11:00:43 -04:00
errors.py Replace StandardError with Exception 2015-09-30 10:51:36 +02:00
graph.py Py3: Remove subclassing from object 2018-09-27 11:49:04 +02:00
ipa_log_manager.py Remove deprecated object logger 2019-04-23 12:55:35 +02:00
ipachangeconf.py Fixed errors newly exposed by pylint 2.4.0 2019-09-25 20:14:06 +10:00
ipaldap.py Explain the effect of OPT_X_TLS_PROTOCOL_MIN 2020-05-18 14:45:31 +02:00
ipautil.py handle Y2038 in timestamp to datetime conversions 2020-06-25 09:18:02 +03:00
ipavalidate.py Change FreeIPA license to GPLv3+ 2010-12-20 17:19:53 -05:00
kerberos.py Py3: Replace six.bytes_type with bytes 2018-09-27 16:11:18 +02:00
kernel_keyring.py Don't configure KEYRING ccache in containers 2019-01-18 11:33:11 +01:00
Makefile.am ipapython: fix DEFAULT_PLUGINS in version.py 2017-03-09 18:39:48 +01:00
nsslib.py Remove ipapython.nsslib as it is not used anymore 2017-03-01 09:43:41 +00:00
README Replace DNS client based on acutil with python-dns 2012-05-24 13:55:56 +02:00
session_storage.py Fix pylint warnings inconsistent-return-statements 2017-12-18 11:51:14 +01:00
setup.cfg Port all setup.py to setuptools 2016-10-20 18:43:37 +02:00
setup.py Make python-ldap optional for PyPI packages 2019-04-26 12:53:23 +02:00
ssh.py Py3: Remove subclassing from object 2018-09-27 11:49:04 +02:00
version.py.in Manually reformat ipapython/version.py.in 2020-05-05 10:42:46 +02:00

This is a set of libraries common to IPA clients and servers though mostly
geared currently towards command-line tools.

A brief overview:

config.py - identify the IPA server domain and realm. It uses python-dns to
            try to detect this information first and will fall back to
            /etc/ipa/default.conf if that fails.

ipautil.py - helper functions

entity.py - entity is the main data type. User and Group extend this class
            (but don't add anything currently).

ipavalidate.py - basic data validation routines