<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hardening consulting (Articles sur passfd)</title><link>https://www.hardening-consulting.com/</link><description></description><atom:link href="https://www.hardening-consulting.com/categories/passfd.xml" rel="self" type="application/rss+xml"></atom:link><language>fr</language><lastBuildDate>Mon, 20 Apr 2026 09:08:50 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Utiliser socket pair et passfd     </title><link>https://www.hardening-consulting.com/posts/20260417-socketpair-et-passfd.html</link><dc:creator>David FORT</dc:creator><description>&lt;div&gt;&lt;p&gt;&lt;img class="alignright" src="https://www.hardening-consulting.com/images/improvement.png" width="100px"&gt;&lt;/p&gt;
&lt;p&gt;J'ai toujours eu en tête cette fonctionnalité de &lt;code&gt;passfd&lt;/code&gt; disponible sous Linux mais je n'avais
jamais eu l'occasion de vraiment m'en servir. Au gré de tests d'architecture,
j'ai pu expérimenté ça, et je trouve que ça ouvre plein de perspectives, je vous parle de tout ça.&lt;/p&gt;
&lt;p&gt;&lt;br style="clear: both;"&gt;&lt;/p&gt;
&lt;h2&gt;Socket pair&lt;/h2&gt;
&lt;p&gt;Rien de bien compliqué avec &lt;code&gt;socketpair&lt;/code&gt; ça permet en un appel système d'avoir 2 sockets inter-connectées:
quand on envoie des octets sur une socket ou peut les lire sur l'autre:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="cp"&gt;#include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cpf"&gt;&amp;lt;sys/socket.h&amp;gt;&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;socketpair&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;type&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;protocol&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;sv&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Ça reste quand même plus pratique que les appels systèmes &lt;code&gt;pipe&lt;/code&gt; ou &lt;code&gt;pipe2&lt;/code&gt;, qui fournissent un file
descriptor pour lire et un autre pour écrire. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.hardening-consulting.com/posts/20260417-socketpair-et-passfd.html"&gt;Lire la suite…&lt;/a&gt; (Il reste encore 6 min. de lecture)&lt;/p&gt;&lt;/div&gt;</description><category>C</category><category>linux</category><category>passfd</category><category>socketpair</category><guid>https://www.hardening-consulting.com/posts/20260417-socketpair-et-passfd.html</guid><pubDate>Fri, 17 Apr 2026 06:11:00 GMT</pubDate></item></channel></rss>