1. 12 May, 2022 1 commit
  2. 06 May, 2022 2 commits
    • zhifan huang's avatar
      Add network test: deploy re6st in net ns, and run test · 73b32880
      zhifan huang authored
      Because some bugs of nemus occur in test-nodes, when use popen occur
      "RuntimeError: Error from slave: 500 Unknown command", or when add
      veth name option error. I write sample module my_net to mangae the net
      ns.
      
      my_net: use unshare to create net namespace, then use nsenter to enter
      ns correpand to execute cmd like add device, set ip address... and
      cotain some network demo for running tests.
      
      re6st_wrap: wrap the deploy of re6st node, ease the creation of cert
      file and run of the node
      
      test_net contain the tests:
        - ping test: net segment(router), multi-net segment(demo),
      	       test after a reboot
        - hmac test: test on demo
      
      ping is like ping file in demo, a script to run multiping
      73b32880
    • zhifan huang's avatar
      Add unit tests for registry, cli.conf, tunnel · df01180d
      zhifan huang authored
      registry: add test for RegistryServer and registryClient,
      testRegistryServer mainly test methods concerned to http rpc request. Other methods that call request_dump like
      getBootStrpPeer is not include.
      testRegistryClient test the rpc call with or not with "cn" parameter.
      
      cli.conf: test each situation call the cli conf.
      
      tunnel: add test for BaseTunnelManager, MultGatewayManager
      
      tools is a util cotain method to make cert and ket files
      df01180d
  3. 31 Jul, 2021 2 commits
    • Julien Muchembled's avatar
      f1e95660
    • Julien Muchembled's avatar
      debian: fix restart on old OS · 865763b6
      Julien Muchembled authored
      On Debian < 10:
      - debhelper extends postint with 'try-restart', which caused re6st to
        remain stopped after upgrading from a re6st package that stopped
        services unconditionally in prerm (see previous commit);
      - deb-systemd-invoke does not check whether the service is enabled
        so 'try-restart' can't be replaced blindly with 'restart'
        (as it is the case in recent Debian).
      865763b6
  4. 03 Jul, 2021 1 commit
  5. 01 Jul, 2021 1 commit
  6. 30 Jun, 2021 1 commit
  7. 07 Jun, 2021 6 commits
  8. 04 May, 2021 1 commit
  9. 08 Apr, 2021 1 commit
  10. 31 Mar, 2021 1 commit
  11. 27 Mar, 2021 1 commit
  12. 23 Mar, 2021 1 commit
    • Joanne Hugé's avatar
      Fix TypeError in _updateCountry · ecda9f06
      Joanne Hugé authored
      Addresses passed to _updateCountry can contain countries if
      cache.my_address is used to initialize address in BaseTunnelManager init
      function, which causes resolve to be called with too many arguments.
      ecda9f06
  13. 22 Mar, 2021 1 commit
    • Joanne Hugé's avatar
      Fix two issues related to handleHello · bbde1c0d
      Joanne Hugé authored
      In some circumstances, the hello_protocol attribute could get modified
      on the wrong peer, which would raise an AttributeError.
      On reception of seqno 1 from a peer with protocol < 7, protocol could be
      equal to zero which would cause handleHello to not return True, causing
      the handshake to fail.
      bbde1c0d
  14. 11 Feb, 2021 3 commits
    • Joanne Hugé's avatar
      New --country option; add country in addresses · 85d77bd8
      Joanne Hugé authored
      This commit concerns networks that use the --same-country option.
      We recently discovered that the IP geolocation database contains
      incorrect entries. To work around this, the protocol needs to be
      changed by adding the country as 4th field in addresses (the first 3
      are: ip, port, protocol) and the new --country option allows a node
      to announce a country that differs from the one the GeoIP DB.
      
      Thanks to the previous commits it's possible to implement backward
      compatibility, by not sending the 4th field (country) to nodes that
      can't parse it. Of course, these old nodes would continue to not
      create appropriate tunnels and after a while, the administrator of
      the network may decide to increase registry's --min-protocol (7).
      
      In a network with only nodes that implement this last version of the
      protocol, the nodes may only use the GeoIP DB to resolve their own IPs.
      
      See merge request nexedi/re6stnet!27
      85d77bd8
    • Joanne Hugé's avatar
      Add protocol to handshake with registry · bb7e6376
      Joanne Hugé authored
      bb7e6376
    • Julien Muchembled's avatar
      Add protocol to handshake between nodes · 4f327e1b
      Julien Muchembled authored
      There is a need to be able to extend the protocol without breaking
      compatibility with old nodes. This is done by sending version.protocol
      during inter-node handshake, in seqno 1 and seqno 2, so that a node
      knows what version the peers speak and use appropriate format.
      
      This is implemented with partial backward compatibility: handshake with
      an old node succeeds when the new node does not have to send seqno 1.
      4f327e1b
  15. 22 Dec, 2020 1 commit
  16. 03 Dec, 2020 1 commit
  17. 13 Jan, 2020 1 commit
  18. 10 Jan, 2020 2 commits
  19. 02 Jan, 2020 1 commit
  20. 27 Dec, 2019 6 commits
  21. 11 Dec, 2019 2 commits
  22. 08 Nov, 2019 1 commit
    • Julien Muchembled's avatar
      Fix file descriptor leaks · 9fab68ee
      Julien Muchembled authored
      This should fix strange bugs after running the demo for a long time,
      with certificate renewal happening every few minutes.
      9fab68ee
  23. 07 Nov, 2019 1 commit
    • Julien Muchembled's avatar
      Remove --ipv6, reuse --ip instead · 343e910a
      Julien Muchembled authored
      The previous commit, which adds --ipv6, has the issue
      that it does not check whether given IPs are valid.
      Since IPv4 & IPv6 use completely different address
      representation, --ip can be used for both.
      343e910a
  24. 06 Nov, 2019 1 commit
    • Julien Muchembled's avatar
      New --ipv6 option and fix learning of external IPv6 from other peers · 0106e2f9
      Julien Muchembled authored
      When re6st attempts to use UPnP and IPv6 is enabled at the same time,
      the external IPv4 was published for IPv6 protocols.
      For example, machine6 in the demo had:
        10.0.1.3,1194,tcp;10.0.1.3,1194,udp;10.0.1.3,1195,udp6
      
      This caused re6stnet to crash (socket.gaierror) if GEOIP2_MMDB is set.
      
      With this commit, IPv4 & IPv6 are now processed independently.
      0106e2f9