{"id":4592,"date":"2015-06-04T09:54:42","date_gmt":"2015-06-04T07:54:42","guid":{"rendered":"https:\/\/www.bdjl.de\/localhost\/?p=4592"},"modified":"2015-06-04T09:56:07","modified_gmt":"2015-06-04T07:56:07","slug":"xmpp-continued","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=4592","title":{"rendered":"XMPP continued"},"content":{"rendered":"<p>Der<a href=\"https:\/\/www.bdjl.de\/localhost\/?p=4580\"> XMPP Server<\/a> unter Prosody l\u00e4uft einfach. Etwas hakelig erwies sich die Konfiguration der Chatr\u00e4ume, die meinem Eindruck nach auch von den F\u00e4higkeiten der mit dem Server verbundenen Clients abh\u00e4ngig ist: deren Zusammenspiel mit Prosody erzeugt einige Inkonsistenzen. Bei den folgenden Einstellungen f\u00fcr Prosody<\/p>\n<pre class=\"lang:default decode:true\"># \/etc\/prosody\/prosody.cfg.lua\r\nComponent \"blabla.domain.tld\" \"muc\"\r\n         restrict_room_creation = \"local\"\r\n         max_history_messages = 20\r\n<\/pre>\n<p>erlaubte es mir <a href=\"https:\/\/github.com\/siacs\/Conversations\" target=\"_blank\">Conversations<\/a> nicht, einen Chatraum einzurichten. Leider klappt das auch nicht mit<\/p>\n<pre class=\"lang:default decode:true \">restrict_room_creation = true<\/pre>\n<p>das ja eigentlich das Recht zur Raumerstellung auf die Admins beschr\u00e4nken sollte. Das funktionierte bei meinen Versuchen ein einziges mal &#8211; danach dann nicht mehr. Warum, war den Logs f\u00fcr mich nicht zu entnehmen. Da stand<\/p>\n<pre class=\"lang:default decode:true\">Out of connection options, can't connect to blabla\r\nSending error replies for 2 queued stanzas because of failed outgoing connection to blabla<\/pre>\n<p>(blabla steht hier f\u00fcr den gew\u00e4hlten Raumnamen) aber ich googlete mich in die Ecke ohne schlau zu werden. Ich stellte deswegen auf<\/p>\n<pre class=\"lang:default decode:true\">restrict_room_creation = false\r\n<\/pre>\n<p>um und \u00fcberwache zur Sicherheit das Verzeichnis mit den Raumdefinitionen, auf dass ich mitbekomme, was mein Server so alles hostet. Diese liegen hier:<\/p>\n<pre class=\"lang:default decode:true \">\/var\/lib\/prosody\/blabla%2edomain%2etld\/config\/<\/pre>\n<p>Eine weitere H\u00fcrde auf dem Weg zu eigenen MUCs war, dass mein Zertifikat f\u00fcr den Server nur auf domain.tld und www.domain.tld l\u00e4uft. Der Standard f\u00fcr MUCs scheint aber conference.domain.tld zu sein. Ich h\u00e4tte mir demnach ein extra Zertifikat besorgen oder richtig Geld in die Hand nehmen m\u00fcssen, was mir schlicht zu bl\u00f6d war. <a href=\"https:\/\/www.startssl.com\/\" target=\"_blank\">Startssl<\/a> muss reichen. Also sind die Chatr\u00e4ume nun eben unter www zu finden. F\u00fcr die eigenen Bed\u00fcrfnisse geht das.<\/p>\n<p>\u00dcberhaupt: Die Clients.<\/p>\n<p>Meine Erfahrungen beschr\u00e4nken sich auf <a href=\"https:\/\/f-droid.org\/repository\/browse\/?fdfilter=xabber&amp;fdid=com.xabber.androiddev\" target=\"_blank\">xabber<\/a>, <a href=\"https:\/\/f-droid.org\/repository\/browse\/?fdid=org.tigase.messenger.phone.pro\" target=\"_blank\">tigase<\/a>, <a href=\"https:\/\/f-droid.org\/repository\/browse\/?fdfilter=yaxim&amp;fdid=org.yaxim.androidclient\" target=\"_blank\">yaxim<\/a> und <a href=\"https:\/\/f-droid.org\/repository\/browse\/?fdfilter=conversations&amp;fdid=eu.siacs.conversations\" target=\"_blank\">conversations<\/a>. Von diesen beherrscht nur conversations in Zusammenspiel mit Prosody den (fast) reibungslosen Versand von Dateien und Bildern, den Austausch von OTR-verschl\u00fcsselten Nachrichten sowie nun auch die Einrichtung und Verwaltung (privat \/ \u00f6ffentlich, Einladungen verschicken und annehmen) von R\u00e4umen.<\/p>\n<p><a href=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2015\/06\/Screenshot_2015-06-04-09-11-42.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4593 size-thumbnail\" src=\"https:\/\/www.bdjl.de\/localhost\/wp-content\/uploads\/2015\/06\/Screenshot_2015-06-04-09-11-42-150x150.png\" alt=\"Screenshot_2015-06-04-09-11-42\" width=\"150\" height=\"150\" \/><\/a><\/p>\n<p>Beim Versand von Bildern und Dateien mit Conversations \/ Prosody muss man allerdings darauf achten, dass die Beteiligten gegenseitig ihren Online-Status sehen d\u00fcrfen und auch beide online sind (gr\u00fcner send \/ camera button) &#8211; sonst f\u00e4llt der Prozess kommentarlos auf die Nase.<\/p>\n<p>Eine Option zur Zwischenspeicherung von Dateien und Bildern auf dem Server habe ich in Prosody nicht gefunden und daf\u00fcr scheint es auch kein Modul zu geben. Das Modul <a href=\"https:\/\/prosody.im\/doc\/modules\/mod_storage_internal\" target=\"_blank\">mod_storage_internal<\/a> kann nur mit Text umgehen und auch <a href=\"https:\/\/prosody.im\/doc\/modules\/mod_offline\" target=\"_blank\">mod_offline<\/a> behandelt lediglich Text. Ich muss mir mal <a href=\"https:\/\/prosody.im\/doc\/modules\/mod_storage_sql\" target=\"_blank\">mod_storage_sql<\/a> ansehen. Evtl geht ja da was (auch wenn die <a href=\"https:\/\/prosody.im\/doc\/developers\/modules\/mod_storage_sql\" target=\"_blank\">Beschreibung<\/a> der DB-Felder f\u00fcr mich nicht so aussieht).<\/p>\n<p>Dazu kommt: Verschickt man \u00fcber Conversations dickere Dateien (getestet habe ich mit bis zu 16MB), dann f\u00e4llt auch dies gelegentlich auf die Nase, obwohl sich die Beteiligten gegenseitig sehen. Hier scheint das Zusammenspiel zwischen Conversations und Cyanogenmod (Energieeinstellungen) eine Fehlerquelle zu sein: schaltet sich der Bildschirm ab, dann bricht h\u00e4ufig auch die Datei\u00fcbertragung zusammen.<\/p>\n<p>Insgesamt betrachtet: Die grundlegenden Dinge funktionieren nun &#8211; bei vielen Details ist noch Luft nach oben.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der XMPP Server unter Prosody l\u00e4uft einfach. Etwas hakelig erwies sich die Konfiguration der Chatr\u00e4ume, die meinem Eindruck nach auch von den F\u00e4higkeiten der mit dem Server verbundenen Clients abh\u00e4ngig ist: deren Zusammenspiel mit Prosody erzeugt einige Inkonsistenzen. Bei den folgenden Einstellungen f\u00fcr Prosody # \/etc\/prosody\/prosody.cfg.lua Component &#8222;blabla.domain.tld&#8220; &#8222;muc&#8220; restrict_room_creation = &#8222;local&#8220; max_history_messages = 20 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[522,518,516],"class_list":["post-4592","post","type-post","status-publish","format-standard","hentry","category-linux","tag-muc","tag-prosody","tag-xmpp"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4592"}],"version-history":[{"count":12,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4592\/revisions"}],"predecessor-version":[{"id":4605,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/4592\/revisions\/4605"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}