New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wip rgw openssl 4 #11571
Wip rgw openssl 4 #11571
Conversation
With this patch, this is "expected" and normal behavior: |
If building with radosgw, always look for openssl library (even when building with nss). Then, use objdump to fetch SONAME from the copies of libssl and libcrypto that were found. When building civetweb; pass the library soname values in as the libraries to load with "dlopen". This is a problem that went away for a bit, but came back with some changes for http://tracker.ceph.com/issues/16535 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1341775 Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1258961 Fixes: http://tracker.ceph.com/issues/11239 Signed-off-by: Marcus Watts <mwatts@redhat.com>
This includes information on file format and configuration file syntax. Signed-off-by: Marcus Watts <mwatts@redhat.com>
Also pull in the commit from this copy of civetweb that will be required by the next commit (to the ceph code). Signed-off-by: Marcus Watts <mwatts@redhat.com>
…ivetweb. For civetweb: accept a range of port numbers joined with '+'. Port numbers may include an ipaddress: prefix and 's' suffix. Additionally, use "mg_get_local_addr" to correctly deduce host port per incoming connection. civetweb can accept connections on multiple ports, some of which might have SSL turned on and some not. Both s3 and swift have various authorization protocols in which the port number matters. In the generic radosgw frontend process, each frontend only has one port number, but we should want to have both ssl and non-ssl connections managed within one rgw frontend, because the thread pool is also per front-end, and that *is* a scarce resource. So, this patch enables the use of multiple ports with a single civetweb frontend. To indicate https: append an 's' to portno. To use multiple ports, use +. So 80+443s indicates use of the usual default http ports. The parsed port is not stored in the frontend structure, So instead, this patch adds logic to use the results of mg_get_local_addr() on a per-connection basis insetad of the generic front-end port number. This will affect "v4" s3 authorization, and also affect swift pre-signed URLs. mg_get_local_addr() is a new customization to civetweb; that submodule was updated (in a temporary repository) by the previous commit to this. Signed-off-by: Marcus Watts <mwatts@redhat.com>
722cc90
to
d84bfdd
Compare
I've pushed a new version of this. This version requires a patch be made to civetweb, to add "mg_get_local_addr". I've made a separate pr for that, ceph/civetweb#14 . This version can listen on multiple ports, some of which can have ssl enabled. It should also work with s3 v4 and swift preauth urls. |
Yehuda asked for a version of this updated to use civetweb 1.8. I've made a separate pair of PRs for that, #11776 ceph/civetweb#15 |
Since civetweb-1.8 has been committed, I'm going to close this one in favor of #11776. |
This is a simplified update of PR # 10335. Just 2 commits,
840c12c load libssl.so and libcrypto.so by name.
722cc90 document that radosgw now supports SSL.