On Fri, 28 Jul 2017 12:39:48 + Florian Obser wrote:
> Not sure about this one, a quick glance at RFC 3411 suggests this
> is just a binary string, so uint8_t is more appropriate.
>
> Any snmp nerds around?
>
> clang complained about this:
>
> /usr/src/usr.sbin/snmpd/snmpd.c:349:47: warning: implicit conversion from
> 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
> env->sc_engineid[(env->sc_engineid_len)++] = SNMP_ENGINEID_FMT_EID;
>~ ^
> /usr/src/usr.sbin/snmpd/snmpd.h:80:31: note: expanded from macro
> 'SNMP_ENGINEID_FMT_EID'
> ^~~
>
> diff --git snmpd/snmpd.h snmpd/snmpd.h
> index 91186f23e42..ce1902bdc03 100644
> --- snmpd/snmpd.h
> +++ snmpd/snmpd.h
> @@ -438,7 +438,7 @@ struct snmp_message {
> long longsm_secmodel;
> u_int32_tsm_engine_boots;
> u_int32_tsm_engine_time;
> - char sm_ctxengineid[SNMPD_MAXENGINEIDLEN];
> + uint8_t sm_ctxengineid[SNMPD_MAXENGINEIDLEN];
> size_t sm_ctxengineid_len;
> char sm_ctxname[SNMPD_MAXCONTEXNAMELEN+1];
>
> @@ -574,7 +574,7 @@ struct snmpd {
> char sc_rwcommunity[SNMPD_MAXCOMMUNITYLEN];
> char sc_trcommunity[SNMPD_MAXCOMMUNITYLEN];
>
> - char sc_engineid[SNMPD_MAXENGINEIDLEN];
> + uint8_t sc_engineid[SNMPD_MAXENGINEIDLEN];
> size_t sc_engineid_len;
>
> struct snmp_statssc_stats;
>
Looks good, ok gerhard@