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

clightning: 0.6.2 -> 0.6.3 #53732

Merged
merged 1 commit into from Jan 15, 2019
Merged

clightning: 0.6.2 -> 0.6.3 #53732

merged 1 commit into from Jan 15, 2019

Conversation

jb55
Copy link
Contributor

@jb55 jb55 commented Jan 10, 2019

Added

  • JSON API: New command check checks the validity of a JSON API call without running it.
  • JSON API: getinfo now returns num_peers num_pending_channels,
    num_active_channels and num_inactive_channels fields.
  • JSON API: use \n\n to terminate responses, for simplified parsing (pylightning now relies on this)
  • JSON API: fundchannel now includes an announce option, when false it will keep channel private. Defaults to true.
  • JSON API: listpeers's channels now includes a private flag to indicate if channel is announced or not.
  • Plugins: Added plugins to lightningd, including option passthrough and JSON-RPC passthrough.

Changed

  • JSON API: pay and decodepay accept and ignore lightning: prefixes.
  • pylightning: Allow either keyword arguments or positional arguments.
  • JSON-RPC: messages are now separated by 2 consecutive newlines.
  • JSON-RPC: jsonrpc:2.0 now included in json-rpc command calls. complies with spec.

Deprecated

Note: You should always set allow-deprecated-apis=false to test for
changes.

  • pylightning: Support for pre-2-newline JSON-RPC (<= 0.6.2 lightningd) is deprecated.

Removed

  • option_data_loss_protect is now only offered if EXPERIMENTAL_FEATURES is enabled, since it seems incompatible with lnd and has known bugs.

Fixed

  • JSON API: uppercase invoices now parsed correctly (broken in 0.6.2).
  • JSON API: commands are once again read even if one hasn't responded yet (broken in 0.6.2).
  • Protocol: allow lnd to send update_fee before funding_locked.
  • Protocol: fix limit on how much funder can send (fee was 1000x too small)
  • Protocol: don't send invalid onion errors if peer says onion was bad.
  • Protocol: don't crash when peer sends a 0-block-expiry HTLC.
  • pylightning: handle multiple simultanous RPC replies reliably.

Signed-off-by: William Casarin jb55@jb55.com

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@jb55 jb55 changed the title clightning: 0.6.2 -> 0.6.3rc1 clightning: 0.6.2 -> 0.6.3 Jan 11, 2019
@jb55
Copy link
Contributor Author

jb55 commented Jan 11, 2019

cc @roconnor not sure who else to ping here 😅


with stdenv.lib;
stdenv.mkDerivation rec {
name = "clightning-${version}";
version = "0.6.2";
version = "0.6.3";

src = fetchFromGitHub {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should probably be using the official release zips now

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nm the zip releases are broken atm

@jonasnick
Copy link
Contributor

Doesn't work for me for the same reason as the test builder https://github.com/NixOS/nixpkgs/pull/53732/checks?check_run_id=48749093.

(Quite confusing that github wrongly says "All checks have passed")

@jb55
Copy link
Contributor Author

jb55 commented Jan 13, 2019

@jonasnick hmm weird, for some reason worked for me... fixing...

@jb55
Copy link
Contributor Author

jb55 commented Jan 13, 2019

@grahamc for some reason the nix-build -A clightning --argstr system x86_64-linux failed build returns neutral?

[0.6.3] - 2019-01-09: "The Smallblock Conspiracy"

This release named by @molxyz and @ctrlbreak

Added

- JSON API: New command `check` checks the validity of a JSON API call without
  running it.
- JSON API: `getinfo` now returns `num_peers` `num_pending_channels`,
  `num_active_channels` and `num_inactive_channels` fields.
- JSON API: use `\n\n` to terminate responses, for simplified
  parsing (pylightning now relies on this)
- JSON API: `fundchannel` now includes an `announce` option, when false it will
  keep channel private. Defaults to true.
- JSON API: `listpeers`'s `channels` now includes a `private` flag to indicate
  if channel is announced or not.
- Plugins: experimental plugin support for `lightningd`, including option
  passthrough and JSON-RPC passthrough.

Changed

- JSON API: `pay` and `decodepay` accept and ignore `lightning:` prefixes.
- pylightning: Allow either keyword arguments or positional arguments.
- JSON-RPC: messages are now separated by 2 consecutive newlines.
- JSON-RPC: `jsonrpc`:`2.0` now included in json-rpc command calls. complies
  with spec.

Deprecated

Note: You should always set `allow-deprecated-apis=false` to test for
changes.

- pylightning: Support for pre-2-newline JSON-RPC (<= 0.6.2 lightningd) is
  deprecated.

Removed

- option_data_loss_protect is now only offered if EXPERIMENTAL_FEATURES is
  enabled, since it seems incompatible with lnd and has known bugs.

Fixed

- JSON API: uppercase invoices now parsed correctly (broken in 0.6.2).
- JSON API: commands are once again read even if one hasn't responded yet (broken in 0.6.2).
- Protocol: allow lnd to send `update_fee` before `funding_locked`.
- Protocol: fix limit on how much funder can send (fee was 1000x too small)
- Protocol: don't send invalid onion errors if peer says onion was bad.
- Protocol: don't crash when peer sends a 0-block-expiry HTLC.
- pylightning: handle multiple simultanous RPC replies reliably.
@jb55
Copy link
Contributor Author

jb55 commented Jan 13, 2019

since github screwed up the range-diff, here's v1 -> v2

1:  114dd7ab3e0 ! 1:  e767a781d7b clightning: 0.6.2 -> 0.6.3
@@ -58,31 +58,43 @@
 @@
  { stdenv, python3, pkgconfig, which, libtool, autoconf, automake,
 -  autogen, sqlite, gmp, zlib, fetchFromGitHub, fetchpatch }:
-+  autogen, sqlite, gmp, zlib, fetchFromGitHub, git }:
++  autogen, sqlite, gmp, zlib, fetchzip }:
  
  with stdenv.lib;
  stdenv.mkDerivation rec {
    name = "clightning-${version}";
 -  version = "0.6.2";
-+  version = "0.6.3";
- 
-   src = fetchFromGitHub {
-     fetchSubmodules = true;
-     owner = "ElementsProject";
-     repo = "lightning";
-     rev = "v${version}";
+-
+-  src = fetchFromGitHub {
+-    fetchSubmodules = true;
+-    owner = "ElementsProject";
+-    repo = "lightning";
+-    rev = "v${version}";
 -    sha256 = "18yns0yyf7kc4p4n1crxdqh37j9faxkx216nh2ip7cxj4x8bf9gx";
-+    sha256 = "1c50z7f75m55mjcy6j9wwsv8s4mdmjxlzyal7zqx0a6yaqmq5ccz";
++  version = "0.6.3";
++
++  src = fetchzip {
++    #
++    # NOTE 0.6.3 release zip was bugged, this zip is a fix provided by the team
++    # https://github.com/ElementsProject/lightning/issues/2254#issuecomment-453791475
++    #
++    # replace url with:
++    #   https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip
++    # for future relases
++    #
++    url = "https://github.com/ElementsProject/lightning/files/2752675/clightning-v0.6.3.zip";
++    sha256 = "0k5pwimwn69pcakiq4a7qnjyf4i8w1jlacwrjazm1sfivr6nfiv6";
    };
  
    enableParallelBuilding = true;
- 
--  nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which ];
-+  nativeBuildInputs = [ git autoconf autogen automake libtool pkgconfig which ];
+@@
+   nativeBuildInputs = [ autoconf autogen automake libtool pkgconfig which ];
    buildInputs = [ sqlite gmp zlib python3 ];
  
-   makeFlags = [ "prefix=$(out)" ];
-@@
+-  makeFlags = [ "prefix=$(out)" ];
++  makeFlags = [ "prefix=$(out) VERSION=v${version}" ];
+ 
+   configurePhase = ''
      ./configure --prefix=$out --disable-developer --disable-valgrind
    '';
  

@jonasnick
Copy link
Contributor

awesome, that works

@jonasnick
Copy link
Contributor

Is there a way to prioritize a merge? This fixes a remote DoS which is a coin stealing vulnerability in the Lightning security model.

@Mic92
Copy link
Member

Mic92 commented Jan 15, 2019

@GrahamcOfBorg build clightning

@Mic92 Mic92 merged commit 8349329 into NixOS:master Jan 15, 2019
@Mic92
Copy link
Member

Mic92 commented Jan 15, 2019

backport:

[detached HEAD 2db6bf88a9b] clightning: 0.6.1 -> 0.6.2
 Author: William Casarin <jb55@jb55.com>
 Date: Sat Nov 17 14:54:03 2018 -0800
 1 file changed, 12 insertions(+), 3 deletions(-)
Press Enter to continue
[detached HEAD 7ee5f604387] clightning: split native build inputs
 Author: Renaud <c0bw3b@users.noreply.github.com>
 Date: Thu Nov 22 19:16:36 2018 +0100
 1 file changed, 2 insertions(+), 1 deletion(-)
Press Enter to continue
[detached HEAD de3cb685f1c] clightning: 0.6.2 -> 0.6.3
 Author: William Casarin <jb55@jb55.com>
 Date: Wed Jan 9 14:34:19 2019 -0800
 1 file changed, 15 insertions(+), 19 deletions(-)
Press Enter to continue

@jb55
Copy link
Contributor Author

jb55 commented Jan 15, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants