New submission from m-parry:
The change in issue #29100 - intended AFAICS simply to fix a regression in 3.6
- seems to have made datetime validation via certain code paths stricter than
it was in 2.7 or 3.5. I think it's the case that some routes via the C API now
reject out of range values that were previously permitted. Even if this
previous behaviour was incorrect, was it intentional to alter that in a
maintenance release?
Here's a quick example using pywin32:
---
> import getpass, sspi, sspicon, win32security
> client_name = getpass.getuser()
> auth_info = (client_name, 'wherever.com', None)
> pkg_info = win32security.QuerySecurityPackageInfo('Kerberos')
> win32security.AcquireCredentialsHandle(
> client_name, pkg_info['Name'],
> sspicon.SECPKG_CRED_OUTBOUND,
> None, auth_info)
ValueError: year 30828 is out of range
---
Of course, this is probably a mishandling of the 'never expires' value returned
by the Windows API in this case, and indeed I have also created a pywin32
ticket. However, I'm guessing that the linked issue wasn't supposed to break
such code.
----------
components: Library (Lib)
messages: 290609
nosy: m-parry
priority: normal
severity: normal
status: open
title: datetime validation is stricter in 3.6.1 than previous versions
type: behavior
versions: Python 3.6
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29921>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com