[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Georg Brandl ge...@python.org added the comment: Thanks for the patch! Applied in r81465 f. Merged to 2.x in r81467, will merge to 3k later. -- nosy: +georg.brandl resolution: - fixed status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Changes by Andrew Shuiu as...@bitdefender.com: -- versions: +Python 3.1 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Andy Sk python...@bitjug.com added the comment: Thank you Henrik. The workaround in the first comment caused some cookies to be handled incorrectly due to ignoring version on all cookies, but your workaround is nice. It seems that the patch jjlee supplied should really be applied, however, to save others from having this problem. -- nosy: +andysk ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Henrik Olsson henr...@wip.se added the comment: The cookiejar workaround in the first comment did not work for me. The cookies didn't stick in it. I guess version needs to be set.. this worked for me: class ForgivingCookieJar(cookielib.CookieJar): def _cookie_from_cookie_tuple(self, tup, request): name, value, standard, rest = tup version = standard.get(version, None) if version is not None: # Some servers add around the version number, this module expects a pure int. standard[version] = version.strip('') return cookielib.CookieJar._cookie_from_cookie_tuple(self, tup, request) -- nosy: +henriko ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Changes by Daniel Diniz aja...@gmail.com: -- stage: - patch review versions: -Python 2.5 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
Martin v. Löwis [EMAIL PROTECTED] added the comment: As the patch hasn't been applied to the trunk yet, I'm rejecting it for 2.5.3. -- nosy: +loewis versions: -Python 2.5.3 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
John J Lee [EMAIL PROTECTED] added the comment: Patch with tests attached. The patch is slightly different to my first suggestion: in the patch, invalid version values cause the cookie to be ignored (but double quotes around valid versions are fine). -- keywords: +patch Added file: http://bugs.python.org/file11888/issue3924.patch ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
John J Lee [EMAIL PROTECTED] added the comment: The bug is present on trunk and on the py3k branch, so I've selected versions Python 2.7 and Python 3.0 This is a straightforward bug, so I selected 2.5.3 and 2.6 also, to indicate this is a candidate for backport. -- components: +Library (Lib) -None type: crash - behavior versions: +Python 2.5.3, Python 2.6, Python 2.7, Python 3.0 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
John J Lee [EMAIL PROTECTED] added the comment: The sensible fix for this is to strip the quotes off, defaulting to version 0 on failure to parse the version cookie-attribute. It's not necessary to retain the original version string. By the way, what you posted warning rather than a strictly unhandled exception or crash -- it's a bug, but won't cause the program to stop. And by none of the cookies work after that, you mean that no cookies in headers containing the quoted version cookie-attribute are accepted by the cookiejar. FWIW, this bug only affects RFC 2109 cookies, not RFC 2965 cookies. -- nosy: +jjlee ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue3924] cookielib chokes on non-integer cookie version, should ignore it instead
New submission from Denis [EMAIL PROTECTED]: PROBLEM: Some sites (e.g. https://itunesconnect.apple.com) sends cookies where version is 1 instead of 1. Cookielib chokes on it so none of the cookies work after that. PROBLEM CODE: def _cookie_from_cookie_tuple(self, tup, request): ... name, value, standard, rest = tup ... version = standard.get(version, None) if version is not None: version = int(version) CRASH HERE!!! WORKAROUND: use my own cookie jar, e.g.: class MyCookieJar(CookieJar): def _cookie_from_cookie_tuple(self, tup, request): name, value, standard, rest = tup standard[version]= None CookieJar._cookie_from_cookie_tuple(self, tup, request) REAL FIX: do not assume that version is int, keep it as string if it does not parse as int: CRASH STACK: /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/cookielib.py:1577: UserWarning: cookielib bug! Traceback (most recent call last): File /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/cookielib.py, line 1575, in make_cookies parse_ns_headers(ns_hdrs), request) File /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/cookielib.py, line 1532, in _cookies_from_attrs_set cookie = self._cookie_from_cookie_tuple(tup, request) File /Users/denis/Documents/svn2/tson/main/sales/src/download_sales.py, line 28, in _cookie_from_cookie_tuple CookieJar._cookie_from_cookie_tuple(self, tup, request) File /Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/cookielib.py, line 1451, in _cookie_from_cookie_tuple if version is not None: version = int(version) ValueError: invalid literal for int() with base 10: '1' _warn_unhandled_exception() -- components: None messages: 73518 nosy: DenNukem severity: normal status: open title: cookielib chokes on non-integer cookie version, should ignore it instead type: crash versions: Python 2.5 ___ Python tracker [EMAIL PROTECTED] http://bugs.python.org/issue3924 ___ ___ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com