<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Emile &#34;iMil&#34; Heitor &#039;s home &#187; OpenBSD</title>
	<atom:link href="http://imil.net/wp/tag/openbsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://imil.net/wp</link>
	<description>life ∴ unix and stuff</description>
	<lastBuildDate>Fri, 17 May 2013 17:32:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>cvs co ya7ans</title>
		<link>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/</link>
		<comments>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 15:05:43 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[c0daz]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[OpenBSD]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=178</guid>
		<description><![CDATA[<p>fouyou, ce voyage dans le passé&#8230;
Il y a 7 ans, je commettais ceci. EasyLDAP était une librairie qui permettait d&#8217;implémenter une interaction LDAP en C assez simplement. Mais son but final était plus concret; en effet, en 2001, FreeBSD ne possédait pas de port nss_ldap, son architecture nss était quelque peu aride, et l&#8217;un de [...]</p><p>The post <a href="http://imil.net/wp/2008/01/26/cvs-co-ya7ans/">cvs co ya7ans</a> appeared first on <a href="http://imil.net/wp">Emile &quot;iMil&quot; Heitor &#039;s home</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>fouyou, ce voyage dans le passé&#8230;</p>
<p>Il y a 7 ans, je commettais <a href="http://imil.net/eldap/">ceci</a>. EasyLDAP était une librairie qui permettait d&#8217;implémenter une interaction LDAP en C assez simplement. Mais son but final était plus concret; en effet, en 2001, FreeBSD ne possédait pas de port <code>nss_ldap</code>, son architecture <i>nss</i> était quelque peu aride, et l&#8217;un de mes projets dans <a href="http://www.cw.com/">mon job de l&#8217;époque</a>, c&#8217;était de trouver le moyen de centraliser l&#8217;authentification de nos serveurs FreeBSD, et de préférence, via LDAP.<br />
La sale magouille que j&#8217;avais trouvé à l&#8217;époque, c&#8217;était d&#8217;utiliser la variable <code>LD_PRELOAD</code> et de préloader, donc, la librairie <i>eldap</i> dans laquelle j&#8217;avais redéfini les fonctions <code>getpwnam</code>, <code>getpwuid</code>, <code>getgrnam</code> etc etc&#8230;<br />
Et ça marchait ! :)</p>
<p>Aujourd&#8217;hui, FreeBSD et NetBSD sont tous deux capables de loader des plugins <code>nss_ldap</code> et <code>pam_ldap</code>, c&#8217;est tout beau tout propre, et il n&#8217;y a plus besoin de bidouiller de trucs infames pour centraliser ses utilisateurs.<br />
Sauf sous OpenBSD.<br />
Et c&#8217;est la que les vapeurs du passé ressurgissent; deux des domU de <a href="http://zone0.gcu.info/">zone0</a> sont des OpenBSD, l&#8217;un d&#8217;eux plus particulièrement, est destiné à heberger moult shells des membres contributeurs du groupe. jusqu&#8217;à présent, nous avions jeté notre dévolu sur <a href="http://wiki.gcu.info/doku.php?id=openbsd:login_ldap">cette methode</a>, qui présente le désavantage de devoir tout de même ajouter l&#8217;utilisateur au fichier <code>/etc/passwd</code>. Et puis de fil en aiguille, je me rappelle de mon &#8220;fameux&#8221; EasyLDAP.<br />
D&#8217;abord à tatons, je regarde mon code de loin, je fixe les <i>autotrucs</i> permettant sa compilation, et apres quelques ajustements, ce dernier compile. J&#8217;ecris sans trop y croire ce bout de code de verification :</p>
<pre>
#include &lt;stdio.h&gt;

#include &lt;sys/types.h&gt;
#include &lt;pwd.h&gt;

int
main(int argc, char *argv[])
{
        if (getpwnam(argv[1]) != NULL)
                printf("%s exists\\n", argv[1]);
        else
                printf("%s does NOT exists\\n", argv[1]);

        return 0;
}
</pre>
<p>Je compile puis quelques SEGFAULT / corrections plus loin, je tente ma chance :</p>
<pre>
[~/src/eldap] LD_PRELOAD=.libs/libeldap.so.1.1 ./testpw pinpin
pinpin exists
</pre>
<p>Je n&#8217;en crois pas mes yeux, ça fonctionne toujours !<br />
Quelques ajustements plus tard, j&#8217;arrivais à me connecter via <a href="http://dev.inversepath.com/trac/openssh-lpk">OpenSSH-lpk</a> (clé publique dans une db LDAP, donc) avec un utilisateur absent du fichier <code>/etc/passwd</code>.</p>
<p>J&#8217;ai donc entrepris de faire subir à ce vieux code mal indenté, peu sur et emprunt de vapeurs de gin, un bon gros lifting. Le site est de nouveau en ligne, le CVS ne nouveau accessible, et j&#8217;ai revampé un peu le codebase. Il est à peu près certain que ce travail n&#8217;aura d&#8217;interet que le temps qu&#8217;OpenBSD n&#8217;integre une vraie abstraction dans la libc, mais il est toujours agréable de jouer avec ces notions. Si le cœur vous en dit, vous savez ou me trouver.<br />
</p>
<p>The post <a href="http://imil.net/wp/2008/01/26/cvs-co-ya7ans/">cvs co ya7ans</a> appeared first on <a href="http://imil.net/wp">Emile &quot;iMil&quot; Heitor &#039;s home</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2008/01/26/cvs-co-ya7ans/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>64 / 2</title>
		<link>http://imil.net/wp/2007/09/19/64-2/</link>
		<comments>http://imil.net/wp/2007/09/19/64-2/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 09:05:48 +0000</pubDate>
		<dc:creator>iMil</dc:creator>
				<category><![CDATA[Blogroll]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenBSD]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://imil.net/wp/?p=150</guid>
		<description><![CDATA[<p>Décidemment, le &#8220;choix&#8221; de l&#8217;OS d&#8217;un domU n&#8217;est pas si large qu&#8217;il n&#8217;y parait&#8230;
Nous avions statué l&#8217;archi suivante pour zone0 :
. dom0: debian stable amd64 + Xen 3.1
. domU services: OpenBSD 4.1 amd64
. domU shells: OpenBSD 4.1 amd64
. domU www1: NetBSD 3.1 x86
. domU www2: NetBSD 3.1 x86
Le choix de NetBSD x86 avait été dicté [...]</p><p>The post <a href="http://imil.net/wp/2007/09/19/64-2/">64 / 2</a> appeared first on <a href="http://imil.net/wp">Emile &quot;iMil&quot; Heitor &#039;s home</a>.</p>]]></description>
				<content:encoded><![CDATA[<p>Décidemment, le &#8220;choix&#8221; de l&#8217;OS d&#8217;un domU n&#8217;est pas si large qu&#8217;il n&#8217;y parait&#8230;<br />
Nous avions statué l&#8217;archi suivante pour zone0 :</p>
<p>. dom0: debian stable amd64 + Xen 3.1<br />
. domU services: OpenBSD 4.1 amd64<br />
. domU shells: OpenBSD 4.1 amd64<br />
. domU www1: NetBSD 3.1 x86<br />
. domU www2: NetBSD 3.1 x86</p>
<p>Le choix de NetBSD x86 avait été dicté par le fait que l&#8217;installation même de la version 64 bits s&#8217;avérait impossible, cette dernière ne trouvant jamais le media cd0.</p>
<p>Du fait de l&#8217;architecture de services un peu particulière que nous avions à l&#8217;esprit, nous avons du compiler certains ports OpenBSD&#8230; et là, mauvaise surprise, un bête ./configure faisait loader la machine à 3 et prenait en moyenne un quart d&#8217;heure, à raison de 3 secondes par ligne ! Après quelques recherches, nous trouvons <a href="http://groups.google.com/group/comp.unix.bsd.openbsd.misc/browse_thread/thread/563d6e26a8c4b6fb/cf3bcf15ad9b5223">quelques threads</a> sur des <a href="http://marc.info/?l=openbsd-misc&#038;m=116599642212687&#038;w=2">problèmes similaires</a>, mais toutes les pistes évoquées -même un vilain patch du cpu.c du noyau- ne donnent aucun résultat.</p>
<p>Hier soir, nous nous sommes donc rabattus sur la version x86 d&#8217;OpenBSD, et comme on pouvait s&#8217;y attendre: plus de soucis. Les deux domUs carburent, les ./configure et autres compilations sont rapides, et les machines virtuelles semblent stables, mêmes soumises à quelques stress tests de forking et de memoire.</p>
<p>Il semble que le problème concerne l&#8217;utilisation de fork() -qu&#8217;un ./configure utilise evidemment massivement-.</p>
<p>L&#8217;archi finale est donc :</p>
<p>. dom0: debian stable amd64 + Xen 3.1<br />
. domU services: OpenBSD 4.1 x86<br />
. domU shells: OpenBSD 4.1 x86<br />
. domU www1: NetBSD 3.1 x86<br />
. domU www2: NetBSD 3.1 x86</p>
<p>Une dernière astuce, pour une raison que j&#8217;ignore, une de plus, le boot cd cd41.iso fait paniquer le domU dès le chargement du noyau, aussi, pour installer OpenBSD 4.1, j&#8217;ai utilisé l&#8217;image cdemu qui n&#8217;a posé aucune complication.</p>
<p>Rackage imminent.<br />
</p>
<p>The post <a href="http://imil.net/wp/2007/09/19/64-2/">64 / 2</a> appeared first on <a href="http://imil.net/wp">Emile &quot;iMil&quot; Heitor &#039;s home</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://imil.net/wp/2007/09/19/64-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: imil.net @ 2013-05-23 20:00:07 by W3 Total Cache -->