[OpenSIPS-Devel] [OpenSIPS/opensips] e7fa2d: Revert "fraud_detection: Fix hash-level locking is...

Liviu Chircu noreply at github.com
Mon Sep 23 13:13:28 EDT 2019


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: e7fa2d18584883178a03773031d3432d632e6bd8
      https://github.com/OpenSIPS/opensips/commit/e7fa2d18584883178a03773031d3432d632e6bd8
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M modules/fraud_detection/frd_hashmap.c
    M modules/fraud_detection/frd_hashmap.h
    M modules/fraud_detection/frd_stats.c

  Log Message:
  -----------
  Revert "fraud_detection: Fix hash-level locking issues"

This reverts commit 32ec7a291db3a9ac8865a439b04874a9e1798e8e.


  Commit: ccdc8d2d1bd3adba3a91c669443c22c4bfa82894
      https://github.com/OpenSIPS/opensips/commit/ccdc8d2d1bd3adba3a91c669443c22c4bfa82894
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M modules/fraud_detection/frd_hashmap.c
    M modules/fraud_detection/frd_hashmap.h
    M modules/fraud_detection/frd_stats.c

  Log Message:
  -----------
  fraud_detection: Fix incomplete locking logic

The get_item() function results were insufficiently guarded, such
that the SIP workers may concurrently perform insert operations on the
same map object, possibly leading to shm corruption.

Fixes #1389


  Commit: 04704dc05e48e1773252d0e038db89e2183ccb64
      https://github.com/OpenSIPS/opensips/commit/04704dc05e48e1773252d0e038db89e2183ccb64
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M modules/fraud_detection/fraud_detection.c
    M modules/fraud_detection/frd_events.c
    M modules/fraud_detection/frd_events.h
    M modules/fraud_detection/frd_load.c

  Log Message:
  -----------
  fraud_detection: Fix a dangling SHM access bug

This patch fixes a race condition where a fraud_detection reload could
free the global SHM "threshold" objects which are still being referenced
N times (once for each ongoing dialog -- callback is invoked on
termination).

The solution is to simply store the integer values of the thresholds
into the callback data, and avoid storing any SHM pointers which have no
lifetime guarantees.


  Commit: 749fbef8875051d58e998ea0338bcbba12e28b1d
      https://github.com/OpenSIPS/opensips/commit/749fbef8875051d58e998ea0338bcbba12e28b1d
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M modules/fraud_detection/fraud_detection.c
    M modules/fraud_detection/frd_stats.c
    M modules/fraud_detection/frd_stats.h

  Log Message:
  -----------
  fraud_detection: Fix a seq calls computation bug

The sequential calls of a user should be counted using the dialed
numbers, NOT the matched fraud rule prefixes (which are almost always
shorter).

Reported by Benjamin Pasquet from OpenIP


  Commit: 4a0558b2710b45e93c1ea2b1e60c794b0969a708
      https://github.com/OpenSIPS/opensips/commit/4a0558b2710b45e93c1ea2b1e60c794b0969a708
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M modules/fraud_detection/fraud_detection.c
    M modules/fraud_detection/frd_hashmap.c
    M modules/fraud_detection/frd_stats.h

  Log Message:
  -----------
  fraud_detection: Various small improvements

    * refactor unreadable/unmaintainable code
    * fix bad hash sizes, leading to unused buckets
    * improve some key errors reported to the users


  Commit: fda854eeedeb52c63121d2e99573d8f47525b844
      https://github.com/OpenSIPS/opensips/commit/fda854eeedeb52c63121d2e99573d8f47525b844
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2019-09-23 (Mon, 23 Sep 2019)

  Changed paths:
    M db/schema/fraud_detection.xml
    M scripts/db_berkeley/opensips/fraud_detection
    M scripts/mysql/fraud_detection-create.sql
    M scripts/oracle/fraud_detection-create.sql
    M scripts/postgres/fraud_detection-create.sql
    M scripts/sqlite/fraud_detection-create.sql

  Log Message:
  -----------
  fraud_detection DB schema: Fix missing default values


Compare: https://github.com/OpenSIPS/opensips/compare/7832736de9d3...fda854eeedeb



More information about the Devel mailing list