{"id":102509,"date":"2021-12-07T15:37:11","date_gmt":"2021-12-07T13:37:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust"},"modified":"2021-12-07T15:37:11","modified_gmt":"2021-12-07T13:37:11","slug":"tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","title":{"rendered":"Die dritte Auflage der Patches f\u00fcr den Linux-Kernel mit Unterst\u00fctzung f\u00fcr die Programmiersprache Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Miguel Ojeda, der Autor des Rust-for-Linux-Projekts, hat den Entwicklern des Linux-Kernels einen dritten Vorschlag f\u00fcr Komponenten zur Entwicklung von Ger\u00e4tetreibern in der Programmiersprache Rust unterbreitet. Die Unterst\u00fctzung von Rust wird als experimentell betrachtet, ist jedoch bereits zur Einbeziehung in den linux-next-Zweig genehmigt. Die Entwicklung wird von Google und der ISRG (Internet Security Research Group) finanziert, die das Projekt Let\u2019s Encrypt ins Leben gerufen hat und die F\u00f6rderung von HTTPS sowie die Entwicklung von Technologien zur Verbesserung der Internetsicherheit unterst\u00fctzt.            <\/p>\n<p>Wir erinnern daran, dass die vorgeschlagenen \u00c4nderungen die M\u00f6glichkeit bieten, Rust als zweite Sprache f\u00fcr die Entwicklung von Treibern und Kernelmodulen zu verwenden. Die Unterst\u00fctzung von Rust wird als Option vorgestellt, die nicht standardm\u00e4\u00dfig aktiviert ist und nicht dazu f\u00fchrt, dass Rust zu den obligatorischen Build-Abh\u00e4ngigkeiten des Kernels geh\u00f6rt. Die Verwendung von Rust zur Treiberentwicklung erm\u00f6glicht es, mit minimalem Aufwand sichere und qualitativ hochwertige Treiber zu erstellen, die von Problemen wie dem Zugriff auf freigegebenen Speicher, Dereferenzierung von Nullzeigern und Buffer\u00fcberl\u00e4ufen befreit sind.    <\/p>\n<p>Die sichere Verwaltung von Speicher in Rust erfolgt w\u00e4hrend der Kompilierung durch \u00dcberpr\u00fcfung von Referenzen, das Verfolgen des Eigentums an Objekten und das Management der Lebensdauer von Objekten (Sichtbarkeiten). Au\u00dferdem bewertet Rust die Korrektheit des Zugriffs auf den Speicher zur Laufzeit. Rust bietet auch Mechanismen zum Schutz vor \u00dcberl\u00e4ufen bei Ganzzahlen, verlangt die obligatorische Initialisierung von Variablen vor ihrer Verwendung, behandelt Fehler in der Standardbibliothek besser und wendet das Konzept der Unver\u00e4nderlichkeit (immutable) f\u00fcr Referenzen und Variablen standardm\u00e4\u00dfig an. Zudem bietet es eine starke statische Typisierung zur Minimierung logischer Fehler.    <\/p>\n<p>In der neuen Patch-Version werden die w\u00e4hrend der Diskussion der ersten und zweiten Patch-Version ge\u00e4u\u00dferten Kommentare weiterhin adressiert. Die auff\u00e4lligsten \u00c4nderungen sind:  <\/p>\n<ul>\n<li class=\"l\"> Ein Wechsel zur Verwendung des stabilen Releases von Rust 1.57 als Referenzcompiler wurde vollzogen, und es wurde eine Bindung an die stabilisierte Version der Sprache Rust 2021 sichergestellt. Zuvor waren die Patches an den Beta-Zweig von Rust gebunden und verwendeten einige Sprachmerkmale, die als instabil gelten. Der \u00dcbergang zur Rust 2021-Spezifikation hat die Arbeit an der Beseitigung von instabilen Merkmalen in den Patches wie const_fn_transmute, const_panic, const_unreachable_unchecked und core_panic sowie try_reserve initiiert.\n<li class=\"l\"> Die Entwicklung der in die Patches integrierten Rust-Bibliothek alloc, die ge\u00e4ndert wurde, um Funktionen f\u00fcr die Speicherzuweisung von m\u00f6glichen \u201epanic\u201c-Zust\u00e4nden beim Auftreten von Fehlern, wie z.B. Speichermangel, zu befreien, wurde fortgesetzt. In der neuen Version wurden die Optionen \u201eno_rc\u201c und \u201eno_sync\u201c implementiert, um Funktionalit\u00e4ten, die im Rust-Code f\u00fcr den Kernel nicht verwendet werden, zu deaktivieren und die Bibliothek modulare zu gestalten. Die Zusammenarbeit mit den Hauptentwicklern von alloc, die darauf abzielt, notwendige \u00c4nderungen f\u00fcr den Kernel in den Hauptbestand der Bibliothek zu \u00fcbertragen, wird fortgef\u00fchrt. Die Option \u201eno_fp_fmt_parse\u201c, die f\u00fcr das Funktionieren der Bibliothek auf Kernel-Ebene erforderlich ist, wurde in die Basisbibliothek Rust (core) \u00fcbertragen.\n<li class=\"l\"> Eine Codebereinigung wurde durchgef\u00fchrt, um m\u00f6gliche Compilerwarnungen beim Bauen des Kernels im CONFIG_WERROR-Modus zu beseitigen. Bei der Kompilierung des Rust-Codes wurden zus\u00e4tzliche Diagnosetools des Compilers und Warnungen des Linters Clippy aktiviert.\n<li class=\"l\"> Abstraktionen zur Verwendung von seqlock (Sequenzsperren), Callback-Aufrufen zur Energieverwaltung, I\/O Memory (readX\/writeX), Interrupt-Handler und Streams, GPIO sowie den Zugriff auf Ger\u00e4te, Treiber und Credentials wurden vorgeschlagen.\n<li class=\"l\"> Die Mittel zur Entwicklung von Treibern wurden durch die Implementierung von beweglichen Mutexen, Bit-Iteratoren, vereinfachten Wrappern \u00fcber Zeigern, verbesserter Fehlerdiagnose und Bus-unabh\u00e4ngiger Infrastruktur erweitert.\n<li class=\"l\"> Die Handhabung von Referenzen wurde durch einen vereinfachten Typ Ref verbessert, der auf dem Backend refcount_t basiert, das die gleichnamige Kernel-API zur Z\u00e4hlung von Referenzen verwendet. Die Unterst\u00fctzung der in der standardm\u00e4\u00dfigen alloc-Bibliothek bereitgestellten Typen Arc und Rc wurde entfernt und ist im Kernel-Code nicht verf\u00fcgbar (f\u00fcr die Bibliothek wurden Optionen vorbereitet, die diese Typen deaktivieren).\n<li class=\"l\"> Der Patch umfasst eine PL061 GPIO-Treiber-Implementierung, die in Rust neu geschrieben wurde. Besonderheit des Treibers ist, dass seine Implementierung fast zeilenweise dem vorhandenen GPIO-Treiber in C entspricht. F\u00fcr die Entwickler, die sich mit der Erstellung von Treibern in Rust vertrautmachen m\u00f6chten, wurde ein zeilenweiser Vergleich vorbereitet, der zeigt, in welche Konstrukte in Rust der C-Code umgewandelt wurde.\n<li class=\"l\"> In den Hauptcode von Rust wurde rustc_codegen_gcc aufgenommen, das Backend rustc f\u00fcr GCC, das die M\u00f6glichkeit der vorab kompilierten (AOT) Kompilierung mit der libgccjit-Bibliothek realisiert. Bei entsprechender Entwicklung des Backends wird es m\u00f6glich sein, den im Kernel verwendeten Rust-Code mit GCC zu kompilieren.\n<li class=\"l\"> Neben den Unternehmen ARM, Google und Microsoft hat auch Red Hat Interesse an der Verwendung der Sprache Rust im Linux-Kernel bekundet. Zur Erinnerung: Google unterst\u00fctzt das Rust-for-Linux-Projekt direkt, entwickelt eine neue Implementierung des Interprozesskommunikationsmechanismus Binder in Rust und pr\u00fcft die M\u00f6glichkeit, verschiedene Treiber in Rust neu zu gestalten. Microsoft hat mit der Implementierung von Treibern f\u00fcr Hyper-V in Rust begonnen. ARM arbeitet an der Verbesserung der Rust-Unterst\u00fctzung f\u00fcr ARM-basierte Systeme. IBM hat die Unterst\u00fctzung von Rust im Kernel f\u00fcr PowerPC-Systeme realisiert.      <\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56295\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f, \u043d\u043e \u0443\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0442\u043a\u0443 linux-next. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Google \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 ISRG (Internet Security Research Group), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Let&#8217;s Encrypt \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102509","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-12-07T13:37:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-12-07T13:37:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Dritte Auflage der Patches f\u00fcr den Linux-Kernel mit Rust-Unterst\u00fctzung | ProHoster","description":"Miguel Ojeda, der Autor des Projekts Rust-for-Linux, hat den Entwicklern des Linux-Kernels eine dritte Option f\u00fcr Komponenten zur Entwicklung von Ger\u00e4tetreibern in der Programmiersprache Rust vorgeschlagen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster","og:description":"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-12-07T13:37:11+00:00","article:modified_time":"2021-12-07T13:37:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102509","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-12-07 13:37:18","updated":"2022-09-27 15:07:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/102509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=102509"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/102509\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=102509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=102509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=102509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}