[OpenSIPS-Devel] [OpenSIPS/opensips] 0f0de8: acc: Fix drop_accounting() regression (211a63c9b2)

Liviu Chircu noreply at github.com
Mon Dec 4 14:48:49 UTC 2023


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 0f0de89f6a050255050e913bd3295c2ae2a43fdc
      https://github.com/OpenSIPS/opensips/commit/0f0de89f6a050255050e913bd3295c2ae2a43fdc
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M modules/acc/acc_logic.c
    M modules/acc/acc_logic.h
    A modules/acc/test/opensips.cfg
    A modules/acc/test/test.c

  Log Message:
  -----------
  acc: Fix drop_accounting() regression (211a63c9b2)

Commit 211a63c9 changed drop_accounting() from doing too little
dropping (the "backend bit" would never get reset) into doing too much
dropping (the "backend bit" would always be reset, despite some of the
flags still remaining enabled after the drop operation).

This commit fixes the code and also adds some unit tests for the
set/reset bitmask operations, to lock in the correct behavior.


  Commit: f635a63a7acfc5b55c8f06bd14693d3e710a633b
      https://github.com/OpenSIPS/opensips/commit/f635a63a7acfc5b55c8f06bd14693d3e710a633b
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2023-12-04 (Mon, 04 Dec 2023)

  Changed paths:
    M modules/acc/acc_logic.h
    M modules/acc/test/test.c

  Log Message:
  -----------
  acc: Code improvements

* make the is_xxx_on() macros more practical, by returning `int` instead
of `unsigned long long`, to avoid integer overflows during result check

* fix strange 1-byte extra offset for the DO_ACC_EVI constant

* add more unit tests


Compare: https://github.com/OpenSIPS/opensips/compare/e4c37c2a973a...f635a63a7acf



More information about the Devel mailing list