zulip: APNS package is out of date, causes authentication error
Zulip currently relies on the apnsclient package for sending Apple push notifications. Unfortunately, that package hasn’t been actively maintained since 2014.
This has become a problem as apnsclient still uses OpenSSL.SSL.SSLv3_METHOD, which Apple stopped supporting in October of 2014. As such, if you build the current Zulip as-is, Apple will reject your attempts to send push notifications.
The simple solution (aka no changes to the Zulip code base) is to edit the apns.py file within the apnsclient directory directly, changing:
self._context = OpenSSL.SSL.Context(OpenSSL.SSL.SSLv3_METHOD)
to
self._context = OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD)
Longer term, we should consider replacing the apnsclient package with a more supported version and updating the methods in /zerver/lib/push_notifications.py
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 15 (9 by maintainers)
Commits related to this issue
- Switch to PyAPNS. Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to sharmaeklavya2/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538 — committed to umairwaheed/zulip by umairwaheed 8 years ago
- Switch to PyAPNS for sending push notifications. Switch to [PyAPNS](https://github.com/djacobs/PyAPNs). Fixes #538. — committed to TomaszKolek/zulip by umairwaheed 8 years ago
I guess https://github.com/djacobs/PyAPNs is probably a reasonable option