aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-11-21 19:03:58 +0000
committerSergio Carlavilla Delgado <carlavilla@FreeBSD.org>2021-11-21 19:03:58 +0000
commitc0a1c8e9223b13a174895fc60840f7490728ec1c (patch)
tree807fc6ae369d786f70a87e5fe76fcd71146d03ae
parent2291b365c7be7d155cfff337ffeef54bbfb11c3a (diff)
downloaddoc-c0a1c8e9223b13a174895fc60840f7490728ec1c.tar.gz
doc-c0a1c8e9223b13a174895fc60840f7490728ec1c.zip
Split German developers handbook
-rw-r--r--documentation/content/de/books/developers-handbook/_index.adoc41
-rw-r--r--documentation/content/de/books/developers-handbook/bibliography/_index.adoc (renamed from documentation/content/de/books/developers-handbook/bibliography/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/book.adoc84
-rw-r--r--documentation/content/de/books/developers-handbook/chapters-order.adoc29
-rw-r--r--documentation/content/de/books/developers-handbook/introduction/_index.adoc (renamed from documentation/content/de/books/developers-handbook/introduction/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/ipv6/_index.adoc (renamed from documentation/content/de/books/developers-handbook/ipv6/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/kernelbuild/_index.adoc (renamed from documentation/content/de/books/developers-handbook/kernelbuild/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/kerneldebug/_index.adoc (renamed from documentation/content/de/books/developers-handbook/kerneldebug/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/l10n/_index.adoc (renamed from documentation/content/de/books/developers-handbook/l10n/chapter.adoc)0
-rw-r--r--documentation/content/de/books/developers-handbook/parti.adoc18
-rw-r--r--documentation/content/de/books/developers-handbook/partii.adoc18
-rw-r--r--documentation/content/de/books/developers-handbook/partiii.adoc18
-rw-r--r--documentation/content/de/books/developers-handbook/partiv.adoc19
-rw-r--r--documentation/content/de/books/developers-handbook/partv.adoc18
-rw-r--r--documentation/content/de/books/developers-handbook/policies/_index.adoc (renamed from documentation/content/de/books/developers-handbook/policies/chapter.adoc)0
-rw-r--r--documentation/content/de/books/developers-handbook/secure/_index.adoc (renamed from documentation/content/de/books/developers-handbook/secure/chapter.adoc)8
-rw-r--r--documentation/content/de/books/developers-handbook/sockets/_index.adoc (renamed from documentation/content/de/books/developers-handbook/sockets/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/testing/_index.adoc (renamed from documentation/content/de/books/developers-handbook/testing/chapter.adoc)2
-rw-r--r--documentation/content/de/books/developers-handbook/tools/_index.adoc (renamed from documentation/content/de/books/developers-handbook/tools/chapter.adoc)0
-rw-r--r--documentation/content/de/books/developers-handbook/x86/_index.adoc (renamed from documentation/content/de/books/developers-handbook/x86/chapter.adoc)4
20 files changed, 210 insertions, 61 deletions
diff --git a/documentation/content/de/books/developers-handbook/_index.adoc b/documentation/content/de/books/developers-handbook/_index.adoc
index 00e1073cdd..3f4829289d 100644
--- a/documentation/content/de/books/developers-handbook/_index.adoc
+++ b/documentation/content/de/books/developers-handbook/_index.adoc
@@ -4,21 +4,22 @@ authors:
- author: The FreeBSD Documentation Project
copyright: 1995-2020 The FreeBSD Documentation Project
trademarks: ["freebsd", "apple", "ibm", "ieee", "intel", "linux", "microsoft", "opengroup", "sun", "general"]
+next: books/developers-handbook/parti
+add_single_page_link: true
isIndex: true
---
= FreeBSD Developers' Handbook
:doctype: book
:toc: macro
-:toclevels: 2
+:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:partnums:
:source-highlighter: rouge
:experimental:
-:book: true
-:pdf: false
+:images-path: books/developers-handbook/
ifdef::env-beastie[]
ifdef::backend-html5[]
@@ -56,36 +57,4 @@ Die aktuelle Version dieses Handbuchs ist immer auf dem http://www.FreeBSD.org/[
toc::[]
-// Section one
-[[basics]]
-= Grundlagen
-
-include::{chapters-path}introduction/chapter.adoc[leveloffset=+1]
-include::{chapters-path}tools/chapter.adoc[leveloffset=+1]
-include::{chapters-path}secure/chapter.adoc[leveloffset=+1]
-include::{chapters-path}l10n/chapter.adoc[leveloffset=+1]
-include::{chapters-path}policies/chapter.adoc[leveloffset=+1]
-include::{chapters-path}testing/chapter.adoc[leveloffset=+1]
-
-// Section two
-[[ipc]]
-= Interprozess-Kommunikation
-include::{chapters-path}sockets/chapter.adoc[leveloffset=+1]
-include::{chapters-path}ipv6/chapter.adoc[leveloffset=+1]
-
-// Section three
-[[kernel]]
-= Kernel
-include::{chapters-path}kernelbuild/chapter.adoc[leveloffset=+1]
-include::{chapters-path}kerneldebug/chapter.adoc[leveloffset=+1]
-
-// Section four
-[[architectures]]
-= Architekturen
-include::{chapters-path}x86/chapter.adoc[leveloffset=+1]
-
-// Appendices
-[[appendices]]
-= Anhang
-
-include::{chapters-path}bibliography/chapter.adoc[leveloffset=+1]
+include::{chapters-path}toc.adoc[]
diff --git a/documentation/content/de/books/developers-handbook/bibliography/chapter.adoc b/documentation/content/de/books/developers-handbook/bibliography/_index.adoc
index 37c2d499e2..929ecb7a1f 100644
--- a/documentation/content/de/books/developers-handbook/bibliography/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/bibliography/_index.adoc
@@ -1,6 +1,6 @@
---
title: Literaturverzeichnis
-prev: books/developers-handbook/x86
+prev: books/developers-handbook/partv
---
[bibliography]
diff --git a/documentation/content/de/books/developers-handbook/book.adoc b/documentation/content/de/books/developers-handbook/book.adoc
new file mode 100644
index 0000000000..f1e3428e0a
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/book.adoc
@@ -0,0 +1,84 @@
+---
+title: FreeBSD Developers' Handbook
+authors:
+ - author: The FreeBSD Documentation Project
+copyright: 1995-2020 The FreeBSD Documentation Project
+trademarks: ["freebsd", "apple", "ibm", "ieee", "intel", "linux", "microsoft", "opengroup", "sun", "general"]
+add_split_page_link: true
+---
+
+= FreeBSD Developers' Handbook
+:doctype: book
+:toc: macro
+:toclevels: 2
+:icons: font
+:sectnums:
+:sectnumlevels: 6
+:partnums:
+:source-highlighter: rouge
+:experimental:
+:book: true
+:pdf: false
+
+ifdef::env-beastie[]
+ifdef::backend-html5[]
+include::shared/authors.adoc[]
+include::shared/mirrors.adoc[]
+include::shared/releases.adoc[]
+include::shared/attributes/attributes-{{% lang %}}.adoc[]
+include::shared/{{% lang %}}/teams.adoc[]
+include::shared/{{% lang %}}/mailing-lists.adoc[]
+include::shared/{{% lang %}}/urls.adoc[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+ifdef::backend-pdf,backend-epub3[]
+:chapters-path:
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+include::../../../../../shared/asciidoctor.adoc[]
+endif::[]
+
+[.abstract-title]
+[abstract]
+Zusammenfassung
+
+Willkommen zum Entwickler-Handbuch. Dieses Handbuch ist _jederzeit unter Bearbeitung_ und das Ergebnis der Arbeit vieler Einzelpersonen. Dies kann dazu führen, dass bestimmte Bereiche nicht mehr aktuell sind und auf den neuesten Stand gebracht werden müssen. Bei Unklarheiten empfiehlt es sich daher stets, auch die extref:{developers-handbook}[englische Originalversion] des Handbuchs zu lesen.
+
+Wenn Sie bei der Übersetzung dieses Handbuchs mithelfen möchten, senden Sie bitte eine E-Mail an die Mailingliste {de-doc}.
+
+Die aktuelle Version dieses Handbuchs ist immer auf dem http://www.FreeBSD.org/[FreeBSD-Webserver] verfügbar und kann in verschiedenen Formaten und in komprimierter Form vom link:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc[FreeBSD-FTP-Server] oder einem der zahlreichen extref:{handbook}mirrors/[Spiegel, mirrors-ftp] heruntergeladen werden (ältere Versionen finden Sie hingegen unter http://docs.FreeBSD.org/doc/[http://docs.FreeBSD.org/doc/]).
+
+'''
+
+toc::[]
+
+// Section one
+include::{chapters-path}parti.adoc[lines=15..16]
+include::{chapters-path}introduction/_index.adoc[leveloffset=+1]
+include::{chapters-path}tools/_index.adoc[leveloffset=+1]
+include::{chapters-path}secure/_index.adoc[leveloffset=+1]
+include::{chapters-path}l10n/_index.adoc[leveloffset=+1]
+include::{chapters-path}policies/_index.adoc[leveloffset=+1]
+include::{chapters-path}testing/_index.adoc[leveloffset=+1]
+
+// Section two
+include::{chapters-path}partii.adoc[lines=15..16]
+include::{chapters-path}sockets/_index.adoc[leveloffset=+1]
+include::{chapters-path}ipv6/_index.adoc[leveloffset=+1]
+
+// Section three
+include::{chapters-path}partiii.adoc[lines=15..16]
+include::{chapters-path}kernelbuild/_index.adoc[leveloffset=+1]
+include::{chapters-path}kerneldebug/_index.adoc[leveloffset=+1]
+
+// Section four
+include::{chapters-path}partiv.adoc[lines=15..16]
+include::{chapters-path}x86/_index.adoc[leveloffset=+1]
+
+// Appendices
+include::{chapters-path}partv.adoc[lines=15..16]
+include::{chapters-path}bibliography/_index.adoc[leveloffset=+1]
diff --git a/documentation/content/de/books/developers-handbook/chapters-order.adoc b/documentation/content/de/books/developers-handbook/chapters-order.adoc
index 90183764d6..ef978f645c 100644
--- a/documentation/content/de/books/developers-handbook/chapters-order.adoc
+++ b/documentation/content/de/books/developers-handbook/chapters-order.adoc
@@ -1,12 +1,17 @@
-introduction/chapter.adoc
-tools/chapter.adoc
-secure/chapter.adoc
-l10n/chapter.adoc
-policies/chapter.adoc
-testing/chapter.adoc
-sockets/chapter.adoc
-ipv6/chapter.adoc
-kernelbuild/chapter.adoc
-kerneldebug/chapter.adoc
-x86/chapter.adoc
-bibliography/chapter.adoc
+parti.adoc
+introduction/_index.adoc
+tools/_index.adoc
+secure/_index.adoc
+l10n/_index.adoc
+policies/_index.adoc
+testing/_index.adoc
+partii.adoc
+sockets/_index.adoc
+ipv6/_index.adoc
+partiii.adoc
+kernelbuild/_index.adoc
+kerneldebug/_index.adoc
+partiv.adoc
+x86/_index.adoc
+partv.adoc
+bibliography/_index.adoc
diff --git a/documentation/content/de/books/developers-handbook/introduction/chapter.adoc b/documentation/content/de/books/developers-handbook/introduction/_index.adoc
index 12e216ef87..3f8e9f8641 100644
--- a/documentation/content/de/books/developers-handbook/introduction/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/introduction/_index.adoc
@@ -1,6 +1,6 @@
---
title: Kapitel 1. Einführung
-prev: books/developers-handbook/
+prev: books/developers-handbook/parti
next: books/developers-handbook/tools
---
diff --git a/documentation/content/de/books/developers-handbook/ipv6/chapter.adoc b/documentation/content/de/books/developers-handbook/ipv6/_index.adoc
index 6610b447e7..f593b8eddc 100644
--- a/documentation/content/de/books/developers-handbook/ipv6/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/ipv6/_index.adoc
@@ -1,7 +1,7 @@
---
title: Kapitel 8. IPv6 Internals
prev: books/developers-handbook/sockets
-next: books/developers-handbook/kernelbuild
+next: books/developers-handbook/partiii
---
[[ipv6]]
diff --git a/documentation/content/de/books/developers-handbook/kernelbuild/chapter.adoc b/documentation/content/de/books/developers-handbook/kernelbuild/_index.adoc
index 2402b2b5b0..6bdfb90624 100644
--- a/documentation/content/de/books/developers-handbook/kernelbuild/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/kernelbuild/_index.adoc
@@ -1,6 +1,6 @@
---
title: Kapitel 9. Einen FreeBSD-Kernel bauen und installieren
-prev: books/developers-handbook/ipv6
+prev: books/developers-handbook/partiii
next: books/developers-handbook/kerneldebug
---
diff --git a/documentation/content/de/books/developers-handbook/kerneldebug/chapter.adoc b/documentation/content/de/books/developers-handbook/kerneldebug/_index.adoc
index 1e3aabb544..7afb5d9591 100644
--- a/documentation/content/de/books/developers-handbook/kerneldebug/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/kerneldebug/_index.adoc
@@ -5,7 +5,7 @@ authors:
- author: Jörg Wunsch
- author: Robert Watson
prev: books/developers-handbook/kernelbuild
-next: books/developers-handbook/x86
+next: books/developers-handbook/partiv
---
[[kerneldebug]]
diff --git a/documentation/content/de/books/developers-handbook/l10n/chapter.adoc b/documentation/content/de/books/developers-handbook/l10n/_index.adoc
index 8a4b50b4be..8a4b50b4be 100644
--- a/documentation/content/de/books/developers-handbook/l10n/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/l10n/_index.adoc
diff --git a/documentation/content/de/books/developers-handbook/parti.adoc b/documentation/content/de/books/developers-handbook/parti.adoc
new file mode 100644
index 0000000000..922ea617fe
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/parti.adoc
@@ -0,0 +1,18 @@
+---
+title: Teil I. Grundlagen
+prev: books/developers-handbook
+next: books/developers-handbook/introduction
+---
+
+ifdef::env-beastie+backend-html5[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+endif::[]
+
+[[basics]]
+= Grundlagen
+
+include::{chapters-path}toc-1.adoc[]
diff --git a/documentation/content/de/books/developers-handbook/partii.adoc b/documentation/content/de/books/developers-handbook/partii.adoc
new file mode 100644
index 0000000000..c22c2c69b4
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/partii.adoc
@@ -0,0 +1,18 @@
+---
+title: Teil II. Interprozess-Kommunikation
+prev: books/developers-handbook/testing
+next: books/developers-handbook/sockets
+---
+
+ifdef::env-beastie+backend-html5[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+endif::[]
+
+[[ipc]]
+= Interprozess-Kommunikation
+
+include::{chapters-path}toc-2.adoc[]
diff --git a/documentation/content/de/books/developers-handbook/partiii.adoc b/documentation/content/de/books/developers-handbook/partiii.adoc
new file mode 100644
index 0000000000..d60c283535
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/partiii.adoc
@@ -0,0 +1,18 @@
+---
+title: Teil III. Kernel
+prev: books/developers-handbook/ipv6
+next: books/developers-handbook/kernelbuild
+---
+
+ifdef::env-beastie+backend-html5[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+endif::[]
+
+[[kernel]]
+= Kernel
+
+include::{chapters-path}toc-3.adoc[]
diff --git a/documentation/content/de/books/developers-handbook/partiv.adoc b/documentation/content/de/books/developers-handbook/partiv.adoc
new file mode 100644
index 0000000000..ddbb74d94e
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/partiv.adoc
@@ -0,0 +1,19 @@
+---
+title: Teil IV. Architekturen
+prev: books/developers-handbook/kerneldebug
+next: books/developers-handbook/x86
+---
+
+ifdef::env-beastie+backend-html5[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+endif::[]
+
+[[architectures]]
+= Architekturen
+
+include::{chapters-path}toc-4.adoc[]
+
diff --git a/documentation/content/de/books/developers-handbook/partv.adoc b/documentation/content/de/books/developers-handbook/partv.adoc
new file mode 100644
index 0000000000..4543335af2
--- /dev/null
+++ b/documentation/content/de/books/developers-handbook/partv.adoc
@@ -0,0 +1,18 @@
+---
+title: Teil V. Anhang
+prev: books/developers-handbook/x86
+next: books/developers-handbook/bibliography
+---
+
+ifdef::env-beastie+backend-html5[]
+:chapters-path: content/{{% lang %}}/books/developers-handbook/
+endif::[]
+
+ifndef::env-beastie[]
+:chapters-path:
+endif::[]
+
+[[appendices]]
+= Anhang
+
+include::{chapters-path}toc-5.adoc[]
diff --git a/documentation/content/de/books/developers-handbook/policies/chapter.adoc b/documentation/content/de/books/developers-handbook/policies/_index.adoc
index e03d03c675..e03d03c675 100644
--- a/documentation/content/de/books/developers-handbook/policies/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/policies/_index.adoc
diff --git a/documentation/content/de/books/developers-handbook/secure/chapter.adoc b/documentation/content/de/books/developers-handbook/secure/_index.adoc
index 4407013162..ae66e1e19f 100644
--- a/documentation/content/de/books/developers-handbook/secure/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/secure/_index.adoc
@@ -59,9 +59,9 @@ Eine der Stolperfallen der UNIX(R)-Umgebung ist, dass es sehr einfach ist Annahm
[[secure-bufferov]]
== Puffer-Überläufe
-Puffer-Überläufe gibt es schon seit den Anfängen der Von-Neuman-Architektur <<COD>>. Sie erlangten zum ersten Mal durch den Internetwurm Morris im Jahre 1988 öffentliche Bekanntheit. Unglücklicherweise funktioniert der gleiche grundlegende Angriff noch heute. Die bei weitem häufigste Form eines Puffer-Überlauf-Angriffs basiert darauf, den Stack zu korrumpieren.
+Puffer-Überläufe gibt es schon seit den Anfängen der Von-Neuman-Architektur crossref:bibliography[cod,1]. Sie erlangten zum ersten Mal durch den Internetwurm Morris im Jahre 1988 öffentliche Bekanntheit. Unglücklicherweise funktioniert der gleiche grundlegende Angriff noch heute. Die bei weitem häufigste Form eines Puffer-Überlauf-Angriffs basiert darauf, den Stack zu korrumpieren.
-Die meisten modernen Computer-Systeme verwenden einen Stack, um Argumente an Prozeduren zu übergeben und lokale Variablen zu speichern. Ein Stack ist ein last-in-first-out-Puffer (LIFO) im hohen Speicherbereich eines Prozesses. Wenn ein Programm eine Funktion aufruft wird ein neuer "Stackframe" erzeugt. Dieser besteht aus den Argumenten, die der Funktion übergeben wurden und einem variabel grossem Bereich für lokale Variablen. Der "Stack-Pointer" ist ein Register, dass die aktuelle Adresse der Stack-Spitze enthält. Da sich dieser Wert oft ändert, wenn neue Werte auf dem Stack abgelegt werden, bieten viele Implementierungen einen "Frame-Pointer", der nahe am Anfang des Stack-Frames liegt und es so leichter macht lokale Variablen relativ zum aktuellen Stackframe zu adressieren. <<COD>> Die Rücksprungadresse der Funktionen werden ebenfalls auf dem Stack gespeichert und das ist der Grund für Stack-Überlauf-Exploits. Denn ein böswilliger Nutzer kann die Rücksprungadresse der Funktion überschreiben indem er eine lokale Variable in der Funktion überlaufen lässt, wodurch es ihm möglich ist beliebigen Code auszuführen.
+Die meisten modernen Computer-Systeme verwenden einen Stack, um Argumente an Prozeduren zu übergeben und lokale Variablen zu speichern. Ein Stack ist ein last-in-first-out-Puffer (LIFO) im hohen Speicherbereich eines Prozesses. Wenn ein Programm eine Funktion aufruft wird ein neuer "Stackframe" erzeugt. Dieser besteht aus den Argumenten, die der Funktion übergeben wurden und einem variabel grossem Bereich für lokale Variablen. Der "Stack-Pointer" ist ein Register, dass die aktuelle Adresse der Stack-Spitze enthält. Da sich dieser Wert oft ändert, wenn neue Werte auf dem Stack abgelegt werden, bieten viele Implementierungen einen "Frame-Pointer", der nahe am Anfang des Stack-Frames liegt und es so leichter macht lokale Variablen relativ zum aktuellen Stackframe zu adressieren. crossref:bibliography[cod,1] Die Rücksprungadresse der Funktionen werden ebenfalls auf dem Stack gespeichert und das ist der Grund für Stack-Überlauf-Exploits. Denn ein böswilliger Nutzer kann die Rücksprungadresse der Funktion überschreiben indem er eine lokale Variable in der Funktion überlaufen lässt, wodurch es ihm möglich ist beliebigen Code auszuführen.
Obwohl Stack-basierte Angriffe bei weitem die Häufigsten sind, ist es auch möglich den Stack mit einem Heap-basierten (malloc/free) Angriff zu überschreiben.
@@ -109,7 +109,7 @@ Kann den Puffer str überlaufen lassen
=== Puffer-Überlauf Beispiel
-Das folgende Quellcode-Beispiel enthält einen Puffer-Überlauf, der darauf ausgelegt ist die Rücksprungadresse zu überschreiben und die Anweisung direkt nach dem Funktionsaufruf zu überspringen. (Inspiriert durch <<Phrack>>)
+Das folgende Quellcode-Beispiel enthält einen Puffer-Überlauf, der darauf ausgelegt ist die Rücksprungadresse zu überschreiben und die Anweisung direkt nach dem Funktionsaufruf zu überspringen. (Inspiriert durch crossref:bibliography[Phrack,4])
[.programlisting]
....
@@ -144,7 +144,7 @@ Offensichtlich kann man durch böswilligere Eingaben bereits kompilierten Progra
Die direkteste Lösung, um Stack-Überläufe zu vermeiden, ist immer grössenbegrenzten Speicher und String-Copy-Funktionen zu verwenden. `strncpy` und `strncat` sind Teil der C-Standardbibliothek. Diese Funktionen akzeptieren einen Längen-Parameter. Dieser Wert sollte nicht größer sein als die Länge des Zielpuffers. Die Funktionen kopieren dann bis zu `length` Bytes von der Quelle zum Ziel. Allerdings gibt es einige Probleme. Keine der Funktionen garantiert, dass die Zeichenkette NUL-terminiert ist, wenn die Größe des Eingabepuffers so groß ist wie das Ziel. Außerdem wird der Parameter length zwischen strncpy und strncat inkonsistent definiert, weshalb Programmierer leicht bezüglich der korrekten Verwendung durcheinander kommen können. Weiterhin gibt es einen spürbaren Leistungsverlust im Vergleich zu `strcpy`, wenn eine kurze Zeichenkette in einen großen Puffer kopiert wird. Denn `strncpy` fült den Puffer bis zur angegebenen Länge mit NUL auf.
-In OpenBSD wurde eine weitere Möglichkeit zum kopieren von Speicherbereichen implementiert, die dieses Problem umgeht. Die Funktionen `strlcpy` und `strlcat` garantieren, dass das Ziel immer NUL-terminiert wird, wenn das Argument length ungleich null ist. Für weitere Informationen über diese Funktionen lesen Sie bitte <<OpenBSD>>. Die OpenBSD-Funktionen `strlcpy` und `strlcat` sind seit Version 3.3 auch in FreeBSD verfügbar.
+In OpenBSD wurde eine weitere Möglichkeit zum kopieren von Speicherbereichen implementiert, die dieses Problem umgeht. Die Funktionen `strlcpy` und `strlcat` garantieren, dass das Ziel immer NUL-terminiert wird, wenn das Argument length ungleich null ist. Für weitere Informationen über diese Funktionen lesen Sie bitte crossref:bibliography[OpenBSD,6]. Die OpenBSD-Funktionen `strlcpy` und `strlcat` sind seit Version 3.3 auch in FreeBSD verfügbar.
==== Compiler-basierte Laufzeitüberprüfung von Grenzen
diff --git a/documentation/content/de/books/developers-handbook/sockets/chapter.adoc b/documentation/content/de/books/developers-handbook/sockets/_index.adoc
index 9ec9f3a459..ec674e1759 100644
--- a/documentation/content/de/books/developers-handbook/sockets/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/sockets/_index.adoc
@@ -2,7 +2,7 @@
title: Kapitel 7. Sockets
authors:
- author: G. Adam Stanislav
-prev: books/developers-handbook/testing
+prev: books/developers-handbook/partii
next: books/developers-handbook/ipv6
---
diff --git a/documentation/content/de/books/developers-handbook/testing/chapter.adoc b/documentation/content/de/books/developers-handbook/testing/_index.adoc
index ea7fd0efac..7dbde48073 100644
--- a/documentation/content/de/books/developers-handbook/testing/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/testing/_index.adoc
@@ -1,7 +1,7 @@
---
title: Kapitel 6. Regressions- und Performance-Tests
prev: books/developers-handbook/policies
-next: books/developers-handbook/sockets
+next: books/developers-handbook/partii
---
[[testing]]
diff --git a/documentation/content/de/books/developers-handbook/tools/chapter.adoc b/documentation/content/de/books/developers-handbook/tools/_index.adoc
index a511fdae7e..a511fdae7e 100644
--- a/documentation/content/de/books/developers-handbook/tools/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/tools/_index.adoc
diff --git a/documentation/content/de/books/developers-handbook/x86/chapter.adoc b/documentation/content/de/books/developers-handbook/x86/_index.adoc
index f4830a5735..4ec4bfaf90 100644
--- a/documentation/content/de/books/developers-handbook/x86/chapter.adoc
+++ b/documentation/content/de/books/developers-handbook/x86/_index.adoc
@@ -1,7 +1,7 @@
---
title: Kapitel 11. x86-Assembler-Programmierung
-prev: books/developers-handbook/kerneldebug
-next: books/developers-handbook/bibliography
+prev: books/developers-handbook/partiv
+next: books/developers-handbook/partv
---
[[x86]]