X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=socket.tex;h=058c4e41240250fe8470e8a6083cb5276098e94b;hp=b8538ab3be3e1074126877f5e0e6c2c12cbe4640;hb=ed54132fb0762894a86b100023f9d04fc4028975;hpb=68fa6cc298c7449a011865c55c5af979963a2753 diff --git a/socket.tex b/socket.tex index b8538ab..058c4e4 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 \acr{uid} effettivo uguale a zero) o dotati della \itindex{capabilities} \textit{capability} \const{CAP\_NET\_RAW}. @@ -378,7 +378,7 @@ una struttura generica per gli indirizzi dei socket, \struct{sockaddr}, che si \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr.h} \end{minipage} \caption{La struttura generica degli indirizzi dei socket @@ -454,7 +454,7 @@ fig.~\ref{fig:sock_sa_ipv4_struct}, conforme allo standard POSIX.1g. \begin{figure}[!htb] \footnotesize\centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr_in.h} \end{minipage} \caption{La struttura \structd{sockaddr\_in} degli indirizzi dei socket @@ -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 \acr{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). @@ -506,7 +506,7 @@ in fig.~\ref{fig:sock_sa_ipv6_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr_in6.h} \end{minipage} \caption{La struttura \structd{sockaddr\_in6} degli indirizzi dei socket @@ -547,7 +547,7 @@ fig.~\ref{fig:sock_sa_local_struct}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr_un.h} \end{minipage} \caption{La struttura \structd{sockaddr\_un} degli indirizzi dei socket @@ -590,7 +590,7 @@ il file \file{netatalk/at.h}. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr_atalk.h} \end{minipage} \caption{La struttura \structd{sockaddr\_atalk} degli indirizzi dei socket @@ -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 (\acr{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 @@ -665,7 +665,7 @@ occorre usare la funzione \func{bind} per agganciare il socket a quest'ultima. \begin{figure}[!htb] \footnotesize \centering - \begin{minipage}[c]{15cm} + \begin{minipage}[c]{\textwidth} \includestruct{listati/sockaddr_ll.h} \end{minipage} \caption{La struttura \structd{sockaddr\_ll} degli indirizzi dei @@ -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