X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=socket.tex;h=92a75641ad718b2045e83b27844d490c5a0835f1;hb=85a775d4f7a3dae1e72e449f2c05f03170a3295d;hp=3cb33d35a7632e25e42b824e453a70c28846de0b;hpb=b38fb9f5c8fb8360f7ac296baa8f4a0bdd692d1c;p=gapil.git diff --git a/socket.tex b/socket.tex index 3cb33d3..92a7564 100644 --- a/socket.tex +++ b/socket.tex @@ -240,7 +240,7 @@ Si tenga presente che non tutte le famiglie di protocolli sono utilizzabili dall'utente generico, ad esempio in generale tutti i socket di tipo \const{SOCK\_RAW} possono essere creati solo da processi che hanno i privilegi di amministratore (cioè con user-ID effettivo uguale a zero) o dotati della -capability \const{CAP\_NET\_RAW}. +\itindex{capability}\textit{capability} \const{CAP\_NET\_RAW}. \subsection{Il tipo, o stile} @@ -457,9 +457,9 @@ altrimenti si avr specifica il \textsl{numero di porta}. I numeri di porta sotto il 1024 sono chiamati \textsl{riservati} in quanto utilizzati da servizi standard e soltanto processi con i privilegi di amministratore (con user-ID effettivo -uguale a zero) o con la capability \const{CAP\_NET\_BIND\_SERVICE} possono -usare la funzione \func{bind} (che vedremo in sez.~\ref{sec:TCP_func_bind}) su -queste porte. +uguale a zero) o con la \itindex{capability}\textit{capability} +\const{CAP\_NET\_BIND\_SERVICE} possono usare la funzione \func{bind} (che +vedremo in sez.~\ref{sec:TCP_func_bind}) su queste porte. Il membro \var{sin\_addr} contiene un indirizzo internet, e viene acceduto sia come struttura (un resto di una implementazione precedente in cui questa era @@ -582,15 +582,16 @@ il file \file{netatalk/at.h}. Il campo \var{sat\_family} deve essere sempre \const{AF\_APPLETALK}, mentre il campo \var{sat\_port} specifica la porta che identifica i vari servizi. Valori inferiori a 129 sono usati per le \textsl{porte riservate}, e possono essere -usati solo da processi con i privilegi di amministratore o con la capability -\const{CAP\_NET\_BIND\_SERVICE}. L'indirizzo remoto è specificato nella -struttura \var{sat\_addr}, e deve essere in \textit{network order} (vedi -sez.~\ref{sec:sock_endianess}); esso è composto da un parte di rete data dal -campo \var{s\_net}, che può assumere il valore \const{AT\_ANYNET}, che indica -una rete generica e vale anche per indicare la rete su cui si è, il singolo -nodo è indicato da \var{s\_node}, e può prendere il valore generico -\const{AT\_ANYNODE} che indica anche il nodo corrente, ed il valore -\const{ATADDR\_BCAST} che indica tutti i nodi della rete. +usati solo da processi con i privilegi di amministratore o con la +\itindex{capability}\textit{capability} \const{CAP\_NET\_BIND\_SERVICE}. +L'indirizzo remoto è specificato nella struttura \var{sat\_addr}, e deve +essere in \textit{network order} (vedi sez.~\ref{sec:sock_endianess}); esso è +composto da un parte di rete data dal campo \var{s\_net}, che può assumere il +valore \const{AT\_ANYNET}, che indica una rete generica e vale anche per +indicare la rete su cui si è, il singolo nodo è indicato da \var{s\_node}, e +può prendere il valore generico \const{AT\_ANYNODE} che indica anche il nodo +corrente, ed il valore \const{ATADDR\_BCAST} che indica tutti i nodi della +rete. \subsection{La struttura degli indirizzi dei \textit{packet socket}} @@ -633,7 +634,7 @@ speciale \const{ETH\_P\_ALL} passeranno sul \textit{packet socket} tutti i pacchetti, qualunque sia il loro protocollo di collegamento. Ovviamente l'uso di questi socket è una operazione privilegiata e può essere effettuati solo da un processo con i privilegi di amministratore (user-ID effettivo nullo) o con -la capability \const{CAP\_NET\_RAW}. +la \itindex{capability}\textit{capability} \const{CAP\_NET\_RAW}. Una volta aperto un \textit{packet socket}, tutti i pacchetti del protocollo specificato passeranno attraverso di esso, qualunque sia l'interfaccia da cui