From 7e19b798d0cc09960daad695d8f3b242170bb3b4 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Tue, 10 Apr 2018 10:02:54 +0000 Subject: [PATCH] Aggiornamenti + alcune sockopt di IP --- build.tex | 2 +- errors.tex | 2 +- fileadv.tex | 2 +- filedir.tex | 2 +- fileio.tex | 2 +- gapil.tex | 4 +- intro.tex | 2 +- ipc.tex | 2 +- listati/ip_mreq_source.h | 5 ++ listati/ip_msfilter.h | 7 +++ macro.tex | 2 +- netlayer.tex | 2 +- network.tex | 2 +- othersock.tex | 2 +- preambolo.tex | 2 +- pref.tex | 2 +- process.tex | 2 +- prochand.tex | 2 +- ringraziamenti.tex | 2 +- session.tex | 2 +- signal.tex | 2 +- sockadv.tex | 2 +- sockctrl.tex | 120 +++++++++++++++++++++++++++++++++------ socket.tex | 2 +- system.tex | 2 +- tcpsock.tex | 2 +- thread.tex | 2 +- trasplayer.tex | 2 +- 28 files changed, 141 insertions(+), 43 deletions(-) create mode 100644 listati/ip_mreq_source.h create mode 100644 listati/ip_msfilter.h diff --git a/build.tex b/build.tex index 0face7a..09530a5 100644 --- a/build.tex +++ b/build.tex @@ -1,6 +1,6 @@ %% build.tex %% -%% Copyright (C) 1999-2017 Simone Piccardi. Permission is granted to copy, +%% Copyright (C) 1999-2018 Simone Piccardi. Permission is granted to copy, %% distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/errors.tex b/errors.tex index 5010384..c900dd4 100644 --- a/errors.tex +++ b/errors.tex @@ -1,6 +1,6 @@ %% errors.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/fileadv.tex b/fileadv.tex index 5cdcf42..2507109 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -1,6 +1,6 @@ %% fileadv.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/filedir.tex b/filedir.tex index 3167621..369a396 100644 --- a/filedir.tex +++ b/filedir.tex @@ -1,6 +1,6 @@ %% filedir.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/fileio.tex b/fileio.tex index 553ad9a..1ab6aee 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1,6 +1,6 @@ %% fileio.tex (merge fileunix.tex - filestd.tex) %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/gapil.tex b/gapil.tex index 381db2d..c66db97 100644 --- a/gapil.tex +++ b/gapil.tex @@ -1,6 +1,6 @@ %% gapil.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.3 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", @@ -128,7 +128,7 @@ hyperfootnotes=false]{hyperref} \begin{quote} - Copyright \copyright\ 2000-2017 Simone Piccardi. Permission is granted to + Copyright \copyright\ 2000-2018 Simone Piccardi. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``Un preambolo'' diff --git a/intro.tex b/intro.tex index edab098..0a2d2d8 100644 --- a/intro.tex +++ b/intro.tex @@ -1,6 +1,6 @@ %% intro.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/ipc.tex b/ipc.tex index 2fc13a8..f820a13 100644 --- a/ipc.tex +++ b/ipc.tex @@ -1,6 +1,6 @@ %% ipc.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/listati/ip_mreq_source.h b/listati/ip_mreq_source.h new file mode 100644 index 0000000..0893156 --- /dev/null +++ b/listati/ip_mreq_source.h @@ -0,0 +1,5 @@ +struct ip_mreq_source { + struct in_addr imr_multiaddr; /* IP multicast group address */ + struct in_addr imr_interface; /* IP address of local interface */ + struct in_addr imr_sourceaddr; /* IP address of multicast source */ +}; diff --git a/listati/ip_msfilter.h b/listati/ip_msfilter.h new file mode 100644 index 0000000..dbd40b8 --- /dev/null +++ b/listati/ip_msfilter.h @@ -0,0 +1,7 @@ +struct ip_msfilter { + struct in_addr imsf_multiaddr; /* IP multicast group address */ + struct in_addr imsf_interface; /* IP address of local interface */ + uint32_t imsf_fmode; /* Filter-mode */ + uint32_t imsf_numsrc; /* Number of sources in the following array */ + struct in_addr imsf_slist[1]; /* Array of source addresses */ +}; diff --git a/macro.tex b/macro.tex index 4af9f65..de2fa06 100644 --- a/macro.tex +++ b/macro.tex @@ -1,6 +1,6 @@ %% macro.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/netlayer.tex b/netlayer.tex index 568ff4d..5516cec 100644 --- a/netlayer.tex +++ b/netlayer.tex @@ -1,6 +1,6 @@ %% netlayer.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/network.tex b/network.tex index 9418d89..68a50e1 100644 --- a/network.tex +++ b/network.tex @@ -1,6 +1,6 @@ %% network.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/othersock.tex b/othersock.tex index 24db472..4bdf384 100644 --- a/othersock.tex +++ b/othersock.tex @@ -1,6 +1,6 @@ %% othersock.tex %% -%% Copyright (C) 2004-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2004-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/preambolo.tex b/preambolo.tex index 7f40782..50be429 100644 --- a/preambolo.tex +++ b/preambolo.tex @@ -1,6 +1,6 @@ %% preambolo.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/pref.tex b/pref.tex index e133b26..42ec844 100644 --- a/pref.tex +++ b/pref.tex @@ -1,6 +1,6 @@ %% pref.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/process.tex b/process.tex index 2d35cd5..8aba3c2 100644 --- a/process.tex +++ b/process.tex @@ -1,6 +1,6 @@ %% process.tex %% -%% Copyright (C) 2000-2017 by Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 by Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/prochand.tex b/prochand.tex index 495851d..62b02a4 100644 --- a/prochand.tex +++ b/prochand.tex @@ -1,6 +1,6 @@ %% prochand.tex %% -%% Copyright (C) 2000-2017 by Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 by Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/ringraziamenti.tex b/ringraziamenti.tex index 39e42be..2461a41 100644 --- a/ringraziamenti.tex +++ b/ringraziamenti.tex @@ -1,6 +1,6 @@ %% ringraziamenti.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/session.tex b/session.tex index 2840dc4..1802daa 100644 --- a/session.tex +++ b/session.tex @@ -1,6 +1,6 @@ %% session.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/signal.tex b/signal.tex index d05c4ca..d3564ad 100644 --- a/signal.tex +++ b/signal.tex @@ -1,6 +1,6 @@ %% signal.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/sockadv.tex b/sockadv.tex index 753e66b..89b5b5b 100644 --- a/sockadv.tex +++ b/sockadv.tex @@ -1,6 +1,6 @@ %% sockadv.tex %% -%% Copyright (C) 2004-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2004-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/sockctrl.tex b/sockctrl.tex index a1a4a65..7d860f3 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -1,6 +1,6 @@ %% sockctrl.tex %% -%% Copyright (C) 2004-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2004-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Prefazione", @@ -3164,7 +3164,7 @@ manuale, nel caso specifico la documentazione si può consultare con Ricomincia a ricevere dati di \textit{multicast} per una sorgente.\\ \hline \end{tabular} - \caption{Le opzioni disponibili al livello \const{SOL\_IP}.} + \caption{Le opzioni disponibili al livello \const{IPPROTO\_IP}.} \label{tab:sock_opt_iplevel} \end{table} @@ -3194,30 +3194,113 @@ seguente elenco: \begin{minipage}[c]{0.70\textwidth} \includestruct{listati/ip_mreqn.h} \end{minipage} - \caption{La struttura \structd{ip\_mreqn} utilizzata dalle opzioni dei - socket per le operazioni concernenti l'appartenenza ai gruppi di + \caption{La struttura \structd{ip\_mreqn} utilizzata per unirsi a un gruppo di \textit{multicast}.} \label{fig:ip_mreqn_struct} \end{figure} - Per compatibilità è possibile utilizzare anche un argomento di tipo - \struct{ip\_mreq}, una precedente versione di \struct{ip\_mreqn}, che - differisce da essa soltanto per l'assenza del campo \var{imr\_ifindex}. +Questa struttura è presente a partire dal kernel 2.2, per compatibilità è +possibile utilizzare anche un argomento di tipo \struct{ip\_mreq}, presente +fino dal kernel 1.2, che differisce da essa soltanto per l'assenza del campo +\var{imr\_ifindex}; il kernel riconosce il tipo di struttura in base alla +differente dimensione passata in \param{optlen}. +\item[\constd{IP\_ADD\_SOURCE\_MEMBERSHIP}] L'opzione consente di unirsi ad + gruppo di \textit{multicast}, ricevendo i dati solo da una sorgente + specifica; come \const{IP\_ADD\_MEMBERSHIP} può essere usata solo con + \func{setsockopt}. -\item[\constd{IP\_BLOCK\_SOURCE}] TODO +\begin{figure}[!htb] + \footnotesize \centering + \begin{minipage}[c]{0.70\textwidth} + \includestruct{listati/ip_mreq_source.h} + \end{minipage} + \caption{La struttura \structd{ip\_mreqn} utilizzata per unirsi a un gruppo di + \textit{multicast} per una specifica sorgente.} + \label{fig:ip_mreq_source_struct} +\end{figure} + +L'argomento \param{optval} in questo caso è una struttura +\struct{ip\_mreq\_source} illustrata in fig.~\ref{fig:ip_mreq_source_struct}, +dove il campo \var{imr\_multiaddr} è l'indirizzo del gruppo di +\textit{multicast}, il campo \var{imr\_interface} l'indirizzo dell'interfaccia +locale che deve essere usata per aggiungersi al gruppo di \textit{multicast} e +il campo \var{imr\_sourceaddr} l'indirizzo della sorgente da cui +l'applicazione vuole ricevere i dati. L'opzione può essere ripetuta più volte +per collegarsi a diverse sorgenti. + +\item[\constd{IP\_BLOCK\_SOURCE}] Questa opzione, disponibile dal kernel + 2.4.22, consente di smettere di ricevere dati di \textit{multicast} dalla + sorgente (e relativo gruppo) specificati dalla struttura + \struct{ip\_mreq\_source} (vedi fig.~\ref{fig:ip_mreq_source_struct}) + passata come argomento \param{optval}. L'opzione è utilizzabile solo se si è + già registrati nel gruppo di \textit{multicast} indicato con un precedente + utilizzo di \const{IP\_ADD\_MEMBERSHIP} o + \const{IP\_ADD\_SOURCE\_MEMBERSHIP}. \item[\constd{IP\_DROP\_MEMBERSHIP}] Lascia un gruppo di \textit{multicast}, prende per \param{optval} la stessa struttura \struct{ip\_mreqn} (o - \struct{ip\_mreq}) usata anche per \const{IP\_ADD\_MEMBERSHIP}. + \struct{ip\_mreq}) usata per \const{IP\_ADD\_MEMBERSHIP} (vedi + fig.~\ref{fig:ip_mreqn_struct}). + +\item[\constd{IP\_DROP\_SOURCE\_MEMBERSHIP}] Lascia un gruppo di + \textit{multicast} per una specifica sorgente, prende per \param{optval} la + stessa struttura \struct{ip\_mreq\_source} usata per + \const{IP\_ADD\_SOURCE\_MEMBERSHIP} (vedi + fig.~\ref{fig:ip_mreq_source_struct}). Se ci si è registrati per più + sorgenti nello stesso gruppo, si continuerà a ricevere dati sulle altre. Per + smettere di ricevere dati da tutte le sorgenti occorre usare l'opzione + \const{IP\_LEAVE\_GROUP}. + +\item[\constd{IP\_FREEBIND}] Se abilitata questa opzione, disponibile dal + kernel 2.4, consente di usare \func{bind} anche su un indirizzo IP non + locale o che ancora non è stato assegnato. Questo permette ad una + applicazione di mettersi in ascolto su un socket prima che l'interfaccia + sottostante o l'indirizzo che questa deve usare sia stato configurato. È + l'equivalente a livello di singolo socket dell'uso della \textit{sysctl} + \texttt{ip\_nonlocal\_bind} che vedremo in + sez.~\ref{sec:sock_ipv4_sysctl}. Prende per + \param{optval} un intero usato come valore logico. + +\item[\constd{IP\_HDRINCL}] Se viene abilitata questa opzione, presente dal + kernel 2.0, l'utente deve fornire lui stesso l'intestazione del protocollo + IP in testa ai propri dati. L'opzione è valida soltanto per socket di tipo + \const{SOCK\_RAW}, e quando utilizzata eventuali valori impostati con + \const{IP\_OPTIONS}, \const{IP\_TOS} o \const{IP\_TTL} sono ignorati. In + ogni caso prima della spedizione alcuni campi dell'intestazione vengono + comunque modificati dal kernel, torneremo sull'argomento in + sez.~\ref{sec:socket_raw}. Prende per \param{optval} un intero usato come + valore logico. + +\item[\constd{IP\_MSFILTER}] L'opzione, introdotta con il kernel 2.4.22, + fornisce accesso completo all'interfaccia per il filtraggio delle sorgenti + di \textit{multicast} (il cosiddetto \textit{multicast source filtering}, + definito dall'\href{http://www.ietf.org/rfc/rfc3376.txt}{RFC~3376}). + +\begin{figure}[!htb] + \footnotesize \centering + \begin{minipage}[c]{0.70\textwidth} + \includestruct{listati/ip_msfilter.h} + \end{minipage} + \caption{La struttura \structd{ip\_msfilter} utilizzata per il + \textit{multicast source filtering}.} + \label{fig:ip_msfilter_struct} +\end{figure} -\item[\constd{IP\_HDRINCL}] Se abilitata l'utente deve fornire lui stesso - l'intestazione IP in cima ai propri dati. L'opzione è valida soltanto per - socket di tipo \const{SOCK\_RAW}, e quando utilizzata eventuali valori - impostati con \const{IP\_OPTIONS}, \const{IP\_TOS} o \const{IP\_TTL} sono - ignorati. In ogni caso prima della spedizione alcuni campi - dell'intestazione vengono comunque modificati dal kernel, torneremo - sull'argomento in sez.~\ref{sec:socket_raw} +L'argomento \param{optval} è una struttura \struct{ip\_msfilter} illustrata in +fig.~\ref{fig:ip_msfilter_struct}, il campo \var{imsf\_multiaddr} è +l'indirizzo del gruppo di \textit{multicast}, il campo \var{imsf\_interface} +l'indirizzo dell'interfaccia locale, il campo \var{imsf\_mode} indica la +modalità di filtraggio e con i campi \var{imsf\_numsrc} e \var{imsf\_slist} +rispettivamente la lunghezza della lista, e la lista stessa, degli indirizzi +sorgente. + +Come ausilio all'uso di questa opzione sono disponibili le macro +\macro{MCAST\_INCLUDE} e \macro{MCAST\_EXCLUDE} che si possono usare per +\var{imsf\_mode}. Inoltre si può usare la macro +\macro{IP\_MSFILTER\_SIZE}\texttt{(\textsf{n})} per determinare il valore +di \param{optlen} con una struttura \struct{ip\_msfilter} contenente +\texttt{\textsf{n}} sorgenti in \var{imsf\_slist}. \item[\constd{IP\_MINTTL}] L'opzione, introdotta con il kernel 2.6.34, imposta un valore minimo per il campo \textit{Time to Live} dei pacchetti associati @@ -3282,6 +3365,7 @@ seguente elenco: \constd{IP\_PMTUDISC\_DO} &2& Esegue la procedura di determinazione della \textit{Path MTU} come richiesto dall'\href{http://www.ietf.org/rfc/rfc1191.txt}{RFC~1191}.\\ + \constd{IP\_PMTUDISC\_PROBE}&?& .\\ \hline \end{tabular} \caption{Valori possibili per l'argomento \param{optval} di @@ -4579,7 +4663,9 @@ di manuale accessibile con \texttt{man 7 ip}, sono i seguenti: \item[\sysctlrelfiled{net/ipv4}{ip\_nonlocal\_bind}] se abilitato rende possibile ad una applicazione eseguire \func{bind} anche su un indirizzo che non è presente su nessuna interfaccia locale. Prende un valore logico e di - default è disabilitato. + default è disabilitato. La funzionalità può essere abilitata a livello di + singolo socket con l'opzione \const{IP\_FREEBIND} illustrata in + sez.~\ref{sec:sock_ipv4_options}. Questo può risultare utile per applicazioni particolari (come gli \textit{sniffer}) che hanno la necessità di ricevere pacchetti anche non diff --git a/socket.tex b/socket.tex index 3558450..dc9f501 100644 --- a/socket.tex +++ b/socket.tex @@ -1,6 +1,6 @@ %% socket.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/system.tex b/system.tex index 5e6a31c..74d6dd3 100644 --- a/system.tex +++ b/system.tex @@ -1,6 +1,6 @@ %% system.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/tcpsock.tex b/tcpsock.tex index 767aaa7..9e984ef 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1,6 +1,6 @@ %% tcpsock.tex %% -%% Copyright (C) 2000-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/thread.tex b/thread.tex index 22add0f..a6c6dd7 100644 --- a/thread.tex +++ b/thread.tex @@ -1,6 +1,6 @@ %% thread.tex %% -%% Copyright (C) 2007-2017 Simone Piccardi. Permission is granted to +%% Copyright (C) 2007-2018 Simone Piccardi. Permission is granted to %% copy, distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", diff --git a/trasplayer.tex b/trasplayer.tex index 5c965c2..b43bd08 100644 --- a/trasplayer.tex +++ b/trasplayer.tex @@ -1,6 +1,6 @@ %% tcpprot.tex %% -%% Copyright (C) 2002-2017 Simone Piccardi. Permission is granted to copy, +%% Copyright (C) 2002-2018 Simone Piccardi. Permission is granted to copy, %% distribute and/or modify this document under the terms of the GNU Free %% Documentation License, Version 1.1 or any later version published by the %% Free Software Foundation; with the Invariant Sections being "Un preambolo", -- 2.30.2