Changes to 'refs/tags/adminutil_8_2_Errata_Candidate_14430_20130130'
by Mark Reynolds
Changes since the dawn of time:
Mark Reynolds (2):
Ticket 497 - Console logins fail intermittenly
Bump version to 1.1.8-3
Nathan Kinder (5):
Fixed parsing of supported emulations in nsarch
Resolves: 213070
Related: 213070
Resolves: 246124
Resolves: 247192
Noriko Hosoi (20):
[161407] Fixed the library path for the 64-bit build on Solaris.
libadminutil##.<ext> should not link SSL related ldapsdk libraries.
*** empty log message ***
[172166] Admin Util RPM
[172166] Admin Util build (64-bit)
[172166] Admin Util build (IPF)
[Bug 172166] Admin Util build (IPF)
[Bug 172166] Admin Util build (IPF)
[179394] HP-UX PA-RISC support
[179394] HP-UX IPF/PA-RISC support
upgraded LDAP C SDK: v5.16 -> v5.17
Replaced PL_Free with PR_Free.
[161099] admin passwd in clear text in adm.conf
[172166] Admin Util build (RPM)
[195258] Changes for the internal build
Removed the link arg to link with libCrun.so.1 since there is no C++ code
Resolves: #186280
Resolves: Bug 237356
Fixed a minor bug introduced in the revision 1.6.
Resolves: #191834
Rich Megginson (39):
change binary directory naming convention to the same one we use with pre-built binary components; remove old crufty Fortezza stuff; general makefile cleanup
Bug(s) fixed: 171799
make PERL5 use perl from PATH on Linux
The correct naming convention for RHEL is
1) Fix moz objdir name for generic linux x86_64
Bug(s) fixed: 186280
Bug: 186280
use new ldapcsdk 6.0.0; upgrade other components
Reviewed by: nhosoi (Thanks!)
Bug(s) fixed: 213788
Bug: 213788
Resolves: bug 234420
Resolves: bug 239475
bump version to 1.1.1
bump version to 1.1.1
add support for -version-number when building shared libs; fix a couple of minor issues brought up in fedora package review
pkgconfig is a requires, not a build requires
final spec fix for fedora
Resolves: bug 235293
Resolves: bug 245208
Resolves: bug 245208
Resolves: bug 245396
bump version to 1.1.2
bump version to 1.1.3
Resolves: bug 250526
Resolves: bug 323381
bump version to 1.1.5
Resolves: bug 245248
bump version to 1.1.6
Resolves: bug 413531
Resolves: bug 454060
the correct function name is admldapSetDirectoryURL
bump version to 1.1.7
Resolves: bug 462411
compiler warning clean up
Resolves: bug 466137
fix compiler warning
bump version to 1.1.8
the 1.1.8 release
foxworth (1):
Internal Red Hat CVS project for adminutil: core
11 years, 3 months
ldap/servers
by Mark Reynolds
ldap/servers/slapd/attr.c | 113 +++++++++++++++---------------------------
ldap/servers/slapd/entrywsi.c | 2
ldap/servers/slapd/slap.h | 1
3 files changed, 42 insertions(+), 74 deletions(-)
New commits:
commit 1c3bf98303c04323542251f1c564c8bdc4e8cc67
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Fri Feb 1 10:52:17 2013 -0500
Ticket 570 - DS returns error 20 when replacing values of a multi-valued attribute (only when replication is enabled)
Bug Description: When replacing an attr value "SOME_VALUE" with "some_value", and replication
is enabled, an error 20(type or value exists) is incorrectly returned.
Fix Description: For replace operations we were doing a bit-by-bit comparison. Ignoring the syntax
of the attribute. The fix was to remove this bit-by-bit check that is no longer
necessary with the current code base.
Also cleaned up some compiler warnings.
https://fedorahosted.org/389/ticket/570
Reviewed by: ?
diff --git a/ldap/servers/slapd/attr.c b/ldap/servers/slapd/attr.c
index 63142f5..03b366c 100644
--- a/ldap/servers/slapd/attr.c
+++ b/ldap/servers/slapd/attr.c
@@ -453,7 +453,7 @@ slapi_attr_value_find( const Slapi_Attr *a, const struct berval *v )
}
if ( a->a_flags == 0 && a->a_plugin == NULL ) {
- slapi_attr_init_syntax (a);
+ slapi_attr_init_syntax ((Slapi_Attr *)a);
}
ava.ava_type = a->a_type;
ava.ava_value = *v;
@@ -567,7 +567,7 @@ int
slapi_attr_get_flags( const Slapi_Attr *a, unsigned long *flags )
{
if ( a->a_flags == 0 && a->a_plugin == NULL ) {
- slapi_attr_init_syntax (a);
+ slapi_attr_init_syntax ((Slapi_Attr *)a);
}
*flags = a->a_flags;
return( 0 );
@@ -577,7 +577,7 @@ int
slapi_attr_flag_is_set( const Slapi_Attr *a, unsigned long flag )
{
if ( a->a_flags == 0 && a->a_plugin == NULL ) {
- slapi_attr_init_syntax (a);
+ slapi_attr_init_syntax ((Slapi_Attr *)a);
}
return( a->a_flags & flag );
}
@@ -585,82 +585,51 @@ slapi_attr_flag_is_set( const Slapi_Attr *a, unsigned long flag )
int
slapi_attr_value_cmp( const Slapi_Attr *a, const struct berval *v1, const struct berval *v2 )
{
- int retVal;
+ Slapi_Attr a2 = *a;
+ struct ava ava;
+ Slapi_Value *cvals[2];
+ Slapi_Value tmpcval;
- if ( a->a_flags == 0 && a->a_plugin == NULL ) {
- slapi_attr_init_syntax (a);
- }
- if ( a->a_flags & SLAPI_ATTR_FLAG_CMP_BITBYBIT )
- {
- int cmplen = ( v1->bv_len <= v2->bv_len ? v1->bv_len : v2->bv_len );
- retVal = memcmp(v1->bv_val, v2->bv_val, cmplen);
- if ( retVal == 0 && v1->bv_len < v2->bv_len )
- {
- retVal = -1;
- }
- else if ( retVal == 0 && v1->bv_len > v2->bv_len )
- {
- retVal = 1;
- }
- }
- else
- {
- Slapi_Attr a2;
- struct ava ava;
- Slapi_Value *cvals[2];
- Slapi_Value tmpcval;
-
- a2 = *a;
- cvals[0] = &tmpcval;
- cvals[0]->v_csnset = NULL;
- cvals[0]->bv = *v1;
- cvals[0]->v_flags = 0;
- cvals[1] = NULL;
- a2.a_present_values.va = cvals; /* JCM - PUKE */
- ava.ava_type = a->a_type;
- ava.ava_value = *v2;
- ava.ava_private = NULL;
- retVal = plugin_call_syntax_filter_ava(&a2, LDAP_FILTER_EQUALITY, &ava);
- }
- return retVal;
+ if ( a->a_flags == 0 && a->a_plugin == NULL ) {
+ slapi_attr_init_syntax ((Slapi_Attr *)a);
+ }
+ cvals[0] = &tmpcval;
+ cvals[0]->v_csnset = NULL;
+ cvals[0]->bv = *v1;
+ cvals[0]->v_flags = 0;
+ cvals[1] = NULL;
+ a2.a_present_values.va = cvals; /* JCM - PUKE */
+ ava.ava_type = a->a_type;
+ ava.ava_value = *v2;
+ ava.ava_private = NULL;
+
+ return( plugin_call_syntax_filter_ava(&a2, LDAP_FILTER_EQUALITY, &ava));
}
int
slapi_attr_value_cmp_ext(const Slapi_Attr *a, Slapi_Value *v1, Slapi_Value *v2)
{
- int retVal;
- const struct berval *bv2 = slapi_value_get_berval(v2);
+ struct ava ava;
+ Slapi_Attr a2 = *a;
+ Slapi_Value *cvals[2];
+ unsigned long v2_flags = v2->v_flags;
+ const struct berval *bv2 = slapi_value_get_berval(v2);
+
+ if ( a->a_flags == 0 && a->a_plugin == NULL ) {
+ slapi_attr_init_syntax ((Slapi_Attr *)a);
+ }
+ cvals[0] = v1;
+ cvals[1] = NULL;
+ a2.a_present_values.va = cvals;
+ ava.ava_type = a->a_type;
+ ava.ava_value = *bv2;
+ if (v2_flags) {
+ ava.ava_private = &v2_flags;
+ } else {
+ ava.ava_private = NULL;
+ }
- if ( a->a_flags == 0 && a->a_plugin == NULL ) {
- slapi_attr_init_syntax (a);
- }
- if ( a->a_flags & SLAPI_ATTR_FLAG_CMP_BITBYBIT )
- {
- const struct berval *bv1 = slapi_value_get_berval(v1);
- return slapi_attr_value_cmp(a, bv1, bv2);
- }
- else
- {
- Slapi_Attr a2;
- struct ava ava;
- Slapi_Value *cvals[2];
- unsigned long v2_flags = v2->v_flags;
-
- a2 = *a;
- cvals[0] = v1;
- cvals[1] = NULL;
- a2.a_present_values.va = cvals; /* JCM - PUKE */
-
- ava.ava_type = a->a_type;
- ava.ava_value = *bv2;
- if (v2_flags) {
- ava.ava_private = &v2_flags;
- } else {
- ava.ava_private = NULL;
- }
- retVal = plugin_call_syntax_filter_ava(&a2, LDAP_FILTER_EQUALITY, &ava);
- }
- return retVal;
+ return (plugin_call_syntax_filter_ava(&a2, LDAP_FILTER_EQUALITY, &ava));
}
/*
diff --git a/ldap/servers/slapd/entrywsi.c b/ldap/servers/slapd/entrywsi.c
index 52555b7..578cb4f 100644
--- a/ldap/servers/slapd/entrywsi.c
+++ b/ldap/servers/slapd/entrywsi.c
@@ -718,7 +718,7 @@ entry_replace_present_values_wsi(Slapi_Entry *e, const char *type, struct berval
* slapi_entry_add_values() returns LDAP_SUCCESS and so the
* attribute remains deleted (which is the correct outcome).
*/
- return( entry_add_present_values_wsi( e, type, vals, csn, urp, SLAPI_ATTR_FLAG_CMP_BITBYBIT ));
+ return( entry_add_present_values_wsi( e, type, vals, csn, urp, 0));
}
/*
diff --git a/ldap/servers/slapd/slap.h b/ldap/servers/slapd/slap.h
index bee364f..1b1bc37 100644
--- a/ldap/servers/slapd/slap.h
+++ b/ldap/servers/slapd/slap.h
@@ -524,7 +524,6 @@ typedef struct asyntaxinfo {
if any */
#define SLAPI_ATTR_FLAG_NOLOCKING 0x0020 /* the init code doesn't lock the
tables */
-#define SLAPI_ATTR_FLAG_CMP_BITBYBIT 0x4000 /* do memcmp, not syntax cmp */
#define SLAPI_ATTR_FLAG_KEEP 0x8000 /* keep when replacing all */
/* This is the type of the function passed into attr_syntax_enumerate_attrs */
11 years, 3 months
ldap/servers
by Noriko Hosoi
ldap/servers/slapd/back-ldbm/sort.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
New commits:
commit 95f425da43b380163c2ddae66fc77d2b863a00e5
Author: Noriko Hosoi <nhosoi(a)totoro.usersys.redhat.com>
Date: Thu Jan 31 16:45:28 2013 -0800
Ticket #543 - Sorting with attributes in ldapsearch gives incorrect result
Bug description: In the server side sorting compare function
compare_entries_sv, if multiple attribute types are specified,
the sort spec for each attribute is scanned one by one in the
for loop. In the for loop, instead of using the "current"
spec, the first spec is kept using. If the attribute types
have different syntaxes (e.g., cis, tel), then the first
syntax is unexpectedly selected for the second syntax.
Fix description: This patch correctly uses the current spec
in the for loop.
Reviewed by Nathan (Thank you!!)
diff --git a/ldap/servers/slapd/back-ldbm/sort.c b/ldap/servers/slapd/back-ldbm/sort.c
index 501765c..a61f117 100644
--- a/ldap/servers/slapd/back-ldbm/sort.c
+++ b/ldap/servers/slapd/back-ldbm/sort.c
@@ -688,7 +688,7 @@ static int compare_entries_sv(ID *id_a, ID *id_b, sort_spec *s,baggage_carrier *
* doesn't try to free them. We need to note at the right place that
* we're on the matchrule path, and accordingly free the keys---this turns out
* to be when we free the indexer */
- if (NULL == s->matchrule) {
+ if (NULL == this_one->matchrule) {
/* Non-match rule case */
valuearray_get_bervalarray(valueset_get_valuearray(&attr_a->a_present_values),&value_a);
valuearray_get_bervalarray(valueset_get_valuearray(&attr_b->a_present_values),&value_b);
@@ -700,22 +700,22 @@ static int compare_entries_sv(ID *id_a, ID *id_b, sort_spec *s,baggage_carrier *
valuearray_get_bervalarray(valueset_get_valuearray(&attr_a->a_present_values),&actual_value_a);
valuearray_get_bervalarray(valueset_get_valuearray(&attr_b->a_present_values),&actual_value_b);
- matchrule_values_to_keys(s->mr_pb,actual_value_a,&temp_value);
+ matchrule_values_to_keys(this_one->mr_pb,actual_value_a,&temp_value);
/* Now copy it, so the second call doesn't crap on it */
value_a = slapi_ch_bvecdup(temp_value); /* Really, we'd prefer to not call the chXXX variant...*/
- matchrule_values_to_keys(s->mr_pb,actual_value_b,&value_b);
+ matchrule_values_to_keys(this_one->mr_pb,actual_value_b,&value_b);
if (actual_value_a) ber_bvecfree(actual_value_a);
if (actual_value_b) ber_bvecfree(actual_value_b);
}
/* Compare them */
if (!order) {
- result = sort_attr_compare(value_a, value_b, s->compare_fn);
+ result = sort_attr_compare(value_a, value_b, this_one->compare_fn);
} else {
/* If reverse, invert the sense of the comparison */
- result = sort_attr_compare(value_b, value_a, s->compare_fn);
+ result = sort_attr_compare(value_b, value_a, this_one->compare_fn);
}
/* Time to free up the attributes allocated above */
- if (NULL != s->matchrule) {
+ if (NULL != this_one->matchrule) {
ber_bvecfree(value_a);
} else {
ber_bvecfree(value_a);
11 years, 3 months