Question

J'écris un module ejabberd. Ce qu'il fait est l'enregistrement des messages dans une file d'attente. Il fonctionne en fait très bien, il n'y a qu'une seule chose que je ne trouve pas dans la documentation. Je dois arrêter le traitement crochet si je trouve un message provenant d'un utilisateur particulier.

i.e.. un message est envoyé à ejabberd, à partir de l'utilisateur A à l'utilisateur B, mon module (accroché au crochet de user_send_packet) traite ce message et, si elle constate que l'utilisateur A est l'utilisateur spécifié, ne doit pas fournir. D'après ce que je compris que vous pouvez y parvenir en arrêtant le traitement du crochet. Comment pouvez-vous arrêter le traitement crochet?

Était-ce utile?

La solution

Si ce que vous voulez est de déposer des messages de A -> B, vous pouvez le faire en vous inscrivant à la fiter_packet crochet, et de ce retour drop pour laisser tomber les les paquets que vous ne voulez pas autoriser.

  

D'après ce que je compris que vous pouvez y parvenir en arrêtant le traitement crochet

non, arrêter le traitement crochet empêchera d'autres gestionnaires enregistrés sur ce crochet (le cas échéant) à activer, mais rien d'autre, le paquet continuera comme d'habitude.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top