( Zahy | 2011. 01. 12., sze – 23:00 )

Basszuskulcs. Nem értem. Van egy szoftver, amiben valamely hálózati paraméter beállítását kell megtenni. Ezt lehet platformfüggő ioctl rendszerhívással, és platformfüggő ifconfig parancs hívásával is megoldani. Ez eddig szerintem mindenkinek világos.

Az ioctl hívásos használathoz kell N db. rendszerhívás. Az ifconfig parancsos használathoz feltehető módon kell minimum ugyanaz az N db rendszerhívás (hisz nyilván az ifconfig is ez(eke)t hívogatja a legvégén), plusz minimum 3 másik (fork / exec / wait). Azaz az ifconfig drágább.

Az ioctl hívást megerőszakolni lehet X-féle módon. Az ifconfigot pedig (nyilván) ugyanazon X, valamint még ezen kívül Y-féle módon *is*. (PATH-hekkeléssel, LD_PRELOAD-dal, istentudja milyen módon.) Azaz az ifconfig veszélyesebb.

Azaz: lehet drága és veszélyes módon, valamint olcsóbb és kevésbé veszélyes módon is megcsinálni - ennek ellenére itt még mindig pozitív egész azok száma, akik szerint ez így jó, nem kell vele foglalkozni, elhanyagolható. Nem, nem elhanyagolható. Úgy gondolom, (főleg egy biztonsággal közeli kapcsolatba hozható programnál) a "jó csapaton ne változtassunk" elvet itt nem kéne alkalmazni. Nem csak azért mert nem jó, hanem azért is, mert még ha jónak is minősítjük, lehetne jobbá tenni.