2764 Commits

Author SHA1 Message Date
Benoit Chesneau
ab25bae7eb Revert "socketfromfd: fix cross platform usage"
This reverts commit e69e8020539989d1b5d4846f5329843c6150767d.
2019-11-26 20:27:21 +01:00
Benoit Chesneau
8c759dd2e3 Revert "fix linting on python 3.8"
This reverts commit d38f6e47ea03a4c0121036a4300fe2d0155e85c6.
2019-11-26 20:27:21 +01:00
Benoit Chesneau
d530e673c3 Revert "refactor module"
This reverts commit 9419d660960869438c1a19838e09b63e6dbfbac6.
2019-11-26 20:27:21 +01:00
benoitc
5bae77c56c Merge branch '20.x' 2019-11-25 23:31:30 +01:00
benoitc
d95ed4489e point website to last version 2019-11-25 23:30:42 +01:00
benoitc
0c3af6e364 Merge branch 'master' into 20.x 2019-11-25 23:16:58 +01:00
benoitc
f646bdee39 fix bad cherry-picking 2019-11-25 23:15:22 +01:00
benoitc
2dae3ea165 bump to 20.0.3 2019-11-25 23:06:01 +01:00
benoitc
8b64aaedd5 changelog for the 20.0.3 2019-11-25 23:05:10 +01:00
benoitc
50a2cb6b16 bump to 20.0.3 2019-11-25 22:59:12 +01:00
benoitc
5257d924b6 changelog for the 20.0.3 2019-11-25 22:57:00 +01:00
benoitc
388fe40797 make config doc more explicit
explicit what we mean by "not need to be importable".
2019-11-25 22:51:46 +01:00
benoitc
05515873ea put back configuration file without py extension and deprecate it
this change put back (and fix it) support of configuration files without
ython extension and warn about its usage.
2019-11-25 22:51:46 +01:00
benoitc
d31ac1df83 config file extension should be a python extension
This change make it clear what is configuration file for Gunicorn.
Using a filename with an extension different than a python extension
was never supported. Also it gives us some room for a proper config file.
2019-11-25 22:51:46 +01:00
benoitc
444b2d8213 refactor module
use appropriate naming for function, make _getsockname more generic and
doc more useful
2019-11-25 22:51:46 +01:00
benoitc
3ae3d1cfcc fix linting on python 3.8 2019-11-25 22:51:46 +01:00
benoitc
883e62da46 socketfromfd: fix cross platform usage
on osx and maybe some other systems, SO_PROTOCOL is not set, also
the socket family is not detected correctly.

This patch remove default values in socketfromfd and do the following:
* detect proper family using getsockname instead of getsocktopt
* if no type is given, default to SOCK_STREAM (we don't have any other type)
* if no protocol is given, default to 0 and let the system take care of it.
2019-11-25 22:51:46 +01:00
benoitc
fa32aa7757 socketfromfd: remove python 2 compatibility 2019-11-25 22:51:46 +01:00
benoitc
b4e52c181a make config doc more explicit
explicit what we mean by "not need to be importable".
2019-11-25 22:44:25 +01:00
benoitc
9a3e008eca put back configuration file without py extension and deprecate it
this change put back (and fix it) support of configuration files without
ython extension and warn about its usage.
2019-11-25 22:44:25 +01:00
benoitc
9538358511 config file extension should be a python extension
This change make it clear what is configuration file for Gunicorn.
Using a filename with an extension different than a python extension
was never supported. Also it gives us some room for a proper config file.
2019-11-25 22:44:25 +01:00
benoitc
9419d66096 refactor module
use appropriate naming for function, make _getsockname more generic and
doc more useful
2019-11-25 17:45:35 +01:00
benoitc
d38f6e47ea fix linting on python 3.8 2019-11-25 17:45:35 +01:00
benoitc
e69e802053 socketfromfd: fix cross platform usage
on osx and maybe some other systems, SO_PROTOCOL is not set, also
the socket family is not detected correctly.

This patch remove default values in socketfromfd and do the following:
* detect proper family using getsockname instead of getsocktopt
* if no type is given, default to SOCK_STREAM (we don't have any other type)
* if no protocol is given, default to 0 and let the system take care of it.
2019-11-25 17:45:35 +01:00
benoitc
404a712023 socketfromfd: remove python 2 compatibility 2019-11-25 17:45:35 +01:00
Randall Leeds
20774b8331 Remove support for bdist_rpm 2019-11-24 17:44:47 +01:00
benoitc
ceca7c849c bump website version 2019-11-23 11:42:32 +01:00
benoitc
911f7057ef bump to 20.0.2
fix changelog
2019-11-23 11:40:42 +01:00
benoitc
83bfe9e737 fix typo 2019-11-23 11:29:23 +01:00
benoitc
a4803a48a6 fix 19.10 version in doc 2019-11-23 11:25:44 +01:00
benoitc
333dc9bb4d fix doc title 2019-11-23 11:18:09 +01:00
benoitc
e3659e8adc document 20.0.1 change 2019-11-23 10:39:04 +01:00
benoitc
ef7d10853d add 19.9.10 changelog 2019-11-23 10:16:51 +01:00
benoitc
455767b96a remove useless import in app.base 2019-11-22 23:03:30 +01:00
benoitc
0752ccd5df remove Python 3.4 testing in travis 2019-11-22 23:03:30 +01:00
benoitc
ad4ff8cb3c modernize the way the config module is loaded
This change load the module  as suggested in the Python docs : https://docs.python.org/3/library/importlib.html#importing-a-source-file-directly which add the `__file__` attribute back and others possibly missing.

This change remove the support of python 3.4
2019-11-22 23:03:30 +01:00
benoitc
441977f57c only support python >= 3.5
python 3.4 is unsupported and we should focus on offering stable
features than backporting some code to this version
2019-11-22 23:03:30 +01:00
ThePrez
4d3ec28046 fix IBM i 'missing libc' failure (#2195)
allow gunicorn on IBM i (and AIX) platform with Python 3.6 and earlier
2019-11-22 22:14:35 +01:00
Aaron Wilson
291483dd39 Add a __repr__ to config to include its value (#2076)
It's sometimes helpful to be able to trivially dump all the config values
for debugging purposes. This commit defines a repr for that.
2019-11-22 21:39:45 +01:00
benoitc
1aa9cf0529 fix faq
correct the versions when we changed logging to the console.
2019-11-22 21:12:03 +01:00
Randall Leeds
c25563fa95 Add Paste Deploy changes to Breaking Change list 2019-11-22 09:58:06 -08:00
benoitc
b01fe34e56 use hight protocol version of openssl by default 2019-11-22 15:34:07 +01:00
benoitc
f9ade3af34 unblock select loop during reload of a sync worker
When reloading the worker canbe in the select loop and it will wait until timeout before handling any change. So make sure to wake up the loop before going further.
2019-11-22 14:10:49 +01:00
benoitc
8a270c9329 wsgi.input_terminated is always true
As spotted by @tilgovi Gunicorn always ensure the reader terminate. So set wsgi.input_terminated to true to signal it to the application.
2019-11-21 18:13:55 +01:00
benoitc
0d8a022791 Revert "fix wsgi.input_terminated"
This reverts commit 265e58f9e82f64e003015fb25823f5a983be8c27.
2019-11-21 18:11:17 +01:00
Benoit Chesneau
e150ca4ff8
add "*.so.*" case to util.find_lib
The actual libc name in musl is: libc.musl-x86_64.so.1 this case should handle it.
2019-11-21 11:53:13 +01:00
benoitc
499dcd4021 add a simple example to test module path 2019-11-21 10:18:07 +01:00
Benoit Chesneau
56e4a6cd7f
Merge pull request #2187 from benoitc/fix-2160
fix gunicorn when used with musl libc
2019-11-21 09:52:09 +01:00
Benoit Chesneau
46b6556a68
Merge pull request #2188 from benoitc/fix-input_terminated
fix wsgi.input_terminated
2019-11-21 09:51:24 +01:00
benoitc
265e58f9e8 fix wsgi.input_terminated
Sometimes both TRANSFER-ENCODING=chunked and CONTENT_LENGTH are set. Since gunicorn prioritise (following the HTTP1.1 spec) chunked encoding we should make sure in this case to signal to th application that the input is terminated by the server.

Without the change gunicorn were always setting wsg.input_terminated to False when a CONTENT_LENGTH header was present ignoring that Gunicorn was afaik handling the termination.
2019-11-20 23:07:14 +01:00