X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;fp=sockctrl.tex;h=b6bb2c1a91942ff994f3b595f600dd486acb70c3;hp=07c657eab685eebee01dec1dbf1130b676caef58;hb=ae7bf994013ffbf4f5ef1d5a38a18033593e3e9f;hpb=ee65c9e30267ed1b0c0cef337c3ff86f9e0b370d diff --git a/sockctrl.tex b/sockctrl.tex index 07c657e..b6bb2c1 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -87,7 +87,7 @@ dominio, e prevedeva solo l'utilizzo del DNS e del file statico Per questo aspetto il file di configurazione principale del sistema è \conffile{/etc/resolv.conf} che contiene in sostanza l'elenco degli indirizzi -IP dei server DNS da contattare; a questo si affiancava (fino alle \acr{glibc} +IP dei server DNS da contattare; a questo si affiancava (fino alla \acr{glibc} 2.4) il file \conffile{/etc/host.conf} il cui scopo principale era indicare l'ordine in cui eseguire la risoluzione dei nomi (se usare prima i valori di \conffile{/etc/hosts} o quelli del DNS). Tralasciamo i dettagli relativi alle @@ -125,9 +125,9 @@ generico per la risoluzione di corrispondenze fra nomi ed informazioni ad essi associate chiamato \textit{Name Service Switch}, cui abbiamo accennato anche in sez.~\ref{sec:sys_user_group} per quanto riguarda la gestione dei dati associati a utenti e gruppi. Il sistema è stato introdotto la prima volta -nelle librerie standard di Solaris e le \acr{glibc} hanno ripreso lo stesso +nella libreria standard di Solaris e la \acr{glibc} ha ripreso lo stesso schema; si tenga presente che questo sistema non esiste per altre librerie -standard come le \acr{libc5} o le \acr{uclib}. +standard come la \acr{libc5} o la \acr{uClib}. Il \textit{Name Service Switch} (cui spesso si fa riferimento con l'acronimo NSS) è un sistema di librerie dinamiche che permette di definire in maniera @@ -198,7 +198,7 @@ su cui vengono mantenuti, e che si usino o meno funzionalità aggiuntive fornite dal sistema del \textit{Name Service Switch}, dal punto di vista di un programma che deve effettuare la risoluzione di un nome a dominio, tutto quello che conta sono le funzioni classiche che il \textit{resolver} mette a -disposizione (è cura delle \acr{glibc} tenere conto della presenza del +disposizione (è cura della \acr{glibc} tenere conto della presenza del \textit{Name Service Switch}) e sono queste quelle che tratteremo nelle sezioni successive. @@ -749,7 +749,7 @@ vogliono ottenere degli indirizzi IPv6 occorrerà prima impostare l'opzione \const{RES\_USE\_INET6} nel campo \texttt{\_res.options} e poi chiamare \func{res\_init} (vedi sez.~\ref{sec:sock_resolver_functions}) per modificare le opzioni del \textit{resolver}; dato che questo non è molto comodo è stata -definita (è una estensione fornita dalle \acr{glibc}, disponibile anche in +definita (è una estensione fornita dalla \acr{glibc}, disponibile anche in altri sistemi unix-like) un'altra funzione, \funcd{gethostbyname2}, il cui prototipo è: @@ -853,7 +853,7 @@ chiama una \itindex{deep~copy} \textit{deep copy}.\footnote{si chiama così contenuti in essa (e così via se vi sono altre sotto-strutture con altri puntatori) e copiare anche i dati da questi referenziati.} -Per ovviare a questi problemi nelle \acr{glibc} sono definite anche delle +Per ovviare a questi problemi nella \acr{glibc} sono definite anche delle versioni rientranti delle precedenti funzioni, al solito queste sono caratterizzate dall'avere un suffisso \texttt{\_r}, pertanto avremo le due funzioni \funcd{gethostbyname\_r} e \funcd{gethostbyname2\_r} i cui prototipi @@ -976,7 +976,7 @@ dominio, la funzione comunque inizializza anche il primo campo della lista Dato che \func{gethostbyaddr} usa un buffer statico, anche di questa funzione esiste una versione rientrante \funcd{gethostbyaddr\_r} fornita come -estensione dalle \acr{glibc}, il cui prototipo è: +estensione dalla \acr{glibc}, il cui prototipo è: \begin{funcproto}{ \fhead{netdb.h} @@ -1017,7 +1017,7 @@ del DNS. Nel caso della \acr{glibc} questa viene usata allora solo per la lettura delle voci presenti in quest'ultimo, come avviene anche in altri sistemi unix-like, ed inoltre ignora le voci relative ad indirizzi IPv6. -Della stessa funzione le \acr{glibc} forniscono anche una versione rientrante +Della stessa funzione la \acr{glibc} fornisce anche una versione rientrante \funcd{gethostent\_r}, il cui prototipo è: \begin{funcproto}{ @@ -1041,8 +1041,8 @@ tipo di indirizzi voluto (cosa che non è possibile con \func{gethostbyname}), è stata successivamente proposta, nell'\href{http://www.ietf.org/rfc/rfc2553.txt}{RFC~2553} un diversa interfaccia con l'introduzione due nuove funzioni di -risoluzione,\footnote{dette funzioni sono presenti nelle \acr{glibc} versione - 2.1.96, ma essendo considerate deprecate (vedi +risoluzione,\footnote{dette funzioni sono presenti nella \acr{glibc} 2.1.96, + ma essendo considerate deprecate (vedi sez.~\ref{sec:sock_advanced_name_services}) sono state rimosse nelle versioni successive.} \funcd{getipnodebyname} e \funcd{getipnodebyaddr}, i cui prototipi sono: @@ -1529,7 +1529,7 @@ tab.~\ref{tab:ai_flags_values}, ciascuna delle quali identifica un bit della maschera. Nella seconda parte della tabella si sono riportati i valori delle costanti -aggiunte a partire dalle \acr{glibc} 2.3.4 per gestire la +aggiunte a partire dalla \acr{glibc} 2.3.4 per gestire la internazionalizazione dei nomi a dominio (IDN o \textit{Internationalized Domain Names}) secondo quanto specificato nell'\href{http://www.ietf.org/rfc/rfc3490.txt}{RFC~3490} (potendo cioè usare @@ -1794,7 +1794,7 @@ argomento \param{flags} è una maschera binaria i cui bit consentono di impostare le modalità con cui viene eseguita la ricerca, e deve essere specificato attraverso l'OR aritmetico dei valori illustrati in tab.~\ref{tab:getnameinfo_flags}, nella seconda parte della tabella si sono -aggiunti i valori introdotto con le \acr{glibc} 2.3.4 per gestire la +aggiunti i valori introdotto con la \acr{glibc} 2.3.4 per gestire la internazionalizzione dei nomi a dominio. \begin{table}[!htb] @@ -2130,7 +2130,7 @@ socket, mentre l'ultimo argomento \param{optlen},\footnote{questo argomento è in realtà sempre di tipo \ctyp{int}, come era nelle \acr{libc4} e \acr{libc5}; l'uso di \type{socklen\_t} è stato introdotto da POSIX (valgono le stesse considerazioni per l'uso di questo tipo di dato fatte in - sez.~\ref{sec:TCP_func_accept}) ed adottato dalle \acr{glibc}.} è la + sez.~\ref{sec:TCP_func_accept}) ed adottato dalla \acr{glibc}.} è la dimensione in byte dei dati presenti all'indirizzo indicato da \param{optval}. Dato che il tipo di dati varia a seconda dell'opzione scelta, occorrerà individuare qual è quello che deve essere usato, ed utilizzare le opportune @@ -3867,7 +3867,7 @@ quantità di dettagli è fornita nel seguente elenco: situazione.} utilizzare per il singolo socket. L'opzione è stata introdotta con il kernel 2.6.13,\footnote{alla data di stesura di queste note (Set. 2006) è pure scarsamente documentata, tanto che non è neanche - definita nelle intestazioni delle \acr{glibc} per cui occorre definirla a + definita nelle intestazioni della \acr{glibc} per cui occorre definirla a mano al suo valore che è 13.} e prende come per \param{optval} il puntatore ad un buffer contenente il nome dell'algoritmo di controllo che si vuole usare.