]> Cypherpunks.ru repositories - govpn.git/commitdiff
[DOC] Add various concept indexes
authorSergey Matveev <stargrave@stargrave.org>
Sun, 10 Jan 2016 18:12:12 +0000 (21:12 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 10 Jan 2016 18:12:12 +0000 (21:12 +0300)
Signed-off-by: Sergey Matveev <stargrave@stargrave.org>
35 files changed:
doc/about.ru.texi
doc/about.texi
doc/client.texi
doc/contacts.texi
doc/cpr.texi
doc/developer.texi
doc/download.texi
doc/egd.texi
doc/encless.texi
doc/example.texi
doc/faq.ru.texi
doc/faq.texi
doc/govpn.texi
doc/handshake.texi
doc/identity.texi
doc/installation.texi
doc/integrity.texi
doc/media.texi
doc/mtu.texi
doc/netproto.texi
doc/news.texi
doc/noise.texi
doc/pake.texi
doc/precautions.texi
doc/proxy.texi
doc/server.texi
doc/sources.texi
doc/stats.texi
doc/thanks.texi
doc/timeout.texi
doc/todo.texi
doc/transport.texi
doc/user.texi
doc/verifier.texi
doc/verifierstruct.texi

index a5bdb3ea387ad37139727afd5c4cf41e3a22a0aa..e301259441fe5e8aab9de1f31f6423ecbe1285f9 100644 (file)
@@ -1,4 +1,9 @@
 @node О демоне
 @node О демоне
+@cindex About (russian)
+@cindex Description (russian)
+@cindex О демоне
+@cindex Описание
+@cindex Вступление
 @unnumbered Подробнее о демоне GoVPN
 
 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
 @unnumbered Подробнее о демоне GoVPN
 
 GoVPN это простой демон виртуальных частных сетей, код которого нацелен
index e04faa1853f012d6ad8de685fb4a361c8084742a..de1abe907534bee6e6aff56dfbe9dd4d1f2dad06 100644 (file)
@@ -1,3 +1,7 @@
+@cindex About
+@cindex Description
+@cindex Introduction
+
 GoVPN is simple free software virtual private network daemon,
 aimed to be reviewable, secure and
 @url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
 GoVPN is simple free software virtual private network daemon,
 aimed to be reviewable, secure and
 @url{https://en.wikipedia.org/wiki/Deep_packet_inspection, DPI}/censorship-resistant.
index 88e338e3090de2c05cf0c89241e4294712101e21..f1845772cf9e0687743f1c4c02244d66ba347521 100644 (file)
@@ -1,4 +1,10 @@
 @node Client
 @node Client
+@cindex Client
+@cindex Client part
+@cindex Client configuration
+@cindex Client side
+@cindex Configuring client
+@cindex govpn-client
 @section Client part
 
 Except for common @code{-stats}, @code{-egd} options client has the
 @section Client part
 
 Except for common @code{-stats}, @code{-egd} options client has the
index 3f96135deda517e4fc4fd734226e15b455504a1b..c6915ef350944909647745d6c69d37e541ff78fe 100644 (file)
@@ -1,4 +1,9 @@
 @node Contacts
 @node Contacts
+@cindex Contacts
+@cindex Feedback
+@cindex Support
+@cindex Help
+@cindex Maillist
 @unnumbered Contacts
 
 Please send questions regarding the use of GoVPN, bug reports and patches to
 @unnumbered Contacts
 
 Please send questions regarding the use of GoVPN, bug reports and patches to
index 5ea57177df8520442865eadd9ce1eab07ac5cc67..f4259f80511e1e4173d1ec00974c7363629f2c76 100644 (file)
@@ -1,4 +1,6 @@
 @node CPR
 @node CPR
+@cindex CPR
+@cindex Constant Packet Rate
 @subsection Constant Packet Rate
 
 Constant Packet Rate is used to hide fact of underlying payload packets
 @subsection Constant Packet Rate
 
 Constant Packet Rate is used to hide fact of underlying payload packets
index 4293f800c06d8084790c564e26768c911d4509a4..30dd12f312c9bd5e38ba7dcd6c400b6504a0f533 100644 (file)
@@ -1,4 +1,7 @@
 @node Developer
 @node Developer
+@cindex Developer manual
+@cindex Developer
+@cindex Cryptography
 @unnumbered Developer manual
 
 Pay attention how to get @ref{Sources, development source code}.
 @unnumbered Developer manual
 
 Pay attention how to get @ref{Sources, development source code}.
index 3df97fd0ff963581bc11e724f5272415fe078ddf..c67efed684884b400544b86f556a70e63634a140 100644 (file)
@@ -1,4 +1,7 @@
 @node Tarballs
 @node Tarballs
+@cindex Download
+@cindex Tarball
+@cindex Prepared tarballs
 @section Prepared tarballs
 
 You can obtain releases source code prepared tarballs from the links below:
 @section Prepared tarballs
 
 You can obtain releases source code prepared tarballs from the links below:
index c0006db3ac601ae52bb3595339956d8409d75b20..9984a20c1437f1f8d3b6138a315f3a47405e7076 100644 (file)
@@ -1,4 +1,7 @@
 @node EGD
 @node EGD
+@cindex EGD
+@cindex Entropy Gathering Daemon
+@cindex Entropy
 @subsection Entropy Gathering Daemon
 
 Overall security mainly depends on client side:
 @subsection Entropy Gathering Daemon
 
 Overall security mainly depends on client side:
index 6d44191ebdc1c5d492ffc321568e146f8d2acada..fd267c73be4a78ee592f426707eb38c43d65c2dd 100644 (file)
@@ -1,4 +1,11 @@
 @node Encless
 @node Encless
+@cindex Encryptionless
+@cindex Encryptionless mode
+@cindex Chaffing-and-Winnowing
+@cindex AONT
+@cindex All-Or-Nothing-Transformation
+@cindex OAEP
+@cindex SAEP+
 @subsection Encryptionless mode
 
 Some jurisdictions can force user to reveal his encryption keys. However
 @subsection Encryptionless mode
 
 Some jurisdictions can force user to reveal his encryption keys. However
index f4f80f4bafebaf3bb22ab21a241252f15f4872cc..8a52ef7a393a6c8bfaee03b7bf0a9116070db839 100644 (file)
@@ -1,4 +1,7 @@
 @node Example
 @node Example
+@cindex Example
+@cindex Example usage
+@cindex Tutorial
 @section Example usage
 
 Let's assume that there is some insecure link between your computer and
 @section Example usage
 
 Let's assume that there is some insecure link between your computer and
@@ -19,6 +22,8 @@ software: download, @ref{Integrity, check the signature}, compile.
 @strong{Prepare the client}. Generate client's verifier for Alice as an
 example:
 
 @strong{Prepare the client}. Generate client's verifier for Alice as an
 example:
 
+@cindex newclient.sh
+
 @verbatim
 client% ./utils/newclient.sh Alice
 Enter passphrase:
 @verbatim
 client% ./utils/newclient.sh Alice
 Enter passphrase:
index 10f7fda6672b2dc0ad4683856d80e4abdb8b556d..22ac58ec2d702518fc4692ae468ebf851f17a645 100644 (file)
@@ -1,4 +1,7 @@
 @node ЧАВО
 @node ЧАВО
+@cindex FAQ (russian)
+@cindex ЧАВО
+@cindex Часто задаваемые вопросы
 @unnumbered Часто задаваемые вопросы
 
 @table @asis
 @unnumbered Часто задаваемые вопросы
 
 @table @asis
@@ -39,6 +42,7 @@ Go очень легко читается, поддаётся ревью и по
 высокоэнтропийный ключ. Вам нужно доверять только себе, не аппаратному
 токену или другому устройству хранения. Это удобно.
 
 высокоэнтропийный ключ. Вам нужно доверять только себе, не аппаратному
 токену или другому устройству хранения. Это удобно.
 
+@cindex Настройка сети
 @item Почему вся настройка сети делается вручную?
 Потому-что существует так много вариантов использования, конфигураций и
 установок, что или я поддерживаю их всех, или использую громоздкие
 @item Почему вся настройка сети делается вручную?
 Потому-что существует так много вариантов использования, конфигураций и
 установок, что или я поддерживаю их всех, или использую громоздкие
@@ -57,10 +61,13 @@ Go очень легко читается, поддаётся ревью и по
 уровне сессии: оно не спасёт если сессионный ключ скомпрометирован из
 памяти.
 
 уровне сессии: оно не спасёт если сессионный ключ скомпрометирован из
 памяти.
 
+@cindex Анонимность
+@cindex Анонимные клиенты
 @item Что вы подразумеваете когда говорите что клиенты анонимны?
 Что третьей лицо не может отличить одного клиента от другого, смотря на
 трафик (транспортный или рукопожатия).
 
 @item Что вы подразумеваете когда говорите что клиенты анонимны?
 Что третьей лицо не может отличить одного клиента от другого, смотря на
 трафик (транспортный или рукопожатия).
 
+@cindex Цензуроустойчивость
 @item Что вы подразумеваете под цензуроустойчивостью?
 Невозможность определить GoVPN ли это трафик или просто
 @code{cat /dev/urandom | nc somehost}. Если вы не можете отличить один
 @item Что вы подразумеваете под цензуроустойчивостью?
 Невозможность определить GoVPN ли это трафик или просто
 @code{cat /dev/urandom | nc somehost}. Если вы не можете отличить один
index 0ac8de80d22a9573668da03bed7b689da19b7579..e6986cdeaaf56c3886687470101c41f4fd95d8d7 100644 (file)
@@ -1,19 +1,24 @@
 @node FAQ
 @node FAQ
+@cindex FAQ
+@cindex Frequently Asked Questions
 @unnumbered Frequently Asked Questions
 
 @table @asis
 
 @unnumbered Frequently Asked Questions
 
 @table @asis
 
+@cindex TLS
 @item Why do not you use TLS?
 It is complicated protocol. It uses Authenticate-then-Encrypt ordering
 of algorithms -- it is not secure. Moreover its libraries are huge and
 hard to read, review and analyze.
 
 @item Why do not you use TLS?
 It is complicated protocol. It uses Authenticate-then-Encrypt ordering
 of algorithms -- it is not secure. Moreover its libraries are huge and
 hard to read, review and analyze.
 
+@cindex SSH
 @item Why do not you use SSH?
 Its first protocol versions used A-a-E ordering, however later ones
 supports even ChaCha20-Poly1305 algorithms. But its source code is not
 so trivial and rather big to read and review. OpenSSH does not support
 strong zero-knowledge password authentication.
 
 @item Why do not you use SSH?
 Its first protocol versions used A-a-E ordering, however later ones
 supports even ChaCha20-Poly1305 algorithms. But its source code is not
 so trivial and rather big to read and review. OpenSSH does not support
 strong zero-knowledge password authentication.
 
+@cindex IPsec
 @item Why do not you use IPsec?
 It is rather good protocol, supported by all modern OSes. But it lacks
 strong zero-knowledge password authentication and, again, its code is
 @item Why do not you use IPsec?
 It is rather good protocol, supported by all modern OSes. But it lacks
 strong zero-knowledge password authentication and, again, its code is
@@ -24,6 +29,8 @@ For the same reasons: most of software do not provide strong password
 authentication, high cryptographic protocol security, and most of this
 software is written in C -- it is hard to write right on it.
 
 authentication, high cryptographic protocol security, and most of this
 software is written in C -- it is hard to write right on it.
 
+@cindex Why Go
+@cindex Go
 @item Why GoVPN is written on Go?
 Go is very easy to read, review and support. It makes complex code
 writing a harder task. It provides everything needed to the C language:
 @item Why GoVPN is written on Go?
 Go is very easy to read, review and support. It makes complex code
 writing a harder task. It provides everything needed to the C language:
@@ -38,12 +45,17 @@ Human is capable of memorizing rather long passphrases (not passwords):
 You need to trust only yourself, not hardware token or some other
 storage device. It is convenient.
 
 You need to trust only yourself, not hardware token or some other
 storage device. It is convenient.
 
+@cindex Network configuration
 @item Why all network configuration must be done manually?
 Because there are so many use-cases and setups, so many various
 protocols, that either I support all of them, or use complicated
 protocol setups like PPP, or just give right of the choice to the
 administrator. VPN is only just a layer.
 
 @item Why all network configuration must be done manually?
 Because there are so many use-cases and setups, so many various
 protocols, that either I support all of them, or use complicated
 protocol setups like PPP, or just give right of the choice to the
 administrator. VPN is only just a layer.
 
+@cindex Windows
+@cindex Microsoft Windows
+@cindex Apple OS X
+@cindex OS X
 @item Why there is no either OS X or Windows support?
 Any closed source proprietary systems do not give ability to control the
 computer. You can not securely use cryptography-related stuff without
 @item Why there is no either OS X or Windows support?
 Any closed source proprietary systems do not give ability to control the
 computer. You can not securely use cryptography-related stuff without
@@ -55,10 +67,18 @@ You can not decrypt previously saved traffic by compromising long-lived
 keys. PFS property is per-session level: it won't protect from leaking
 the session key from the memory.
 
 keys. PFS property is per-session level: it won't protect from leaking
 the session key from the memory.
 
+@cindex Anonymity
+@cindex Anonymous clients
 @item What do you mean by saying that clients are anonymous?
 That third-party can not differentiate one client from another looking
 at the traffic (transport and handshake).
 
 @item What do you mean by saying that clients are anonymous?
 That third-party can not differentiate one client from another looking
 at the traffic (transport and handshake).
 
+@cindex Censorship
+@cindex Censorship resistance
+@cindex Censorship resistant
+@cindex DPI resistant
+@cindex DPI resistance
+@cindex DPI
 @item What do you mean by censorship resistance?
 Unability to distinguish either is it GoVPN-traffic is passing by, or
 just @code{cat /dev/urandom | nc somehost}. If you can not differentiate
 @item What do you mean by censorship resistance?
 Unability to distinguish either is it GoVPN-traffic is passing by, or
 just @code{cat /dev/urandom | nc somehost}. If you can not differentiate
@@ -83,6 +103,7 @@ timestamps and sizes. You can run traffic analysis and predict what is
 going on in the network. With CPR option enabled you can tell either
 somebody is online, or not -- nothing less, nothing more.
 
 going on in the network. With CPR option enabled you can tell either
 somebody is online, or not -- nothing less, nothing more.
 
+@cindex DoS
 @item Can I DoS (denial of service) the daemon?
 Each transport packet is authenticated first with the very fast UMAC
 algorithm -- in most cases resource consumption of TCP/UDP layers will
 @item Can I DoS (denial of service) the daemon?
 Each transport packet is authenticated first with the very fast UMAC
 algorithm -- in most cases resource consumption of TCP/UDP layers will
index 7fab9f37734bf745115d85b7c3828e6cd07e10be..73e69084f21512616a984fc582c7b60124bc78ca 100644 (file)
@@ -40,6 +40,7 @@ A copy of the license is included in the section entitled "Copying conditions".
 * In the media: Media.
 * TODO::
 * Copying conditions::
 * In the media: Media.
 * TODO::
 * Copying conditions::
+* Concept index::
 @end menu
 
 @include about.ru.texi
 @end menu
 
 @include about.ru.texi
@@ -60,4 +61,10 @@ A copy of the license is included in the section entitled "Copying conditions".
 
 @insertcopying
 @verbatiminclude fdl.txt
 
 @insertcopying
 @verbatiminclude fdl.txt
+
+@node Concept index
+@unnumbered Concept index
+
+@printindex cp
+
 @bye
 @bye
index f19fde0c153d9f0b7afe9bd2411aee9916d233a4..3efe97d636b470fd05632db271fc73164707d588 100644 (file)
@@ -1,4 +1,19 @@
 @node Handshake
 @node Handshake
+@cindex Handshake
+@cindex Handshake protocol
+@cindex Diffie-Hellman
+@cindex ed25519
+@cindex curve25519
+@cindex Elligator
+@cindex Perfect Forward Secrecy
+@cindex PFS
+@cindex IDtag
+@cindex Shared key
+@cindex DH-EKE
+@cindex DH
+@cindex EKE
+@cindex A-EKE
+@cindex DH-A-EKE
 @section Handshake protocol
 
 @verbatiminclude handshake.utxt
 @section Handshake protocol
 
 @verbatiminclude handshake.utxt
index 3a37790cab5f9b132a69ef345058089d60d322f3..d74e6cfd14e8b76540e3419f0edbd2f1cd1df5a8 100644 (file)
@@ -1,4 +1,6 @@
 @node Identity
 @node Identity
+@cindex Client identity
+@cindex Identity
 @subsection Identity
 
 Client's identity is 128-bit string. It is not secret, so can be
 @subsection Identity
 
 Client's identity is 128-bit string. It is not secret, so can be
index c6ac214207974fd8693e2df8e406214868b8f1b0..ca95bb1bd216693decec0da5af1550503326bca9 100644 (file)
@@ -1,4 +1,13 @@
 @node Installation
 @node Installation
+@cindex Installation
+@cindex Getting GoVPN
+@cindex Requirements
+@cindex Dependencies
+@cindex Ports
+@cindex Packages
+@cindex FreeBSD
+@cindex AUR
+@cindex Texinfo
 @unnumbered Installation
 
 Possibly GoVPN already exists in your distribution:
 @unnumbered Installation
 
 Possibly GoVPN already exists in your distribution:
index ccbb5c875da28c9e666790adfce6e2bead579cca..b9c6ff522b52b4b363a6cf93b201e19d518803fa 100644 (file)
@@ -1,4 +1,8 @@
 @node Integrity
 @node Integrity
+@cindex Integrity
+@cindex Tarball integrity
+@cindex PGP
+@cindex Public key
 @section Tarballs integrity check
 
 You @strong{have to} verify downloaded archives integrity and check
 @section Tarballs integrity check
 
 You @strong{have to} verify downloaded archives integrity and check
index b129c0dd1b69c40f679e4e433ba72513bb97cbe4..332ed6388af68af9c1492733475c020cdca957bc 100644 (file)
@@ -1,4 +1,6 @@
 @node Media
 @node Media
+@cindex In the media
+@cindex Articles
 @unnumbered In the media
 
 @itemize
 @unnumbered In the media
 
 @itemize
index 29930b641063de86616d4589872a73a5240a5528..2206c553c9a4c5b63ea48d4a205bec9b3c33d755 100644 (file)
@@ -1,4 +1,6 @@
 @node MTU
 @node MTU
+@cindex MTU
+@cindex Maximum Transmission Unit
 @subsection Maximum Transmission Unit
 
 MTU option tells what maximum transmission unit is expected to get from
 @subsection Maximum Transmission Unit
 
 MTU option tells what maximum transmission unit is expected to get from
index d57edb35ab0dbdf5a95a85dd48ed9b7ce05856bc..f5b26f4072336b988fa4b2bab21e4a7b7973dac8 100644 (file)
@@ -1,4 +1,8 @@
 @node Network
 @node Network
+@cindex Transport
+@cindex Network transport
+@cindex TCP
+@cindex UDP
 @subsection Network transport
 
 You can use either UDP or TCP underlying network transport protocols.
 @subsection Network transport
 
 You can use either UDP or TCP underlying network transport protocols.
index d70471509ce0a18727ad6a0c8475a2979881bf40..da5e9b28917f88dde29cf550be615e8d4bb2a637 100644 (file)
@@ -1,9 +1,12 @@
 @node News
 @node News
+@cindex Releases
+@cindex News
 @unnumbered News
 
 @table @strong
 
 @item Release 5.1
 @unnumbered News
 
 @table @strong
 
 @item Release 5.1
+@cindex Release 5.1
 @itemize
 @item Server is configured using @url{http://yaml.org/, YAML} file. It
 is very convenient to have comments and templates, comparing to JSON.
 @itemize
 @item Server is configured using @url{http://yaml.org/, YAML} file. It
 is very convenient to have comments and templates, comparing to JSON.
@@ -12,6 +15,7 @@ with @emph{BLAKE2b} in handshake code.
 @end itemize
 
 @item Release 5.0
 @end itemize
 
 @item Release 5.0
+@cindex Release 5.0
 @itemize
 @item New optional @ref{Encless, encryptionless mode} of operation.
 Technically no encryption functions are applied for outgoing packets, so
 @itemize
 @item New optional @ref{Encless, encryptionless mode} of operation.
 Technically no encryption functions are applied for outgoing packets, so
@@ -25,12 +29,14 @@ up-scripts for convenience.
 @end itemize
 
 @item Release 4.2
 @end itemize
 
 @item Release 4.2
+@cindex Release 4.2
 @itemize
 @item Fixed non-critical bug when server may fail if up-script is not
 executed successfully.
 @end itemize
 
 @item Release 4.1
 @itemize
 @item Fixed non-critical bug when server may fail if up-script is not
 executed successfully.
 @end itemize
 
 @item Release 4.1
+@cindex Release 4.1
 @itemize
 @item @url{https://password-hashing.net/#argon2, Argon2d} is used instead
 of PBKDF2 for password verifier hashing.
 @itemize
 @item @url{https://password-hashing.net/#argon2, Argon2d} is used instead
 of PBKDF2 for password verifier hashing.
@@ -39,6 +45,7 @@ server-side configuration and the code.
 @end itemize
 
 @item Release 4.0
 @end itemize
 
 @item Release 4.0
+@cindex Release 4.0
 @itemize
 @item Handshake messages can be noised: their messages lengths are
 hidden. Now they are indistinguishable from transport messages.
 @itemize
 @item Handshake messages can be noised: their messages lengths are
 hidden. Now they are indistinguishable from transport messages.
@@ -48,6 +55,7 @@ hidden. Now they are indistinguishable from transport messages.
 @end itemize
 
 @item Release 3.5
 @end itemize
 
 @item Release 3.5
+@cindex Release 3.5
 @itemize
 @item Ability to use @ref{Network, TCP} network transport.
 Server can listen on both UDP and TCP sockets.
 @itemize
 @item Ability to use @ref{Network, TCP} network transport.
 Server can listen on both UDP and TCP sockets.
@@ -59,6 +67,7 @@ reasons.
 @end itemize
 
 @item Release 3.4
 @end itemize
 
 @item Release 3.4
+@cindex Release 3.4
 @itemize
 @item Ability to use external @ref{EGD}-compatible PRNGs. Now you are
 able to use GoVPN even on systems with the bad @code{/dev/random},
 @itemize
 @item Ability to use external @ref{EGD}-compatible PRNGs. Now you are
 able to use GoVPN even on systems with the bad @code{/dev/random},
@@ -69,6 +78,7 @@ without performance degradation related to inbound packets reordering.
 @end itemize
 
 @item Release 3.3
 @end itemize
 
 @item Release 3.3
+@cindex Release 3.3
 @itemize
 @item Compatibility with an old GNU Make 3.x. Previously only BSD Make
 and GNU Make 4.x were supported.
 @itemize
 @item Compatibility with an old GNU Make 3.x. Previously only BSD Make
 and GNU Make 4.x were supported.
@@ -79,6 +89,7 @@ GNU/Linux systems. Previously /dev/random can produce less than required
 @end itemize
 
 @item Release 3.2
 @end itemize
 
 @item Release 3.2
+@cindex Release 3.2
 @itemize
 @item
 Deterministic building: dependent libraries source code commits are
 @itemize
 @item
 Deterministic building: dependent libraries source code commits are
@@ -91,6 +102,7 @@ FreeBSD Make compatibility. GNU Make is not necessary anymore.
 @end itemize
 
 @item Release 3.1
 @end itemize
 
 @item Release 3.1
+@cindex Release 3.1
 @itemize
 @item
 Diffie-Hellman public keys are encoded with Elligator algorithm when
 @itemize
 @item
 Diffie-Hellman public keys are encoded with Elligator algorithm when
@@ -101,6 +113,7 @@ consume twice entropy for DH key generation in average.
 @end itemize
 
 @item Release 3.0
 @end itemize
 
 @item Release 3.0
+@cindex Release 3.0
 @itemize
 @item
 EKE protocol is replaced by Augmented-EKE and static symmetric (both
 @itemize
 @item
 EKE protocol is replaced by Augmented-EKE and static symmetric (both
@@ -133,6 +146,7 @@ Per-peer @code{-timeout}, @code{-noncediff}, @code{-noise} and
 @end itemize
 
 @item Release 2.4
 @end itemize
 
 @item Release 2.4
+@cindex Release 2.4
 @itemize
 @item
 Added ability to optionally run built-in HTTP-server responding with
 @itemize
 @item
 Added ability to optionally run built-in HTTP-server responding with
@@ -144,6 +158,7 @@ Documentation is explicitly licenced under GNU FDL 1.3+.
 @end itemize
 
 @item Release 2.3
 @end itemize
 
 @item Release 2.3
+@cindex Release 2.3
 @itemize
 @item
 Handshake packets became indistinguishable from the random.
 @itemize
 @item
 Handshake packets became indistinguishable from the random.
@@ -159,16 +174,19 @@ consuming and resource heavy computations.
 @end itemize
 
 @item Release 2.2
 @end itemize
 
 @item Release 2.2
+@cindex Release 2.2
 @itemize
 @item Fixed several possible channel deadlocks.
 @end itemize
 
 @item Release 2.1
 @itemize
 @item Fixed several possible channel deadlocks.
 @end itemize
 
 @item Release 2.1
+@cindex Release 2.1
 @itemize
 @item Fixed Linux-related building.
 @end itemize
 
 @item Release 2.0
 @itemize
 @item Fixed Linux-related building.
 @end itemize
 
 @item Release 2.0
+@cindex Release 2.0
 @itemize
 @item Added clients identification.
 @item Simultaneous several clients support by server.
 @itemize
 @item Added clients identification.
 @item Simultaneous several clients support by server.
@@ -176,16 +194,19 @@ consuming and resource heavy computations.
 @end itemize
 
 @item Release 1.5
 @end itemize
 
 @item Release 1.5
+@cindex Release 1.5
 @itemize
 @item Nonce obfuscation/encryption.
 @end itemize
 
 @item Release 1.4
 @itemize
 @item Nonce obfuscation/encryption.
 @end itemize
 
 @item Release 1.4
+@cindex Release 1.4
 @itemize
 @item Performance optimizations.
 @end itemize
 
 @item Release 1.3
 @itemize
 @item Performance optimizations.
 @end itemize
 
 @item Release 1.3
+@cindex Release 1.3
 @itemize
 @item Heartbeat feature.
 @item Rehandshake feature.
 @itemize
 @item Heartbeat feature.
 @item Rehandshake feature.
@@ -193,11 +214,13 @@ consuming and resource heavy computations.
 @end itemize
 
 @item Release 1.1
 @end itemize
 
 @item Release 1.1
+@cindex Release 1.1
 @itemize
 @item FreeBSD support.
 @end itemize
 
 @item Release 1.0
 @itemize
 @item FreeBSD support.
 @end itemize
 
 @item Release 1.0
+@cindex Release 1.0
 @itemize
 @item Initial stable release.
 @end itemize
 @itemize
 @item Initial stable release.
 @end itemize
index 5df68a984a27b2e340b32cfe415811186dd13007..9e171d12d4088ac4edc2c69b7236c6430d5c4a75 100644 (file)
@@ -1,4 +1,6 @@
 @node Noise
 @node Noise
+@cindex Noise
+@cindex Timestamps
 @subsection Noise
 
 So-called noise is used to hide underlying payload packets length.
 @subsection Noise
 
 So-called noise is used to hide underlying payload packets length.
index cdae5524d8d02f74b94f4602c4b9785aefd2be43..d343a49d3ff6d49b31d4ab4831cdd7dedf28be37 100644 (file)
@@ -1,4 +1,6 @@
 @node PAKE
 @node PAKE
+@cindex Password Authenticated Key Agreement
+@cindex PAKE
 @subsection Password Authenticated Key Agreement
 
 GoVPN uses strong password authentication. That means that it uses human
 @subsection Password Authenticated Key Agreement
 
 GoVPN uses strong password authentication. That means that it uses human
index fbf45d13a4636b2315c7ec52f504362b53858e5c..04017782e069b0e0aa3b03b0342ae6f6f0bb66c8 100644 (file)
@@ -1,12 +1,14 @@
 @node Precautions
 @node Precautions
+@cindex Dangers
+@cindex Precautions
 @unnumbered Precautions
 
 @enumerate
 @item
 @unnumbered Precautions
 
 @enumerate
 @item
-We use password (passphrase) authentication, so overall security fully
-depends on its strength. You @strong{should} use long, high-entropy
-passphrases. Also remember to keep passphrase in temporary file and read
-it securely as described in @ref{Verifier, verifier}.
+We use passphrase authentication, so overall security fully depends on
+its strength. You @strong{should} use long, high-entropy passphrases.
+Also remember to keep passphrase in temporary file and read it securely
+as described in @ref{Verifier, verifier}.
 
 @item
 You must @strong{never} use the same key for multiple clients.
 
 @item
 You must @strong{never} use the same key for multiple clients.
index b0f08fc97644a51300683ec5641fc02e632350ad..a314b798efb3c7a4ed31b260b6270335d4c78d9d 100644 (file)
@@ -1,4 +1,9 @@
 @node Proxy
 @node Proxy
+@cindex Proxy
+@cindex HTTP proxy
+@cindex HTTP authentication
+@cindex CONNECT
+@cindex HTTP
 @subsection Proxy
 
 You can proxy your requests through HTTP using CONNECT method. This can
 @subsection Proxy
 
 You can proxy your requests through HTTP using CONNECT method. This can
index 0882ff2d3ea62315c7dc1a6475f3237ab38a872c..ee132bdac8ae003c1ec18f70d0491665a43af41e 100644 (file)
@@ -1,4 +1,9 @@
 @node Server
 @node Server
+@cindex Server
+@cindex Server part
+@cindex Server configuration
+@cindex Server side
+@cindex govpn-server
 @section Server part
 
 Except for common @code{-stats}, @code{-egd} options server has the
 @section Server part
 
 Except for common @code{-stats}, @code{-egd} options server has the
@@ -21,6 +26,9 @@ Start trivial HTTP @ref{Proxy} server on specified @emph{host:port}.
 
 @end table
 
 
 @end table
 
+@cindex YAML
+@cindex YAML configuration
+@cindex Configuration file
 Configuration file is YAML file with following example structure:
 
 @verbatim
 Configuration file is YAML file with following example structure:
 
 @verbatim
@@ -45,6 +53,8 @@ must output interface's name to stdout (first output line).
 For example up-script can be just @code{echo tap10}, or more advanced
 like the following one:
 
 For example up-script can be just @code{echo tap10}, or more advanced
 like the following one:
 
+@cindex up-script
+
 @example
 #!/bin/sh
 $tap=$(ifconfig tap create)
 @example
 #!/bin/sh
 $tap=$(ifconfig tap create)
index 862fa86dfeb057c8ea4ae58f97a91736bafe2ffd..f1eb3eb90f31f20a3e2699e9238309f8099875d1 100644 (file)
@@ -1,4 +1,10 @@
 @node Sources
 @node Sources
+@cindex Sources
+@cindex Source code
+@cindex Development source code
+@cindex Git
+@cindex Repository
+@cindex Mirrors
 @section Development source code
 
 Development source code contains the latest version of the code. It may
 @section Development source code
 
 Development source code contains the latest version of the code. It may
index c543137a808a08dfe755e3083d755805aab50d23..0c147005d802ebb5593e70c84f06ae71fedcabd8 100644 (file)
@@ -1,4 +1,6 @@
 @node Stats
 @node Stats
+@cindex Stats
+@cindex Statistics
 @subsection Statistics
 
 Both client and server has ability to show statistics about known
 @subsection Statistics
 
 Both client and server has ability to show statistics about known
index d551819bcc3734ff66e4c294145cf27a69d858dc..aed296addb680dcee2740ee482b5c7f0797ce666 100644 (file)
@@ -1,4 +1,5 @@
 @node Thanks
 @node Thanks
+@cindex Thanks
 @unnumbered Thanks
 
 Thanks for contributions and suggestions to:
 @unnumbered Thanks
 
 Thanks for contributions and suggestions to:
index 89dd5b011579ae16c80dc05bf8d1f28eea33bcab..89dcf1e500c8c76e4714c967e75455edc02b2e99 100644 (file)
@@ -1,4 +1,5 @@
 @node Timeout
 @node Timeout
+@cindex Timeout
 @subsection Timeout
 
 Because of stateless UDP nature there is no way to reliably know if
 @subsection Timeout
 
 Because of stateless UDP nature there is no way to reliably know if
index 520192c6ac01901d009024313d60f99ff7df4330..f77ab2f0009238a492e6663700c354e2ea4d9fa6 100644 (file)
@@ -1,4 +1,5 @@
 @node TODO
 @node TODO
+@cindex TODO
 @unnumbered TODO
 
 @itemize
 @unnumbered TODO
 
 @itemize
index 4b8413b23e470b0cb58543ecaa4c92c89d572731..3b894ec99a146b61e797950f9c867adf1bf30f35 100644 (file)
@@ -1,4 +1,12 @@
 @node Transport
 @node Transport
+@cindex Transport
+@cindex Transport protocol
+@cindex Salsa20
+@cindex PRP
+@cindex Nonce
+@cindex Poly1305
+@cindex XTEA
+@cindex Serial
 @section Transport protocol
 
 @verbatim
 @section Transport protocol
 
 @verbatim
index d2118b30be55b78f09fb8ce38a3a4fe01723dcdb..ca2e81c4c371d638c86f7d183171682393d7a67b 100644 (file)
@@ -1,7 +1,10 @@
 @node User
 @node User
+@cindex User
+@cindex User manual
 @unnumbered User manual
 
 @unnumbered User manual
 
-Announcements about updates and new releases can be found in @ref{Contacts}.
+Announcements about updates and new releases can be found in
+@ref{Contacts, contacts}.
 
 GoVPN is split into two pieces: @ref{Client} and @ref{Server}. Each of
 them work on top of @ref{Network, UDP/TCP} and TAP virtual network
 
 GoVPN is split into two pieces: @ref{Client} and @ref{Server}. Each of
 them work on top of @ref{Network, UDP/TCP} and TAP virtual network
@@ -9,6 +12,7 @@ interfaces. GoVPN is just a tunnelling of Ethernet frames, nothing less,
 nothing more. All you IP-related network management is not touched by
 VPN at all. You can automate it using up and down shell scripts.
 
 nothing more. All you IP-related network management is not touched by
 VPN at all. You can automate it using up and down shell scripts.
 
+@cindex Performance
 What network performance can user expect? For example single
 @emph{Intel i5-2450M 2.5 GHz} core on @emph{FreeBSD 10.2 amd64}
 with @emph{Go 1.5.1} gives 786 Mbps (UDP transport) throughput.
 What network performance can user expect? For example single
 @emph{Intel i5-2450M 2.5 GHz} core on @emph{FreeBSD 10.2 amd64}
 with @emph{Go 1.5.1} gives 786 Mbps (UDP transport) throughput.
index bb364d747f6568f5b52e24fe3321571e82c08043..779f247f9e3fd81d725cb0c894db667b7e68a332 100644 (file)
@@ -1,4 +1,7 @@
 @node Verifier
 @node Verifier
+@cindex Verifier
+@cindex storekey.sh
+@cindex govpn-verifier
 @subsection Verifier
 
 Verifier is created using @code{govpn-verifier} utility. But currently
 @subsection Verifier
 
 Verifier is created using @code{govpn-verifier} utility. But currently
index 792506dd9f93ac95f4509998c07b8ce2db8cbf14..51cf2893e3b2bf564485df76ee36bed9f4d6686b 100644 (file)
@@ -1,4 +1,8 @@
 @node Verifier structure
 @node Verifier structure
+@cindex Verifier structure
+@cindex Argon2
+@cindex Argon2d
+@cindex Salt
 @section Verifier structure
 
 Verifier is a derivative of the password. It is resistant to
 @section Verifier structure
 
 Verifier is a derivative of the password. It is resistant to