-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
ZOOKEEPER-3714: zkperl: Add (Cyrus) SASL authentication support to Perl client #1243
Conversation
@eolivelli: Should I add you as a reviewer on this? I understand it is not your "domain," but you had some interesting comments about the Perl module on ZOOKEEPER-3303:
(I am willing to help with the integration, but would like to have your comments.) Also: would you have other reviewers to recommend? |
Dear @eolivelli, @HariSekhon, @chrisd8088, @nrh, @nkalmar, @symat, @enixon: I understand that Perl might not be the hottest topic in ZooKeeper land, but is there something one of us could do to get this moving? Cheers, -D |
The sad truth is that most contrib projects gets neglected :( Honestly, I never run the perl client. If anyone at least familiar with Perl takes a look, I'm willing to commit. Ping me again if no one reviews it in the next few days. I'll at least try to run the client and commit if it seems to work. But I would feel comfortable if someone who at least written at least one line of Perl took a look :) |
FYI: I have a gRPC prototype that I've been working on. I feel that the solution to non-JVM languages is gRPC. gRPC does have a Perl binding. |
@Randgalt: I know about it, and generally agree—but the goal of this specific PR is to enable existing Perl programs to SASL-authenticate with current servers while keeping changes to a minimum. (FWIW, I had a look at your branches, and am "monitoring" ZOOKEEPER-102. Everything looks very promising there, but "ingestion" into a stable ZK release is likely to take a while.) |
retest this please |
Without this, the compiler does not see any of the "Sync API" prototypes (e.g., zoo_create), and compilation only succeeds in non-hardenened environments.
…d issues This allows the binding to build with recent versions of GCC, including with -Wformat, -Wformat-security, and -Werror=format-security, as configured in some "hardened" environments.
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a --with-sasl2 flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, Net::ZooKeeper->new(...) admits a new key, 'sasl_options', which can be used to automatically authenticate with the server during connections (including reconnects).
4b09d3d
to
fdcab39
Compare
@phunt can you take a look please ? |
Now thinking that @symat may be also interested in looking into this. |
I can take a look tomorrow... however, I haven't used much perl either. And also I am not a committer, so my +1 will not mean much :) |
@symat: Not asking you to do extra work! I just thought I'd make you aware of this PR, as I keep seeing you foraging (almost) all dark corners of the ZK code base :) |
@nkalmar: Pinging you again :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Managed to build and try on linux. LGTM.
pushed to master only, as ZOOKEEPER-1112 is only on that branch. |
Thanks! (I would love to have |
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a `--with-sasl2` flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, `Net::ZooKeeper->new(...)` admits a new key, `sasl_options`, which can be used to automatically authenticate with the server during connections (including reconnects). Some of the preparatory work for this contribution, which is available in the other commits, may also fix [ZOOKEEPER-3303](https://issues.apache.org/jira/browse/ZOOKEEPER-3303), which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests. Author: Damien Diederen <[email protected]> Reviewers: Norbert Kalmar <[email protected]> Closes apache#1243 from ztzg/ZOOKEEPER-3714-zkperl-sasl-support
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a `--with-sasl2` flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, `Net::ZooKeeper->new(...)` admits a new key, `sasl_options`, which can be used to automatically authenticate with the server during connections (including reconnects). Some of the preparatory work for this contribution, which is available in the other commits, may also fix [ZOOKEEPER-3303](https://issues.apache.org/jira/browse/ZOOKEEPER-3303), which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests. Author: Damien Diederen <[email protected]> Reviewers: Norbert Kalmar <[email protected]> Closes apache#1243 from ztzg/ZOOKEEPER-3714-zkperl-sasl-support
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a `--with-sasl2` flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, `Net::ZooKeeper->new(...)` admits a new key, `sasl_options`, which can be used to automatically authenticate with the server during connections (including reconnects). Some of the preparatory work for this contribution, which is available in the other commits, may also fix [ZOOKEEPER-3303](https://issues.apache.org/jira/browse/ZOOKEEPER-3303), which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests. Author: Damien Diederen <[email protected]> Reviewers: Norbert Kalmar <[email protected]> Closes apache#1243 from ztzg/ZOOKEEPER-3714-zkperl-sasl-support
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a `--with-sasl2` flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, `Net::ZooKeeper->new(...)` admits a new key, `sasl_options`, which can be used to automatically authenticate with the server during connections (including reconnects). Some of the preparatory work for this contribution, which is available in the other commits, may also fix [ZOOKEEPER-3303](https://issues.apache.org/jira/browse/ZOOKEEPER-3303), which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests. Author: Damien Diederen <[email protected]> Reviewers: Norbert Kalmar <[email protected]> Closes apache#1243 from ztzg/ZOOKEEPER-3714-zkperl-sasl-support
…rl client This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a `--with-sasl2` flag (and, optionally, header and lib locations): perl Makefile.PL \ --with-sasl2 \ --sasl2-include=/path/to/sasl2/include \ --sasl2-lib=/path/to/sasl2/lib When enabled, `Net::ZooKeeper->new(...)` admits a new key, `sasl_options`, which can be used to automatically authenticate with the server during connections (including reconnects). Some of the preparatory work for this contribution, which is available in the other commits, may also fix [ZOOKEEPER-3303](https://issues.apache.org/jira/browse/ZOOKEEPER-3303), which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests. Author: Damien Diederen <[email protected]> Reviewers: Norbert Kalmar <[email protected]> Closes apache#1243 from ztzg/ZOOKEEPER-3714-zkperl-sasl-support
This patch allows one to access the C client Cyrus SASL support (ZOOKEEPER-1112) from the Perl binding by passing a
--with-sasl2
flag (and, optionally, header and lib locations):When enabled,
Net::ZooKeeper->new(...)
admits a new key,sasl_options
, which can be used to automatically authenticate with the server during connections (including reconnects).Some of the preparatory work for this contribution, which is available in the other commits, may also fix ZOOKEEPER-3303, which is about compilation issues. The resulting patch builds with GCC 8.3.0 in a (moderately) "hardened" environment; it also passes all enabled tests.