Newsgroup: it.comp.os.dibattiti
Titolo: Ma il registry di MS...

..rispetto ai file di testo, e`..:
1) una cagata pazzesca
2) una buona idea
3) una buona idea implementata male
4) ________________________________
?

 wrote in message
news:941t2e$9ms$1...@serv1.iunet.it...

 3) una buona idea implementata male in Windows 9x.
Saluti.

 wrote in message
941t2e$9ms$1...@serv1.iunet.it...




La prima che hai detto.
Obelix

On Tue, 16 Jan 2001 17:29:30 +0100 a darnkess messenger,
 from the deepest bottom of hell, delivered me
 a scroll with 
p.cav...@spam-mo.nettuno.it
's sigil,
 titled "Ma il registry di MS...",
 written by 
p.cav...@spam-mo.nettuno.it
 with his blood
 and these arcane words following:

io darei per il 1 punto e il 3 punto a seconda del punto di vista
-- 
Sidewinder  
---------------------------------------------------------------------
Linux: Where Don't We Want To Go Today?
	-- Submitted by Pancrazio De Mauro, paraphrasing some well-known sales talk
---------------------------------------------------------------------

 1) una cagata pazzesca
Opto per  questa: Non sono  al 100%  contro un  solo gigantesco  file di
configurazione, pero' il fatto che non sia ASCII puro ...
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 wrote:

Per certe applicazioni e' una cagata pazzesca.
Nel contesto di Windows, pero', e' una buona idea...
	...implementata di schifo in Win95/98 e penso ME
	...implementata maluccio in NT
	...implementata ammodo, finalmente, in W2K
A proposito del quale, mi dicono i miei colleghi che funziona molto,
ma molto meglio di NT. In effetti le applicazioni che saltuariamente
fermavano freddo NT Server (senza motivo) adesso, sempre senza alcun
motivo o modifica, girano felici e contente su W2K.
Se continua cosi', prima o poi ci faro' su un pensierino.
Leonardo 95 OSR 1
-- 
Microsoft Outlook: il primo news reader con supporto messaggistica RAID 1.

Piero Cavina ha scritto:

Elimina la 2...
Tra le altre due puoi scegliere a seconda se hai avuto o meno problemi di
registro...
Io sinceraamente non amo un file unico per ovvi motivi... se succende un qualsiasi casino
perdi tutto... se devi cercarvi qualcosa dentro diventi scemo...
L'ideale sarebbe averne vari tutti facilmente raggiungibili e con nomi che ricordano
quello che rappresentano.
Ancora meglio sarebbe poter metterci le mani con un comune editor di testo... ma questo
puo` servira solo a chi sa cosa fare, non certo a uno chiunque. Ad ogni modo sarebbe
piu` facile metterlo a posto in caso di problemi (sopprattutto se fosse abbinato al fatto
di essere spezzato in piu` files).
--
ciao, Mirco.
ICQ#: 51640305

 ...implementata ammodo, finalmente, in W2K
Qualcuno mi riassume brevemente quali sono state le migliorie
significative nel registry da Win95 a Win2K?

4) ________________________________
imho 3
Henryx

Piero Cavina ha detto:

una discreta cagata, perche` 
1-non e` ascii, quindi di difficile accesso e difficile modifica (ad
esempio, in 9x, se hai impostato una risoluzione di 1024x768 ma metti un
monitor che non ci arriva, per sistemare il problema devi avviare in
provvisoria, cambiare la risoluzione, e riavviare di nuovo; con un
semplice ascii si farebbe molto prima ad avviare il dos, modificare il
file con la risoluzione, e lanciare windowz)
2-con tutta la roba in un unico posto si perde troppo tempo per
trovarla, e inoltre e` poco agevole prenderne fuori dei pezzi per
salvarseli
3-nel registry come user-friendly siamo al livello opposto 
dell'interfaccia: senza avere sotto della documentazione, non ci si
capisce niente. 
Gran parte dei files di configurazione in un sistema linux sono piu`
intuitivi, e contengono degli utili commenti. 
Nel registry ci sono un mucchio di voci con nomi contorti e nessun
commento esplicativo.
-- 
    Pardo 
 
www.pardo.cjb.net

..rispetto ai file di testo, e`..:
<SUPERFICIALE>
4) Una cagata pazzesca implementata male________
</SUPERFICIALE>
<APPROFONDITO>
Una complicazione inutile. Non aggiunge nulla di concettualmente nuovo
all'uso di n file .ini e la centralizzazione del tutto e' uno dei
motivi della pesantezza e dell'instabilita' di Windows. Se poi non sei
in ambiente grafico (per esempio perche' hai dovuto fare un avvio da
floppy) scordati di poterlo leggere/manipolare, grazie alla genialata
del formato straproprietario che usa...
</APPROFONDITO>
Se mai scrivero' software per Windows mi guardero' bene dall'usarlo
per la configurazione del mio ipotetico programma, preferendo i cari
vecchi file di testo, localizzati nella directory del programma
stesso.
-- 
Insieme a noi
Insieme a noi
Forza Ancona vinci e lotta insieme a noi

 del formato straproprietario che usa...
Regedit funziona anche in modalità DOS... libero di non crederci, ma è così.
Naturalmente è molto più macchinoso, ma funziona...
Saluti
--
Wilmer Ricciotti
wi...@bigfoot.com

quello che rappresentano.
Tipo metterli dentro una directory /etc con il nome del servizio a cui
si riferiscono e un bel .conf alla fine?
Speriamo che qualche OS serio implementi una soluzione di questo tipo al piu'
presto... :))))
Saluti 
-- 
Andrea Capriotti

	...implementata ammodo, finalmente, in W2K
Beh, in effetti win2k come os home non e` niente male <grin>
cmq, il registro e` implementato male perche`:
- e` un unico file
- e` in formato binario e modificabile solo a sistema avviato
- necessita di reboot per rendere effettive le modifiche
- alla lunga diventa molto grosso e tende a rendere il sistema instabile
imho sarebbe stato meglio se avessero creato un .cab in cui c'erano tutti i
files di configurazione e che fosse stato decompresso in memoria durante l'avvio
(ovviamente il file .cab veniva ricreato nella fase di shutdown)
Henryx



Quindi: non un giudizio sul contenuto, ne' sulla sua ragion d'essere.
Bene, allora: 1)
E maledetto sia! Lui e i testi da comprare per la documentazione.
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

 imho sarebbe stato meglio se avessero creato un .cab in cui c'erano tutti i
Ma quale .cab ! Un file ASCII puro ci vuole..
-- 
|Pierluigi De Rosa (
tho...@durin.khazad-dum.net
)|
|     E' nato il Cosenza Linux User Group	|
|   mail -s help 
cslug-...@lists.linux.it
	|
|      IRC: #cslug - 
irc.openprojects.net
	|

 presto... :))))
Diciamo pure che, a pare Windows, tutti i sistemi che conosco usano 
questa soluzione. Sbaglieranno tutti...
8)

Ma quale .cab ! Un file ASCII puro ci vuole..
Certo! Invece di fare i fessi coi formati proprietari. E poi separato
ripartendolo in sei file distinti, uno per ogni HKEY_ principale:
classes_root; current_user; local_machine; users; current_config;
dyn_data. E spiegando che sono categorie separate, dove si possono
trovare ripetute le stesse informazioni. E documuntando bene, visto che
ci si deve mettere mano quando si disinstalla porca vacca.


 ci si deve mettere mano quando si disinstalla porca vacca.
Appunto.. quanto valgono i vecchi sani files ASCII ben documentati che
puoi aprire con un qualsiasi editor senza farti problemi che qualcosa
non possa funzionare.. riediti il file, restart del servizio e voila',
altro che WinZozz..


- necessita di reboot per rendere effettive le modifiche
baaaaaa, ma che brutta sparata
non deriva certo dall'architettura del registro, questo

3) una buona idea implementata male
per un sistema senza un'organizzazione rigida delle directory e (tuttora) 
senza hard link (attualmente solo su NTFS 2000, e solo per i file) a 
directory, il registro di configurazione era l'unica soluzione possibile.
grossi vantaggi sono la possibilità di salvare dati binari, che in un file 
di testo richiederebbero una codifica per non "rompere" il file, e la rigida 
organizzazione gerarchica del tutto
nonchè il fatto che sia accessibile tramite un vero e proprio server, quindi 
anche da remoto, e che esponga un'interfaccia coerente
... ma a questo punto non facevano prima ad usare un database vero e 
proprio?

stesso.
errore mostruoso, e ti (vi) prego di non commetterlo
per far funzionare genialità simili (tra cui un programma che non ricava la 
directory di lavoro con l'apposita funzione, ma leggendo il path dell'exe) 
su Windows 2000 senza dare permessi di scrittura a destra e a manca sono 
dovuta ricorrere agli hard link (per i quali ho dovuto procurarmi il ln di 
Unix riadattato, perchè di tool nativi non ce n'è)
devi scrivere nella cartella %APPDATA%\nomecompagnia\nomeprogramma\versione, 
perchè almeno sei sicuro di poterci scrivere. Nell'SDK di Windows 2000 si 
consiglia caldamente di usare il meno possibile il registro, al massimo di 
registrare il path dell'applicazione (HKLM\Software\Microsoft\Windows
\Current Version\AppPaths: quasi meglio dei link nel menu avvio), i server 
OLE/ActiveX e relative type library e interfacce, e il path dei dati utente 
(in HKCU\Software\nomecompagnia\nomeprogramma\versione), e in genere 
qualsiasi tipo di informazione condivisa tra più programmi.
Non inventarti formati strani (ti GIURO che i file .ini vanno più che 
bene...), attieniti allo standard locale (i commenti si fanno con ; e non 
con #, si usa = e non : per associare chiavi e valori, e le [Sezioni] NON 
vengono ignorate), al massimo ti costerà un paio di #ifdef, se proprio hai 
bisogno di dati in forma gerarchica ma proprio detesti il registro, usa un 
solo file xml, e non decine di sottodirectory

file con la risoluzione, e lanciare windowz)
gli eseguibili PE sono una bella cosa
regedit.exe sono DUE programmi in uno: uno di Windows e uno di DOS. Prova 
pure. Ah, NON usare l'opzione "ricrea registro da file", si bloccherà e ti 
rovinerà il registro...

 non possa funzionare.
Ai tempi, sviluppando su Mac, ci eravamo convertiti ai file di 
preferenze in formato testo dopo aver penato un po' sul debugging. In 
piu', utilizzando la notazione appropriata (nome = valore \n nome = 
valore) potevamo smettere di preoccuparci della compatibilita' tra 
versioni differenti di file.
ciao

In un messaggio del Thu, 18 Jan 2001 14:22:49 +0000 balrog scriveva:


Esatto: se ben commentato un file di configurazione ASCII non da' nessun
problema. Voglio dire, basta saper leggere un po' di inglese.
# This option is important for security. It allows you to restrict
# connections to machines which are on your local network. The
# following example restricts access to two C class networks and
# the "loopback" interface. For more examples of the syntax see
# the smb.conf man page
;   hosts allow = 192.168.1. 192.168.2. 127.
Da qui si capisce benissimo a cosa serva questa opzione, non c'e' da
modificare nessuna chiave in esadecimale con valori assurdi.


disinstalla porca vacca.
dove credi ch'io abbia imparato ciò che so? :)
Juliet che 
msdn.microsoft.com
 è la pagina iniziale del mio browser... e 
che per le risposte alle mie domande spesso basta il form di ricerca di 
quella pagina

 di database come driver del kernel e Registry API come servizio?)
Cosa ti impedirebbe  di utilizzare come base dei dati  dei files ASCII ?
Performances per l'accesso da parte del dB ? Perche' ho stralciato tutte
le  lezioni sui  databases (Giambo,  lo sai: Sono  pallose e  ce n'erano
altre ben piu' divertenti :-) !)


Juliet che 
msdn.microsoft.com
 è la pagina iniziale del mio browser... e 
Certo, e` il default. Ma IE ti permette pure di cambiarla, se vuoi.
Credo che nella 5.0 sia in "strumenti - opzioni internet - generale".
Ricordo infatti che, quando ancora usavo IE 4.0, mettevo come home:
http://www.pluto.linux.it/


ASCII ? Performances per l'accesso da parte del dB ?
un file ASCII non salva dati binari, non salva la lunghezza dei dati, 
spreca byte inutilmente per dati come i numeri (che al massimo occupano 
4 byte, 8 se vogliamo esagerare - scritti come stringhe ne possono 
occupare più del doppio, e non solo: non c'è alcuna garanzia sulla 
lunghezza della stringa, mentre una DWORD è e sarà sempre 4 byte esatti, 
qualsiasi numero rappresenti), non solo, un database può avere delle 
zone "morte", piene di zeri binari, che facciano da padding, in modo che  
se un dato binario molto grosso (come ad esempio i cosiddetti BLOB) 
viene riscritto con una lunghezza maggiore basta registrare la nuova 
lunghezza del dato e sovrascrivere gli zeri di padding, senza dover 
riscrivere e reindicizzare tutto il database.
Detta tecnica è detta "sparse database", e in Windows 2000 è attuabile a 
livello di file system.
Per intenderci, quando in Outlook Express compattate le cartelle 
(nient'altro che piccoli database), l'operazione che viene eseguita è di 
eliminare tutti gli zeri di padding e reindicizzare.
(a proposito di Outlook Express, mi sembra alquanto opinabile l'uso di 
un indice incorporato nel file dati, costringe ad avere una grossa zona 
morta all'inizio del file per evitare di dover ridimensionare troppo 
frequentemente a causa degli sbalzi dell'indice, e di fatto costringe ad 
avere due seek contemporanei sullo stesso file. Mi sembra più furbo il 
sistema .dat + .idx usato da programmi come ICQ e Hamster)

Certo, e` il default.
no, il default è 
www.msn.it
 (il portale - io ODIO i portali)
MSDN è il sito di risorse per programmatori della Microsoft
è il primo posto dove cercare documentazione su Windows e sui prodotti 
Microsoft in generale. Spesso e volentieri anche documentazione non 
ufficiale, quindi molto più interessante

 lunghezza della stringa, mentre una DWORD è e sarà sempre 4 byte esatti,
Anche questo non e` affatto vero.
Inoltre, se proprio vogliamo, un file di testo di
riesce a comprimere molto bene, quindi lo spazio
sprecato si recupera...
Inoltre, in un file di configurazione, a cosa serve salvare
dati in binario? E` un errore di concetto.
bye,
-- 
  Piergiorgio Sartor

riscrivere e reindicizzare tutto il database.
Le tue osservazioni sono interessanti. Pero' dovresti spiegare perche' non
dovrebbe essere possibile farlo con i file di testo. Perche' sprechi spazio?
Non mi sembra un motivo (personalmente) valido, visto che il fatto che sia
piu' grosso e' compensato dal fatto che e' leggibile sempre e comunque.
Inoltre non credo che la directory /etc di un sistema Linux sia piu' grossa
del registry di un sistema win2000... se mandi le dimensioni del tuo
registry vediamo con il mio sistema Linux di lavoro.
Quanto al fatto che si possano espandere, ho due considerazioni:
primo: una riga del tipo
chiave=valore
non ha limiti arbitrari di lunghezza, a meno che tu nella routine che usi
per leggerla non forzi una certa lunghezza
Secondo: se hai un valore di una chiave di configurazione enorme, secondo me
hai sbagliato qualcosa.
Al limite puo' esserci qualche problema con le API di accesso, visto che si
tratta di scrivere fondalmentalmente file contenenti record a dimensioni
variabile, ma non credo che sia impossibile risolverlo.
per finire, reputo migliore un approccio a piccoli file, se non altro per
parare problemi HW. Se ti si sfasciano dei settori del disco, con pochi file
grossi ed in formato proprietario rischi di perdere molti dati di
configurazione, con tanti piccoli file in ascii rischi di perdere molti meno
dati.
Che poi si possano trovare delle soluzioni intermedie puo' anche essere
vero, ma al momento l'approccio a file ascii mi sembra migliore. 
bye
Gianluca

 Certo, e` il default. Ma IE ti permette pure di cambiarla, se vuoi.
msdn.microsoft.com
 il default di IE?
Saluti.

 proprio?
E magari fornirlo di serie con il sistema operativo? Mi ricorda
qualcosa.. :-)

 database.
Mi  pare  questo esuli  dall'uso  di  un  database per  mantenere  delle
configurazioni ...


delle configurazioni ...
considera che una gran parte dei dati del registro sono stringhe a 
lunghezza variabile, come testo, path su disco, GUID, righe di comando, 
ecc... A parte le GUID che hanno sempre la stessa lunghezza, questi dati 
possono variare da minimalismi come "%1 "%*"", che è la riga di comando 
degli eseguibili, a mostruosità immani, come il tooltip del Pannello di 
Controllo

che usi per leggerla non forzi una certa lunghezza
fgets *pretende* la lunghezza del buffer...

dati in binario? E` un errore di concetto.
no, solo un concetto diverso
Windows lavora di brutto con le struct, la maggior parte delle funzioni 
dell'API con un fottio di parametri sono state sostituite con funzioni 
<nomefunzione>Indirect con un solo parametro: un record contenente tutti 
i parametri. Grossi vantaggi: tutta la configurazione di un comando sta 
in una sola variabile, e si possono aggiungere nuovi parametri 
semplicemente aggiungendo membri alla struct, senza essere costretti a 
ricompilare o ricorrere a #ifdef. E' pratica comune di programmazione 
salvare detta variabile semplicemente facendone il dump su un file o in 
un valore nel registro, piuttosto che leggere-scrivere membro a membro 
la struct, e soprattutto è molto efficiente dato che non richiede alcun 
casting ma semplicemente una copia da puntatore a puntatore (occhio però 
ai buffer overflow...). Persino gli shell link, come credi sia salvato 
il parametro "Stile finestra"? un semplice DWORD, corrispondente alla 
rispettiva costante SW_ (ciò vuol dire che uno shell link può avviare 
anche a finestra nascosta...) da usare direttamente nella chiamata a 
ShellExecute

fgets *pretende* la lunghezza del buffer...
Si, ma perche' dovrei usare fgets ? 
Ci sono altri sistemi per leggere una stringa da un file.
Ad esempio una versione personalizzata di fgets che legge fino a fine
linea... (ok, perversione da Venerdi' sera ad un quarto d'ora da fine
lavoro...)
bye
Gianluca

 Windows lavora di brutto con le struct, la maggior parte delle funzioni
Non ha importanza come lavora win o Unix.
Quello che serve e` avere un tool di conversione e
rendere disponibile all'utente il formato piu` semplice.
Dato che i moderni PC hanno potenza di calcolo mostruosa,
non capisco perche` non approfittarne e fare un buon
parser test <-> configurazione. Utilizzabile da tutti e,
magari, standard...
bye,
-- 
  Piergiorgio Sartor

proprio?
Meglio  dei file  ASCII testuali,  uno per  programma o  almeno coerenti
logicamente, e riposti in un'unica directory.
-- 
Renato "Lay-up" Salzano - 
http://members.xoom.it/hitman_work/
e-posta : sonicblast (at) 
inwind.it
 / Xena:TWP fan
***        Per questa settimana powered by Linux Console       ***
*** Le GUI sono indispensabili solo agli ignoranti informatici ***

non deriva certo dall'architettura del registro, questo
Infatti. Per rendere effettiva una modifica sei costretto a riavviare, in quanto
questa viene scritta nel file, ma non viene eseguita
Henryx

Ma quale .cab ! Un file ASCII puro ci vuole..
Mah, la soluzione .cab l'ho inserita solo per risparmiare un po' di spazio (dopo
tutto il cab e` una delle pochissime cose decenti che siano uscite da
quell'inferno che si trova a redmond)
Henryx

fine linea...
... e il buffer overflow è di serie? ;)

Non ha importanza come lavora win o Unix.
so cosa sto dicendo... ho questa brutta abitudine, quando parlo...
leggi più sotto che problemi crea salvare una struct come testo ASCII

di alcune chiavi destinate all'utente
qui io ho system, software, security, sam, default, userdiff e un 
ntuser.dat per ogni utente (windows 2000)

significative nel registry da Win95 a Win2K?
Il registro e' protetto da ACL, ed e' implementato meglio (mi dicono, ma
qui dovrebbe dirlo Zanellotto, che il registro ha un garbage collector o
qualcosa di simile; inoltre ci sono piu' controlli sul locking e sul key
removal, che con Windows95 ed un giro di uninstaller ti fotteva tutto il
sistema, se avevi la luna contro).
Nel MIO contesto, e' una pessima idea, che almeno W2K implementa bene.
Leonardo
-- 
Microsoft Outlook: il primo news reader con supporto messaggistica RAID 1.

sistema .dat + .idx usato da programmi come ICQ e Hamster)
E Agent ;-)


 scrittura con gzip)
Su file abbastanza grossi funziona, altrimenti rischi di peggiorare. ;)
bye
Gianluca

contateli-voi-quanti-byte:
Beh, noi per non perdere tempo, ci limitiamo a confrontare il tuo
Registry con file di configuraizone di Gianluca: all momento, perdi di
un fattore 5...
Obelix

Detta tecnica è detta "sparse database", e
Buffo come la tecnica di 'sparse memory' in Os2 sia *esattamente*
l'opposto....
Obelix

 quell'inferno che si trova a redmond)
Se inizi a parlare di "Hell on earth" mi ricordi qualcos'altro :-) Aah
si che bei ricordi.. quel perfido amabile suono del BFG 9000...
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

scrittura con gzip)
Qualcosa sul tipo di fzgets? Si potrebbe fare, ma e' pericoloso. Io,
come tutti i Fratelli della Chiesa di Murphy, sappiamo che fare cose
pericolose e' indurre in tentazione il Maligno.


vengono ignorate)
E' disponibile una opzione
	sed -e 's/^;/#/g' -e 's/^\(^:\):\(^:\)$/\1=\2/g'
	sed -e 's/^#/;/g' -e 's/^\(^=\)=\(^=\)$/\1:\2/g'
per queste necessita', comunque ;-)


Su file abbastanza grossi funziona, altrimenti rischi di peggiorare.
vero... gaffe micidiale di Juliet (e sulla documentazione c'è pure 
scritto)

di un fattore 5...
solo perchè lui può fare a meno di molte cose
fosse per me, Windows NT sarebbe in modalità carattere, la modalità 
grafica (in user mode, ovviamente) servirebbe solo ad emulare i 
sottosistemi Win32 e OS/2 e NTFS 5 sarebbe object-based...

 Microsoft in generale.
Personalmente, ritengo molto piu' interessante 
support.microsoft.com
 :-)
"Disks are duplicated on a variety of industrial strength, quality
focused systems. Most of these systems are UNIX-based. The UNIX-based
duplication systems used in manufacturing are impervious to
MS-DOS-based, Windows-based, and Macintosh-based viruses."
How Microsoft Ensures Virus-Free Software
http://support.microsoft.com/support/kb/articles/Q80/5/20.ASP


msdn.microsoft.com
 il default di IE?
No! In msdn c'e` una d come dannazione in piu`. THNX (anche a Juliet).
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

ntuser.dat per ogni utente (windows 2000)
ehm, su nt non so dire (quella che descrivo io e` l'implementazione del registro
su win9x)
Henryx

 modificare nessuna chiave in esadecimale con valori assurdi.
Ma secondo te perche' non si sono usati file ascii?
Non e` una domanda retorica eh!
-- 
 Yours truly, |  PCC on a FreeBSD box                E-mail: 
ab...@mclink.it
  Angel Blue  |-------------------------------------------------------------
      _*_     |  "A partire da oggi, abbandono la virtu` "
       |      |       (Lautreamont)

 Non e` una domanda retorica eh!
Ah non lo so.. probabilmente perche' nella loro mente sembrava un bel
metodo per implementare la cosa.. proprietario, illeggibile da
null'altro che il loro Register Editor, se ci si mettono le mani senza
cognizione sei costretto a formattare e reinstallare (la regola numero
1). Cosa pretendere di meglio?


[snip esempio]<
Da quel che  deduco, quel comodita`, e` la  comodita` dei programmatori,
non poi degli amministratori/utenti. Capisco.
Questione di punti di vista: io considero prioritaria la comodita` degli
utenti...


 Controllo
Anche qui, non vedo molte controindicazioni: Apache una volta partito mi
legge dal  file di configurazione il  path per i servlets  e per qualche
mese il file in questione puo' star li' a prendere polvere.
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

programmatori, non poi degli amministratori/utenti. Capisco.
eh sě
Microsoft gli utenti non se l'č mai filati molto

 1995..)
Si, ma XML  pone il problema della sicurezza di accesso alle singole chiavi
di registry.
Il registry di NT/W2K implementa le ACL su ogni elemento dell'hive.
Saluti.

 tutti li`. Non e` che ci voglia molto...
Regedt32 (non regedit) lo hai mai visto?
Curiosando con le varie funzioni scoprirai che le funzionalità che si
possono implementare con
una struttura tipo registry (quello vero di NT) sono enormemente superiori a
quelle che si possono implementare con un file ascii. Ad esempio come fai a
dire in un file ascii di configurazione che l'utente pippo NON può leggere
un determinato parametro di configurazione mentre l'utente pluto si?
Saluti.

un determinato parametro di configurazione mentre l'utente pluto si?
Davvero utile in un OS non multiutente (W95).

polvere. 
la shell di Windows non esegue alcun tipo di caching delle impostazioni, 
se escludiamo le icone. Questo per non doverla riavviare a ogni minimo 
cambiamento ad esempio nell'associazione dei file, o nelle estensioni 
registrate. Questo è solo un esempio.
Immagino che anche i servizi, in Windows NT, leggano da registro una 
volta sola e basta, a parte quelli interpellati costantemente 
dall'utente
Non so perchè mi venga in mente adesso, ma lo dico: un problema di 
Windows (o meglio, della mentalità comune degli sviluppatori) è la 
mancanza di una netta separazione tra i programmi in sè e i tool di 
configurazione, o estendendo il discorso, i programmi sono 
spaventosamente "all-purpose", fanno di tutto, anche cose che 
spetterebbero ad altri programmi, e ovviamente sono specificissimi e non 
riutilizzabili per altro. E così il disco si riempe, si riempe, si 
riempe...
... programmi a cui il RichEdit non basta, devono per forza usare il 
LORO controllo, programmi che non possono usare i menu di sistema, 
troppo brutti, ma scherziamo? programmi che reinventano le checkbox, i 
pulsanti, che reimplementano componenti standard, e poi la mania delle 
librerie statiche: programmi il cui solo eseguibile principale è 15 
mega, compresso, perchè dentro chissà che diavolo c'hanno messo...
... programmi ma che brutto il registry, ma che brutti i file ini, mi 
invento un mio formato... programmi ma che brutto l'help in linea, 
meglio un solo file di testo da 400 kb... programmi ma perchè mai dovrei 
mettere la documentazione nella cartella Help... programmi ma che brutte 
le dialog, decido io come devono essere... programmi ma che brutta la 
console/finestra/barra del titolo/layout tradizionale/widget di 
sistema...

era andato).
credo di non aver capito...

chiavi di registry.
XML è parecchio pesante, anche se molto intuitivo
è principalmente un formato di scambio: tu fai una query e il server ti 
risponde con un documento XML, che tu poi ti formatti come ti pare, 
anzichè, come succede adesso, lasciare alla "black magic box" del server 
anche il compito di formattare i dati (vedi i motori di ricerca)

l'opposto....
cioč? potrei anche aver sbagliato io, intendiamoci...

spazio
cosa MOLTO poco nota: ms-compress (vecchissimo ma tuttora valido) è in 
grado di comprimere in CAB dati senza nome (esattamente come fa la 
zlib), e l'API di Windows ha una serie di funzioni lz* per operazioni 
(in sola lettura, questo a causa dell'architettura del formato CAB) su 
file compressi con ms-compress... questo per la precisione... (se 
trovate dei file la cui estensione finisce con un underscore e i cui 
primi due byte sono "SZ", avete trovato un file compresso con ms-
compress) e mi chiedo perchè abbiano lasciato che cadesse in disuso (le 
funzioni lz* e ms-compress sono stati dichiarati "deprecated"), era una 
buona idea...

 sistema, se avevi la luna contro).
Mo' mi segno di controllare domattina la doc su qualche server giusto....
--
Bye
Gianluca Zanelotto
Ducati ST2 "Red Devil"

Davvero utile in un OS non multiutente (W95).
windows 95 non ha limitazioni per utente

 ha scritto nel messaggio
news:Xns9030B854...@127.0.0.1...

Esatto. Ma questo è un'altro discorso.
PS. fra qualche settimana su 
www.asptoday.com
  (forse) comparirà un mio
articolo sull'uso di un mio oggetto COM che usa XML come formato per la
persistenza dei dati di sessione nelle applicazioni ASP.
Saluti.

 ha scritto nel messaggio
news:d65m6tk78po9od4nv...@4ax.com...

Infatti io sto parlando del registry di NT.
Saluti.

 ha scritto nel messaggio
news:d65m6tk78po9od4nv...@4ax.com...

Win9x implementa il concetto di utente.
Saluti.

si che bei ricordi.. quel perfido amabile suono del BFG 9000...
Eh? cos'e` un BFG 9000? Sai, non tutti abbiamo la tua veneranda eta` ;))
Henryx

sistema...
Su questo hai perfettamente ragione.
Io credo che chi sviluppa sistemi operativi dovrebbe concentrarsi sul
fornire servizi (componenti) utili a chi sviluppa il software,
piuttosto che fare concorrenza alle software house su cose come i
player autio-video o i client di email.

 Win9x implementa il concetto di utente.
Cioe' tipo quando premi Esc per bypassare la password?


 windows 95 non ha limitazioni per utente
E questo e' il suo limite peggiore..


 un determinato parametro di configurazione mentre l'utente pluto si?
Gabriele, solo m$ poteva pensare a delle contorsioni simili: prendiamo
Samba.. non c'e' la differenziazione fra utente ed utente ma esistono
una carrettata di opzioni per definire i permessi di accesso all'utente.
Che l'utente possa accedere (in lettura) ad /etc/smb.conf non e' poi
cosi' tragico: l'importante e' che ci siano opzioni come 'domain admin
users', 'admin users', 'invalid users', 'valid users' che a livello di
utente permettano di discriminare chi puo' fare cosa ed altre a livello
di accesso ai files come 'veto files' 'hide files', 'create mask' ecc.
che permettano di negare all'amministratore l'accesso in base ai suoi
parametri discrezionali.
Anzi smb.conf _DEVE_ essere accessibile in lettura ossia world-readable
altrimenti chi non ha i permessi di lettura non ha implicitamente
accesso ai servizi offerti da Samba.
Ho fatto il primo esempio che mi e' venuto in mente ma il discorso e'
analogo anche per altre cose.


 Eh? cos'e` un BFG 9000? Sai, non tutti abbiamo la tua veneranda eta` ;))
Eh piccolino, non puoi dire di aver vissuto senza aver goduto del dolce
SWOSSH, preludio di quella esplosione di plasma che polverizzava tutti
gli Imp ;-)


 Win9x implementa il concetto di utente.
Sii serio: sai benissimo che il "contetto di utente" di Win9x non serve
a nulla. Impostare un utente da Control Panel salvo poi permettere che
al logon si prema Esc per bypassare la passwd e' una cosa inutile.
-- 
|Pierluigi De Rosa (
tho...@durin.khazad-dum.net
)|
|     E' nato il Cosenza Linux User Group	|
|   mail -s help 
cslug-...@lists.linux.it
	|
|      IRC: #cslug - 
irc.openprojects.net
	|

 wrote:

Cosi' su due piedi mi viene in mente di spezzare i file. In secondo luogo
potresti mettere un tag, anche se l'idea dei due file forse e' la piu'
semplice.
bye
Gianluca

sottosistemi Win32 e OS/2 e NTFS 5 sarebbe object-based...
Guarda che la macchina non e' un server. E' la mia macchina personale al
lavoro, quindi ci sta sopra di tutto di piu' (e anche roba inutile).
Non e' proprio una macchina limitata.
bye
Gianluca

buona idea...
Appunto. Erano una buona idea ;)
bye
Gianluca

... e il buffer overflow è di serie? ;)
Why ?
Allocazione dinamica.
bye
Gianluca

 leggi più sotto che problemi crea salvare una struct come testo ASCII
Innanzi tutto l'uso di struct e` semplicemente una
tendenza verso la programmazione Object Oriented.
Secondo non e` vero che NON si deve ricompilare quando
si aggiunge un parametro. Infatti si rompe la compatibilita`
binaria, si mantiene quella sorgente, con le dovute cautele.
Infine bisogna organizzarsi per bene, insieme all'API
bisogna provvedere (cosa che si puo` fare in automatico)
il data saver/loader per i parametri.
Cosi` il tutto diventa trasparente e non vi sono piu`
problemi di sorta.
Da notare, come ho scritto sopra, che non e` necessario
scrivere codice in piu`, basta avere i/il tool adatto.
bye,
-- 
  Piergiorgio Sartor

 ... e il buffer overflow è di serie? ;)
No, usa "realloc", che evita l'overflow, anche se
non e` proprio il massimo in termini di prestazioni...
bye,
-- 
  Piergiorgio Sartor

 del linguaggio. (non credo che C abbia una struttura dati simile)
Non di serie, ma presumo che perl sia scritto in C...
bye,
-- 
  Piergiorgio Sartor

 mentre l'utente pluto si?
E' compito del programma che legge il file di configurazione, non credi ?
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 sistema...
Forse  lo  fanno per  comodita'  ("Perche'  devo studiarmi  la  registry
quando ho  gia' pronto  una routine  OpenSource di  parsing del  file di
configurazione  ASCII ?")  e/o per  risparmiare tempo  ("Manuale formato
.txt  e  che si  arrangino  !").  Quello  delle  dialog proprio  non  lo
capisco. Forse il programmatore in questione vuole uscire dal gregge :-)
...



Probabile. Resta il fatto che il C non ha gli array associativi, anche se il
perl, che e' scritto in C, li ha.
Se poi mi dici dove trovare una libreria che li implementa mi fai un grosso
favore, non ho voglia di implementarli (infatti uso Perl per quello, ma il C
mi farebbe comodo)
bye
Gianluca

 mi farebbe comodo)
Stavo solo pensando che, di sicuro, sono implementati in C
nei sorgenti di perl.
Ovviamente cosa non facile da scavar fuori.
Anche awk/gawk ha gli array associativi, magari quel sorgente e`
piu` facile da leggere...
Riguardo all'implementazione, credo dipenda da quali sono le
tue esigenze, penso sia possibile realizzare qualche subset
di tutta la baracca in maniera *relativamente* semplice.
bye,
-- 
  Piergiorgio Sartor

 al logon si prema Esc per bypassare la passwd e' una cosa inutile.
Mai usato Poledit vero?
Saluti.

 mi farebbe comodo)
Mi e` venuto in mente come fanno, e` molto semplice, usano
tabelle di hash.
stringa->key->valore
bye,
-- 
  Piergiorgio Sartor

 Mai usato Poledit vero?
Mai letta la domanda standard su it.comp.sicurezza.windows "Come faccio
a migliorare la sicurezza di Uindous 9x e renderla piu' simile a quella
di NT?" vero?
In soldoni, puoi anche usare Poledit ma la sostanza (scarsa) rimane
quella che e' cioe' prossima allo zero. E poi ci sono voci incontrollate
che affermano che non sia esattamente uno strumento alla portata di
tutti e se non lo usi con accortezza corri il rischio di negare anche a
te stesso l'accesso alla macchina, buffo vero?



Potrebbe essere una buona idea... grazie...
bye
Gianluca

 Potrebbe essere una buona idea... grazie...
No, non "potrebbe", E` una buona idea :-)
Scherzi a parte e` la tecnica che usano in awk/gawk e,
molto probabilmente, in perl.
bye,
-- 
  Piergiorgio Sartor

polverizzava tutti gli Imp ;-)
gli Imp erano MOLTO più divertenti da far esplodere a cazzotti dopo 
l'assunzione di un Berserker Pack ;)
il BFG 9000... diciamo un ottimo modo per far passare quel fastidioso 
prurito dietro alle orecchie di un Baron...

 prurito dietro alle orecchie di un Baron...
Ah si, non c'e' dubbio, bastavano due colpi ma anche uno solo se bene
assestato da distanza ravvicinata..
-- 
|Pierluigi De Rosa (
tho...@durin.khazad-dum.net
)|
|     E' nato il Cosenza Linux User Group	|
|   mail -s help 
cslug-...@lists.linux.it
	|
|      IRC: #cslug - 
irc.openprojects.net
	|

 te stesso l'accesso alla macchina, buffo vero?
In mano ad incompetenti sicuramente.
Saluti.

 E' compito del programma che legge il file di configurazione, non credi ?
Alla faccia della programmazione strutturata ed ad oggetti..............
E se quelle informazioni devono essere lette da più programmi?
Perchè mai dovrei implementare su ogni programma la logica di accesso
discrezionale?
Saluti.

 analogo anche per altre cose.
Ti sfugge completamente la questione. Cerca di andare oltre la punta del tuo
naso.
Saluti.

 In mano ad incompetenti sicuramente.
Anche in bocca a fanfaroni visto che la fonte era il Bertani, persona
sicuramente piu' affidabile, concreta ed obiettiva di te.


 discrezionale?
Non mi viene in mete nessun file di configurazione, con Linux, che viene
letto da piu'  programmi ... In ogni  caso, credo che il  tutto si possa
risolvere con groups&users.
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 naso.
Visto che come al solito sei sempre il Buddha (in quanto "illuminato")
della situazione spiegami tu cosa mi sfuggirebbe e soprattutto per quale
motivo dovrebbe aver senso una cosa idiota come avere dei parametri di
configurazione visibili o meno in funzione dell'utente quando dovrebbe
essere chi tale applicativo usa (il programma) a discernere cosa puo' o
non puo' fare l'utente.



Una libreria ?
bye
Gianluca

e agenda condivisi li accedo via Web.
beh, non so fino a che punto conosci Windows, ma qui la tendenza che 
Microsoft cerca di portare avanti (vedi Office) è di permettere 
l'accesso a qualsiasi cosa tramite OLE (Object Linking and Embedding, fa 
parte dell'architettura COM), di trasformare i file, le cartelle, i 
documenti, gli elementi dell'interfaccia in oggetti, tutte cose che poi 
vanno registrate a livello di sistema nella chiave HKLM\Software\Classes 
Essenzialmente "informazioni condivise" sigifica questo, in Windows, e 
la cosa a volte viene portata alle estreme conseguenze
esempio: togliendo Risorse di Rete dal desktop, la Connessione Diretta 
via cavo non funziona più: perchè? perchè Connessione Diretta, per la 
risoluzione dei nomi, non usa direttamente la Network API, ma il 
namespace di Risorse di Rete, a cui a sua volta accede dal namespace del 
Desktop
altro esempio? Windows Explorer, la shell grafica di Windows, non usa 
direttamente le funzioni del filesystem, ma le usa attraverso le 
interfacce esposte dall'automazione della shell, quindi cartelle come 
Cronologia non mostrano il loro reale contenuto, ma del contenuto 
dinamico creato al volo da un server OLE. Questo ha dei vantaggi 
innegabili per i programmatori, per la lettura e la scrittura in forma 
gerarchica di dati e loro rappresentazione grafica (e qui io penso 
sempre al proc filesystem di Unix), ma degli svantaggi per i poveri 
utenti, che si vedono, effettivamente, privati di un file manager vero e 
proprio (deficienza sinora colmata seppure in parte da Winfile, il file 
manager di Windows 3.1), e in balìa, piuttosto, di un object browser, 
concetto che sicuramente è al di là della loro comprensione, e che a 
volte non corrisponde esattamente ai loro bisogni...

roba inutile). Non e' proprio una macchina limitata.
la mia č una macchina sovrabbondante invece... ci son cose di cui non 
posso sbarazzarmi...

vuole uscire dal gregge :-) ...
che ci ritorni pure :)
(mi viene in mente XBasic: che bello che bello, un Basic grafico 
multipiattaforma! ebbene, ho visto il "capolavoro", e dopo dieci minuti 
ne avevo già abbastanza... non ho avuto nemmeno il coraggio di fare 
degli screenshot...)


Mmmm ok. Posso concederti che meta' del registro sia di roba inutile o di
cui non ti puoi liberare. Siamo ancora 1 a 2.5
Ho installato 450 pacchetti con la tua stessa percentuale di roba che non
uso ma che e' installata. (e sono troppo pigro per rimuovere)
bye
Gianluca

la cosa a volte viene portata alle estreme conseguenze
Capisco. Non mi sembra un gran comportamento, ma capisco.
No, non ho nulla del genere sulla mia macchina, ma del resto ho molta altra
roba, quindi credo che alla fine ci si compensi.
bye
Gianluca

 Una libreria ?
Se ti ciulano la libreria o viene modificata la logica che fai, ricompili
l'universo?
Saluti.

 non puo' fare l'utente.
Parametri di configurazione comuni? Programmi che usano tecniche di
impersonazione
utente? Cose complesse sono.
Saluti.

 utente? Cose complesse sono.
Niente che non si possa fare con un file visibile a tutti e che imposta
i permessi per i singoli utenti: se Samba, Apache e qualsiasi altro
applicativo UNIX cosi' funzionano bene non vedo perche' dovrei trovare
logico questo approccio che non trovo tanto complicato quanto inutile.
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 discrezionale?
Ti risulta che bind legga smb.conf o che Apache legga /etc/printcap? A
noi no quindi non c'e' motivo per questa tua affermazione: ogni
programma ha il suo file di configurazione.


credo di non aver capito...
Ti sei accorta che il pezzo di dati che ho quotato era danneggiato?
Un parser automatico l'avrebbe rifiutato.
Fine di quel blocco di dati... o no?
Leonardo
-- 
Microsoft Outlook: il primo news reader con supporto messaggistica RAID 1.

un determinato parametro di configurazione mentre l'utente pluto si?
Vediamo: cosa impedisce all'utente NT di leggersi il file .DAT e
decodificarlo a piacer proprio?
Evidente: lui NON PUO' leggere quel file .DAT, NESSUNO puo' fare
una cosa del genere, ma usano una API del kernel che puo' farlo,
e implementa le ACL.
Piu' o meno quello che succede in Unix con le shadow passwords.
Quindi, e' sufficiente che esista una API chiamata, che so,
 char *GetProfileString(char *file, char *section, char *key);
che implementa questa API, dopodiche' la sezione ASCII legge
[Section]
;ACL allow users 
pi...@friend.com
, 
pl...@127.0.0.1
, topolino
;ACL allow groups users, uucp
;ACL deny hosts 
evil.hostile.org/24
key1=value1
key2=value2
;# Questa cosa del BLOB non so se potrebbe servire, io direi
;# di no, ma nel caso potremmo implementarla come cosi' :-)
key3={2700,image/gif,little-endian,encoding:hex,
;u1name=owner,u1value=lserni;
;431300241102AC9834FCFFFFFF000000E0E0C0F4F4F4C0C0C0F4F4F4
;A2000000000000000000000000000000000000000000000000000000
;A2000000000000000000000000000000000000000000000000000000
...
;}
...ed ecco fatto... Per le ACL si potrebbe riciclare il codice
di tcpd, per implementare GetProfileString ci dovrei pensare.


programma ha il suo file di configurazione.
Eventualmente, a parte la libreria di cui dicevo, uno puo' andare giu'
duro e rifare il registro di configurazione in ASCII, se vuole.
<SECTION EQUIV="" NAME="Servers" TAG="System Services">
    <SECTION EQUIV="/etc/smb.conf" NAME="Samba" TAG="Samba Config">
	[...]
	server string = Samba 2.0.19pl2
    </SECTION>
    <SECTION EQUIV="/etc/httpd.conf" NAME="Apache" TAG="Web Server">
        ...
	# This is the root of the server's data
	ServerRoot = /var/local/httpd
	...
    </SECTION>
</SECTION>
<SECTION EQUIV="/etc/protocols" NAME="Protocols" TAG="Internet Proto">
    1=icmp
    2=igmp
    6=tcp
    17=udp
</SECTION>
...


>> quella che e' cioe' prossima allo zero. E poi ci sono voci incontrollate
Non e' prossima allo zero, se usi con criteri il poledit puoi anche
costringere l'utente a fare il logon al dominio (non puoi bypassare
con esc).
Puoi bloccarlo l'accesso a tutte le impostazioni della macchina, puoi
arrivare a renderla un terminale stupido.
Puoi bloccare da bios (protetto con password) il boot da dischetto.
Puoi bloccare l'uso dei tasto F8 all'avvio.
Con tutta sta roba blocchi la maggior parte degli utenti.
Il problema e' che uno un poco sgamato il metodo per mandare in crash
una macchina con win9x e costringerla a ripartire in modalita'
provvisoria lo trova sempre, e in quel modo bypassi tutte le
protezioni.
Ciao
Francesco

 duro e rifare il registro di configurazione in ASCII, se vuole.
Eh non sarebbe stata una cattiva idea, almeno si sarebbe ottenuta una
cosa leggibile da chiunque e non solo da un astruso programma
proprietario..


 protezioni.
Appunto, alla fine e' come dicevo io e cioe' non e' uno strumento alla
portata di tutti e con un giocattolo limitato quale e' Win 9x il gioco
non vale la candela, ecco perche' viene posta la domanda standard di cui
parlavo prima in it.comp.sicurezza.windous.


cosa leggibile da chiunque 
      ^^^^^^^^^^^^^^^^^^^^^
E magari gratis!!! SACRILEGIO!!! Pentiti, peccatore, e installa W2K per
salvare la tua anima! (Non che ci siano speranze - ma ci servono un po'
di royalties).
Leonardo, nella veste del MSommo MSacerdote


 che implementa questa API, dopodiche' la sezione ASCII legge
Vedo che, a differenza di alcuni, comprendi la questione.
Saluti.

 wrote in message
news:94ic4o$7t8$1...@durin.khazad-dum.net...
Io ho detto che Win9x implementa il concetto di utente. Non che implementa
un FS con accesso discrezionale.
Saluti.

 un determinato parametro di configurazione mentre l'utente pluto si?
Usi due parametri separati...
bye,
-- 
  Piergiorgio Sartor

 impersonazione utente? Cose complesse sono.
giambo@giambo-linux:~ > ls -la /etc/vimrc ~/.vimrc
-rw-r--r--   1 root     root         4352 Sep 21 00:31 /etc/vimrc
-rw-r--r--   1 giambo   users         478 Jan  1 14:56 /home/giambo/.vimrc
Qualcosa di simile ?


 di fare degli screenshot...)
A  volte  vedo  comparire  delle  finestre in  Win95  che  mi  ricordano
Win3.11:  Sono  fatte cosi' dal  programma, o  da qualche parte  c'e' un
OpenOldWinRequest() :) ?


 un FS con accesso discrezionale.
<Epifanio mode>
Foorse ma foorse parlare in quello stesso concetto del Poledit
sembrerebbe proprio che tu abbia detto anche quello.
</Epifanio mode>


 di royalties).
L'ho gia' fatto purtroppo perche' qui in ufficio mi e' toccato, visto
che serviva ad alcuni miei utenti. Non vedi che sono "leggermente" piu'
acido? Sara' stato vedere come Win2k Professional ammazza un Compaq
DeskPro con PIII e 128 Mb di RAM...


 Vedo che, a differenza di alcuni, comprendi la questione.
Non e' che magari con questi alcuni hai un modo "discrezionale" di
esprimerti? Sai, potrebbe essere che cosi' si capisca ben altro rispetto
a quanto vuoi dire.


 Usi due parametri separati...
Se l'utente Pippo può modificare quel parametro e l'utente pluto no?
Non mi rispondere dicendo di mettere le acl al file.
Saluti.

 Se l'utente Pippo può modificare quel parametro e l'utente pluto no?
Metti un parametro al parametro, non vedo che problema
ci sia...
Metti cross-reference ai parametri.
Metti una doppia lista: rw e ro.
Ci sono infinite soluzioni, tutte applicabili a file
binari o di testo.
Il problema e` SOLO voler rendere le cose accessibili
oppure no...
bye,
-- 
  Piergiorgio Sartor

un determinato parametro di configurazione mentre l'utente pluto si?
Splittando, come da sempre fanno  gli unix, le configurazioni globali da
quelle  locali  agli utenti.  Per  cui  l'utente  pippo puo`  vedere  le
configurazioni x y e z, e non altre.
Riprovaci. 
-- 
Renato "Lay-up" Salzano - 
http://members.xoom.it/hitman_work/
e-posta : sonicblast (at) 
inwind.it
 / Xena:TWP fan
***        Per questa settimana powered by Linux Console       ***
*** Le GUI sono indispensabili solo agli ignoranti informatici ***

 Riprovaci.
Ripetendo N volte per N uguale al numero degli utenti lo stesso parametro
aumentando per N volte le
possibilità di non coerenza delle informazioni. Approccio tipicamente da
programmatori della domenica.
Saluti.

programmatori della domenica.
Ah, invece tenere tutto in un posto, in formato binario e leggibile solo a
sistema avviato e' piu' furbo vero ?
In ogni caso, le impostazioni comuni stanno in un unico file. Se all'utente
vanno bene, non si crea il _suo_ file di configurazione, altrimenti se lo
crea con le impostazioni che gli piacciono di piu'.
bye
Gianluca

un determinato parametro di configurazione mentre l'utente pluto si?
Un loopback?
Un loopback (non il loopback di rete) implementa un FS dentro un
normalissimo file. In pratica, quando lo monti al posto del device
metti il file, potenza del "everything is a file or a process".
Si puo' ottenere l'equivalente di un m$ registry con 1000 righe
di codice, senza nuove API, senza imparare le suddette nuove API
ma soprattuto senza aggiungere complessita' o "bloat".
Linux puo' fare la stessa cosa con il minimo sforzo perche' fa
"The Right Thing" (TM).
Ah, ovviamente i file all'interno del loopback possono essere
normali file ASCII ;-)
-- 
Lorenzo
(address rot13 encoded)


Questo comunque è lo stesso approccio del registry quando si memorizzano 
informazioni sia sotto HKLM che sotto HKCU.
Il fatto di prendere un parametro da HKLM se non c'è sotto HKCU è demandato 
all'applicazione e non è gestito in modo "trasparente" dal registry AFAIK..
E' vero che, impostando gli accessi del registry, è possibile non far 
vedere a determinati utenti alcuni dei parametri e delle chiavi e questo 
potrebbe permetterti, ad esempio, di consentire solo ad alcuni utenti 
(quelli che vedono le chiavi e/o i parametri di cui sopra) determinate 
operazioni. Su un sistema che controlla gli accessi a livello di file 
questo sarebbe possibile solo splittando la configurazione in file diversi  
(con qualche complicazione in più per la gestione degli stessi, ma senza 
limitazioni funzionali). 
Non mi sembra però un limite insormontabile (anche perchè non mi vengono in 
mente casi pratici in cui un simile approccio sia vantaggioso rispetto a 
quello di includere gli utenti abilitati ad operazioni particolari in uno o 
più gruppi).
Da programmatore (magari della domenica, ma programmante per tutti i dì 
della settimana) non vedo sinceramente nulla di "domenicale" in questo 
approccio...
Credo che il registry presenti vantaggi (soprattutto una maggiore 
tipizzazione dei dati) e svantaggi (mancanza di commenti, impossibilità di 
modificarlo "dall'esterno") rispetto ai file di testo e non mi sento di 
dire se sia una soluzione migliore o peggiore (problemi di implementazione 
a parte). 
Per i programmi multipiattaforma credo che la soluzione migliore sia quella 
di realizzare uno strato "wrapper" che permetta di utilizzare il registry 
su windows e file di testo (uno sotto /etc e uno nella home, salvo i casi 
particolarissimi di cui sopra) sotto unix e simili, lasciando all'utente la 
possibilità di configurare l'applicazione con le modalità tipiche del S.O. 
a cui è abituato (escludo ovviamente il caso di ambienti tipo java in cui 
la gestione dei parametri di configurazione fa parte della libreria 
standard e, salvo casi particolari, non deve essere reimplementata).
-- 
Valter Minute
min...@inwind.it
 (the reply address of this message is invalid)

 programmatori della domenica.
Strano ma vero cosi' ha sempre funzionato bene, a differenza del
Registry: se un utente ha necessita' di alcune impostazioni locali per
un applicativo crea un file di configurazione locale nella sua home e
tutti vivono felici e contenti. Un esempio potrebbe essere il
.fetchmailrc per le propria posta senza che tutti debbano leggere le
password per la connessione POP3 da un file world readable in /etc.
Forse sono programmatori della domenica quelli che usano Install Shield
con i piedi per fare installazioni idiote che costringono a fare un
reboot non appena installi il loro schifido programma da 10 Mb in Viral
Basic.


 all'applicazione e non è gestito in modo "trasparente" dal registry
AFAIK..
[snip]
Sono d'accordo però
non confondiamo i parametri personali  con i parametri comuni che sono due
cose diverse.
Saluti.

 Basic.
Non confodere le impostazioni personali con i parametri comuni.
Saluti.

 wrote in message
news:fd8t6toaqqch540d9...@4ax.com...

Intelligente, peccato che il loopback implementi sempre e solo un FS che per
definizione contiene files
Ti invito a scoprire le implicazioni di questa cosa (io le conosco già) :-)
Saluti.

 Non confodere le impostazioni personali con i parametri comuni.
I parametri comuni vanno nel file globale quindi il problema non
sussiste.


registrate. Questo č solo un esempio.
Hmmm. Rc5des si accorge da solo se gli cambio il fiel di
configurazione sotto, e se lo ricarica. Dici che e' troppo dififcile
prevedere che se modifico da SO i parametri, lui se ne accorga??
Obelix

cioč? potrei anche aver sbagliato io, intendiamoci...
In Os2, sparse memory e' *far finta* di allocare un paio di GB di RAM
per, ad esmepio, una tabella multidimensionale e poi allocare solo le
pagine che effettivamente servono... per cose come i DW e'
formidabile..
Obelix

informazioni. Approccio tipicamente da programmatori della domenica.
Non hai capito una fava. C'e`  la parte di configurazione generale, e se
un certo utente vuole le  sue configurazioni diverse da quelle generali,
c'e` il suo bel file configurazione utente.
E  il  concetto di  "non  coerenza"  su  un  file di  configurazione  e`
inesistente, semplicemente.


 inesistente, semplicemente.
La condizione di cui sopra automaticamente rende falsa e non applicabile la
tua affermazione.
Saluti.

Ti invito a scoprire le implicazioni di questa cosa (io le conosco già) :-)
Hmm, non vedo nessuna implicazione di questa cosa, anzi vedo un'estrema
coerenza ed eleganza, un'ottimo esempio di riuso di codice.
Davvero, cosa c'e' che si puo' fare con il registry e non si puo' fare
con un loop device?


Ovvero regole di accesso alla medesima istanza NON di istanze diverse.
parametro=valore:utenti
bye
Gianluca

 wrote in message
news:s0907tc4u3kuuauns...@4ax.com...

Ogni parametro con acl dovrebbe essere un file a se stante?
Saluti.

Ogni parametro con acl dovrebbe essere un file a se stante?
Si, dove sarebbe il problema? Le prestazioni?
Il registry ha gia' di suo prestazioni ridicole. Anche ext2 che ha una
lookup() di complessista' lineare riuscirebbe a batterlo.
Non conosco i dettagli della struttura interna del registry ma almeno
le prestazioni non sono quelle di un DB.


pagine che effettivamente servono...
ecco, NTFS 5 funziona cosě
ho visto lo screenshot di un file da 32 GB su un disco da 4 :)
(errore mio, chiedo perdono ^^;;;)

ho visto lo screenshot di un file da 32 GB su un disco da 4 :)
Script started on Thu Jan 25 18:50:08 2001
lenstra:/tmp# ls -l
total 0
-rw-r--r--    1 root     root            0 Jan 25 18:50 typescript
lenstra:/tmp# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda3              5517864   3687656   1549912  70% /
lenstra:/tmp# dd if=/dev/zero of=holed bs=1024 count=1 seek=1000000
1+0 records in
1+0 records out
lenstra:/tmp# dd if=/dev/zero of=holed bs=1024 count=1 seek=1000000
lenstra:/tmp# ls -l
total 12
-rw-r--r--    1 root     root     1024001024 Jan 25 18:51 holed
-rw-r--r--    1 root     root            0 Jan 25 18:50 typescript
lenstra:/tmp# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda3              5517864   3687668   1549900  70% /
lenstra:/tmp# 
Script done on Thu Jan 25 18:52:04 2001
Un file da ~1Gb in soli 3687668 - 3687656 = 12 kb usati :-)


 le prestazioni non sono quelle di un DB.
Lo sono, lo sono.
Saluti.

Un file da ~1Gb in soli 3687668 - 3687656 = 12 kb usati :-)
in Windows NT, mancanza di dd a parte, si fa proprio cosě, spostando il 
seek (ma alla creazione del file devi specificare che lo vuoi sparse, 
sennň te lo fa normale)

almeno le prestazioni non sono quelle di un DB.
Windows 2000 ha un VERO database come registro...

istanze diverse.
Che differenza c'e` _pratica_ fra avere un file accessibile diversamente
a seconda  dell'utente, e  piu` file  contenenti le  stesse impostazioni
accessibili ognuno da un solo utente? Io non la vedo.


 accessibili ognuno da un solo utente? Io non la vedo.
Quella che c'è fra avere 1 solo originale della patente e 1000 copie della
stessa patente.
Saluti.

 stessa patente.
A me risulta che ogni utente ha una patente diversa...
bye,
-- 
  Piergiorgio Sartor

 A me risulta che ogni utente ha una patente diversa...
Se vedi la cosa dal punto di vista dell'intestatario della patente
sicuramente.
Se vedi la cosa come fruitore dell'insieme di informazioni presenti
nell'oggetto patente
la cosa č diversa.
Non mi risulta che agenti della Polstrada abbiano fisicamente con se la
copia di tutte le patenti  delle persone che potenzialmente possono
circolare in automobile sul territorio italiano. Anzi , usando le brillanti
tecniche proposte in questo post, gli agenti della Polstrada dovrebbero
avere la copia fisica di tutte le persone che potenzialmente possono avere
una patente. Quindi quando verificano una patente NON chiederebbero
all'interessato di mostrargli la patente ma cercerebbero fra le loro copie
di persone la copia della  persona fermata e quindi si farebbero dare da
questa la patente.
Che bordello...
Saluti.
PS Ma il concetto di puntatore e di indirezione tanto alieno č?

 PS Ma il concetto di puntatore e di indirezione tanto alieno č?
Appunto, il che significa avere un file con, per ogni utente, un
puntatore ad uno o piu` file di configurazione (patente di guida,
licenza di caccia, tesserino arci qualcosa, etc.).
Ovviamente, nel caso specifico, tutto e` read-only (non puoi
cambiarti la patente), od al massimo deletable (cioe` puoi 
rinunziare alla licenza di caccia).
Per cambiare qualcosa, bisogna passare attraverso una procedura
(esame di guida per autotreni ad es.), che ti qualifica ad avere
un dato permesso. Il che vuol dire che esiste un terzo "sistema"
o file di configurazione, che descrive cosa ogni "utente" puo`
cambiare oppure no e come (inserisci password di root o cambia
gruppo... Guarda un po' come saltano fuori i concetti Unix).
Tutto questo puo` essere, ed e` fatto, con file di testo, non
esiste giustificazione alcuni al formato binario, ne` il 
discorso prestazioni, ne` il discorso di occupazione di spazio,
ne` tantomeno di feature possibili oppure no.
bye,
-- 
  Piergiorgio Sartor

 licenza di caccia, tesserino arci qualcosa, etc.).
D'accordissimo,
però questo non c'entra nulla con il problema che è:
dato un insieme definito di informazioni, come si può realizzare un sistema
di accesso
discrezionale a questo insieme fornendo sempre un risultato consitente
e limitando al massimo le ridondanze?
Analizza la cosa  vedrai che la soluzione non è quella da te proposta.
Suggerimento:
insieme_di_informazioni = entità
soggetto = entità
soggetto accede ad insieme_di_informazioni
insieme_di_informazioni è acceduto da soggetto
Per non far arrabbiare troppo Codd possiamo dire che diritto_di_accesso è
un'entità e che esistono le relazioni con attributi.
Un puntatore è una chiave esterna?
Saluti.

 Un puntatore è una chiave esterna?
Dipende a quale oggetto punta...
bye,
-- 
  Piergiorgio Sartor

 Dipende a quale oggetto punta...
Nella sostanza lo č.
Saluti.

ecco, NTFS 5 funziona così
Carini. Diciamo, 6 anni di lavoroper arrivare a fare su disco quello
che Os2 faceva in RAM...
Obelix

 prevedere che se modifico da SO i parametri, lui se ne accorga??
No, visto che con le chiavi che determinano se NT parte in modalita' Server
piuttosto che WKS ci sono riusciti ;)
bye
Gianluca

che Os2 faceva in RAM...
Mi hai ricordato che all'uscita del grande os/2 3.0 warp, l'ibm disse
che la microsoft non avrebbe mai potuto uguagliare un tal SO: le
mancavano i mezzi ed anche gli uomini per farlo.
-- 
Ci sentiamo  |  Remigio Zedda  || Attenzione! campo "From:" alterato
ciao Remigio |                 ||==> E-mail: 
remi...@tiscalinet.it
-------------|      ..si` d'accordo.. ma con la Deb e` un'altra cosa!
/* Linux 2.2.17 su Debian GNU/Linux 2.2 Potato */

mancavano i mezzi ed anche gli uomini per farlo.
Al momento, ha ragione IBM. 
Obelix

stessa patente.
No, l'esempio è improprio. Soprattutto perchè  ogni utente poi ha la sua
patente, diversa da quella degli altri.
-- 
Renato "Lay-up" Salzano - 
http://members.xoom.it/hitman_work/
e-posta: sonicblast (at) 
inwind.it
 / Xena:TWP fan
"Sono intorno a me / ma non parlano con me 
 Sono come me / ma si credono meglio " 

mancavano i mezzi ed anche gli uomini per farlo.
Oh, se e` per questo la micro$oft non c'e` ancora riuscita. Anzi, per dirla
tutta, imho non c'e` riuscito ancora nessuno. L'os/2 e` e sara` sempre un os con
le palle quadrate ricoperte d'acciao laminato; talmente innovativo che
considerarlo oggi come un prodotto "vecchio" ti qualificherebbe alla stregua di
un niubbo
Henryx

"Henryx" <henr...@CARCERATO.it> ha scritto nel messaggio
news:g1iv49...@127.0.0.1...

Innovativo OS/2?
Saluti.

Innovativo OS/2?
Si. Interfaccia completamente ad oggetti, sistema altamente modulare, file
system roccioso. Questi sono gli aspetti che conosco io. Per gli altri chiedi a
chi e` piu` esperto di me (Obelix ^^ )
Henryx

Innovativo OS/2?
Si, sia ieri che oggi. E uqesto nonostante IBM lo consideri il parente
povero...
Obelix


Web Site: 
http://asterix75.capri.it
Secret MS Windows code:
while (1) { if (num_process > 1) bluescreen(rand()); }

 Infatti, in perl, gli array associativi sono anche detti hash.
Gia'. Me ne sono ricordato dopo la mail di Piergiorgio (e una letta al
manuale).
Adesso devo solo implementarmi le hash in C :(
bye
Gianluca

 Adesso devo solo implementarmi le hash in C :(
Caspita! Vuoi che non ci sia codice gia` disponibile?
Se non altro dai sorgenti di gawk!
bye,
-- 
  Piergiorgio Sartor

 Se non altro dai sorgenti di gawk!
Beh, no, codice ce ne sara' anche, ma volevo farmele io, sai, per imparare
qualcosa di nuovo...
bye
Gianluca