問題タブ [ejabberd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ldap - ejabberd-LDAP認証
LDAP認証を使用してejabberdインストールを構成しようとしていますが、adminユーザーを使用してもログインできません。これは私のejabberd.cfgファイルの一部です:
私は何が欠けていますか?
OpenFireを使用すると、この資格情報/構成を使用して接続できると言わなければなりません。
クライアントアプリケーションとしてSparkを使用しています。
ありがとう
python - ユーザーをpy-transportサーバー側に手動で登録する方法はありますか?
ユーザーを ejabberd に移行するためのスクリプトをいくつか作成しようとしていますが、ユーザーをトランスポートに登録するために提案された唯一の方法は、クライアントを使用してサービスを検出することです。確かに方法はありますよね?
erlang - ejabberd コンパイル エラー
私は巨大な erlang 初心者であり、ejabberd のコンパイル中に次のエラーが発生します。
これは何が原因でしょうか?
xmpp - ランダムな名前の Jabber 自動ログイン
JSJaCとejabberdを使用してライブチャットを構築しています。すべてのサイト訪問者にアカウント「ゲスト」が与えられることを除いて、すべて機能しています。2 人の訪問者が同時にライブチャットを試みると、応答が混乱するか、最初のユーザーがログアウトされます。
ゲスト名をランダムに設定できますが、その名前が登録されているか自動登録されているかを確認する必要があり、以前に登録されていないことを願っています。各ログインをランダムなリソース名に割り当てようとしましたが、それでも会話がマージされました。
要するに、複数の匿名ログインが livechat アカウントとの個々の会話を開始できるようにする最も簡単な方法を探しています。プライマリ ライブチャット アカウントがチャット中に、ライブチャットが別のユーザーにラウンド ロビンできれば、さらに良い (ただしオプション)。
ソリューションは、Web クライアント ベースまたはサーバー ベースのどちらでもかまいません。私は両方を制御しているので気にしません (また、ejabberd はさまざまなモジュールをサポートしています)。
ところで、登録済みアカウントを自動登録しようとすると、JSJaC simpleclient デモが次のように返します。
これがカスタムクライアントまたはサーバーセットアップで無視またはオーバーライドできるものかどうかはまだ確立していません. このエラーを検出して、自動登録せずに再試行できると思いますが、より良い/より簡単なオプションを聞きたいです。
php - PHP を使用した Ejabberd での XMPP SASL 認証
SASL を使用して XMPP サーバーで認証しようとしています。
ただし、XMPP サーバーは次のように応答します。
これは Ejabberd サーバーに対するものです。XMPP ストリームを開くと、次のようにアドバタイズされます。
したがって、SASL - PLAIN が機能するはずです。OpenFire サーバーで完全に動作する JavaScript バージョンがあります。(現時点では Ejabberd でテストできません)
そのため、PHP バージョンが機能しない理由がわかりません。
erlang - 起動時にejabberdノードを同期する
解決できないように見える問題が発生しています。関数mnesia:change_table_copy_type(schema、node()、disc_copies)を渡す必要があります。コマンドラインで、dbがマスターノードから作成されます。erlの開始は次のとおりです。erl-nameNODE1-mnesia extra_db_nodes \ "['MASTER'] \" -s mnesiaシェルを起動してから関数呼び出しに入ると、すべてが正常に機能し、シェルを停止してejabberプロセスを正常に開始できます。 。したがって、必要なのは、DBのセットアップと同期を実行するためのスクリプト化されたメソッドです。
change_table_copy_typeを渡すためにさまざまな方法を試しましたが、成功しませんでした。最終的な目標は、mnesiaを開始するプロセスをスクリプト化し、関数を渡してから、シェルを終了できるようにすることです。誰かがこれを試したことがありますか?次のようなリダイレクトを試しました:erl -name NODE1 -mnesia extra_db_nodes \ "['MASTER'] \" -s mnesia <
関数呼び出しが渡されたときにノードが開始されないため、これは失敗します。「-run」オプションを使用しようとしましたが、関数がundefであるというエラーが発生します。たぶん私は-runセクションを正しく構築していません。
module - ejabberd モジュールのフック処理を終了する
私は ejabberd モジュールを書いています。それは、いくつかのメッセージをキューに保存することです。実際には非常にうまく機能します。どのドキュメントにも見つからないことが1つだけあります。特定のユーザーからのメッセージを見つけたら、フック処理を停止する必要があります。
つまり、ユーザー A からユーザー B にメッセージが ejabberd に送信され、私のモジュール (user_send_packet フックにフックされている) がこのメッセージを処理し、ユーザー A が指定されたユーザーであることが判明した場合、それを配信してはなりません。私が理解したことから、フック処理を停止することでこれを達成できます。フック処理を停止するにはどうすればよいですか?
xmpp - Xmpp ejabberd および add-user コマンド
私は 2 つの ejabberd サーバーを持っています。
xmpp pidgin コンソールを使用して、テスト用に iq スタンザを送信できます。
ローカル サーバーのホスト名は eepc です
遠隔サーバー
が表示される理由がわかりません。サーバーにリモートからのコマンドを受け入れるように指示する特定のオプションが表示されませんでした。
api - ejabberd: "disco_local_identity" と "disco_sm_identity" の違いは?
「disco_local_identity」と「disco_sm_identity」モジュール API メソッドの違いは何ですか?