Moin, die Handbuchseiten von Dpkg sind nie korrekturgelesen worden. Daher bringe ich sie jetzt so nach und nach hier ein, in Päcken von jeweils ca. 40 Zeichenketten. Anbei Teil 37/77. Für konstruktive Kritik wäre ich dankbar. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
#. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<thread>" msgstr "B<thread>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (disabled by default) adds B<-fsanitize=thread> to B<CFLAGS>, " "B<CXXFLAGS> and B<LDFLAGS>." msgstr "" "Diese Einstellung (standardmäßig deaktiviert) fügt B<-fsanitize=thread> zu " "B<CFLAGS>, B<CXXFLAGS> und B<LDFLAGS> hinzu." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<leak>" msgstr "B<leak>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (disabled by default) adds B<-fsanitize=leak> to B<LDFLAGS>. It " "gets automatically disabled if either the B<address> or the B<thread> " "features are enabled, as they imply it." msgstr "" "Diese Einstellung (standardmäßig deaktiviert) fügt B<-fsanitize=leak> zu " "B<LDFLAGS> hinzu. Sie wird automatisch deaktiviert, falls entweder die " "Funktionalitäten B<address> oder B<thread> aktiviert werden, da diese sie " "einschließen." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<undefined>" msgstr "B<undefined>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (disabled by default) adds B<-fsanitize=undefined> to " "B<CFLAGS>, B<CXXFLAGS> and B<LDFLAGS>." msgstr "" "Diese Einstellung (standardmäßig deaktiviert) fügt B<-fsanitize=undefined> " "zu B<CFLAGS>, B<CXXFLAGS> und B<LDFLAGS> hinzu." #. type: SS #: dpkg-buildflags.man #, no-wrap msgid "hardening" msgstr "hardening (Härtung)" #. type: Plain text #: dpkg-buildflags.man msgid "" "Several compile-time options (detailed below) can be used to help harden a " "resulting binary against memory corruption attacks, or provide additional " "warning messages during compilation. Except as noted below, these are " "enabled by default for architectures that support them." msgstr "" "Mehrere Kompilierzeit-Optionen (weiter unten beschrieben) können dazu " "verwandt werden, ein erstelltes Programm gegen Speicherverfälschungsangriffe " "zu härten, oder zusätzliche Warnungsmeldungen während der Übersetzung " "auszugeben. Sie werden für Architekturen, die diese unterstützen, " "standardmäßig aktiviert; die Ausnahmen sind unten angegeben." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<format>" msgstr "B<format>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (enabled by default) adds B<-Wformat -Werror=format-security> " "to B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS> and B<OBJCXXFLAGS>. This will warn " "about improper format string uses, and will fail when format functions are " "used in a way that represent possible security problems. At present, this " "warns about calls to B<printf> and B<scanf> functions where the format " "string is not a string literal and there are no format arguments, as in " "B<printf(foo);> instead of B<printf(\"%s\", foo);> This may be a security " "hole if the format string came from untrusted input and contains ‘%n’." msgstr "" "Diese Einstellung (standardmäßig aktiviert) fügt B<-Wformat -Werror=format-" "security> zu B<CFLAGS>, B<CXXFLAGS> B<CXXFLAGS>, B<OBJCFLAGS> und " "B<OBJCXXFLAGS> hinzu. Damit wird über inkorrekte " "Formatzeichenkettenverwendungen gewarnt und zu einem Fehler führen, wenn " "Formatfunktionen deart verwandt werden, dass daraus ein mögliches " "Sicherheitsproblem werden könnte. Derzeit warnt dies über Aufrufe auf " "B<printf>- und B<scanf>-Funktionen, bei denen die Formatzeichenkette nicht " "eine reine Zeichenkette ist und es keine Formatargumente gibt, wie in " "B<printf(foo);> statt B<printf(\"%s\", foo);>. Dies könnte ein " "Sicherheitsproblem sein, falls die Formatzeichenkette aus einer " "unvertrauenswürdigen Eingabe stammt und ‚%n’ enthält." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<fortify>" msgstr "B<fortify>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (enabled by default) adds B<-D_FORTIFY_SOURCE=2> to " "B<CPPFLAGS>. During code generation the compiler knows a great deal of " "information about buffer sizes (where possible), and attempts to replace " "insecure unlimited length buffer function calls with length-limited ones. " "This is especially useful for old, crufty code. Additionally, format " "strings in writable memory that contain ‘%n’ are blocked. If an application " "depends on such a format string, it will need to be worked around." msgstr "" "Diese Einstellung (standardmäßig aktiviert) fügt B<-D_FORTIFY_SOURCE=2> zu " "B<CPPFLAGS> hinzu. Während der Code-Erstellung hat der Compiler umfangreiche " "Informationen über Puffergrößen (wo möglich) und versucht, unsichere " "unbegrenzte Pufferfunktionsaufrufe durch längenbegrenzte zu ersetzen. Das " "ist besonders für alten, verkramten Code nützlich. Zusätzlich werden " "Formatzeichenketten in schreibbarem Speicher, die ‚%n’ enthalten, blockiert. " "Falls eine Anwendung von solchen Formatzeichenketten abhängt, müssen dafür " "andere Lösungsmöglichkeiten gefunden werden." #. type: Plain text #: dpkg-buildflags.man msgid "" "Note that for this option to have any effect, the source must also be " "compiled with B<-O1> or higher. If the environment variable " "B<DEB_BUILD_OPTIONS> contains I<noopt>, then B<fortify> support will be " "disabled, due to new warnings being issued by glibc 2.16 and later." msgstr "" "Beachten Sie, dass die Quellen auch mit B<-O1> oder höher übersetzt werden " "müssen, damit diese Option einen Effekt hat. Falls die Umgebungsvariable " "B<DEB_BUILD_OPTIONS> I<noopt> enthält, dann wird die Unterstützung von " "B<fortify> aufgrund neuer Warnungen von Glibc 2.16 und neuer deaktiviert." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<stackprotector>" msgstr "B<stackprotector>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (enabled by default if stackprotectorstrong is not in use) adds " "B<-fstack-protector --param=ssp-buffer-size=4> to B<CFLAGS>, B<CXXFLAGS>, " "B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and B<FCFLAGS>. This " "adds safety checks against stack overwrites. This renders many potential " "code injection attacks into aborting situations. In the best case this turns " "code injection vulnerabilities into denial of service or into non-issues " "(depending on the application)." msgstr "" "Diese Einstellung (standardmäßig aktiviert falls stackprotectorstrong nicht " "verwandt wird) fügt B<-fstack-protector --param=ssp-buffer-size=4> zu " "B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> " "und B<FCFLAGS> hinzu. Dies fügt Sicherheitsprüfungen gegen die " "Überschreibung des Stapelspeichers (Stacks) hinzu. Damit werden viele " "mögliche Code-Einfügeangriffe zu Abbruchsituationen. Im besten Fall werden " "damit Code-Einfügungsangriffe zu Diensteverweigerungsangriffen oder zu " "keinen Problemen (abhängig von der Anwendung)." #. type: Plain text #: dpkg-buildflags.man msgid "" "This feature requires linking against glibc (or another provider of " "B<__stack_chk_fail>), so needs to be disabled when building with B<-" "nostdlib> or B<-ffreestanding> or similar." msgstr "" "Diese Funktionalität benötigt das Linken mit Glibc (oder einem anderen " "Anbieter von B<__stack_chk_fail>). Sie muss daher deaktiviert werden, wenn " "mit B<-nostdlib> oder B<-ffreestanding> oder Ähnlichem gebaut wird." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<stackprotectorstrong>" msgstr "B<stackprotectorstrong>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (enabled by default) adds B<-fstack-protector-strong> to " "B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> " "and B<FCFLAGS>. This is a stronger variant of B<stackprotector>, but " "without significant performance penalties." msgstr "" "Diese Einstellung (standardmäßig aktiviert) fügt B<-fstack-protector-strong> " "zu B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, " "B<FFLAGS> und B<FCFLAGS> hinzu. Dies ist eine stärkere Variante von " "B<stackprotector> allerdings ohne signifikante Einbußen bei der Leistung." #. type: Plain text #: dpkg-buildflags.man msgid "Disabling B<stackprotector> will also disable this setting." msgstr "" "Deaktivierung von B<stackprotector> deaktiviert auch diese Einstellung." #. type: Plain text #: dpkg-buildflags.man msgid "" "This feature has the same requirements as B<stackprotector>, and in addition " "also requires gcc 4.9 and later." msgstr "" "Diese Funktionalität stellt die gleichen Anforderungen wie B<stackprotector> " "und benötigt zusätzlich Gcc 4.9 oder neuer." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<relro>" msgstr "B<relro>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (enabled by default) adds B<-Wl,-z,relro> to B<LDFLAGS>. " "During program load, several ELF memory sections need to be written to by " "the linker. This flags the loader to turn these sections read-only before " "turning over control to the program. Most notably this prevents GOT " "overwrite attacks. If this option is disabled, B<bindnow> will become " "disabled as well." msgstr "" "Diese Einstellung (standardmäßig aktiviert) fügt B<-Wl,-z,relro> zu " "B<LDFLAGS> hinzu. Während des Ladens des Programms müssen mehrere ELF-" "Speicherabschnitte vom Binder (Linker) geschrieben werden. Diese Einstellung " "signalisiert dem Ladeprogramm, diese Abschnitte in nur-Lese-Zugriff zu " "ändern, bevor die Steuerung an das Programm übergeben wird. Insbesondere " "verhindert dies GOT-Überschreibeangriffe. Falls diese Option deaktiviert " "ist, wird auch B<bindnow> deaktiviert." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<bindnow>" msgstr "B<bindnow>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (disabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. During " "program load, all dynamic symbols are resolved, allowing for the entire PLT " "to be marked read-only (due to B<relro> above). The option cannot become " "enabled if B<relro> is not enabled." msgstr "" "Diese Einstellung (standardmäßig deaktiviert) fügt B<-Wl,-z,now> zu " "B<LDFLAGS> hinzu. Während des Ladens des Programms werden alle dynamischen " "Symbole aufgelöst, womit das gesamte PLT nur-lesend markiert werden kann " "(aufgrund von B<relro> oben). Diese Option kann nicht aktiviert werden, " "falls B<relro> nicht aktiviert ist." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<pie>" msgstr "B<pie>" #. type: Plain text #: dpkg-buildflags.man msgid "" "This setting (with no global default since dpkg 1.18.23, as it is enabled by " "default now by gcc on the amd64, arm64, armel, armhf, hurd-i386, i386, " "kfreebsd-amd64, kfreebsd-i386, mips, mipsel, mips64el, powerpc, ppc64, " "ppc64el, riscv64, s390x, sparc and sparc64 Debian architectures) adds the " "required options to enable or disable PIE via gcc specs files, if needed, " "depending on whether gcc injects on that architecture the flags by itself or " "not. When the setting is enabled and gcc injects the flags, it adds " "nothing. When the setting is enabled and gcc does not inject the flags, it " "adds B<-fPIE> (via I<%PKGDATADIR%/pie-compiler.specs>) to B<CFLAGS>, " "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and " "B<FCFLAGS>, and B<-fPIE -pie> (via I<%PKGDATADIR%/pie-link.specs>) to " "B<LDFLAGS>. When the setting is disabled and gcc injects the flags, it adds " "B<-fno-PIE> (via I<%PKGDATADIR%/no-pie-compile.specs>) to B<CFLAGS>, " "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> and " "B<FCFLAGS>, and B<-fno-PIE -no-pie> (via I<%PKGDATADIR%/no-pie-link.specs>) " "to B<LDFLAGS>." msgstr "" "Diese Einstellung (seit Dpkg 1.18.23 ohne globale Vorgabe, da sie jetzt " "standardmäßig durch GCC auf den Debian-Architekturen Amd64, Arm64, Armel, " "Armhf, Hurd-i386, I386, Kfreebsd-amd64, Kfreebsd-i386, Mips, Mipsel, " "Mips64el, Powerpc, PPC64, PPC64el, Riscv64, S390x, Sparc und Sparc64 " "aktiviert ist) fügt, falls benötigt, die benötigten Optionen, um PIE zu " "aktivieren oder zu deaktiveren, über GCC-Spezifikationsdateien hinzu, " "abhängig davon, ob GCC auf diesen Architekturen die Schalter selbst " "einspeist oder nicht. Wenn die Einstellung aktiviert ist und GCC den " "Schalter einspeist, fügt dies nichts hinzu. Wenn die Einstellung aktiviert " "ist und GCC den Schalter nicht einspeist, dann fügt es B<-fPIE> (mittels I<" "%PKGDATADIR%/pie-compiler.specs>) zu B<CFLAGS>, B<CXXFLAGS>, B<OBJCFLAGS>, " "B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> und B<FCFLAGS> und B<-fPIE -pie> " "(mittels I<%PKGDATADIR%/pie-link.specs>) zu B<LDFLAGS> hinzu. Wenn die " "Einstellung deaktiviert ist und GCC den Schalter einspeist, dann fügt es B<-" "fno-PIE> (mittels I<%PKGDATADIR%/no-pie-compile.specs>) zu B<CFLAGS>, " "B<CXXFLAGS>, B<OBJCFLAGS>, B<OBJCXXFLAGS>, B<GCJFLAGS>, B<FFLAGS> und " "B<FCFLAGS> und B<-fno-PIE -no-pie> (mittels I<%PKGDATADIR%/no-pie-link." "specs>) zu B<LDFLAGS> hinzu." #. type: Plain text #: dpkg-buildflags.man msgid "" "Position Independent Executable are needed to take advantage of Address " "Space Layout Randomization, supported by some kernel versions. While ASLR " "can already be enforced for data areas in the stack and heap (brk and mmap), " "the code areas must be compiled as position-independent. Shared libraries " "already do this (B<-fPIC>), so they gain ASLR automatically, but binary ." "text regions need to be build PIE to gain ASLR. When this happens, ROP " "(Return Oriented Programming) attacks are much harder since there are no " "static locations to bounce off of during a memory corruption attack." msgstr "" "„Position Independent Executable“ (positionsunabhängige Programme) werden " "benötigt, um „Address Space Layout Randomization“ (Bereitstellung eines " "zufälligen Adressbereichlayouts) auszunutzen, der von einigen " "Kernelversionen bereitgestellt wird. Während ASLR bereits für Datenbereiche " "auf dem Stapel (Stack) und Heap erzwungen werden kann (brk und mmap), müssen " "die Codebereiche positionsunabhängig übersetzt werden. Laufzeitbibliotheken " "machen dies bereits (B<-fPIC>), so dass sie ASLR automatisch erhalten, aber " "Programm-.text-Regionen müssen mit PIE gebaut werden, um ASLR zu erhalten. " "Wenn dies passiert, sind ROP- (Return Oriented Programming) Angriffe sehr " "viel schwerer durchzuführen, da es keine statischen Orte mehr gibt, zu denen " "während eines Speicherverfälschungsangriffs hingesprungen werden könnte." #. type: Plain text #: dpkg-buildflags.man msgid "" "PIE is not compatible with B<-fPIC>, so in general care must be taken when " "building shared objects. But because the PIE flags emitted get injected via " "gcc specs files, it should always be safe to unconditionally set them " "regardless of the object type being compiled or linked." msgstr "" "PIE ist nicht mit B<-fPIC> kompatibel, daher muss im Allgemeinen Vorsicht " "beim Bau von Laufzeitbibliotheksobjekten walten gelassen werden. Da aber der " "ausgegebene PIE-Schalter mittels GCC-Spezifikationsdateien hinzugefügt wird, " "sollte es immer sicher sein, sie bedingungslos zu setzen, unabhängig von dem " "Objekttyp, der übersetzt oder gelinkt wird." #. type: Plain text #: dpkg-buildflags.man msgid "" "Static libraries can be used by programs or other shared libraries. " "Depending on the flags used to compile all the objects within a static " "library, these libraries will be usable by different sets of objects:" msgstr "" "Statische Bibliotheken können von jedem Programm und anderen statischen " "Bibliotheken benutzt werden. Abhängig von den zum Kompilieren aller Objekte " "innerhalb einer statischen Bibliothek verwandten Schaltern können diese " "Bibliotheken von verschiedenen Gruppen von Objekten verwandt werden:" #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "none" msgstr "keine" #. type: Plain text #: dpkg-buildflags.man msgid "Cannot be linked into a PIE program, nor a shared library." msgstr "" "Kann weder in ein PIE-Programm noch in eine Laufzeitbibliothek gelinkt " "werden." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<-fPIE>" msgstr "B<-fPIE>" #. type: Plain text #: dpkg-buildflags.man msgid "Can be linked into any program, but not a shared library (recommended)." msgstr "" "Kann in jedes Programm, aber nicht in eine Laufzeitbibliothek gelinkt werden " "(empfohlen)." #. type: TP #: dpkg-buildflags.man #, no-wrap msgid "B<-fPIC>" msgstr "B<-fPIC>" #. type: Plain text #: dpkg-buildflags.man msgid "Can be linked into any program and shared library." msgstr "Kann in jedes Programm und jede Laufzeitbibliothek gelinkt werden." #. type: Plain text #: dpkg-buildflags.man msgid "" "If there is a need to set these flags manually, bypassing the gcc specs " "injection, there are several things to take into account. Unconditionally " "and explicitly passing B<-fPIE>, B<-fpie> or B<-pie> to a build-system using " "libtool is safe as these flags will get stripped when building shared " "libraries. Otherwise on projects that build both programs and shared " "libraries you might need to make sure that when building the shared " "libraries B<-fPIC> is always passed last (so that it overrides any previous " "B<-PIE>) to compilation flags such as B<CFLAGS>, and B<-shared> is passed " "last (so that it overrides any previous B<-pie>) to linking flags such as " "B<LDFLAGS>. B<Note:> This should not be needed with the default gcc specs " "machinery." msgstr "" "Falls es notwendig ist, diese Schalter manuell zu setzen und die GGC-" "Spezifikations-Hinzufügung zu umgehen, müssen mehrere Dinge beachtet werden. " "Die bedingungslose und explizite Übergabe von B<-fPIE>, B<-fpie> oder B<-" "pie> an das Bausystem mit Libtool ist sicher, da diese Schalter entfernt " "werden, wenn Laufzeit-Bibliotheken gebaut werden. Andernfalls könnte es bei " "Projekten, die sowohl Programme wie auch Laufzeit-Bibliotheken bauen, " "notwendig sein, dass Sie beim Bau der Laufzeit-Bibliotheken sicherstellen, " "dass B<-fPIC> immer als letztes an die Kompilierungsschalter wie B<CFLAGS> " "übergeben wird (so dass es jedes frühere B<-PIE> außer Kraft setzen kann) " "und B<-shared> als letztes an Link-Schalter wie B<LDFLAGS> übergeben wird " "(so dass es jedes frühere B<-pie> außer Kraft setzen kann). B<Hinweis>: Das " "sollte mit der Vorgabe-GCC-Spezifikationsmaschinerie nicht notwendig sein." #. type: Plain text #: dpkg-buildflags.man msgid "" "Additionally, since PIE is implemented via a general register, some register " "starved architectures (but not including i386 anymore since optimizations " "implemented in gcc E<gt>= 5) can see performance losses of up to 15% in very " "text-segment-heavy application workloads; most workloads see less than 1%. " "Architectures with more general registers (e.g. amd64) do not see as high a " "worst-case penalty." msgstr "" "Zusätzlich können auf einigen Architekturen mit sehr wenigen Registern (dazu " "gehört aber i386 nicht mehr, seitdem in GCC E<gt>= 5 Optimierungen " "erfolgten) Leistungsverluste von bis zu 15% in sehr text-Segment-lastigen " "Anwendungsfällen auftreten, da PIE über allgemeine Register implementiert " "ist; in den meisten Anwendungsfällen sind dies weniger als 1%. Architekturen " "mit mehr allgemeinen Registern (z.B. Amd64) erfahren nicht diese " "Schlimmstfall-Strafe." #. type: SS #: dpkg-buildflags.man #, no-wrap msgid "reproducible" msgstr "reproducible (Reproduzierbarkeit)" #. type: Plain text #: dpkg-buildflags.man msgid "" "The compile-time options detailed below can be used to help improve build " "reproducibility or provide additional warning messages during compilation. " "Except as noted below, these are enabled by default for architectures that " "support them." msgstr "" "Die Kompilierzeit-Optionen (weiter unten beschrieben) können dazu verwandt " "werden, die Reproduzierbarkeit zu verbessern oder zusätzliche " "Warnungsmeldungen während der Übersetzung auszugeben. Sie werden für " "Architekturen, die diese unterstützen, standardmäßig aktiviert; die " "Ausnahmen sind unten angegeben."
Attachment:
signature.asc
Description: PGP signature