Jamie Gritton 8fd1ba2a5e Improve IP address list representation in libxo output.
Extract decision-making about special-case printing of certain
jail parameters into a function.

Refactor emitting of IPv4 and IPv6 address lists into a function.

Resulting user-facing changes:

XO_VERSION is bumped to 2.

In verbose mode (-v), IPv4 and IPv6-Addresses are now properly emitted
as separate lists.
This only affects the output in encoding styles, i.e. xml and json.

{                                    {
  "__version": "1",                    "__version": "2",
  "jail-information": {                "jail-information": {
    "jail": [                            "jail": [
      {                                    {
        "jid": 166,                          "jid": 166,
        "hostname": "foo.com",               "hostname": "foo.com",
        "path": "/var/jail/foo",             "path": "/var/jail/foo",
        "name": "foo",                       "name": "foo",
        "state": "ACTIVE",                   "state": "ACTIVE",
        "cpusetid": 2,                       "cpusetid": 2,
        "ipv4_addrs": [                      "ipv4_addrs": [
          "10.1.1.1",                          "10.1.1.1",
          "10.1.1.2",                          "10.1.1.2",
          "10.1.1.3",              |           "10.1.1.3"
                                   >         ],
                                   >         "ipv6_addrs": [
          "fe80::1000:1",                      "fe80::1000:1",
          "fe80::1000:2"                       "fe80::1000:2"
        ]                                    ]
      }                                    }
    ]                                    ]
  }                                    }
}                                    }

In -n mode, ip4.addr and ip6.addr are formatted in the encoding styles'
native list types, e.g. instead of comma-separated lists, JSON arrays
are printed.

jls -n all --libxo json
 ...
 "ip4.addr": [
    "10.1.1.1",
    "10.1.1.2",
    "10.1.1.3"
  ],
  "ip4.saddrsel": true,
  "ip6.addr": [
    "fe80::1000:1",
    "fe80::1000:2"
  ],
  ...

jls -n all --libxo xml
  ...
  <ip4.addr>10.1.1.1</ip4.addr>
  <ip4.addr>10.1.1.2</ip4.addr>
  <ip4.addr>10.1.1.3</ip4.addr>
  <ip4.saddrsel>true</ip4.saddrsel>
  <ip6.addr>fe80::1000:1</ip6.addr>
  <ip6.addr>fe80::1000:2</ip6.addr>
  ...

PR:		215008
Submitted by:	Christian Schwarz <me@cschwarz.com>
Differential Revision:	https://reviews.freebsd.org/D8766
2016-12-24 23:51:27 +00:00
..
2015-06-13 19:20:56 +00:00
2016-10-04 20:27:15 +00:00
2015-06-13 19:20:56 +00:00
2016-01-21 18:41:55 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-11-13 17:55:27 +00:00
2016-12-24 11:22:28 +00:00
2015-08-01 10:40:17 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-09-21 10:58:58 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-10-21 05:37:09 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-12-02 11:30:21 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-04-14 11:41:30 +00:00
2016-08-23 13:43:43 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-10-21 05:37:09 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-04-20 21:32:34 +00:00
2015-12-19 09:18:01 +00:00
2016-11-08 23:59:41 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-16 23:37:19 +00:00
2015-06-13 19:20:56 +00:00
2016-11-22 08:27:49 +00:00
2016-10-21 15:23:54 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-12-10 12:48:48 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-04-14 12:25:00 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-01-21 17:33:31 +00:00
MFH
2016-03-02 16:14:46 +00:00
2016-09-30 20:35:12 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-11-26 01:14:40 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2016-09-04 12:17:57 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-06-13 19:20:56 +00:00
2015-08-12 10:34:05 +00:00
2016-12-02 06:07:27 +00:00
2015-09-17 05:06:34 +00:00
2015-09-03 07:18:52 +00:00
2015-06-13 19:20:56 +00:00