Commit 76dec065 authored by Karsten Loesing's avatar Karsten Loesing
Browse files

Add version_status field to details documents.

Implements #24256.
parent 532ef347
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
# Changes in version 5.1-1.12.0 - 2018-??-??

 * Medium changes
   - Add version_status field to details documents.

 * Minor changes
   - Don't attempt to un-escape character sequences in contact lines
     (like "\uk") that only happen to start like escaped utf-8 characters
+10 −0
Original line number Diff line number Diff line
@@ -356,6 +356,16 @@ public class DetailsDocument extends Document {
    return this.version;
  }

  private String version_status;

  public void setVersionStatus(String versionStatus) {
    this.version_status = versionStatus;
  }

  public String getVersionStatus() {
    return this.version_status;
  }

  private SortedSet<String> alleged_family;

  public void setAllegedFamily(SortedSet<String> allegedFamily) {
+10 −0
Original line number Diff line number Diff line
@@ -550,5 +550,15 @@ public class DetailsStatus extends Document {
  public String getVersion() {
    return this.version;
  }

  private String version_status;

  public void setVersionStatus(String versionStatus) {
    this.version_status = versionStatus;
  }

  public String getVersionStatus() {
    return this.version_status;
  }
}
+17 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@

package org.torproject.onionoo.docs;

import org.torproject.onionoo.updater.TorVersionStatus;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -330,6 +332,16 @@ public class NodeStatus extends Document {
    return this.version;
  }

  private TorVersionStatus versionStatus;

  public void setVersionStatus(TorVersionStatus versionStatus) {
    this.versionStatus = versionStatus;
  }

  public TorVersionStatus getVersionStatus() {
    return this.versionStatus;
  }

  /* From exit lists: */

  private SortedSet<String> exitAddresses;
@@ -572,6 +584,9 @@ public class NodeStatus extends Document {
      if (parts.length >= 25 && !parts[24].isEmpty()) {
        nodeStatus.setHostName(parts[24]);
      }
      if (parts.length >= 26) {
        nodeStatus.setVersionStatus(TorVersionStatus.ofAbbreviation(parts[25]));
      }
      return nodeStatus;
    } catch (NumberFormatException e) {
      log.error("Number format exception while parsing node "
@@ -640,6 +655,8 @@ public class NodeStatus extends Document {
        .append((this.getVersion() != null ? this.getVersion() : ""));
    sb.append("\t")
        .append((this.getHostName() != null ? this.getHostName() : ""));
    sb.append("\t").append(null != this.getVersionStatus()
        ? this.getVersionStatus().getAbbreviation() : "");
    return sb.toString();
  }
}
+2 −0
Original line number Diff line number Diff line
@@ -339,6 +339,8 @@ public class ResponseBuilder {
                detailsDocument.getUnreachableOrAddresses());
          } else if (field.equals("version")) {
            dd.setVersion(detailsDocument.getVersion());
          } else if (field.equals("version_status")) {
            dd.setVersionStatus(detailsDocument.getVersionStatus());
          }
        }
        /* Don't escape HTML characters, like < and >, contained in
Loading