Skip to content
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

Closed
wants to merge 4 commits into from
Closed

Wip rgw openssl 4 #11571

wants to merge 4 commits into from

Conversation

mdw-at-linuxbox
Copy link
Contributor

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.

@mdw-at-linuxbox
Copy link
Contributor Author

With this patch, this is "expected" and normal behavior:
error parsing int: 443s: The option value '443s' seems to be invalid

@tchaikov tchaikov added the rgw label Oct 20, 2016
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>
@mdw-at-linuxbox
Copy link
Contributor Author

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.

@mdw-at-linuxbox mdw-at-linuxbox mentioned this pull request Nov 3, 2016
@mdw-at-linuxbox
Copy link
Contributor Author

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

@mdw-at-linuxbox
Copy link
Contributor Author

Since civetweb-1.8 has been committed, I'm going to close this one in favor of #11776.

@mdw-at-linuxbox mdw-at-linuxbox deleted the wip-rgw-openssl-4 branch November 8, 2016 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants