On 2/27/20 9:51 AM, Reyk Floeter wrote:
> 
>> Am 27.02.2020 um 08:56 schrieb Martijn van Duren 
>> <[email protected]>:
>>
>> On 2/12/20 7:48 AM, Martijn van Duren wrote:
>>> Hello tech@,
>>>
>>> Working on something else, this bit of code is somewhat in my way and it
>>> feels like an early testing feature instead of actually being useful.
>>>
> 
> It wasn’t an early testing feature.
> 
>>> Is anyone actually using this, or can it be removed?
>>>
> 
> I was using it to set device-specific information besides the system MIB.
> 
> Enterprise NMS query weird custom values and sometimes this was the only 
> option to integrate there (I think I used it specifically for the ProCurve 
> Manager, a long time ago).
> 
Thanks for the reply. I'll drop the diff then.

> Reyk
> 
>>> martijn@
>>>
>> One reply so far saying that it's not used in their setup.
>>
>> Unless someone complains I'll probably commit the diff below somewhere
>> early next week. Diff below is previous with additional manpage and
>> examples cleanup.
>>
>> Explicit OKs also welcome.
>>
>> martijn@
>>
>> Index: etc/examples/snmpd.conf
>> ===================================================================
>> RCS file: /cvs/src/etc/examples/snmpd.conf,v
>> retrieving revision 1.1
>> diff -u -p -r1.1 snmpd.conf
>> --- etc/examples/snmpd.conf    11 Jul 2014 21:20:10 -0000    1.1
>> +++ etc/examples/snmpd.conf    27 Feb 2020 07:54:28 -0000
>> @@ -14,10 +14,6 @@ listen on $listen_addr
>> #system location "Rack A1-24, Room 13"
>> system services 74
>>
>> -# Provide static user-defined SNMP OIDs
>> -oid 1.3.6.1.4.1.30155.42.3.1 name testStringValue read-only string "Test"
>> -oid 1.3.6.1.4.1.30155.42.3.4 name testIntValue read-write integer 1
>> -
>> # Enable SNMPv3 USM with authentication, encryption and two defined users
>> #seclevel enc
>> #user "user1" authkey "password123" enc aes enckey "321drowssap"
>> Index: usr.sbin/snmpd/mps.c
>> ===================================================================
>> RCS file: /cvs/src/usr.sbin/snmpd/mps.c,v
>> retrieving revision 1.28
>> diff -u -p -r1.28 mps.c
>> --- usr.sbin/snmpd/mps.c    24 Oct 2019 12:39:27 -0000    1.28
>> +++ usr.sbin/snmpd/mps.c    27 Feb 2020 07:54:28 -0000
>> @@ -51,17 +51,6 @@ struct ber_oid *
>> extern void control_event_add(struct ctl_conn *, int, int, struct timeval 
>> *); /* XXX */
>>
>> int
>> -mps_getstr(struct oid *oid, struct ber_oid *o, struct ber_element **elm)
>> -{
>> -    char            *s = oid->o_data;
>> -
>> -    if (s == NULL)
>> -        return (-1);
>> -    *elm = ober_add_string(*elm, s);
>> -    return (0);
>> -}
>> -
>> -int
>> mps_setstr(struct oid *oid, struct ber_oid *o, struct ber_element **elm)
>> {
>>    struct ber_element    *ber = *elm;
>> @@ -88,18 +77,6 @@ int
>> mps_getint(struct oid *oid, struct ber_oid *o, struct ber_element **elm)
>> {
>>    *elm = ober_add_integer(*elm, oid->o_val);
>> -    return (0);
>> -}
>> -
>> -int
>> -mps_setint(struct oid *oid, struct ber_oid *o, struct ber_element **elm)
>> -{
>> -    long long     i;
>> -
>> -    if (ober_get_integer(*elm, &i) == -1)
>> -        return (-1);
>> -    oid->o_val = i;
>> -
>>    return (0);
>> }
>>
>> Index: usr.sbin/snmpd/parse.y
>> ===================================================================
>> RCS file: /cvs/src/usr.sbin/snmpd/parse.y,v
>> retrieving revision 1.57
>> diff -u -p -r1.57 parse.y
>> --- usr.sbin/snmpd/parse.y    2 Jan 2020 10:55:53 -0000    1.57
>> +++ usr.sbin/snmpd/parse.y    27 Feb 2020 07:54:28 -0000
>> @@ -138,8 +138,8 @@ typedef struct {
>> %token  <v.number>    NUMBER
>> %type    <v.string>    hostcmn
>> %type    <v.string>    srcaddr
>> -%type    <v.number>    optwrite yesno seclevel socktype proto
>> -%type    <v.data>    objtype cmd
>> +%type    <v.number>    yesno seclevel socktype proto
>> +%type    <v.data>    cmd
>> %type    <v.oid>        oid hostoid trapoid
>> %type    <v.auth>    auth
>> %type    <v.enc>        enc
>> @@ -152,7 +152,6 @@ grammar        : /* empty */
>>        | grammar varset '\n'
>>        | grammar main '\n'
>>        | grammar system '\n'
>> -        | grammar mib '\n'
>>        | grammar error '\n'        { file->errors++; }
>>        ;
>>
>> @@ -349,61 +348,6 @@ sysmib        : CONTACT STRING        {
>>            struct ber_oid     o = OID(MIB_sysServices);
>>            mps_set(&o, NULL, $2);
>>        }
>> -        ;
>> -
>> -mib        : OBJECTID oid NAME STRING optwrite objtype    {
>> -            struct oid    *oid;
>> -            if ((oid = (struct oid *)
>> -                calloc(1, sizeof(*oid))) == NULL) {
>> -                yyerror("calloc");
>> -                free($2);
>> -                free($6.data);
>> -                YYERROR;
>> -            }
>> -
>> -            smi_oidlen($2);
>> -            bcopy($2, &oid->o_id, sizeof(struct ber_oid));
>> -            free($2);
>> -            oid->o_name = $4;
>> -            oid->o_data = $6.data;
>> -            oid->o_val = $6.value;
>> -            switch ($6.type) {
>> -            case 1:
>> -                oid->o_get = mps_getint;
>> -                oid->o_set = mps_setint;
>> -                break;
>> -            case 2:
>> -                oid->o_get = mps_getstr;
>> -                oid->o_set = mps_setstr;
>> -                break;
>> -            }
>> -            oid->o_flags = OID_RD|OID_DYNAMIC;
>> -            if ($5)
>> -                oid->o_flags |= OID_WR;
>> -
>> -            if (smi_insert(oid) == -1) {
>> -                yyerror("duplicate oid");
>> -                free(oid->o_name);
>> -                free(oid->o_data);
>> -                YYERROR;
>> -            }
>> -        }
>> -        ;
>> -
>> -objtype        : INTEGER NUMBER            {
>> -            $$.type = 1;
>> -            $$.data = NULL;
>> -            $$.value = $2;
>> -        }
>> -        | OCTETSTRING STRING            {
>> -            $$.type = 2;
>> -            $$.data = $2;
>> -            $$.value = strlen($2);
>> -        }
>> -        ;
>> -
>> -optwrite    : READONLY                { $$ = 0; }
>> -        | READWRITE                { $$ = 1; }
>>        ;
>>
>> oid        : STRING                {
>> Index: usr.sbin/snmpd/snmpd.conf.5
>> ===================================================================
>> RCS file: /cvs/src/usr.sbin/snmpd/snmpd.conf.5,v
>> retrieving revision 1.42
>> diff -u -p -r1.42 snmpd.conf.5
>> --- usr.sbin/snmpd/snmpd.conf.5    10 Feb 2020 13:18:22 -0000    1.42
>> +++ usr.sbin/snmpd/snmpd.conf.5    27 Feb 2020 07:54:28 -0000
>> @@ -38,8 +38,6 @@ Global runtime settings for
>> .Xr snmpd 8 .
>> .It Sy User Configuration
>> USM user definitions.
>> -.It Sy OID Configuration
>> -Custom configuration of SNMP object identifiers and values.
>> .El
>> .Pp
>> The current line can be extended over multiple lines using a backslash
>> @@ -279,25 +277,6 @@ and defaults to
>> Any user account that has encryption enabled requires authentication to
>> be enabled too.
>> .El
>> -.Sh OID CONFIGURATION
>> -It is possible to specify user-defined OIDs in the configuration file:
>> -.Bl -tag -width Ds
>> -.It Xo
>> -.Ic oid Ar oid-string
>> -.Ic name Ar name
>> -.Op Ic read-only | read-write
>> -.Op Ar type
>> -.Ar value
>> -.Xc
>> -Return the specified value to the client for this OID.
>> -The
>> -.Ic read-write
>> -option may allow the client to override it,
>> -and the type is either
>> -.Ic string
>> -or
>> -.Ic integer .
>> -.El
>> .Sh FILES
>> .Bl -tag -width /etc/examples/snmpd.conf -compact
>> .It Pa /etc/snmpd.conf
>> @@ -309,15 +288,12 @@ Example configuration file.
>> The following example will tell
>> .Xr snmpd 8
>> to listen on localhost, override the default system OID, set the
>> -magic services value and provides some custom OID values:
>> +magic services value:
>> .Bd -literal -offset indent
>> listen on 127.0.0.1
>>
>> system oid 1.3.6.1.4.1.30155.23.2
>> system services 74
>> -
>> -oid 1.3.6.1.4.1.30155.42.1 name myName read-only string "humppa"
>> -oid 1.3.6.1.4.1.30155.42.2 name myStatus read-only integer 1
>> .Ed
>> .Pp
>> The next example will enforce SNMPv3 with authenticated and encrypted
>> Index: usr.sbin/snmpd/snmpd.h
>> ===================================================================
>> RCS file: /cvs/src/usr.sbin/snmpd/snmpd.h,v
>> retrieving revision 1.86
>> diff -u -p -r1.86 snmpd.h
>> --- usr.sbin/snmpd/snmpd.h    2 Jan 2020 10:55:53 -0000    1.86
>> +++ usr.sbin/snmpd/snmpd.h    27 Feb 2020 07:54:29 -0000
>> @@ -689,13 +689,9 @@ int         mps_getbulkreq(struct snmp_message
>> int         mps_setreq(struct snmp_message *, struct ber_element *,
>>            struct ber_oid *);
>> int         mps_set(struct ber_oid *, void *, long long);
>> -int         mps_getstr(struct oid *, struct ber_oid *,
>> -            struct ber_element **);
>> int         mps_setstr(struct oid *, struct ber_oid *,
>>            struct ber_element **);
>> int         mps_getint(struct oid *, struct ber_oid *,
>> -            struct ber_element **);
>> -int         mps_setint(struct oid *, struct ber_oid *,
>>            struct ber_element **);
>> int         mps_getts(struct oid *, struct ber_oid *,
>>            struct ber_element **);
>>
> 

Reply via email to