Le mardi 11 septembre 2018 à 19:03 +0200, Alarig Le Lay a écrit :
> Hello,
>
> Pour commencer, je ne suis pas programmeur pour deux sous, tout ce
> qui
> suit est fait au pur feeling.
>
> net-snmp a la très fâcheuse tendance à ne pas remplir la table
> ifAlias :
> $ snmpwalk -v2c -c public judicael-ovpn2.grif ifAlias
> IF-MIB::ifAlias.1 = STRING:
> IF-MIB::ifAlias.2 = STRING:
> IF-MIB::ifAlias.3 = STRING:
> IF-MIB::ifAlias.4 = STRING:
> IF-MIB::ifAlias.5 = STRING:
> IF-MIB::ifAlias.6 = STRING:
>
> Quand bien même on a bien renseigné l’alias avec iproute2 :
> # ip link show eth1
> 3: eth1: mtu 1500 qdisc noop state DOWN mode
> DEFAULT group default qlen 1000
> link/ether 2a:6f:f1:84:22:11 brd ff:ff:ff:ff:ff:ff
> alias Core: Interco VLAN 30
>
> Aujourd’hui j’ai fini par me décider à enfin patcher ça. J’ai
> commencé
> par ré-écrire la fonction pour ifDescr (en copiant les autres
> fonctions
> et en faisant marcher mon cerveau) et là j’avais bien ce que je
> voulais :
> $ snmpwalk -On -v2c -c public judicael-ovpn2.grif ifDescr
> .1.3.6.1.2.1.2.2.1.2.1 = STRING: lo
> .1.3.6.1.2.1.2.2.1.2.2 = STRING: eth0
> .1.3.6.1.2.1.2.2.1.2.3 = STRING: Core: Interco VLAN 30
> .1.3.6.1.2.1.2.2.1.2.4 = STRING: eth2
> .1.3.6.1.2.1.2.2.1.2.5 = STRING: tun-tcp0
> .1.3.6.1.2.1.2.2.1.2.6 = STRING: tun-udp0
>
> Mais ça se gâte quand je veux faire en sorte d’avoir ça sur ifAlias,
> snmpd crashe :
> # /usr/sbin/snmpd -f -p /var/run/snmpd.pid -I -smux
> free(): invalid pointer
> Aborted
>
> Voici les patches que j’ai réussi à pondre :
> https://paste.swordarmor.fr/NvJc
> Là dedans, _arch_interface_alias_get marche avec ifDescr si je la
> renomme en _arch_interface_description_get et que je remplace
> 'entry->alias' par 'entry->descr'.
>
> À mon avis, le crash est dû au bloc @@ -721,6 +725,17 @@ de
> agent/mibgroup/if-mib/data_access/interface.c mais comme j’y pige pas
> grand chose, je ne suis pas sûr de moi.
>
> Est-ce que quelqu’un aurait des pires, voire carrément la solution ?
Tu devrais lancer snmpd avec valgrind ou gdb pour voir quel est le free
qui déclenche ton erreur.
---
Liste de diffusion du FRnOG
http://www.frnog.org/