Samba & Windows 7 Starter Edition

Se come me siete impazziti dietro a samba che sembra non autenticare windows 7 ed ora state soccombendo sotto il peso di sigle come NTLMv2 LANMAN ed oscure versioni dei protocolli di autenticazione usati da Windows fin dal lontano 1995, forse il problema è molto più semplice di quanto appaia. Quindi lasciate stare il registry, non abilitate nessun protocollo di compatibilità, lasciate stare i commenti sulla starter edition di Windows 7 ed invece abilitate il log nel vostro serverino samba aggiungendo nella sezione [global]:

log level = 3 passdb:5 auth:10 winbind:2

Poi controllate se ad autenticazione fallita avete nel log qualche cosa che si riferisca ad un accesso negato alla share amministrativa IPC$. Se è così create una share finta tipo:

[IPC$]
        path = /tmp
        valid users = @netaccess
        guest ok = no
        writable = no
        browseable = no

E tutto inizierà magicamente a funzionare. A quanto pare Windows 7 dopo l’autenticazione tenta di accedere, senza tra l’altro farne uso, proprio alla share IPC$.

Tutto ciò è stato testato su una debian sid con installato samba versione 3.5.5 ed una rete senza controller di dominio, ma con il solo gruppo di lavoro.

Gtk+ TreeSortModel ed oscuri segfaults

Ho passato tutta questa domenica mattina cercando di risolvere questo strano bug che si verificava in Vala Toys

A differenza di quanto scritto nel bug report dopo un po’ di prove ho notato:

  • non era dovuto al multithread implementato nel parser di Vala Toys
  • era di facile riproduzione, ma si verificava solo con un determinato file sorgente incluso nel progetto di esempio di waf
  • non dipendeva da qualche stato interno del modello in quando si verificava anche ricreando ogni volta il sortmodel da zero

Dopo svariate ore ne sono venuto fuori anche grazie a questo post che, sebbene non del tutto pertinente, mi ha quanto meno messo una pulce nell’orecchio: ricontrollare la funzione utilizzata per il sort.

Ed ecco che gira e rigira noto subito un bug alla riga 539 di vtgutils.vala dove erroneamente utilizzo la variabile vala invece che valb, ma soprattutto mi rendo conto che la funzione cosi’ come è scritta non è asimmetrica (caratteristica richiesta dalla documentazione della GtkTreeIterCompareFunc).

Quest’ultimo errore è anche confermato dall’output di debug che avevo aggiunto al codice e spiega anche come mai il segfault lo avessi solo con quel determinato sorgente:

ValaToys-INFO: vtgsourceoutlinerview.vala:375: compare constructor:Sample vs new result: -1
ValaToys-INFO: vtgsourceoutlinerview.vala:375: compare new vs constructor:Sample result: -1

Sistemato quest’ultimo dettaglio il segfault è magicamente scomparso.

Da ciò ho imparato:

  1. Se un’implentazione è errata anche se sembra un errore innocuo, il segfault è sempre dietro l’angolo
  2. E’ umanamente possibile superare il limite fissato dal ‘Moccolo a Delta di Dirac’

P.S.

E’ uscito Vala Toys versione 0.10.0

uChumby Client: un aggiornamento

Direi che la versione zero è finalmente pronta, ora non mi rimane che:

  1. Vedere come si implementa una External Music Source con il Chumby framework
  2. Irrobustire il codice che dialoga in rete con uChumby server
  3. Implementare un minimo di skin per i controlli in modo da rendere più gradevole l’interfaccia
  4. Implementare un pannello di configurazione

Altro giro altra bambolina: uchumby2.mp4