Skip to content

db cache type entries do not expire as expected #10024

@lmm-git

Description

@lmm-git

Prerequisites

  • I have searched for duplicate or closed issues
  • I can recreate the issue with all plugins disabled

Describe the issue

When enabling a ldap_public address book and configuring groups, the group list does not get updated accordingly when using the default db cache type.

Apparently, this is caused by the implementation of the db cache read function, which does not verify returned data is still valid.

Removing old cache entries apparently relies on the gc function being called. To my knowledge, only the gc.sh script does that. However, this script is not mentioned in the install documentation nor does it get executed automatically in the official docker containers.

I believe this issue might affect other areas of Roundcube as well as this effectively removes all cache expiry for the db cache type.

Possible solutions might be:

  • Document the behavior of the db cache
  • Check if values are expired in the db cache (like other cache types do)

I would be happy to contribute a patch, but am not sure how exactly due to the multiple different possible solutions.

What browser(s) are you seeing the problem on?

Firefox

What version of PHP are you using?

8.4.13

What version of Roundcube are you using?

1.7 beta

JavaScript errors

No response

PHP errors

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions