On Sun, 03 Jan 2021 21:59:57 +0100
Martijn van Duren <[email protected]> wrote:
> ping
>
> On Mon, 2020-12-14 at 12:13 +0100, Martijn van Duren wrote:
> > I can't find any reference in RFC2578 for a boolean type, nor have I
> > seen it in the wild and the TruthValue diff I just committed give
> > me a strong indication that this was added without any real reason.
> >
> > OK to remove?
> >
> > martijn@
> >
> > Index: usr.bin/snmp/smi.c
> > ===================================================================
> > RCS file: /cvs/src/usr.bin/snmp/smi.c,v
> > retrieving revision 1.13
> > diff -u -p -r1.13 smi.c
> > --- usr.bin/snmp/smi.c 14 Dec 2020 07:44:26 -0000 1.13
> > +++ usr.bin/snmp/smi.c 14 Dec 2020 11:12:29 -0000
> > @@ -95,9 +95,6 @@ smi_debug_elements(struct ber_element *r
> > case BER_TYPE_EOC:
> > fprintf(stderr, "end-of-content");
> > break;
> > - case BER_TYPE_BOOLEAN:
> > - fprintf(stderr, "boolean");
> > - break;
> > case BER_TYPE_INTEGER:
> > fprintf(stderr, "integer");
> > break;
> > @@ -196,9 +193,6 @@ smi_debug_elements(struct ber_element *r
> > goto invalid;
> >
> > switch (root->be_encoding) {
> > - case BER_TYPE_BOOLEAN:
> > - fprintf(stderr, "%s", value);
> > - break;
> > case BER_TYPE_INTEGER:
> > case BER_TYPE_ENUMERATED:
> > fprintf(stderr, "value %s", value);
> > @@ -255,7 +249,6 @@ smi_print_element(struct ber_oid *oid, s
> > struct textconv tckey;
> > size_t len, i, slen;
> > long long v, ticks;
> > - int d;
> > int is_hex = 0, ret;
> > struct ber_oid o;
> > char strbuf[BUFSIZ];
> > @@ -277,17 +270,6 @@ smi_print_element(struct ber_oid *oid, s
> > }
> >
> > switch (root->be_encoding) {
> > - case BER_TYPE_BOOLEAN:
> > - if (ober_get_boolean(root, &d) == -1)
> > - goto fail;
> > - if (print_hint) {
> > - if (asprintf(&str, "INTEGER: %s(%d)",
> > - d ? "true" : "false", d) == -1)
> > - goto fail;
> > - } else
> > - if (asprintf(&str, "%s", d ? "true" :
> > "false") == -1)
> > - goto fail;
> > - break;
> > case BER_TYPE_INTEGER:
> > case BER_TYPE_ENUMERATED:
> > if (ober_get_integer(root, &v) == -1)
> > Index: usr.sbin/snmpd/smi.c
> > ===================================================================
> > RCS file: /cvs/src/usr.sbin/snmpd/smi.c,v
> > retrieving revision 1.27
> > diff -u -p -r1.27 smi.c
> > --- usr.sbin/snmpd/smi.c 24 Oct 2019 12:39:27 -0000 1.27
> > +++ usr.sbin/snmpd/smi.c 14 Dec 2020 11:12:29 -0000
> > @@ -317,9 +317,6 @@ smi_debug_elements(struct ber_element *r
> > case BER_TYPE_EOC:
> > fprintf(stderr, "end-of-content");
> > break;
> > - case BER_TYPE_BOOLEAN:
> > - fprintf(stderr, "boolean");
> > - break;
> > case BER_TYPE_INTEGER:
> > fprintf(stderr, "integer");
> > break;
> > @@ -417,9 +414,6 @@ smi_debug_elements(struct ber_element *r
> > goto invalid;
> >
> > switch (root->be_encoding) {
> > - case BER_TYPE_BOOLEAN:
> > - fprintf(stderr, "%s", value);
> > - break;
> > case BER_TYPE_INTEGER:
> > case BER_TYPE_ENUMERATED:
> > fprintf(stderr, "value %s", value);
> > @@ -473,17 +467,10 @@ smi_print_element(struct ber_element *ro
> > char *str = NULL, *buf, *p;
> > size_t len, i;
> > long long v;
> > - int d;
> > struct ber_oid o;
> > char strbuf[BUFSIZ];
> >
> > switch (root->be_encoding) {
> > - case BER_TYPE_BOOLEAN:
> > - if (ober_get_boolean(root, &d) == -1)
> > - goto fail;
> > - if (asprintf(&str, "%s(%d)", d ? "true" : "false",
> > d) == -1)
> > - goto fail;
> > - break;
> > case BER_TYPE_INTEGER:
> > case BER_TYPE_ENUMERATED:
> > if (ober_get_integer(root, &v) == -1)
> >
> >
>
>
As an old telecom engineer, I can say that Boolean is a
defined ASN.1 type and supported in BER (see X.690 section 8.2,
https://www.itu.int/rec/T-REC-X.690-201508-I/en) and it is used a lot in
*telecom* standards :)