diff --git a/IMPROVEMENTS.md b/IMPROVEMENTS.md index 8a30dfd..948e5de 100644 --- a/IMPROVEMENTS.md +++ b/IMPROVEMENTS.md @@ -95,8 +95,14 @@ Acceptance criteria: they were compared against, so `usermod` ran on every start. - [x] Reject negative and malformed numeric values with useful messages. - [x] Do not pass `None` as a Seafile configuration value. Booleans are also - rendered as `true`/`false` rather than Python's `True`/`False`, since the - daemon reads that setting with its boolean accessor. + rendered as `true`/`false` rather than Python's `True`/`False`. This fixed + `DISABLE_VERIFY_CERTIFICATE`, which never worked. The daemon reads the key + with `seafile_session_config_get_bool`, which is + `g_strcmp0(value, "true") == 0`, so it accepts only the exact string + `"true"`. Python's `str(True)` stored the string `"True"`, which did not + match and was therefore read as false, leaving verification on for anyone + who asked to disable it. The default stored the string `"False"`, which is + also not `"true"` and so was correctly read as false. Acceptance criteria: diff --git a/README.md b/README.md index 69a9ace..ae9d862 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,12 @@ volumes: confirmation before being deleted simultaneously. Default value is _500_. - `DISABLE_VERIFY_CERTIFICATE` - set to _true_ to disable server's certificate verification. Default value is _false_. Booleans accept _true_/_false_, - _1_/_0_, _yes_/_no_ and _on_/_off_, in any case. + _1_/_0_, _yes_/_no_ and _on_/_off_, in any case. Note that this setting had no + effect in released images up to and including 0.0.13: whatever you set the + variable to, the client stored the string `True`, and the Seafile daemon + accepts only the lowercase string `true`, so verification stayed on even when + the variable was set. The default was never affected, because the string + `False` is also not `true`. - `UPLOAD_LIMIT` / `DOWNLOAD_LIMIT` - upload/download speed limit in B/s (bytes per second). Default values are _0_ (unlimited).