[MacPorts] #72548: inetutils @2.6: (g)ifconfig command is broken and should probably be disabled

MacPorts noreply at macports.org
Thu May 29 15:40:01 UTC 2025


#72548: inetutils @2.6: (g)ifconfig command is broken and should probably be
disabled
--------------------+-------------------------
 Reporter:  jleroy  |      Owner:  Schamschula
     Type:  defect  |     Status:  assigned
 Priority:  Normal  |  Milestone:
Component:  ports   |    Version:  2.10.7
 Keywords:          |       Port:  inetutils
--------------------+-------------------------
 The ifconfig command provided by inetutils port simply doesn’t work (at
 least on macOS Sequoia): no IPv6 support and a lot of other missing
 information.

 {{{
 $ which -a ifconfig
 /opt/local/libexec/gnubin/ifconfig
 /sbin/ifconfig
 }}}


 GNU inetutils’ ifconfig output:
 {{{
 $ /opt/local/libexec/gnubin/ifconfig
 anpi0 (4):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 anpi1 (6):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 anpi2 (5):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 ap1 (13):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 awdl0 (16):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 bridge0 (15):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 en0 (14):
   inet address  192.168.0.105
   netmask       255.255.255.0
   broadcast     192.168.0.255
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 en1 (10):
   flags         UP BROADCAST NOTRAILERS RUNNING PROMISC SIMPLEX MULTICAST
   mtu           1500

 en2 (11):
   flags         UP BROADCAST NOTRAILERS RUNNING PROMISC SIMPLEX MULTICAST
   mtu           1500

 en3 (12):
   flags         UP BROADCAST NOTRAILERS RUNNING PROMISC SIMPLEX MULTICAST
   mtu           1500

 en4 (7):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 en5 (8):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 en7 (9):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 llw0 (17):
   flags         UP BROADCAST NOTRAILERS RUNNING SIMPLEX MULTICAST
   mtu           1500

 lo0 (1):
   inet address  127.0.0.1
   netmask       255.0.0.0
   flags         UP LOOPBACK RUNNING MULTICAST
   mtu           16384

 utun0 (18):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           1500

 utun1 (19):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           1380

 utun2 (20):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           2000

 utun3 (21):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           1000

 utun4 (22):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           1380

 utun5 (23):
   flags         UP POINTOPOINT RUNNING MULTICAST
   mtu           1380

 }}}


 Built-in macOS ifconfig ouput:
 {{{
 $ /sbin/ifconfig
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
         options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>
         inet 127.0.0.1 netmask 0xff000000
         inet6 ::1 prefixlen 128
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
         nd6 options=201<PERFORMNUD,DAD>
 gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
 stf0: flags=0<> mtu 1280
 anpi0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:75
         media: none
         status: inactive
 anpi2: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:77
         media: none
         status: inactive
 anpi1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:76
         media: none
         status: inactive
 en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:55
         nd6 options=201<PERFORMNUD,DAD>
         media: none
         status: inactive
 en5: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:56
         nd6 options=201<PERFORMNUD,DAD>
         media: none
         status: inactive
 en7: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether be:d6:80:6f:01:57
         nd6 options=201<PERFORMNUD,DAD>
         media: none
         status: inactive
 en1: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu
 1500
         options=460<TSO4,TSO6,CHANNEL_IO>
         ether 36:64:f9:1c:24:00
         media: autoselect <full-duplex>
         status: inactive
 en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu
 1500
         options=460<TSO4,TSO6,CHANNEL_IO>
         ether 36:64:f9:1c:24:04
         media: autoselect <full-duplex>
         status: inactive
 en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu
 1500
         options=460<TSO4,TSO6,CHANNEL_IO>
         ether 36:64:f9:1c:24:08
         media: autoselect <full-duplex>
         status: inactive
 bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=63<RXCSUM,TXCSUM,TSO4,TSO6>
         ether 36:64:f9:1c:24:00
         Configuration:
                 id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0
                 maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200
                 root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0
                 ipfilter disabled flags 0x0
         member: en1 flags=3<LEARNING,DISCOVER>
                 ifmaxaddr 0 port 10 priority 0 path cost 0
         member: en2 flags=3<LEARNING,DISCOVER>
                 ifmaxaddr 0 port 11 priority 0 path cost 0
         member: en3 flags=3<LEARNING,DISCOVER>
                 ifmaxaddr 0 port 12 priority 0 path cost 0
         nd6 options=201<PERFORMNUD,DAD>
         media: <unknown type>
         status: inactive
 ap1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
         ether 02:02:e0:01:02:b6
         nd6 options=201<PERFORMNUD,DAD>
         media: autoselect (none)
         status: inactive
 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
         ether ca:da:8b:eb:a0:a4
         inet6 fe80::1028:e9b:79e0:f4fb%en0 prefixlen 64 secured scopeid
 0xe
         inet6 2a01:e0a:XXXX:XXXX:428:beb6:18d4:21f prefixlen 64 autoconf
 secured
         inet6 2a01:e0a:XXXX:XXXX:d45d:6c90:ead9:5605 prefixlen 64
 deprecated autoconf temporary
         inet 192.168.0.105 netmask 0xffffff00 broadcast 192.168.0.255
         inet6 2a01:e0a:XXXX:XXXX:9c68:8768:7d68:e347 prefixlen 64
 deprecated autoconf temporary
         inet6 2a01:e0a:XXXX:XXXX:3db1:bdc0:58d:f50e prefixlen 64 autoconf
 temporary
         nd6 options=201<PERFORMNUD,DAD>
         media: autoselect
         status: active
 awdl0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=6460<TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
         ether 96:bd:8c:4b:53:6c
         inet6 fe80::94bd:8cff:fe4b:536c%awdl0 prefixlen 64 scopeid 0x10
         nd6 options=201<PERFORMNUD,DAD>
         media: autoselect
         status: active
 llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=400<CHANNEL_IO>
         ether 96:bd:8c:4b:53:6c
         inet6 fe80::94bd:8cff:fe4b:536c%llw0 prefixlen 64 scopeid 0x11
         nd6 options=201<PERFORMNUD,DAD>
         media: autoselect (none)
 utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
         inet6 fe80::6da4:5335:1f8:f277%utun0 prefixlen 64 scopeid 0x12
         nd6 options=201<PERFORMNUD,DAD>
 utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
         inet6 fe80::1c48:6ddc:754a:ea28%utun1 prefixlen 64 scopeid 0x13
         nd6 options=201<PERFORMNUD,DAD>
 utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
         inet6 fe80::fac4:ea3f:9291:1653%utun2 prefixlen 64 scopeid 0x14
         nd6 options=201<PERFORMNUD,DAD>
 utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1000
         inet6 fe80::ce81:b1c:bd2c:69e%utun3 prefixlen 64 scopeid 0x15
         nd6 options=201<PERFORMNUD,DAD>
 utun4: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
         inet6 fe80::6b3:5f0f:da76:60b9%utun4 prefixlen 64 scopeid 0x16
         nd6 options=201<PERFORMNUD,DAD>
 utun5: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380
         inet6 fe80::5b7e:8191:2778:168b%utun5 prefixlen 64 scopeid 0x17
         nd6 options=201<PERFORMNUD,DAD>

 }}}


 As this is a low-level macOS command, GNU’s version will probably never
 work correctly on macOS anymore and may potentially harm any user who
 added `/opt/local/libexec/gnubin` to its shell path.

 Same thing applies to GNU’s `hostname` command which convert the hostname
 to lowercase which can potentially breaks things:

 {{{
 $ which hostname
 /opt/local/libexec/gnubin/hostname
 /bin/hostname

 $ /opt/local/libexec/gnubin/hostname -f
 macbook-pro-de-jonathan.local

 $ /bin/hostname -f
 MacBook-Pro-de-Jonathan.local
 }}}

 IMHO both commands should be disabled.

-- 
Ticket URL: <https://trac.macports.org/ticket/72548>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list