Pagine

21 marzo 2011

Wireshark su Snow Leopard

Non so per quale motivo, ma Wireshark mi ha sempre creato qualche problema al momento dell'installazione su OS X. Dicono si tratti di problemi di permessi sulle interfacce ed effettivamente, una volta installato e avviato non viene rilevata nemmeno un'interfaccia dalla quale catturare pacchetti.
Su Leopard avevo risolto tempo fa, ma non ricordo più esattamente come e, infatti, una volta passata a Snow Leopard mi sono ritrovata punto e a capo. Mi ero illusa che avessero risolto il conflitto nelle realease più recenti ed invece quello che offrono è una semi-pezza.

All'interno del dmg di Wireshark 1.4.4 c'è una cartella chiamata ChmodBPF che va copiata tutta intera in /Library/StartupItems/ . Quello che fa questa cartella è semplicemente settare all'avvio i permessi necessari perchè Wireshark possa vedere le interfacce. Quello che però succede è che questa cartella non ha i permessi necessari per settare un bel niente. Infatti riavviando il computer vi apparirà una bella finestra che vi avvisa che ChmodBPF non è stato avviato ("Insecure Startup Item disabled"). Tutto ciò non è comico? XD
Effettivamente nemmeno io l'ho trovato molto comico all'inizio, tanto che ho lasciato perdere il tutto fino a data da destinarsi. L'altro giorno, stufa di vedere il messaggio di errore all'avvio del mio povero Mac, ho scavato nella rete e ho trovato la soluzione!
Nel blog da cui ho preso la soluzione dicono che il problema è l'ownership (ma come si dice in italiano??) dello script e usando queste due linee su terminale dovrebbe andare tutto a posto.
cd /Library/StartupItems
sudo chown -R root:wheel ChmodBPF
Una volta sistemati i permessi di ChmodBPF bisogna riavviare il computer oppure, semplicemente, avviare ChmodBPF tramite:
sudo /Library/StartupItems/ChmodBPF/ChmodBPF start
Per ora il tutto funziona, vedremo cosa succederà alla prossima release.

AGGIORNAMENTO: ad oggi (release 1.8.3) il problema sembra essersi risolto.

12 marzo 2011

Regole di Traduzione

Dopo essermi addentrata nel mondo PyObjC e aver trovato ben poco materiale a riguardo, ho pensato di tradurre in italiano le "regole" basilari di conversione da Objective-C a Python. Dedicherò un post ad ogni regola di cui verrò a conoscenza, partendo da quelle basilari.
Purtroppo non conosco nel dettaglio la sintassi di Objective-C e quello che presento di seguito è quello che ho capito dalla documentazione (alquanto scarna) che si trova sul sito di PyObjC.
Vi chiedo scusa per le inevitabili imprecisioni e se doveste riscontrare errori, segnalatemelo.
E ora cominciamo.

PRIMA REGOLA(la più importante):

Sintassi Objective-C
metodo: arg1 argomento: arg2;
Sintassi PyObjC
metodo_argomento_(arg1, arg2) 

Per "tradurre" un metodo da Objective-C a Python, PyObjC richiede che il nome del metodo in Python sia composto dal nome del metodo Objective-C e dai nomi degli argomenti, ognuno seguito da un underscore ("_") per indicare al traduttore la posizione originale dei due punti (":"). I valori degli argomenti vanno inseriti ordinatamente all'interno delle parentesi.

Tutto qui, questo è tutto quello che vi serve per cominciare ad utilizzare i framework cocoa all'interno dei vostri programmi scritti in Python. Nient'altro. ^_^