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

Add some convenience functions #165

Merged
merged 3 commits into from
Sep 27, 2019
Merged

Add some convenience functions #165

merged 3 commits into from
Sep 27, 2019

Conversation

talex5
Copy link
Contributor

@talex5 talex5 commented Sep 26, 2019

  • Add Unix Cap_file module to load and save Sturdy_refs. In particular, this ensures that saved cap files get a mode of 0o600, since they contain secrets.
  • Export cmdliner network address parsing. This is useful if you don't want to use the default option parsing. For example, if you want to make Cap'n Proto an optional feature of your program.
  • Update README's dune file to allow duniverse / vendored builds.

If we have vendored the capnp package, we want to get the OCaml schema
compiler plugin binary from there, not from `$PATH`.
@talex5 talex5 merged commit 096d5b9 into mirage:master Sep 27, 2019
@talex5 talex5 deleted the convenience branch September 27, 2019 08:30
talex5 added a commit to talex5/opam-repository that referenced this pull request Oct 8, 2019
…c-unix (0.4.0)

CHANGES:

Breaking changes:

- Wrap errors with the `` `Capnp`` tag to make it easier to compose with other types of error (mirage/capnp-rpc#172, mirage/capnp-rpc#173).

- Prefix all command-line options with `capnp-` (mirage/capnp-rpc#163).
  e.g. `--listen-address` is now `--capnp-listen-address`.
  The old names were confusing for applications that supported other protocols too (e.g. a web server).

New features:

- Add `Capability.with_ref` convenience function (mirage/capnp-rpc#170).
  This automatically calls `dec_ref` when done.

- Add Unix `Cap_file` module to load and save `Sturdy_refs` (mirage/capnp-rpc#165).
  In particular, this ensures that saved cap files get a mode of `0o600`, since they contain secrets.

- Export cmdliner network address parsing (mirage/capnp-rpc#165).
  This is useful if you don't want to use the default option parsing.
  For example, if you want to make Cap'n Proto an optional feature of your program.

- Upgrade from `uint` (which is deprecated) to the newer `stdint` (mirage/capnp-rpc#166, mirage/capnp-rpc#168).
  The latest version of `uint` is just a wrapper around `stdint`,
  so this shouldn't break anything if you are using the latest version.

- Put cmdliner options in their own man-page section (mirage/capnp-rpc#163).
  Use `Capnp_rpc_unix.manpage_capnp_options` to control where in your man-page
  they appear.

- Enable `SO_KEEPALIVE` for TCP connections (mirage/capnp-rpc#167).
  For use with Docker's libnetwork, try something like this in your `stack.yml`:

  ```
  sysctls:
    - 'net.ipv4.tcp_keepalive_time=60'
  ```

Bug fixes:

- Close listening socket when shutting down a vat (mirage/capnp-rpc#171).

- Don't mark secret keys as executable (mirage/capnp-rpc#164).

- Update README example to use dune (mirage/capnp-rpc#162).

Build changes:

- Replace topkg with dune-release (mirage/capnp-rpc#169)

- Update opam email address and fix missing bound (mirage/capnp-rpc#161).

- Update the `dune` files to allow duniverse / vendored builds (mirage/capnp-rpc#165).

- Fix the crossed-calls unit test (mirage/capnp-rpc#171).

- Force all capnp-rpc subpackages to have the same version (mirage/capnp-rpc#173).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant