Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 6476 - Fix build failure with GCC 15 #6536

Merged
merged 1 commit into from
Jan 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions dirsrvtests/tests/suites/replication/acceptance_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -588,7 +588,7 @@ def test_double_delete(topo_m4, create_entry):
time.sleep(5)
else:
time.sleep(1)

log.info('Make searches to check if server is alive')
entries = get_repl_entries(topo_m4, TEST_ENTRY_NAME, ["uid"])
assert not entries, "Entry deletion {} wasn't replicated successfully".format(TEST_ENTRY_DN)
Expand Down Expand Up @@ -679,7 +679,7 @@ def test_invalid_agmt(topo_m4):
assert False


def test_warining_for_invalid_replica(topo_m4):
def test_warning_for_invalid_replica(topo_m4):
"""Testing logs to indicate the inconsistency when configuration is performed.

:id: dd689d03-69b8-4bf9-a06e-2acd19d5e2c8
Expand All @@ -703,6 +703,7 @@ def test_warining_for_invalid_replica(topo_m4):
log.info('Check the error log for the error')
assert topo_m4.ms["supplier1"].ds_error_log.match('.*nsds5ReplicaBackoffMax.*10.*invalid.*')


def test_csnpurge_large_valueset(topo_m2):
"""Test csn generator test

Expand Down
11 changes: 7 additions & 4 deletions dirsrvtests/tests/suites/replication/changelog_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import time
import subprocess
import glob
import re
from lib389.properties import TASK_WAIT
from lib389.replica import Replicas
from lib389.idm.user import UserAccounts
Expand Down Expand Up @@ -46,10 +47,11 @@
logging.getLogger(__name__).setLevel(logging.INFO)
log = logging.getLogger(__name__)


def _check_repl_changelog_backup(instance, backup_dir):
# Note: there is no way to check dbi on lmdb backup
# That said dbscan may perhaps do it ...
if instance.get_db_lib() is 'bdb':
if instance.get_db_lib() == 'bdb':
if ds_supports_new_changelog():
backup_checkdir = os.path.join(backup_dir, DEFAULT_BENAME, BDB_CL_FILENAME)
else:
Expand All @@ -60,6 +62,7 @@ def _check_repl_changelog_backup(instance, backup_dir):
log.fatal('test_changelog5: backup directory does not exist : {}*'.format(backup_checkdir))
assert False


def _perform_ldap_operations(topo):
"""Add a test user, modify description, modrdn user and delete it"""

Expand Down Expand Up @@ -751,7 +754,7 @@ def test_changelog_pagesize(topo):
3. Should not have any 4K page size in db_stat output
"""

s1=topo.ms["supplier1"]
s1 = topo.ms["supplier1"]
fs_pagesize = os.statvfs(s1.ds_paths.db_home_dir).f_bsize
if fs_pagesize != 4096:
pytest.skip("This test requires that database filesystem prefered block size is 4K.")
Expand All @@ -761,8 +764,8 @@ def test_changelog_pagesize(topo):
log.debug(f"DEBUG: Running {cmd}")
output = subprocess.check_output(cmd, universal_newlines=True, stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as e:
self.log.error(f'Failed to gather db statistics {cmd}: "{e.output.decode()}')
self.log.error(e)
log.error(f'Failed to gather db statistics {cmd}: "{e.output.decode()}')
log.error(e)
raise e
assert not re.match("^4096 *Page size", output, flags=re.MULTILINE)

Expand Down
15 changes: 8 additions & 7 deletions ldap/include/avl.h
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,15 @@ typedef int (*IFP)(); /* takes undefined arguments */
/* avl routines */
#define avl_getone(x) (x == 0 ? 0 : (x)->avl_data)
#define avl_onenode(x) (x == 0 || ((x)->avl_left == 0 && (x)->avl_right == 0))
extern int avl_insert(Avlnode **root, void *data, IFP fcmp, IFP fdup);
extern caddr_t avl_delete(Avlnode **root, void *data, IFP fcmp);
extern caddr_t avl_find(Avlnode *root, void *data, IFP fcmp);

extern int avl_insert(Avlnode **root, caddr_t data, int32_t(*fcmp)(caddr_t, caddr_t), int32_t(*fdup)(caddr_t, caddr_t));
extern caddr_t avl_delete(Avlnode **root, caddr_t data, int32_t(*fcmp)(caddr_t, caddr_t));
extern caddr_t avl_find(Avlnode *root, caddr_t data, int32_t(*fcmp)(caddr_t, caddr_t));
extern caddr_t avl_getfirst(Avlnode *root);
extern caddr_t avl_getnext(void);
extern int avl_dup_error(void);
extern int avl_apply(Avlnode *root, IFP fn, void *arg, int stopflag, int type);
extern int avl_free(Avlnode *root, IFP dfree);
extern int avl_dup_error(caddr_t a, caddr_t b);
extern int avl_apply(Avlnode *root, int32_t(*fn)(caddr_t, caddr_t), void *arg, int stopflag, int type);
extern int avl_free(Avlnode *root, int32_t(*dfree)(caddr_t));

/* apply traversal types */
#define AVL_PREORDER 1
Expand All @@ -80,6 +81,6 @@ extern int avl_free(Avlnode *root, IFP dfree);
/* what apply returns if it ran out of nodes */
#define AVL_NOMORE -6

caddr_t avl_find_lin(Avlnode *root, caddr_t data, IFP fcmp);
caddr_t avl_find_lin(Avlnode *root, caddr_t data, int32_t(*fcmp)(caddr_t, caddr_t));

#endif /* _AVL */
44 changes: 23 additions & 21 deletions ldap/libraries/libavl/avl.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ ravl_insert(
Avlnode **iroot,
caddr_t data,
int *taller,
IFP fcmp, /* comparison function */
IFP fdup, /* function to call for duplicates */
int32_t (*fcmp)(caddr_t, caddr_t), /* comparison function */
int32_t (*fdup)(caddr_t, caddr_t), /* function to call for duplicates */
int depth)
{
int rc, cmp, tallersub;
Expand Down Expand Up @@ -226,13 +226,13 @@ ravl_insert(
int
avl_insert(
Avlnode **root,
void *data,
IFP fcmp,
IFP fdup)
caddr_t data,
int32_t (*fcmp)(caddr_t, caddr_t),
int32_t (*fdup)(caddr_t, caddr_t))
{
int taller;

return ravl_insert(root, (caddr_t)data, &taller, fcmp, fdup, 0);
return ravl_insert(root, data, &taller, fcmp, fdup, 0);
}

/*
Expand Down Expand Up @@ -374,7 +374,7 @@ static caddr_t
ravl_delete(
Avlnode **root,
caddr_t data,
IFP fcmp,
int32_t (*fcmp)(caddr_t, caddr_t),
int *shorter)
{
int shortersubtree = 0;
Expand Down Expand Up @@ -464,15 +464,15 @@ ravl_delete(
*/

caddr_t
avl_delete(Avlnode **root, void *data, IFP fcmp)
avl_delete(Avlnode **root, caddr_t data, int32_t(*fcmp)(caddr_t, caddr_t))
{
int shorter;

return ravl_delete(root, (caddr_t)data, fcmp, &shorter);
return ravl_delete(root, data, fcmp, &shorter);
}

static int
avl_inapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
avl_inapply(Avlnode *root, int32_t(*fn)(caddr_t, caddr_t), caddr_t arg, int stopflag)
{
if (root == 0)
return (AVL_NOMORE);
Expand All @@ -491,7 +491,7 @@ avl_inapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
}

static int
avl_postapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
avl_postapply(Avlnode *root, int32_t(*fn)(caddr_t, caddr_t), caddr_t arg, int stopflag)
{
if (root == 0)
return (AVL_NOMORE);
Expand All @@ -508,7 +508,7 @@ avl_postapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
}

static int
avl_preapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
avl_preapply(Avlnode *root, int32_t(*fn)(caddr_t, caddr_t), caddr_t arg, int stopflag)
{
if (root == 0)
return (AVL_NOMORE);
Expand Down Expand Up @@ -537,7 +537,7 @@ avl_preapply(Avlnode *root, IFP fn, caddr_t arg, int stopflag)
int
avl_apply(
Avlnode *root,
IFP fn,
int32_t (*fn)(caddr_t, caddr_t),
void *arg,
int stopflag,
int type)
Expand Down Expand Up @@ -572,9 +572,9 @@ int
avl_prefixapply(
Avlnode *root,
caddr_t data,
IFP fmatch,
int32_t (*fmatch)(caddr_t, caddr_t),
caddr_t marg,
IFP fcmp,
int32_t (*fcmp)(caddr_t, caddr_t, caddr_t),
caddr_t carg,
int stopflag)
{
Expand Down Expand Up @@ -619,7 +619,7 @@ avl_prefixapply(
*/

int
avl_free(Avlnode *root, IFP dfree)
avl_free(Avlnode *root, int32_t (*dfree)(caddr_t))
{
int nleft, nright;

Expand Down Expand Up @@ -649,11 +649,11 @@ avl_free(Avlnode *root, IFP dfree)
*/

caddr_t
avl_find(Avlnode *root, void *data, IFP fcmp)
avl_find(Avlnode *root, caddr_t data, int32_t (*fcmp)(caddr_t, caddr_t))
{
int cmp;

while (root != 0 && (cmp = (*fcmp)((caddr_t)data, root->avl_data)) != 0) {
while (root != 0 && (cmp = (*fcmp)(data, root->avl_data)) != 0) {
if (cmp < 0)
root = root->avl_left;
else
Expand All @@ -671,7 +671,7 @@ avl_find(Avlnode *root, void *data, IFP fcmp)
*/

caddr_t
avl_find_lin(Avlnode *root, caddr_t data, IFP fcmp)
avl_find_lin(Avlnode *root, caddr_t data, int32_t (*fcmp)(caddr_t, caddr_t))
{
caddr_t res;

Expand Down Expand Up @@ -699,7 +699,7 @@ static int avl_nextlist = 0;

/* ARGSUSED */
static int
avl_buildlist(caddr_t data, int arg __attribute__((unused)))
avl_buildlist(caddr_t data, caddr_t arg __attribute__((unused)))
{
static int slots = 0;

Expand Down Expand Up @@ -774,8 +774,10 @@ avl_getnext(void)
return (avl_list[avl_nextlist++]);
}

/* This is always called from avl_insert, where the dup function expects two
* caddr_t paramters */
int
avl_dup_error(void)
avl_dup_error(caddr_t a __attribute__((unused)), caddr_t b __attribute__((unused)))
{
return (-1);
}
Expand Down
23 changes: 12 additions & 11 deletions ldap/servers/plugins/acl/acllist.c
Original file line number Diff line number Diff line change
Expand Up @@ -233,14 +233,14 @@ __acllist_add_aci(aci_t *aci)
slapi_sdn_set_ndn_byval(aciListHead->acic_sdn, slapi_sdn_get_ndn(aci->aci_sdn));

/* insert the aci */
switch (avl_insert(&acllistRoot, aciListHead, __acllist_aciContainer_node_cmp,
switch (avl_insert(&acllistRoot, (caddr_t)aciListHead, __acllist_aciContainer_node_cmp,
__acllist_aciContainer_node_dup)) {

case 1: /* duplicate ACL on the same entry */

/* Find the node that contains the acl. */
if (NULL == (head = (AciContainer *)avl_find(acllistRoot, aciListHead,
(IFP)__acllist_aciContainer_node_cmp))) {
if (NULL == (head = (AciContainer *)avl_find(acllistRoot, (caddr_t)aciListHead,
__acllist_aciContainer_node_cmp))) {
slapi_log_err(SLAPI_PLUGIN_ACL, plugin_name,
"__acllist_add_aci - Can't insert the acl in the tree\n");
rv = 1;
Expand Down Expand Up @@ -356,8 +356,8 @@ acllist_remove_aci_needsLock(const Slapi_DN *sdn, const struct berval *attr)
slapi_sdn_set_ndn_byval(aciListHead->acic_sdn, slapi_sdn_get_ndn(sdn));

/* now find it */
if (NULL == (root = (AciContainer *)avl_find(acllistRoot, aciListHead,
(IFP)__acllist_aciContainer_node_cmp))) {
if (NULL == (root = (AciContainer *)avl_find(acllistRoot, (caddr_t)aciListHead,
__acllist_aciContainer_node_cmp))) {
/* In that case we don't have any acl for this entry. cool !!! */

acllist_free_aciContainer(&aciListHead);
Expand Down Expand Up @@ -389,7 +389,7 @@ acllist_remove_aci_needsLock(const Slapi_DN *sdn, const struct berval *attr)
slapi_log_err(SLAPI_LOG_ACL, plugin_name,
"acllist_remove_aci_needsLock - Removing container[%d]=%s\n", root->acic_index,
slapi_sdn_get_ndn(root->acic_sdn));
dContainer = (AciContainer *)avl_delete(&acllistRoot, aciListHead,
dContainer = (AciContainer *)avl_delete(&acllistRoot, (caddr_t)aciListHead,
__acllist_aciContainer_node_cmp);
acllist_free_aciContainer(&dContainer);

Expand Down Expand Up @@ -472,8 +472,9 @@ acllist_done_aciContainer(AciContainer *head)
}

static int
free_aci_avl_container(AciContainer *data)
free_aci_avl_container(caddr_t d)
{
AciContainer *data = (AciContainer *)d;
aci_t *head, *next = NULL;

head = data->acic_list;
Expand Down Expand Up @@ -658,7 +659,7 @@ acllist_init_scan(Slapi_PBlock *pb, int scope __attribute__((unused)), const cha

root = (AciContainer *)avl_find(acllistRoot,
(caddr_t)aclpb->aclpb_aclContainer,
(IFP)__acllist_aciContainer_node_cmp);
__acllist_aciContainer_node_cmp);
if (index >= aclpb_max_selected_acls - 2) {
aclpb->aclpb_handles_index[0] = -1;
slapi_ch_free_string(&basedn);
Expand Down Expand Up @@ -750,7 +751,7 @@ acllist_aciscan_update_scan(Acl_PBlock *aclpb, char *edn)

root = (AciContainer *)avl_find(acllistRoot,
(caddr_t)aclpb->aclpb_aclContainer,
(IFP)__acllist_aciContainer_node_cmp);
__acllist_aciContainer_node_cmp);

slapi_log_err(SLAPI_LOG_ACL, plugin_name,
"acllist_aciscan_update_scan - Searching AVL tree for update:%s: container:%d\n",
Expand Down Expand Up @@ -910,8 +911,8 @@ acllist_moddn_aci_needsLock(Slapi_DN *oldsdn, char *newdn)
slapi_sdn_free(&aciListHead->acic_sdn);
aciListHead->acic_sdn = oldsdn;

if (NULL == (head = (AciContainer *)avl_find(acllistRoot, aciListHead,
(IFP)__acllist_aciContainer_node_cmp))) {
if (NULL == (head = (AciContainer *)avl_find(acllistRoot, (caddr_t)aciListHead,
__acllist_aciContainer_node_cmp))) {

slapi_log_err(SLAPI_PLUGIN_ACL, plugin_name,
"acllist_moddn_aci_needsLock - Can't find the acl in the tree for moddn operation:olddn%s\n",
Expand Down
Loading
Loading