X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=socket.tex;h=ce9db0a1caf28762b35429a7234a2dc853844179;hb=8088f2df8bef63d425b42fa72f1f863345ec7ac8;hp=0066ed314a02af2fa4e1e7ad393fbfcedb7df84d;hpb=4e1da5b259a86278710be32441de7b88b9287ec1;p=gapil.git diff --git a/socket.tex b/socket.tex index 0066ed3..ce9db0a 100644 --- a/socket.tex +++ b/socket.tex @@ -249,7 +249,7 @@ tab.~\ref{tab:net_pf_names}.\footnote{l'elenco indica tutti i protocolli 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 +di amministratore (cioè con \ids{UID} effettivo uguale a zero) o dotati della \itindex{capabilities} \textit{capability} \const{CAP\_NET\_RAW}. @@ -474,7 +474,7 @@ Il membro \var{sin\_family} deve essere sempre impostato a \const{AF\_INET}, altrimenti si avrà un errore di \errcode{EINVAL}; il membro \var{sin\_port} 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 +soltanto processi con i privilegi di amministratore (con \ids{UID} effettivo uguale a zero) o con la \itindex{capabilities} \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. @@ -489,7 +489,7 @@ tab.~\ref{tab:TCP_ipv4_addr}, che rincontreremo più avanti. Infine occorre sottolineare che sia gli indirizzi che i numeri di porta devono essere specificati in quello che viene chiamato \textit{network order}, cioè con i bit ordinati in formato \textit{big endian} (vedi -sez.~\ref{sec:sock_endianess}), questo comporta la necessità di usare apposite +sez.~\ref{sec:sock_endianness}), questo comporta la necessità di usare apposite funzioni di conversione per mantenere la portabilità del codice (vedi sez.~\ref{sec:sock_addr_func} per i dettagli del problema e le relative soluzioni). @@ -604,7 +604,7 @@ 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 \itindex{capabilities} \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 è +essere in \textit{network order} (vedi sez.~\ref{sec:sock_endianness}); 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 @@ -655,7 +655,7 @@ simboliche definite nel file \file{linux/if\_ether.h}. Se si usa il valore 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 +un processo con i privilegi di amministratore (\ids{UID} effettivo nullo) o con la \itindex{capabilities} \textit{capability} \const{CAP\_NET\_RAW}. Una volta aperto un \textit{packet socket}, tutti i pacchetti del protocollo @@ -752,8 +752,8 @@ può comportare la necessità di eseguire delle conversioni. \subsection{Le funzioni per il riordinamento} \label{sec:sock_func_ord} -Come già visto in sez.~\ref{sec:sock_endianess} il problema connesso -\itindex{endianess} all'\textit{endianess} è che quando si passano dei dati da +Come già visto in sez.~\ref{sec:sock_endianness} il problema connesso +\itindex{endianness} all'\textit{endianness} è che quando si passano dei dati da un tipo di architettura all'altra i dati vengono interpretati in maniera diversa, e ad esempio nel caso dell'intero a 16 bit ci si ritroverà con i due byte in cui è suddiviso scambiati di posto. Per questo motivo si usano delle @@ -944,9 +944,9 @@ sez.~\ref{sec:IP_ipv6_notation} per IPv6. % LocalWords: pathname AppleTalk netatalk personal Apple ATPROTO atalk sat if % LocalWords: ANYNET node ANYNODE ATADDR BCAST pcap IEEE linux ether ETH ALL % LocalWords: sll ifindex ethernet halen MAC hatype ARP arp pkttype HOST recv -% LocalWords: OTHERHOST OUTGOING recvfrom recvmsg endianess little endtest Mac +% LocalWords: OTHERHOST OUTGOING recvfrom recvmsg endianness little endtest Mac % LocalWords: Intel Digital Motorola IBM VME PowerPC l'Intel xABCD ptr htonl -% LocalWords: all'endianess htons ntohl ntohs long hostlong hostshort netlong +% LocalWords: htons ntohl ntohs long hostlong hostshort netlong % LocalWords: sort netshort host inet aton ntoa dotted decimal const char src % LocalWords: strptr struct dest addrptr INADDR NULL pton ntop presentation af % LocalWords: numeric EAFNOSUPPORT size ENOSPC ENOAFSUPPORT ADDRSTRLEN ROUTE