Explorar el Código

p2pnet: app_version check to ignore patch version

aggstam hace 3 años
padre
commit
1df3616b36
Se han modificado 1 ficheros con 7 adiciones y 1 borrados
  1. 7 1
      src/net/protocol/protocol_version.rs

+ 7 - 1
src/net/protocol/protocol_version.rs

@@ -98,7 +98,13 @@ impl ProtocolVersion {
                 Some(app_version) => {
                     debug!(target: "net", "ProtocolVersion::send_version() [App version: {}]", app_version);
                     debug!(target: "net", "ProtocolVersion::send_version() [Recieved version: {}]", verack_msg.app);
-                    if app_version != &verack_msg.app {
+                    // Version format: MAJOR.MINOR.PATCH
+                    let app_versions: Vec<&str> = app_version.split('.').collect();
+                    let verack_msg_versions: Vec<&str> = verack_msg.app.split('.').collect();
+                    // Ignore PATCH version
+                    if app_versions[0] != verack_msg_versions[0] ||
+                        app_versions[1] != verack_msg_versions[1]
+                    {
                         error!(
                             "Wrong app version from [{}]. Disconnecting from channel.",
                             self.channel.address()