Date: Sun, 21 Nov 2021 19:04:19 GMT From: Sergio Carlavilla Delgado <carlavilla@FreeBSD.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org Subject: git: c0a1c8e922 - main - Split German developers handbook Message-ID: <202111211904.1ALJ4JfY041858@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by carlavilla: URL: https://cgit.FreeBSD.org/doc/commit/?id=c0a1c8e9223b13a174895fc60840f7490728ec1c commit c0a1c8e9223b13a174895fc60840f7490728ec1c Author: Sergio Carlavilla Delgado <carlavilla@FreeBSD.org> AuthorDate: 2021-11-21 19:03:58 +0000 Commit: Sergio Carlavilla Delgado <carlavilla@FreeBSD.org> CommitDate: 2021-11-21 19:03:58 +0000 Split German developers handbook --- .../de/books/developers-handbook/_index.adoc | 41 ++--------- .../bibliography/{chapter.adoc => _index.adoc} | 2 +- .../content/de/books/developers-handbook/book.adoc | 84 ++++++++++++++++++++++ .../books/developers-handbook/chapters-order.adoc | 29 ++++---- .../introduction/{chapter.adoc => _index.adoc} | 2 +- .../ipv6/{chapter.adoc => _index.adoc} | 2 +- .../kernelbuild/{chapter.adoc => _index.adoc} | 2 +- .../kerneldebug/{chapter.adoc => _index.adoc} | 2 +- .../l10n/{chapter.adoc => _index.adoc} | 0 .../de/books/developers-handbook/parti.adoc | 18 +++++ .../de/books/developers-handbook/partii.adoc | 18 +++++ .../de/books/developers-handbook/partiii.adoc | 18 +++++ .../de/books/developers-handbook/partiv.adoc | 19 +++++ .../de/books/developers-handbook/partv.adoc | 18 +++++ .../policies/{chapter.adoc => _index.adoc} | 0 .../secure/{chapter.adoc => _index.adoc} | 8 +-- .../sockets/{chapter.adoc => _index.adoc} | 2 +- .../testing/{chapter.adoc => _index.adoc} | 2 +- .../tools/{chapter.adoc => _index.adoc} | 0 .../x86/{chapter.adoc => _index.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 similarity index 97% rename from documentation/content/de/books/developers-handbook/bibliography/chapter.adoc rename to 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 similarity index 99% rename from documentation/content/de/books/developers-handbook/introduction/chapter.adoc rename to 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 similarity index 99% rename from documentation/content/de/books/developers-handbook/ipv6/chapter.adoc rename to 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 similarity index 98% rename from documentation/content/de/books/developers-handbook/kernelbuild/chapter.adoc rename to 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 similarity index 99% rename from documentation/content/de/books/developers-handbook/kerneldebug/chapter.adoc rename to 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 similarity index 100% rename from documentation/content/de/books/developers-handbook/l10n/chapter.adoc rename to 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 similarity index 100% rename from documentation/content/de/books/developers-handbook/policies/chapter.adoc rename to 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 similarity index 94% rename from documentation/content/de/books/developers-handbook/secure/chapter.adoc rename to 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 similarity index 96% rename from documentation/content/de/books/developers-handbook/sockets/chapter.adoc rename to 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 similarity index 99% rename from documentation/content/de/books/developers-handbook/testing/chapter.adoc rename to 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 similarity index 100% rename from documentation/content/de/books/developers-handbook/tools/chapter.adoc rename to 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 similarity index 99% rename from documentation/content/de/books/developers-handbook/x86/chapter.adoc rename to 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]]
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202111211904.1ALJ4JfY041858>