Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: ejabberd 1.1.0, ejabberd 1.1.1, ejabberd 1.1.2, ejabberd 1.1.3
    • Fix Version/s: ejabberd 2.0.0
    • Component/s: Multi-User Chat (MUC)
    • Labels:
      None

      Description

      We should limit the interval between presence packets to limit broadcast.
      We should define a max interval between stanzas.

        Activity

        Hide
        mremond@process-one.net Mickaël Rémond added a comment -

        This change add two new options in MUC module configuration: min_message_interval and min_presence_interval.

        • min_message_interval defines the minimum time allowed between two messages. This option can be use to limit the flood on the MUC service. If a user sends messages more quickly they are rejected with the error "not acceptable".
        • min_presence_interval defines the minimum time allowed between presence changes. Presence are cached before being broadcasted and after the interval duration, the actual presence is send to the room. This should limit presence flood coming from a given user.

        Here is an example use from the modules section in the configuration file:

        ...
        {mod_muc, [

        {access, muc}

        ,

        {access_create, muc}

        ,

        {access_admin, muc_admin}

        ,
        %% Anti-DoS settings:

        {min_message_interval, 0.4}

        ,

        {min_presence_interval, 4}

        ]},
        ...

        Show
        mremond@process-one.net Mickaël Rémond added a comment - This change add two new options in MUC module configuration: min_message_interval and min_presence_interval. min_message_interval defines the minimum time allowed between two messages. This option can be use to limit the flood on the MUC service. If a user sends messages more quickly they are rejected with the error "not acceptable". min_presence_interval defines the minimum time allowed between presence changes. Presence are cached before being broadcasted and after the interval duration, the actual presence is send to the room. This should limit presence flood coming from a given user. Here is an example use from the modules section in the configuration file: ... {mod_muc, [ {access, muc} , {access_create, muc} , {access_admin, muc_admin} , %% Anti-DoS settings: {min_message_interval, 0.4} , {min_presence_interval, 4} ]}, ...
        Hide
        mremond@process-one.net Mickaël Rémond added a comment -
        Show
        mremond@process-one.net Mickaël Rémond added a comment - Added in SVN Changeset #794: https://forge.process-one.net/changelog/ejabberd/?cs=794

          People

          • Assignee:
            mremond@process-one.net Mickaël Rémond
            Reporter:
            mremond@process-one.net Mickaël Rémond
            Participants:
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development