Browse Source

Issue 49254 - Fix compiler failures and warnings

Description:  Fix issues with new gcc compiler flag "-fno-common",
              and clean up doxygen warnings around libsds

relates: https://pagure.io/389-ds-base/issue/49254

Reviewed by: mhonek, spichugi, and tbordaz (Thanks!!!)
tags/debian/1.4.3.2-1
Mark Reynolds 1 year ago
parent
commit
3c38d33352
8 changed files with 47 additions and 32 deletions
  1. +0
    -2
      docs/slapi.doxy.in
  2. +1
    -0
      ldap/servers/plugins/acl/acl.c
  3. +2
    -2
      ldap/servers/plugins/acl/acl.h
  4. +2
    -0
      ldap/servers/plugins/acl/acl_ext.c
  5. +5
    -3
      ldap/servers/slapd/result.c
  6. +2
    -2
      ldap/servers/slapd/slap.h
  7. +1
    -1
      ldap/servers/slapd/tools/ldclt/ldapfct.c
  8. +34
    -22
      src/libsds/include/sds.h

+ 0
- 2
docs/slapi.doxy.in View File

@@ -760,7 +760,6 @@ WARN_LOGFILE =

INPUT = src/libsds/include/sds.h \
docs/job-safety.md \
src/nunc-stans/include/nunc-stans.h
# ldap/servers/slapd/slapi-plugin.h \

# This tag can be used to specify the character encoding of the source files
@@ -1101,7 +1100,6 @@ HTML_EXTRA_STYLESHEET = docs/custom.css

# HTML_EXTRA_FILES = docs/nunc-stans-intro.png \
# docs/nunc-stans-job-states.png
HTML_EXTRA_FILES = docs/nunc-stans-job-states.png

# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to


+ 1
- 0
ldap/servers/plugins/acl/acl.c View File

@@ -13,6 +13,7 @@

#include "acl.h"


/****************************************************************************
*
* acl.c


+ 2
- 2
ldap/servers/plugins/acl/acl.h View File

@@ -311,8 +311,8 @@ typedef struct aci
#define ATTR_ACLPB_MAX_SELECTED_ACLS "nsslapd-aclpb-max-selected-acls"
#define DEFAULT_ACLPB_MAX_SELECTED_ACLS 200

int aclpb_max_selected_acls; /* initialized from plugin config entry */
int aclpb_max_cache_results; /* initialized from plugin config entry */
extern int aclpb_max_selected_acls; /* initialized from plugin config entry */
extern int aclpb_max_cache_results; /* initialized from plugin config entry */

typedef struct result_cache
{


+ 2
- 0
ldap/servers/plugins/acl/acl_ext.c View File

@@ -23,6 +23,8 @@ static int acl__put_aclpb_back_to_pool(Acl_PBlock *aclpb);
static Acl_PBlock *acl__malloc_aclpb(void);
static void acl__free_aclpb(Acl_PBlock **aclpb_ptr);

int aclpb_max_selected_acls = DEFAULT_ACLPB_MAX_SELECTED_ACLS;
int aclpb_max_cache_results = DEFAULT_ACLPB_MAX_SELECTED_ACLS;

struct acl_pbqueue
{


+ 5
- 3
ldap/servers/slapd/result.c View File

@@ -1954,9 +1954,11 @@ notes2str(unsigned int notes, char *buf, size_t buflen)
*/
buflen -= len;
p += len;
/* Put in the end quote, then back track p. */
*p++ = '"';
*p--;
/*
* Put in the end quote. If another snp_detail is append a comma
* will overwrite the quote.
*/
*(p + 1) = '"';
}
}



+ 2
- 2
ldap/servers/slapd/slap.h View File

@@ -935,7 +935,7 @@ enum
};

/* DataList definition */
struct datalist
typedef struct datalist
{
void **elements; /* array of elements */
int element_count; /* number of elements in the array */
@@ -1737,7 +1737,7 @@ typedef struct conn
* * Online tasks interface (to support import, export, etc)
* * After some cleanup, we could consider making these public.
* */
struct slapi_task
typedef struct slapi_task
{
struct slapi_task *next;
char *task_dn;


+ 1
- 1
ldap/servers/slapd/tools/ldclt/ldapfct.c View File

@@ -698,7 +698,7 @@ connectToLDAP(thread_context *tttctx, const char *bufBindDN, const char *bufPass
}
if (mode & VERY_VERBOSE)
printf("ldclt[%d]: T%03d: Before ldap_simple_bind_s (%s, %s)\n",
mctx.pid, thrdNum, binddn,
mctx.pid, thrdNum, binddn ? binddn : "Anonymous",
passwd ? passwd : "NO PASSWORD PROVIDED");
ret = ldap_sasl_bind_s(ld, binddn,
LDAP_SASL_SIMPLE, &cred, NULL, NULL, &servercredp); /*JLS 05-01-01*/


+ 34
- 22
src/libsds/include/sds.h View File

@@ -221,13 +221,13 @@ void sds_free(void *ptr);
* sds_crc32c uses the crc32c algorithm to create a verification checksum of data.
* This checksum is for data verification, not cryptographic purposes. It is used
* largely in debugging to find cases when bytes in structures are updated incorrectly,
* or to find memory bit flips during operation. If avaliable, this will use the
* or to find memory bit flips during operation. If available, this will use the
* intel sse4 crc32c hardware acceleration.
*
* \param crc The running CRC value. Initially should be 0. If in doubt, use 0.
* \param data Pointer to the data to checksum.
* \param length number of bytes to validate.
* \retval crc The crc of this data. May be re-used in subsequent sds_crc32c calls
* \retval rcrc The crc of this data. May be re-used in subsequent sds_crc32c calls
* for certain datatypes.
*/
uint32_t sds_crc32c(uint32_t crc, const unsigned char *data, size_t length);
@@ -1356,48 +1356,60 @@ typedef enum _sds_ht_slot_state {
SDS_HT_BRANCH = 2,
} sds_ht_slot_state;

/**
* ht values
*/
typedef struct _sds_ht_value
{
uint32_t checksum;
void *key;
void *value;
uint32_t checksum; /**< the checksum */
void *key; /**< the key */
void *value; /**< the key value */
// may make this a LL of values later for collisions
} sds_ht_value;

/**
* ht slot
*/
typedef struct _sds_ht_slot
{
sds_ht_slot_state state;
sds_ht_slot_state state; /**< the checksum */
union
{
sds_ht_value *value;
struct _sds_ht_node *node;
} slot;
} slot; /**< slot union */
} sds_ht_slot;

/**
* ht node
*/
typedef struct _sds_ht_node
{
uint32_t checksum;
uint64_t txn_id;
uint_fast32_t count;
uint32_t checksum; /**< the checksum */
uint64_t txn_id; /**< transaction id */
uint_fast32_t count; /**< the count */
#ifdef SDS_DEBUG
uint64_t depth;
#endif
struct _sds_ht_node *parent;
size_t parent_slot;
sds_ht_slot slots[HT_SLOTS];
struct _sds_ht_node *parent; /**< the parent */
size_t parent_slot; /**< the parent slot */
sds_ht_slot slots[HT_SLOTS]; /**< the slots */
} sds_ht_node;

/**
* ht instance
*/
typedef struct _sds_ht_instance
{
uint32_t checksum;
char hkey[16];
sds_ht_node *root;
int64_t (*key_cmp_fn)(void *a, void *b);
uint64_t (*key_size_fn)(void *key);
void *(*key_dup_fn)(void *key);
void (*key_free_fn)(void *key);
void *(*value_dup_fn)(void *value);
void (*value_free_fn)(void *value);
uint32_t checksum; /**< the checksum */
char hkey[16]; /**< the key */
sds_ht_node *root; /**< the root */
int64_t (*key_cmp_fn)(void *a, void *b); /**< the keycompare function */
uint64_t (*key_size_fn)(void *key); /**< the key size function */
void *(*key_dup_fn)(void *key); /**< the key dup function */
void (*key_free_fn)(void *key); /**< the key free function */
void *(*value_dup_fn)(void *value); /**< the value dup function */
void (*value_free_fn)(void *value); /**< the value free function */
} sds_ht_instance;

uint64_t sds_uint64_t_size(void *key);


Loading…
Cancel
Save