<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Ok. I had a look at it.</div>

<div> </div>

<div>Still I dont see how the auth script prevents admins or anyone else (who is logged in and authenticated already) from looking into the clear text passwords.</div>

<div>For a given user, the page is this:</div>

<div>
<h3 style="color: rgb(0, 0, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; padding-top: 20px; padding-bottom: 2px; margin-top: 0px; margin-bottom: 0px; line-height: normal;">Verbundene Resourcen</h3>
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal;">Keine</span>

<h3 style="color: rgb(0, 0, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; padding-top: 20px; padding-bottom: 2px; margin-top: 0px; margin-bottom: 0px; line-height: normal;">Passwort:</h3>
<input name="password" style="font-family: Verdana, Arial, Helvetica, sans-serif; border: 1px solid rgb(214, 118, 14); color: rgb(114, 50, 2); background-color: rgb(255, 242, 232); vertical-align: middle; margin-bottom: 0px; padding: 0.1em;" type="password" value="84892301"/><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal;"> </span><input name="chpassword" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; border: 1px solid rgb(214, 118, 14); color: rgb(255, 255, 255); background-color: rgb(254, 138, 0); vertical-align: middle; margin-bottom: 0px; padding: 0.1em; font-weight: bold;" type="submit" value="Passwort ändern"/>
<h3 style="color: rgb(0, 0, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; padding-top: 20px; padding-bottom: 2px; margin-top: 0px; margin-bottom: 0px; line-height: normal;">Letzte Aktion</h3>
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal;">2013-06-05 14:38:16</span>

<h3 style="color: rgb(0, 0, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; padding-top: 20px; padding-bottom: 2px; margin-top: 0px; margin-bottom: 0px; line-height: normal;">Offline Nachrichten:</h3>
<a href="http://saros-build.imp.fu-berlin.de:5280/admin/server/saros-con.imp.fu-berlin.de/user/matrinica/queue/" style="color: rgb(153, 0, 0); font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; line-height: normal;">0</a><span style="font-family: Verdana, Arial, Helvetica, sans-serif; line-height: normal;"> </span><input name="removealloffline" style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; border: 1px solid rgb(214, 118, 14); color: rgb(255, 255, 255); background-color: rgb(254, 138, 0); vertical-align: middle; margin-bottom: 0px; padding: 0.1em; font-weight: bold;" type="submit" value="Alle Offline Nachrichten löschen"/>
<h3 style="color: rgb(0, 0, 68); font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; padding-top: 20px; padding-bottom: 2px; margin-top: 0px; margin-bottom: 0px; line-height: normal;"><a href="http://saros-build.imp.fu-berlin.de:5280/admin/server/saros-con.imp.fu-berlin.de/user/matrinica/roster/" style="color: rgb(153, 0, 0); font-size: 10pt;">Kontaktliste</a></h3>

<div> </div>

<div> </div>

<div>Der it's source code reveals:</div>

<div>...</div>

<div><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><form <span class="webkit-html-attribute-name">action</span>="" <span class="webkit-html-attribute-name">method</span>="<span class="webkit-html-attribute-value">post</span>"></span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">Verbundene Resourcen</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"></h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">Keine</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">Passwort:</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"></h3></span></div>

<div><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><input <span class="webkit-html-attribute-name">type</span>="<span class="webkit-html-attribute-value">password</span>" <span class="webkit-html-attribute-name">name</span>="<span class="webkit-html-attribute-value">password</span>" </span></div>

<div><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><span class="webkit-html-attribute-name">value</span>="<span class="webkit-html-attribute-value">mysensitive_password</span>"/></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"> <--------------</span></div>

<div> </div>

<div><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><input <span class="webkit-html-attribute-name">type</span>="<span class="webkit-html-attribute-value">submit</span>" <span class="webkit-html-attribute-name">name</span>="<span class="webkit-html-attribute-value">chpassword</span>" <span class="webkit-html-attribute-name">value</span>="<span class="webkit-html-attribute-value">Passwort ändern</span>"/></span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">Letzte Aktion</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"></h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">2013-06-05 14:38:16</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><h3></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">Offline Nachrichten:</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"></h3></span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><a <span class="webkit-html-attribute-name">href</span>="<a class="webkit-html-attribute-value webkit-html-external-link" href="http://saros-build.imp.fu-berlin.de:5280/admin/server/saros-con.imp.fu-berlin.de/user/matrinica/queue/" target="_blank">queue/</a>"></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;">0</span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"></a></span><span style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"> </span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><input <span class="webkit-html-attribute-name">type</span>="<span class="webkit-html-attribute-value">submit</span>" <span class="webkit-html-attribute-name">name</span>="<span class="webkit-html-attribute-value">removealloffline</span>" <span class="webkit-html-attribute-name">value</span>="<span class="webkit-html-attribute-value">Alle Offline Nachrichten löschen</span>"/></span><span class="webkit-html-tag" style="font-family: monospace; font-size: medium; line-height: normal; white-space: pre-wrap;"><h3></span></div>

<div> </div>
</div>

<div>
<div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;"><b>Gesendet:</b> Freitag, 14. Juni 2013 um 16:38 Uhr<br/>
<b>Von:</b> "H.-Chr. Schreiber" <christian.schreiber@imessage.de><br/>
<b>An:</b> ejabberd@jabber.ru<br/>
<b>Betreff:</b> Re: [ejabberd] password insecurity</div>

<div name="quoted-content">Hej,<br/>
<br/>
i've written a python script to authenticate against imap. For an<br/>
example<br/>
see the official ejabberd documentation [1].<br/>
<br/>
That script reads from stdin in an endless loop. The input will be<br/>
splittet into an array:<br/>
<br/>
> return sys.stdin.read(size).split(':')<br/>
<br/>
If colons allowed in your passwords (so in my case) you should do:<br/>
> return sys.stdin.read(size).split(':', 3)<br/>
<br/>
<br/>
Choose auth_method external in your ejabberd configuration e.g.:<br/>
<br/>
--------------------- %< ----------------------<br/>
{auth_method, external}.<br/>
{extauth_instances, 4}.<br/>
{extauth_cache, 600}.<br/>
{extauth_program,<br/>
"/opt/ejabberd-extauth-imap/ejabberd-extauth-imap.py"}.<br/>
<br/>
--------------------- %< ----------------------<br/>
<br/>
That works pretty good for me. AFAIK extauth_cache is the cause for<br/>
cleartext passwords in mnesia. So eventually you can avoid that by<br/>
disabling cache.<br/>
I don't really know if this is possible, but probably not.<br/>
<br/>
Reagards,<br/>
Christian<br/>
<br/>
[1]<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
<br/>
git.process-one.net/ejabberd/mainline/blobs/raw/2.1.x/doc/dev.html#htoc8<br/>
_______________________________________________<br/>
ejabberd mailing list<br/>
ejabberd@jabber.ru<br/>
<a href="http://lists.jabber.ru/mailman/listinfo/ejabberd" target="_blank">http://lists.jabber.ru/mailman/listinfo/ejabberd</a></div>
</div>
</div></div></body></html>