<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/zookeeper.git/zookeeper-client/zookeeper-client-c/include, branch master</title>
<subtitle>git.apache.org: repos/asf/zookeeper.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/'/>
<entry>
<title>fix a typo in zookeeper.h</title>
<updated>2021-11-21T04:39:22+00:00</updated>
<author>
<name>fengpan0403</name>
<email>fengpan0403@163.com</email>
</author>
<published>2021-11-21T04:39:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=f4f0bed00dd254e34aedfe408799f557d60fd0e7'/>
<id>f4f0bed00dd254e34aedfe408799f557d60fd0e7</id>
<content type='text'>
Typo fix

Author: fengpan0403 &lt;fengpan0403@163.com&gt;

Reviewers: maoling &lt;maoling@apache.org&gt;

Closes #1778 from fengpan0403/master
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Typo fix

Author: fengpan0403 &lt;fengpan0403@163.com&gt;

Reviewers: maoling &lt;maoling@apache.org&gt;

Closes #1778 from fengpan0403/master
</pre>
</div>
</content>
</entry>
<entry>
<title>Change version to 3.8.0 in C client</title>
<updated>2021-01-14T18:32:08+00:00</updated>
<author>
<name>Damien Diederen</name>
<email>ddiederen@apache.org</email>
</author>
<published>2021-01-14T18:32:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=86fcb5a00fbe2756100d78fe8bb7bb5f0a730bc9'/>
<id>86fcb5a00fbe2756100d78fe8bb7bb5f0a730bc9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-3561: Generalize target authentication scheme for ZooKeeper authentication enforcement.</title>
<updated>2020-10-21T02:41:38+00:00</updated>
<author>
<name>Mohammad Arshad</name>
<email>arshad@apache.org</email>
</author>
<published>2020-10-21T02:41:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=1af3dcc633d4829864da74ca6b030428448fcc16'/>
<id>1af3dcc633d4829864da74ca6b030428448fcc16</id>
<content type='text'>
Added enforce.auth.enabled and enforce.auth.scheme to enforce any authentication scheme.

Author: Mohammad Arshad &lt;arshad@apache.org&gt;

Reviewers: Michael Han &lt;hanm@apache.org&gt;, Damien Diederen &lt;dd@crosstwine.com&gt;, Enrico Olivelli &lt;eolivelli@gmail.com&gt;, Andor Molnár &lt;andor@apache.org&gt;

Closes #1500 from arshadmohammad/ZOOKEEPER-3561-master
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added enforce.auth.enabled and enforce.auth.scheme to enforce any authentication scheme.

Author: Mohammad Arshad &lt;arshad@apache.org&gt;

Reviewers: Michael Han &lt;hanm@apache.org&gt;, Damien Diederen &lt;dd@crosstwine.com&gt;, Enrico Olivelli &lt;eolivelli@gmail.com&gt;, Andor Molnár &lt;andor@apache.org&gt;

Closes #1500 from arshadmohammad/ZOOKEEPER-3561-master
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-3101: add reminder to ZOO_ERRORS</title>
<updated>2020-07-17T15:31:32+00:00</updated>
<author>
<name>Kent R. Spillner</name>
<email>kspillner@acm.org</email>
</author>
<published>2020-07-17T15:31:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=5b58e19c85ca1dfb8b2a0eec1411b34e6ca2e47b'/>
<id>5b58e19c85ca1dfb8b2a0eec1411b34e6ca2e47b</id>
<content type='text'>
Add comment at bottom of ZOO_ERRORS reminding developers to also
update zerror(int) when adding or changing values.  Suggested by
phunt in https://github.com/apache/zookeeper/pull/575#issuecomment-406356144.

Signed-off-by: Kent R. Spillner &lt;kspillneracm.org&gt;

Author: Kent R. Spillner &lt;kspillner@acm.org&gt;

Reviewers: Enrico Olivelli &lt;eolivelli@apache.org&gt;, Norbert Kalmar &lt;nkalmar@apache.org&gt;, Benjamin Reed &lt;breed@apache.org&gt;

Closes #581 from sl4mmy/zookeeper-3101
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add comment at bottom of ZOO_ERRORS reminding developers to also
update zerror(int) when adding or changing values.  Suggested by
phunt in https://github.com/apache/zookeeper/pull/575#issuecomment-406356144.

Signed-off-by: Kent R. Spillner &lt;kspillneracm.org&gt;

Author: Kent R. Spillner &lt;kspillner@acm.org&gt;

Reviewers: Enrico Olivelli &lt;eolivelli@apache.org&gt;, Norbert Kalmar &lt;nkalmar@apache.org&gt;, Benjamin Reed &lt;breed@apache.org&gt;

Closes #581 from sl4mmy/zookeeper-3101
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-1998: Allow C client to throttle host name resolutions</title>
<updated>2020-05-17T13:15:54+00:00</updated>
<author>
<name>Damien Diederen</name>
<email>dd@crosstwine.com</email>
</author>
<published>2020-05-17T13:15:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=a908001be9641d78040b1954acb0cd3a8e9e42c2'/>
<id>a908001be9641d78040b1954acb0cd3a8e9e42c2</id>
<content type='text'>
Some environments experience high DNS load because of the name resolutions introduced by [ZOOKEEPER-1355](https://issues.apache.org/jira/browse/ZOOKEEPER-1355).

This patch allows clients to set a minimum delay to observe between "routine" resolutions using a `zoo_set_servers_resolution_delay` API function.

An application can influence the rate of polling via its `delay_ms` parameter: when set to a value greater than zero, the client skips most "routine" resolutions which would have happened in a window of that many milliseconds since the last successful one.

Setting `delay_ms` to `0` disables the new logic, reverting to the default behavior.  Setting it to `-1` disables network resolutions during normal operation (but not, e.g., on connection loss).

Author: Damien Diederen &lt;dd@crosstwine.com&gt;

Reviewers: Enrico Olivelli &lt;eolivelli@apache.org&gt;, Mate Szalay-Beko &lt;symat@apache.org&gt;, Suhas Dantkale

Closes #1068 from ztzg/ZOOKEEPER-1998-throttle-dns-resolutions
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some environments experience high DNS load because of the name resolutions introduced by [ZOOKEEPER-1355](https://issues.apache.org/jira/browse/ZOOKEEPER-1355).

This patch allows clients to set a minimum delay to observe between "routine" resolutions using a `zoo_set_servers_resolution_delay` API function.

An application can influence the rate of polling via its `delay_ms` parameter: when set to a value greater than zero, the client skips most "routine" resolutions which would have happened in a window of that many milliseconds since the last successful one.

Setting `delay_ms` to `0` disables the new logic, reverting to the default behavior.  Setting it to `-1` disables network resolutions during normal operation (but not, e.g., on connection loss).

Author: Damien Diederen &lt;dd@crosstwine.com&gt;

Reviewers: Enrico Olivelli &lt;eolivelli@apache.org&gt;, Mate Szalay-Beko &lt;symat@apache.org&gt;, Suhas Dantkale

Closes #1068 from ztzg/ZOOKEEPER-1998-throttle-dns-resolutions
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-3683: Discard requests that are delayed longer than a confi…</title>
<updated>2020-03-25T02:38:46+00:00</updated>
<author>
<name>Jie Huang</name>
<email>jiehuang@fb.com</email>
</author>
<published>2020-03-25T02:38:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=e87bad6774e7269ef21a156aff9dad089ef54794'/>
<id>e87bad6774e7269ef21a156aff9dad089ef54794</id>
<content type='text'>
…gured threshold

Author: Jie Huang &lt;jiehuang@fb.com&gt;
Author: Ivailo Nedelchev &lt;nedelchev@fb.com&gt;

Reviewers: Michael Han &lt;hanm@apache.org&gt;, Allan Lyu &lt;fangmin@apache.org&gt;, Damien Diederen &lt;dd@crosstwine.com&gt;

Closes #1211 from jhuan31/ZOOKEEPER-3683
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…gured threshold

Author: Jie Huang &lt;jiehuang@fb.com&gt;
Author: Ivailo Nedelchev &lt;nedelchev@fb.com&gt;

Reviewers: Michael Han &lt;hanm@apache.org&gt;, Allan Lyu &lt;fangmin@apache.org&gt;, Damien Diederen &lt;dd@crosstwine.com&gt;

Closes #1211 from jhuan31/ZOOKEEPER-3683
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-1112: Add (Cyrus) SASL authentication support to C client library</title>
<updated>2020-01-22T11:53:55+00:00</updated>
<author>
<name>Damien Diederen</name>
<email>dd@crosstwine.com</email>
</author>
<published>2020-01-22T11:53:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=c234848caef0cc920f19befd1b0b14251b17da92'/>
<id>c234848caef0cc920f19befd1b0b14251b17da92</id>
<content type='text'>
This is a "respin" of https://github.com/apache/zookeeper/pull/1054, which I withdrew due to some annoying shortcomings.

This changeset allows C clients to use SASL to authenticate with the ZooKeeper server.  It is loosely based on patches #1 and #2 by Tom Klonikowski, at https://reviews.apache.org/r/2252/, but the result has been extensively reworked to follow the semantics of the Java client:

  * No SASL operations are exposed through the API;

  * The configuration is provided, and stored, at "handle init time";

  * SASL authentication is automatically performed after each (re)connect.

It introduces an optional dependency on the Cyrus SASL library, which can either be autodetected (default) or configured using the `--without-sasl`/`--with-sasl[=DIR]` flags, or -DWITH_CYRUS_SASL for CMake/Windows.

`TestServerRequireClientSASLAuth.cc` has been renamed to `TestSASLAuth.cc`, and a test has been added which successfully (re)authenticates using the `DIGEST-MD5` mechanism.  The code has also been used to successfully authenticate clients via `GSSAPI`/Kerberos.

This commit also adds SASL support to the `cli.c` client.

Co-authored-by: Tom Klonikowski &lt;klonik_tinformatik.haw-hamburg.de&gt;

Author: Damien Diederen &lt;dd@crosstwine.com&gt;

Reviewers: Mate Szalay-Beko &lt;szalay.beko.mate@gmail.com&gt;, Norbert Kalmar &lt;nkalmar@apache.org&gt;

Closes #1134 from ztzg/ZOOKEEPER-1112-c-client-sasl-support-v2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a "respin" of https://github.com/apache/zookeeper/pull/1054, which I withdrew due to some annoying shortcomings.

This changeset allows C clients to use SASL to authenticate with the ZooKeeper server.  It is loosely based on patches #1 and #2 by Tom Klonikowski, at https://reviews.apache.org/r/2252/, but the result has been extensively reworked to follow the semantics of the Java client:

  * No SASL operations are exposed through the API;

  * The configuration is provided, and stored, at "handle init time";

  * SASL authentication is automatically performed after each (re)connect.

It introduces an optional dependency on the Cyrus SASL library, which can either be autodetected (default) or configured using the `--without-sasl`/`--with-sasl[=DIR]` flags, or -DWITH_CYRUS_SASL for CMake/Windows.

`TestServerRequireClientSASLAuth.cc` has been renamed to `TestSASLAuth.cc`, and a test has been added which successfully (re)authenticates using the `DIGEST-MD5` mechanism.  The code has also been used to successfully authenticate clients via `GSSAPI`/Kerberos.

This commit also adds SASL support to the `cli.c` client.

Co-authored-by: Tom Klonikowski &lt;klonik_tinformatik.haw-hamburg.de&gt;

Author: Damien Diederen &lt;dd@crosstwine.com&gt;

Reviewers: Mate Szalay-Beko &lt;szalay.beko.mate@gmail.com&gt;, Norbert Kalmar &lt;nkalmar@apache.org&gt;

Closes #1134 from ztzg/ZOOKEEPER-1112-c-client-sasl-support-v2
</pre>
</div>
</content>
</entry>
<entry>
<title>Change version to 3.7.0 in C client</title>
<updated>2019-12-15T15:26:57+00:00</updated>
<author>
<name>Enrico Olivelli</name>
<email>eolivelli@apache.org</email>
</author>
<published>2019-12-15T15:26:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=280bceebcedb29cf58f636931bd975d3622a6c6e'/>
<id>280bceebcedb29cf58f636931bd975d3622a6c6e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-3635: Use Docker and Maven Release Plugin to prepare ZooKeeper releases</title>
<updated>2019-12-04T11:47:52+00:00</updated>
<author>
<name>Enrico Olivelli</name>
<email>eolivelli@apache.org</email>
</author>
<published>2019-12-04T11:47:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=253673f30431344030509b974bd2f65d23c1cd6e'/>
<id>253673f30431344030509b974bd2f65d23c1cd6e</id>
<content type='text'>
- configure maven-release-plugin
- configure maven-scm-plugin
- use maven-antrun-plugin in order to alter C client files during release procedure
- update Apache Parent pom to 21
- use openjdk8 for building releases

Author: Enrico Olivelli &lt;eolivelli@apache.org&gt;
Author: Enrico Olivelli &lt;eolivelli@gmail.com&gt;
Author: Enrico Olivelli &lt;enrico.olivelli@diennea.com&gt;

Reviewers: Norbert Kalmar &lt;nkalmar@apache.org&gt;

Closes #1162 from eolivelli/fix/ZOOKEEPER-3635-new-release-proc
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- configure maven-release-plugin
- configure maven-scm-plugin
- use maven-antrun-plugin in order to alter C client files during release procedure
- update Apache Parent pom to 21
- use openjdk8 for building releases

Author: Enrico Olivelli &lt;eolivelli@apache.org&gt;
Author: Enrico Olivelli &lt;eolivelli@gmail.com&gt;
Author: Enrico Olivelli &lt;enrico.olivelli@diennea.com&gt;

Reviewers: Norbert Kalmar &lt;nkalmar@apache.org&gt;

Closes #1162 from eolivelli/fix/ZOOKEEPER-3635-new-release-proc
</pre>
</div>
</content>
</entry>
<entry>
<title>ZOOKEEPER-2122: add SSL support for C-client</title>
<updated>2019-11-21T08:54:01+00:00</updated>
<author>
<name>Mate Szalay-Beko</name>
<email>szalay.beko.mate@gmail.com</email>
</author>
<published>2019-11-21T08:54:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/zookeeper.git/commit/?id=dded710d07892c6b42380267cd1bb896b852a7ee'/>
<id>dded710d07892c6b42380267cd1bb896b852a7ee</id>
<content type='text'>
This PR is based on the works of Asnish Amarnath and Suhas Dantkale. Most of the kudos should go to them and those who were reviewing all the previous PRs.

**The PR includes the following changes from PR#639:**
- OPENSSL 1.1.1 version support in C-client

**The PR includes the following changes from PR#990:**
- also supporting OPENSSL 1.0.2
- SSL connection on non-blocking socket is handled correctly
- Support of Certificate Chains
- Fix Memory leaks
- Dynamically generated test certificates

**The following new changes were added into the PR:**
- fix CMake + VisualStudio2019 build with windows
- fix C CLI to compile / work both with windows and linux (I tested them manually)
- fix (and simplify) the way how the server is started with C unit tests, so it is compatible with maven build now
- the test case `testReadOnly` was failing with the previous PR because there was a bug in the C-client code, I fixed that
- I also added new test case: `testReadOnlyWithSSL`

**Testing this PR on linux:**
```
git clean -xdf

# compile ZooKeeper server plus the C-client code
mvn clean install -DskipTests -Pfull-build

# compile and execute C-client unit tests
cd zookeeper-client/
mvn clean install -Pfull-build
```

**Compile the code on windows (only cmake is supported):**
- download C-Make:  https://cmake.org/download/
- Install community edition of Visual Studio: https://visualstudio.microsoft.com/downloads/
- Download OpenSSL (e.g. 1.0.2): https://slproweb.com/products/Win32OpenSSL.html (e.g. install it to `c:\OpenSSL-Win64`)
- compile the java code using: `mvn clean install -DskipTests`
- go to the Client folder: `cd zookeeper-client\zookeeper-client-c`
- configure the project:  `cmake . -D WITH_OPENSSL=c:\OpenSSL-Win64`
- build the project: `cmake --build .`

**Testing the C-client with SSL manually:**
- run the `zookeeper-client/zookeeper-client-c/ssl/gencerts.sh` to generate certificate files (e.g. copy it to an empty folder like `/tmp/ssl/` and start is)
- start a ZooKeeper server, using some config file like this one:
```
tickTime=3000
initLimit=10
syncLimit=5
dataDir=/tmp/zkdata

secureClientPort=22281
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.keyStore.location=/tmp/ssl/server.jks
ssl.keyStore.password=password
ssl.trustStore.location=/tmp/ssl/servertrust.jks
ssl.trustStore.password=password
```
- start the command line client (cli.exe on windows, cli_mt or cli_st on linux): `./cli_mt --host localhost:22281 --ssl /tmp/ssl/server.crt,/tmp/ssl/client.crt,/tmp/ssl/clientkey.pem,password`

Author: Mate Szalay-Beko &lt;szalay.beko.mate@gmail.com&gt;
Author: Mate Szalay-Beko &lt;mszalay@cloudera.com&gt;

Reviewers: andor@apache.org

Closes #1107 from symat/ZOOKEEPER-2122 and squashes the following commits:

08294ce91 [Mate Szalay-Beko] ZOOKEEPER-2122: update readme + use FQDN in SSL certs during testing
17e504a98 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-2122
317241d13 [Mate Szalay-Beko] ZOOKEEPER-2122: minor fix in SSL certificates used for testing
6f37b6653 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into HEAD
980914313 [Mate Szalay-Beko] ZOOKEEPER-2122: add SSL support for C-client
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR is based on the works of Asnish Amarnath and Suhas Dantkale. Most of the kudos should go to them and those who were reviewing all the previous PRs.

**The PR includes the following changes from PR#639:**
- OPENSSL 1.1.1 version support in C-client

**The PR includes the following changes from PR#990:**
- also supporting OPENSSL 1.0.2
- SSL connection on non-blocking socket is handled correctly
- Support of Certificate Chains
- Fix Memory leaks
- Dynamically generated test certificates

**The following new changes were added into the PR:**
- fix CMake + VisualStudio2019 build with windows
- fix C CLI to compile / work both with windows and linux (I tested them manually)
- fix (and simplify) the way how the server is started with C unit tests, so it is compatible with maven build now
- the test case `testReadOnly` was failing with the previous PR because there was a bug in the C-client code, I fixed that
- I also added new test case: `testReadOnlyWithSSL`

**Testing this PR on linux:**
```
git clean -xdf

# compile ZooKeeper server plus the C-client code
mvn clean install -DskipTests -Pfull-build

# compile and execute C-client unit tests
cd zookeeper-client/
mvn clean install -Pfull-build
```

**Compile the code on windows (only cmake is supported):**
- download C-Make:  https://cmake.org/download/
- Install community edition of Visual Studio: https://visualstudio.microsoft.com/downloads/
- Download OpenSSL (e.g. 1.0.2): https://slproweb.com/products/Win32OpenSSL.html (e.g. install it to `c:\OpenSSL-Win64`)
- compile the java code using: `mvn clean install -DskipTests`
- go to the Client folder: `cd zookeeper-client\zookeeper-client-c`
- configure the project:  `cmake . -D WITH_OPENSSL=c:\OpenSSL-Win64`
- build the project: `cmake --build .`

**Testing the C-client with SSL manually:**
- run the `zookeeper-client/zookeeper-client-c/ssl/gencerts.sh` to generate certificate files (e.g. copy it to an empty folder like `/tmp/ssl/` and start is)
- start a ZooKeeper server, using some config file like this one:
```
tickTime=3000
initLimit=10
syncLimit=5
dataDir=/tmp/zkdata

secureClientPort=22281
serverCnxnFactory=org.apache.zookeeper.server.NettyServerCnxnFactory
ssl.keyStore.location=/tmp/ssl/server.jks
ssl.keyStore.password=password
ssl.trustStore.location=/tmp/ssl/servertrust.jks
ssl.trustStore.password=password
```
- start the command line client (cli.exe on windows, cli_mt or cli_st on linux): `./cli_mt --host localhost:22281 --ssl /tmp/ssl/server.crt,/tmp/ssl/client.crt,/tmp/ssl/clientkey.pem,password`

Author: Mate Szalay-Beko &lt;szalay.beko.mate@gmail.com&gt;
Author: Mate Szalay-Beko &lt;mszalay@cloudera.com&gt;

Reviewers: andor@apache.org

Closes #1107 from symat/ZOOKEEPER-2122 and squashes the following commits:

08294ce91 [Mate Szalay-Beko] ZOOKEEPER-2122: update readme + use FQDN in SSL certs during testing
17e504a98 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into ZOOKEEPER-2122
317241d13 [Mate Szalay-Beko] ZOOKEEPER-2122: minor fix in SSL certificates used for testing
6f37b6653 [Mate Szalay-Beko] Merge remote-tracking branch 'apache/master' into HEAD
980914313 [Mate Szalay-Beko] ZOOKEEPER-2122: add SSL support for C-client
</pre>
</div>
</content>
</entry>
</feed>
