Branch '389-ds-base-1.2.11' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/cl5_api.c | 54 +++++++++-------
ldap/servers/plugins/replication/cl5_api.h | 2
ldap/servers/plugins/replication/repl5.h | 8 ++
ldap/servers/plugins/replication/repl5_replica_config.c | 12 ++-
4 files changed, 50 insertions(+), 26 deletions(-)
New commits:
commit 41c0a49148725667fbced82b2c2be5b6ec37a4db
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 14:38:27 2016 -0500
Ticket 48964 - cleanallruv changelog purging removes wrong
rid
Bug Description: A regression from the previous patch uses the local replica
object to locate the correct changelog file, but the rid to
be clean is not the same rid from the replica object. So the
local replica object's rid is used accidentally to purge the
change log.
Fix Description: Instead if passing the replica object to the changelog purging
code, create a new purge_data struct to hold all the neccessary
data to purge the correct changelog file and the cleaned rid.
https://fedorahosted.org/389/ticket/48964
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit a38d76d27970b5b6facf2ffbd1bce9d6979e6297)
(cherry picked from commit 4053587d5dfb9c4b4e5cd966cabb1adc624511d6)
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index d91574f..3c46ed3 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -3491,12 +3491,12 @@ static void _cl5DoTrimming ()
* changelog for the backend that is being cleaned, and purge all the records
* with the cleaned rid.
*/
-static void _cl5DoPurging (Replica *replica)
+static void _cl5DoPurging (cleanruv_purge_data *purge_data)
{
- ReplicaId rid = replica_get_rid(replica);
- const Slapi_DN *sdn = replica_get_root(replica);
- const char *replName = replica_get_name(replica);
- char *replGen = replica_get_generation(replica);
+ ReplicaId rid = purge_data->cleaned_rid;
+ const Slapi_DN *suffix_sdn = purge_data->suffix_sdn;
+ const char *replName = purge_data->replName;
+ char *replGen = purge_data->replGen;
char *fileName;
Object *obj;
@@ -3508,18 +3508,15 @@ static void _cl5DoPurging (Replica *replica)
_cl5PurgeRID (obj, rid);
object_release (obj);
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "Purged rid (%d) from suffix (%s)\n",
- rid, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purged rid (%d) from suffix (%s)\n",
+ rid, slapi_sdn_get_dn(suffix_sdn));
} else {
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
- rid, fileName, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
+ rid, fileName, slapi_sdn_get_dn(suffix_sdn));
}
PR_Unlock (s_cl5Desc.dbTrim.lock);
- slapi_ch_free_string(&replGen);
- slapi_ch_free_string(&fileName);
-
return;
}
@@ -6888,19 +6885,27 @@ cl5CleanRUV(ReplicaId rid){
slapi_rwlock_unlock (s_cl5Desc.stLock);
}
+static void free_purge_data(cleanruv_purge_data *purge_data)
+{
+ slapi_ch_free_string(&purge_data->replGen);
+ slapi_ch_free_string(&purge_data->replName);
+ slapi_ch_free((void **)&purge_data);
+}
+
/*
* Create a thread to purge a changelog of cleaned RIDs
*/
-void trigger_cl_purging(Replica *replica){
+void trigger_cl_purging(cleanruv_purge_data *purge_data){
PRThread *trim_tid = NULL;
trim_tid = PR_CreateThread(PR_USER_THREAD, (VFP)(void*)trigger_cl_purging_thread,
- (void *)replica, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
+ (void *)purge_data, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD, DEFAULT_THREAD_STACKSIZE);
if (NULL == trim_tid){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "trigger_cl_purging: failed to create trimming "
+ "trigger_cl_purging: failed to create cl trimming "
"thread; NSPR error - %d\n", PR_GetError ());
+ free_purge_data(purge_data);
} else {
/* need a little time for the thread to get started */
DS_Sleep(PR_SecondsToInterval(1));
@@ -6912,13 +6917,12 @@ void trigger_cl_purging(Replica *replica){
*/
void
trigger_cl_purging_thread(void *arg){
- Replica *replica = (Replica *)arg;
+ cleanruv_purge_data *purge_data = (cleanruv_purge_data *)arg;
/* Make sure we have a change log, and we aren't closing it */
- if (replica == NULL ||
- s_cl5Desc.dbState == CL5_STATE_CLOSED ||
+ if (s_cl5Desc.dbState == CL5_STATE_CLOSED ||
s_cl5Desc.dbState == CL5_STATE_CLOSING) {
- return;
+ goto free_and_return;
}
/* Bump the changelog thread count */
@@ -6926,13 +6930,17 @@ trigger_cl_purging_thread(void *arg){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
"trigger_cl_purging: Abort - failed to increment thread count "
"NSPR error - %d\n", PR_GetError ());
- return;
+ goto free_and_return;
}
/* Purge the changelog */
- _cl5DoPurging(replica);
+ _cl5DoPurging(purge_data);
_cl5RemoveThread();
+
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "trigger_cl_purging: purged changelog for (%s) rid (%d)\n",
- slapi_sdn_get_dn(replica_get_root(replica)), replica_get_rid(replica));
+ "trigger_cl_purging_thread - purged changelog for (%s) rid (%d)\n",
+ slapi_sdn_get_dn(purge_data->suffix_sdn), purge_data->cleaned_rid);
+
+free_and_return:
+ free_purge_data(purge_data);
}
diff --git a/ldap/servers/plugins/replication/cl5_api.h b/ldap/servers/plugins/replication/cl5_api.h
index 83683f5..c690d89 100644
--- a/ldap/servers/plugins/replication/cl5_api.h
+++ b/ldap/servers/plugins/replication/cl5_api.h
@@ -493,6 +493,6 @@ int cl5WriteRUV();
int cl5DeleteRUV();
void cl5CleanRUV(ReplicaId rid);
void cl5NotifyCleanup(int rid);
-void trigger_cl_purging(Replica *replica);
+void trigger_cl_purging(cleanruv_purge_data *purge_data);
#endif
diff --git a/ldap/servers/plugins/replication/repl5.h b/ldap/servers/plugins/replication/repl5.h
index a521389..0db632e 100644
--- a/ldap/servers/plugins/replication/repl5.h
+++ b/ldap/servers/plugins/replication/repl5.h
@@ -676,6 +676,14 @@ typedef struct _cleanruv_data
char *force;
} cleanruv_data;
+typedef struct _cleanruv_purge_data
+{
+ int cleaned_rid;
+ const Slapi_DN *suffix_sdn;
+ char *replName;
+ char *replGen;
+} cleanruv_purge_data;
+
/* replutil.c */
LDAPControl* create_managedsait_control ();
LDAPControl* create_backend_control(Slapi_DN *sdn);
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
index 010e517..c6a9ffa 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -1211,6 +1211,7 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
Object *RUVObj;
RUV *local_ruv = NULL;
Replica *replica = (Replica*)object_get_data (r);
+ cleanruv_purge_data *purge_data;
int rc = 0;
PR_ASSERT (replica);
@@ -1242,9 +1243,16 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
cl5CleanRUV(rid);
/*
- * Now purge the changelog
+ * Now purge the changelog. The purging thread will free the purge_data
*/
- trigger_cl_purging(replica);
+ if (replica){
+ purge_data = (cleanruv_purge_data*)slapi_ch_calloc(1, sizeof(cleanruv_purge_data));
+ purge_data->cleaned_rid = rid;
+ purge_data->suffix_sdn = replica_get_root(replica);
+ purge_data->replName = (char *)replica_get_name(replica);
+ purge_data->replGen = replica_get_generation(replica);
+ trigger_cl_purging(purge_data);
+ }
if (rc != RUV_SUCCESS){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, "cleanruv_task: task failed(%d)\n",rc);
6 years, 9 months
Branch '389-ds-base-1.3.4' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/cl5_api.c | 54 +++++++++-------
ldap/servers/plugins/replication/cl5_api.h | 2
ldap/servers/plugins/replication/repl5.h | 8 ++
ldap/servers/plugins/replication/repl5_replica_config.c | 12 ++-
4 files changed, 50 insertions(+), 26 deletions(-)
New commits:
commit 7b398351a9cfa4175b0b4c1f12b0bd6aa5ef2a09
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 14:38:27 2016 -0500
Ticket 48964 - cleanallruv changelog purging removes wrong
rid
Bug Description: A regression from the previous patch uses the local replica
object to locate the correct changelog file, but the rid to
be clean is not the same rid from the replica object. So the
local replica object's rid is used accidentally to purge the
change log.
Fix Description: Instead if passing the replica object to the changelog purging
code, create a new purge_data struct to hold all the neccessary
data to purge the correct changelog file and the cleaned rid.
https://fedorahosted.org/389/ticket/48964
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit a38d76d27970b5b6facf2ffbd1bce9d6979e6297)
(cherry picked from commit 4053587d5dfb9c4b4e5cd966cabb1adc624511d6)
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index 6a09aea..3d0b002 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -3494,12 +3494,12 @@ static void _cl5DoTrimming ()
* changelog for the backend that is being cleaned, and purge all the records
* with the cleaned rid.
*/
-static void _cl5DoPurging (Replica *replica)
+static void _cl5DoPurging (cleanruv_purge_data *purge_data)
{
- ReplicaId rid = replica_get_rid(replica);
- const Slapi_DN *sdn = replica_get_root(replica);
- const char *replName = replica_get_name(replica);
- char *replGen = replica_get_generation(replica);
+ ReplicaId rid = purge_data->cleaned_rid;
+ const Slapi_DN *suffix_sdn = purge_data->suffix_sdn;
+ const char *replName = purge_data->replName;
+ char *replGen = purge_data->replGen;
char *fileName;
Object *obj;
@@ -3511,18 +3511,15 @@ static void _cl5DoPurging (Replica *replica)
_cl5PurgeRID (obj, rid);
object_release (obj);
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "Purged rid (%d) from suffix (%s)\n",
- rid, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purged rid (%d) from suffix (%s)\n",
+ rid, slapi_sdn_get_dn(suffix_sdn));
} else {
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
- rid, fileName, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
+ rid, fileName, slapi_sdn_get_dn(suffix_sdn));
}
PR_Unlock (s_cl5Desc.dbTrim.lock);
- slapi_ch_free_string(&replGen);
- slapi_ch_free_string(&fileName);
-
return;
}
@@ -6977,19 +6974,27 @@ cl5CleanRUV(ReplicaId rid){
slapi_rwlock_unlock (s_cl5Desc.stLock);
}
+static void free_purge_data(cleanruv_purge_data *purge_data)
+{
+ slapi_ch_free_string(&purge_data->replGen);
+ slapi_ch_free_string(&purge_data->replName);
+ slapi_ch_free((void **)&purge_data);
+}
+
/*
* Create a thread to purge a changelog of cleaned RIDs
*/
-void trigger_cl_purging(Replica *replica){
+void trigger_cl_purging(cleanruv_purge_data *purge_data){
PRThread *trim_tid = NULL;
trim_tid = PR_CreateThread(PR_USER_THREAD, (VFP)(void*)trigger_cl_purging_thread,
- (void *)replica, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
+ (void *)purge_data, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD, DEFAULT_THREAD_STACKSIZE);
if (NULL == trim_tid){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "trigger_cl_purging: failed to create trimming "
+ "trigger_cl_purging: failed to create cl trimming "
"thread; NSPR error - %d\n", PR_GetError ());
+ free_purge_data(purge_data);
} else {
/* need a little time for the thread to get started */
DS_Sleep(PR_SecondsToInterval(1));
@@ -7001,13 +7006,12 @@ void trigger_cl_purging(Replica *replica){
*/
void
trigger_cl_purging_thread(void *arg){
- Replica *replica = (Replica *)arg;
+ cleanruv_purge_data *purge_data = (cleanruv_purge_data *)arg;
/* Make sure we have a change log, and we aren't closing it */
- if (replica == NULL ||
- s_cl5Desc.dbState == CL5_STATE_CLOSED ||
+ if (s_cl5Desc.dbState == CL5_STATE_CLOSED ||
s_cl5Desc.dbState == CL5_STATE_CLOSING) {
- return;
+ goto free_and_return;
}
/* Bump the changelog thread count */
@@ -7015,13 +7019,17 @@ trigger_cl_purging_thread(void *arg){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
"trigger_cl_purging: Abort - failed to increment thread count "
"NSPR error - %d\n", PR_GetError ());
- return;
+ goto free_and_return;
}
/* Purge the changelog */
- _cl5DoPurging(replica);
+ _cl5DoPurging(purge_data);
_cl5RemoveThread();
+
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "trigger_cl_purging: purged changelog for (%s) rid (%d)\n",
- slapi_sdn_get_dn(replica_get_root(replica)), replica_get_rid(replica));
+ "trigger_cl_purging_thread - purged changelog for (%s) rid (%d)\n",
+ slapi_sdn_get_dn(purge_data->suffix_sdn), purge_data->cleaned_rid);
+
+free_and_return:
+ free_purge_data(purge_data);
}
diff --git a/ldap/servers/plugins/replication/cl5_api.h b/ldap/servers/plugins/replication/cl5_api.h
index 1a1c2f5..e33601d 100644
--- a/ldap/servers/plugins/replication/cl5_api.h
+++ b/ldap/servers/plugins/replication/cl5_api.h
@@ -467,6 +467,6 @@ int cl5WriteRUV();
int cl5DeleteRUV();
void cl5CleanRUV(ReplicaId rid);
void cl5NotifyCleanup(int rid);
-void trigger_cl_purging(Replica *replica);
+void trigger_cl_purging(cleanruv_purge_data *purge_data);
#endif
diff --git a/ldap/servers/plugins/replication/repl5.h b/ldap/servers/plugins/replication/repl5.h
index 6f6c81a..56bc860 100644
--- a/ldap/servers/plugins/replication/repl5.h
+++ b/ldap/servers/plugins/replication/repl5.h
@@ -695,6 +695,14 @@ typedef struct _cleanruv_data
char *force;
} cleanruv_data;
+typedef struct _cleanruv_purge_data
+{
+ int cleaned_rid;
+ const Slapi_DN *suffix_sdn;
+ char *replName;
+ char *replGen;
+} cleanruv_purge_data;
+
/* replutil.c */
LDAPControl* create_managedsait_control ();
LDAPControl* create_backend_control(Slapi_DN *sdn);
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
index 096c829..d3e5ecf 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -1434,6 +1434,7 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
Object *RUVObj;
RUV *local_ruv = NULL;
Replica *replica = (Replica*)object_get_data (r);
+ cleanruv_purge_data *purge_data;
int rc = 0;
PR_ASSERT (replica);
@@ -1465,9 +1466,16 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
cl5CleanRUV(rid);
/*
- * Now purge the changelog
+ * Now purge the changelog. The purging thread will free the purge_data
*/
- trigger_cl_purging(replica);
+ if (replica){
+ purge_data = (cleanruv_purge_data*)slapi_ch_calloc(1, sizeof(cleanruv_purge_data));
+ purge_data->cleaned_rid = rid;
+ purge_data->suffix_sdn = replica_get_root(replica);
+ purge_data->replName = (char *)replica_get_name(replica);
+ purge_data->replGen = replica_get_generation(replica);
+ trigger_cl_purging(purge_data);
+ }
if (rc != RUV_SUCCESS){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, "cleanruv_task: task failed(%d)\n",rc);
6 years, 9 months
Branch '389-ds-base-1.3.5' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/cl5_api.c | 54 +++++++++-------
ldap/servers/plugins/replication/cl5_api.h | 2
ldap/servers/plugins/replication/repl5.h | 8 ++
ldap/servers/plugins/replication/repl5_replica_config.c | 12 ++-
4 files changed, 50 insertions(+), 26 deletions(-)
New commits:
commit 4053587d5dfb9c4b4e5cd966cabb1adc624511d6
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 14:38:27 2016 -0500
Ticket 48964 - cleanallruv changelog purging removes wrong
rid
Bug Description: A regression from the previous patch uses the local replica
object to locate the correct changelog file, but the rid to
be clean is not the same rid from the replica object. So the
local replica object's rid is used accidentally to purge the
change log.
Fix Description: Instead if passing the replica object to the changelog purging
code, create a new purge_data struct to hold all the neccessary
data to purge the correct changelog file and the cleaned rid.
https://fedorahosted.org/389/ticket/48964
Reviewed by: nhosoi(Thanks!)
(cherry picked from commit a38d76d27970b5b6facf2ffbd1bce9d6979e6297)
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index f8b2cea..66c2677 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -3500,12 +3500,12 @@ static void _cl5DoTrimming ()
* changelog for the backend that is being cleaned, and purge all the records
* with the cleaned rid.
*/
-static void _cl5DoPurging (Replica *replica)
+static void _cl5DoPurging (cleanruv_purge_data *purge_data)
{
- ReplicaId rid = replica_get_rid(replica);
- const Slapi_DN *sdn = replica_get_root(replica);
- const char *replName = replica_get_name(replica);
- char *replGen = replica_get_generation(replica);
+ ReplicaId rid = purge_data->cleaned_rid;
+ const Slapi_DN *suffix_sdn = purge_data->suffix_sdn;
+ const char *replName = purge_data->replName;
+ char *replGen = purge_data->replGen;
char *fileName;
Object *obj;
@@ -3517,18 +3517,15 @@ static void _cl5DoPurging (Replica *replica)
_cl5PurgeRID (obj, rid);
object_release (obj);
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "Purged rid (%d) from suffix (%s)\n",
- rid, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purged rid (%d) from suffix (%s)\n",
+ rid, slapi_sdn_get_dn(suffix_sdn));
} else {
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
- rid, fileName, slapi_sdn_get_dn(sdn));
+ "_cl5DoPurging - Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
+ rid, fileName, slapi_sdn_get_dn(suffix_sdn));
}
PR_Unlock (s_cl5Desc.dbTrim.lock);
- slapi_ch_free_string(&replGen);
- slapi_ch_free_string(&fileName);
-
return;
}
@@ -6983,19 +6980,27 @@ cl5CleanRUV(ReplicaId rid){
slapi_rwlock_unlock (s_cl5Desc.stLock);
}
+static void free_purge_data(cleanruv_purge_data *purge_data)
+{
+ slapi_ch_free_string(&purge_data->replGen);
+ slapi_ch_free_string(&purge_data->replName);
+ slapi_ch_free((void **)&purge_data);
+}
+
/*
* Create a thread to purge a changelog of cleaned RIDs
*/
-void trigger_cl_purging(Replica *replica){
+void trigger_cl_purging(cleanruv_purge_data *purge_data){
PRThread *trim_tid = NULL;
trim_tid = PR_CreateThread(PR_USER_THREAD, (VFP)(void*)trigger_cl_purging_thread,
- (void *)replica, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
+ (void *)purge_data, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD, DEFAULT_THREAD_STACKSIZE);
if (NULL == trim_tid){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
- "trigger_cl_purging: failed to create trimming "
+ "trigger_cl_purging: failed to create cl trimming "
"thread; NSPR error - %d\n", PR_GetError ());
+ free_purge_data(purge_data);
} else {
/* need a little time for the thread to get started */
DS_Sleep(PR_SecondsToInterval(1));
@@ -7007,13 +7012,12 @@ void trigger_cl_purging(Replica *replica){
*/
void
trigger_cl_purging_thread(void *arg){
- Replica *replica = (Replica *)arg;
+ cleanruv_purge_data *purge_data = (cleanruv_purge_data *)arg;
/* Make sure we have a change log, and we aren't closing it */
- if (replica == NULL ||
- s_cl5Desc.dbState == CL5_STATE_CLOSED ||
+ if (s_cl5Desc.dbState == CL5_STATE_CLOSED ||
s_cl5Desc.dbState == CL5_STATE_CLOSING) {
- return;
+ goto free_and_return;
}
/* Bump the changelog thread count */
@@ -7021,13 +7025,17 @@ trigger_cl_purging_thread(void *arg){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name_cl,
"trigger_cl_purging: Abort - failed to increment thread count "
"NSPR error - %d\n", PR_GetError ());
- return;
+ goto free_and_return;
}
/* Purge the changelog */
- _cl5DoPurging(replica);
+ _cl5DoPurging(purge_data);
_cl5RemoveThread();
+
slapi_log_error(SLAPI_LOG_REPL, repl_plugin_name_cl,
- "trigger_cl_purging: purged changelog for (%s) rid (%d)\n",
- slapi_sdn_get_dn(replica_get_root(replica)), replica_get_rid(replica));
+ "trigger_cl_purging_thread - purged changelog for (%s) rid (%d)\n",
+ slapi_sdn_get_dn(purge_data->suffix_sdn), purge_data->cleaned_rid);
+
+free_and_return:
+ free_purge_data(purge_data);
}
diff --git a/ldap/servers/plugins/replication/cl5_api.h b/ldap/servers/plugins/replication/cl5_api.h
index 1a1c2f5..e33601d 100644
--- a/ldap/servers/plugins/replication/cl5_api.h
+++ b/ldap/servers/plugins/replication/cl5_api.h
@@ -467,6 +467,6 @@ int cl5WriteRUV();
int cl5DeleteRUV();
void cl5CleanRUV(ReplicaId rid);
void cl5NotifyCleanup(int rid);
-void trigger_cl_purging(Replica *replica);
+void trigger_cl_purging(cleanruv_purge_data *purge_data);
#endif
diff --git a/ldap/servers/plugins/replication/repl5.h b/ldap/servers/plugins/replication/repl5.h
index 6582876..4ab2355 100644
--- a/ldap/servers/plugins/replication/repl5.h
+++ b/ldap/servers/plugins/replication/repl5.h
@@ -704,6 +704,14 @@ typedef struct _cleanruv_data
char *force;
} cleanruv_data;
+typedef struct _cleanruv_purge_data
+{
+ int cleaned_rid;
+ const Slapi_DN *suffix_sdn;
+ char *replName;
+ char *replGen;
+} cleanruv_purge_data;
+
/* replutil.c */
LDAPControl* create_managedsait_control ();
LDAPControl* create_backend_control(Slapi_DN *sdn);
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
index 59e5298..d78d982 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -1434,6 +1434,7 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
Object *RUVObj;
RUV *local_ruv = NULL;
Replica *replica = (Replica*)object_get_data (r);
+ cleanruv_purge_data *purge_data;
int rc = 0;
PR_ASSERT (replica);
@@ -1465,9 +1466,16 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
cl5CleanRUV(rid);
/*
- * Now purge the changelog
+ * Now purge the changelog. The purging thread will free the purge_data
*/
- trigger_cl_purging(replica);
+ if (replica){
+ purge_data = (cleanruv_purge_data*)slapi_ch_calloc(1, sizeof(cleanruv_purge_data));
+ purge_data->cleaned_rid = rid;
+ purge_data->suffix_sdn = replica_get_root(replica);
+ purge_data->replName = (char *)replica_get_name(replica);
+ purge_data->replGen = replica_get_generation(replica);
+ trigger_cl_purging(purge_data);
+ }
if (rc != RUV_SUCCESS){
slapi_log_error(SLAPI_LOG_FATAL, repl_plugin_name, "cleanruv_task: task failed(%d)\n",rc);
6 years, 9 months
ldap/servers
by Mark Reynolds
ldap/servers/plugins/replication/cl5_api.c | 48 +++++++++-------
ldap/servers/plugins/replication/cl5_api.h | 2
ldap/servers/plugins/replication/repl5.h | 8 ++
ldap/servers/plugins/replication/repl5_replica_config.c | 12 +++-
4 files changed, 47 insertions(+), 23 deletions(-)
New commits:
commit a38d76d27970b5b6facf2ffbd1bce9d6979e6297
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 14:38:27 2016 -0500
Ticket 48964 - cleanallruv changelog purging removes wrong
rid
Bug Description: A regression from the previous patch uses the local replica
object to locate the correct changelog file, but the rid to
be clean is not the same rid from the replica object. So the
local replica object's rid is used accidentally to purge the
change log.
Fix Description: Instead if passing the replica object to the changelog purging
code, create a new purge_data struct to hold all the neccessary
data to purge the correct changelog file and the cleaned rid.
https://fedorahosted.org/389/ticket/48964
Reviewed by: nhosoi(Thanks!)
diff --git a/ldap/servers/plugins/replication/cl5_api.c b/ldap/servers/plugins/replication/cl5_api.c
index 1fe4500..9a50f62 100644
--- a/ldap/servers/plugins/replication/cl5_api.c
+++ b/ldap/servers/plugins/replication/cl5_api.c
@@ -3518,12 +3518,12 @@ static void _cl5DoTrimming(void)
* changelog for the backend that is being cleaned, and purge all the records
* with the cleaned rid.
*/
-static void _cl5DoPurging (Replica *replica)
+static void _cl5DoPurging (cleanruv_purge_data *purge_data)
{
- ReplicaId rid = replica_get_rid(replica);
- const Slapi_DN *sdn = replica_get_root(replica);
- const char *replName = replica_get_name(replica);
- char *replGen = replica_get_generation(replica);
+ ReplicaId rid = purge_data->cleaned_rid;
+ const Slapi_DN *suffix_sdn = purge_data->suffix_sdn;
+ const char *replName = purge_data->replName;
+ char *replGen = purge_data->replGen;
char *fileName;
Object *obj;
@@ -3536,17 +3536,14 @@ static void _cl5DoPurging (Replica *replica)
object_release (obj);
slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name_cl,
"_cl5DoPurging - Purged rid (%d) from suffix (%s)\n",
- rid, slapi_sdn_get_dn(sdn));
+ rid, slapi_sdn_get_dn(suffix_sdn));
} else {
slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name_cl,
"_cl5DoPurging - Purge rid (%d) failed to find changelog file (%s) for suffix (%s)\n",
- rid, fileName, slapi_sdn_get_dn(sdn));
+ rid, fileName, slapi_sdn_get_dn(suffix_sdn));
}
PR_Unlock (s_cl5Desc.dbTrim.lock);
- slapi_ch_free_string(&replGen);
- slapi_ch_free_string(&fileName);
-
return;
}
@@ -7026,19 +7023,27 @@ cl5CleanRUV(ReplicaId rid){
slapi_rwlock_unlock (s_cl5Desc.stLock);
}
+static void free_purge_data(cleanruv_purge_data *purge_data)
+{
+ slapi_ch_free_string(&purge_data->replGen);
+ slapi_ch_free_string(&purge_data->replName);
+ slapi_ch_free((void **)&purge_data);
+}
+
/*
* Create a thread to purge a changelog of cleaned RIDs
*/
-void trigger_cl_purging(Replica *replica){
+void trigger_cl_purging(cleanruv_purge_data *purge_data){
PRThread *trim_tid = NULL;
trim_tid = PR_CreateThread(PR_USER_THREAD, (VFP)(void*)trigger_cl_purging_thread,
- (void *)replica, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
+ (void *)purge_data, PR_PRIORITY_NORMAL, PR_GLOBAL_THREAD,
PR_UNJOINABLE_THREAD, DEFAULT_THREAD_STACKSIZE);
if (NULL == trim_tid){
slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name_cl,
- "trigger_cl_purging - Failed to create trimming "
+ "trigger_cl_purging - Failed to create cl purging "
"thread; NSPR error - %d\n", PR_GetError ());
+ free_purge_data(purge_data);
} else {
/* need a little time for the thread to get started */
DS_Sleep(PR_SecondsToInterval(1));
@@ -7050,13 +7055,12 @@ void trigger_cl_purging(Replica *replica){
*/
void
trigger_cl_purging_thread(void *arg){
- Replica *replica = (Replica *)arg;
+ cleanruv_purge_data *purge_data = (cleanruv_purge_data *)arg;
/* Make sure we have a change log, and we aren't closing it */
- if (replica == NULL ||
- s_cl5Desc.dbState == CL5_STATE_CLOSED ||
+ if (s_cl5Desc.dbState == CL5_STATE_CLOSED ||
s_cl5Desc.dbState == CL5_STATE_CLOSING) {
- return;
+ goto free_and_return;
}
/* Bump the changelog thread count */
@@ -7064,13 +7068,17 @@ trigger_cl_purging_thread(void *arg){
slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name_cl,
"trigger_cl_purging_thread - Abort, failed to increment thread count "
"NSPR error - %d\n", PR_GetError ());
- return;
+ goto free_and_return;
}
/* Purge the changelog */
- _cl5DoPurging(replica);
+ _cl5DoPurging(purge_data);
_cl5RemoveThread();
+
slapi_log_err(SLAPI_LOG_REPL, repl_plugin_name_cl,
"trigger_cl_purging_thread - purged changelog for (%s) rid (%d)\n",
- slapi_sdn_get_dn(replica_get_root(replica)), replica_get_rid(replica));
+ slapi_sdn_get_dn(purge_data->suffix_sdn), purge_data->cleaned_rid);
+
+free_and_return:
+ free_purge_data(purge_data);
}
diff --git a/ldap/servers/plugins/replication/cl5_api.h b/ldap/servers/plugins/replication/cl5_api.h
index 2e23dfd..ff61d78 100644
--- a/ldap/servers/plugins/replication/cl5_api.h
+++ b/ldap/servers/plugins/replication/cl5_api.h
@@ -467,6 +467,6 @@ int cl5WriteRUV(void);
int cl5DeleteRUV(void);
void cl5CleanRUV(ReplicaId rid);
void cl5NotifyCleanup(int rid);
-void trigger_cl_purging(Replica *replica);
+void trigger_cl_purging(cleanruv_purge_data *purge_data);
#endif
diff --git a/ldap/servers/plugins/replication/repl5.h b/ldap/servers/plugins/replication/repl5.h
index 529b218..93342dd 100644
--- a/ldap/servers/plugins/replication/repl5.h
+++ b/ldap/servers/plugins/replication/repl5.h
@@ -704,6 +704,14 @@ typedef struct _cleanruv_data
char *force;
} cleanruv_data;
+typedef struct _cleanruv_purge_data
+{
+ int cleaned_rid;
+ const Slapi_DN *suffix_sdn;
+ char *replName;
+ char *replGen;
+} cleanruv_purge_data;
+
/* replutil.c */
LDAPControl* create_managedsait_control(void);
LDAPControl* create_backend_control(Slapi_DN *sdn);
diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c
index c4cbfde..3e57d8f 100644
--- a/ldap/servers/plugins/replication/repl5_replica_config.c
+++ b/ldap/servers/plugins/replication/repl5_replica_config.c
@@ -1437,6 +1437,7 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
Object *RUVObj;
RUV *local_ruv = NULL;
Replica *replica = (Replica*)object_get_data (r);
+ cleanruv_purge_data *purge_data;
int rc = 0;
PR_ASSERT (replica);
@@ -1468,9 +1469,16 @@ replica_execute_cleanruv_task (Object *r, ReplicaId rid, char *returntext /* not
cl5CleanRUV(rid);
/*
- * Now purge the changelog
+ * Now purge the changelog. The purging thread will free the purge_data
*/
- trigger_cl_purging(replica);
+ if (replica){
+ purge_data = (cleanruv_purge_data*)slapi_ch_calloc(1, sizeof(cleanruv_purge_data));
+ purge_data->cleaned_rid = rid;
+ purge_data->suffix_sdn = replica_get_root(replica);
+ purge_data->replName = (char *)replica_get_name(replica);
+ purge_data->replGen = replica_get_generation(replica);
+ trigger_cl_purging(purge_data);
+ }
if (rc != RUV_SUCCESS){
slapi_log_err(SLAPI_LOG_ERR, repl_plugin_name, "cleanAllRUV_task - Task failed(%d)\n",rc);
6 years, 9 months
Branch '389-ds-base-1.2.11' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit f850128a0ba537dfab834205865b692f219da8ec
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:48:52 2016 -0500
Ticket 49072 - fix log refactoring(part 2)
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
(cherry picked from commit 262f095f1b97a71b695d334bdd80ce35f11c4d07)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 9f750f1..2cdaabb 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2465,7 +2465,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months
Branch '389-ds-base-1.3.5' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 460c578427b71c7fccd9210379c278d431185927
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:52:43 2016 -0500
Ticket 49072 - fix log refactoring(part 2)
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 0de3aaf..d1d6181 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2859,7 +2859,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months
Branch '389-ds-base-1.3.4' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit 262f095f1b97a71b695d334bdd80ce35f11c4d07
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:48:52 2016 -0500
Ticket 49072 - fix log refactoring(part 2)
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 0de3aaf..d1d6181 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2859,7 +2859,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_FATAL, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months
Branch '389-ds-base-1.2.11' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit d16e6a639dd21addef0eefb4e507dc842daf1424
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:43:28 2016 -0500
Ticket 49072 - fix log refactoring
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
(cherry picked from commit ffaf3aa766beef6f02edfee9ad67585d2436b793)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index fd080da..9f750f1 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2465,7 +2465,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_err(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months
Branch '389-ds-base-1.3.4' - ldap/servers
by Mark Reynolds
ldap/servers/plugins/memberof/memberof.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
New commits:
commit ffaf3aa766beef6f02edfee9ad67585d2436b793
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:43:28 2016 -0500
Ticket 49072 - fix log refactoring
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 6ff9c9a..0de3aaf 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2859,7 +2859,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_err(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months
Branch '389-ds-base-1.3.5' - config.guess config.sub ldap/servers Makefile.in
by Mark Reynolds
Makefile.in | 8 -
config.guess | 165 +++++++++++--------------------
config.sub | 52 +++------
ldap/servers/plugins/memberof/memberof.c | 2
4 files changed, 85 insertions(+), 142 deletions(-)
New commits:
commit f55caec8f2d2f7b09a0f702145f37089291770ca
Author: Mark Reynolds <mreynolds(a)redhat.com>
Date: Thu Dec 22 13:37:25 2016 -0500
Ticket 49072 - fix log refactoring
Description: change slapi_log_err() to slapi_log_error()
https://fedorahosted.org/389/ticket/49072
Reviewed by: mreynolds(one line commit rule)
diff --git a/Makefile.in b/Makefile.in
index 5ac8be0..21460d0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -10366,7 +10366,7 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
- tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
@@ -10391,7 +10391,7 @@ dist-shar: distdir
@echo WARNING: "Support for shar distribution archives is" \
"deprecated." >&2
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
- shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
@@ -10409,7 +10409,7 @@ dist dist-all:
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
@@ -10419,7 +10419,7 @@ distcheck: dist
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
- eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
diff --git a/config.guess b/config.guess
index 2e9ad7f..dbfb978 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2016 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2016-10-02'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ timestamp='2016-10-02'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gu...
#
# Please send patches to <config-patches(a)gnu.org>.
@@ -50,7 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2016 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -168,29 +168,19 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- /sbin/$sysctl 2>/dev/null || \
- /usr/sbin/$sysctl 2>/dev/null || \
- echo unknown)`
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
- earmv*)
- arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine=${arch}${endian}-unknown
- ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
- # to ELF recently (or will in the future) and ABI.
+ # to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
- earm*)
- os=netbsdelf
- ;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
@@ -207,13 +197,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
os=netbsd
;;
esac
- # Determine ABI tags.
- case "${UNAME_MACHINE_ARCH}" in
- earm*)
- expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
- ;;
- esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
@@ -224,13 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
release='-gnu'
;;
*)
- release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "${machine}-${os}${release}${abi}"
+ echo "${machine}-${os}${release}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
@@ -240,10 +223,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
- *:LibertyBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
- exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
@@ -256,9 +235,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
- *:Sortix:*:*)
- echo ${UNAME_MACHINE}-unknown-sortix
- exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
@@ -275,42 +251,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
- UNAME_MACHINE=alpha ;;
+ UNAME_MACHINE="alpha" ;;
"EV4.5 (21064)")
- UNAME_MACHINE=alpha ;;
+ UNAME_MACHINE="alpha" ;;
"LCA4 (21066/21068)")
- UNAME_MACHINE=alpha ;;
+ UNAME_MACHINE="alpha" ;;
"EV5 (21164)")
- UNAME_MACHINE=alphaev5 ;;
+ UNAME_MACHINE="alphaev5" ;;
"EV5.6 (21164A)")
- UNAME_MACHINE=alphaev56 ;;
+ UNAME_MACHINE="alphaev56" ;;
"EV5.6 (21164PC)")
- UNAME_MACHINE=alphapca56 ;;
+ UNAME_MACHINE="alphapca56" ;;
"EV5.7 (21164PC)")
- UNAME_MACHINE=alphapca57 ;;
+ UNAME_MACHINE="alphapca57" ;;
"EV6 (21264)")
- UNAME_MACHINE=alphaev6 ;;
+ UNAME_MACHINE="alphaev6" ;;
"EV6.7 (21264A)")
- UNAME_MACHINE=alphaev67 ;;
+ UNAME_MACHINE="alphaev67" ;;
"EV6.8CB (21264C)")
- UNAME_MACHINE=alphaev68 ;;
+ UNAME_MACHINE="alphaev68" ;;
"EV6.8AL (21264B)")
- UNAME_MACHINE=alphaev68 ;;
+ UNAME_MACHINE="alphaev68" ;;
"EV6.8CX (21264D)")
- UNAME_MACHINE=alphaev68 ;;
+ UNAME_MACHINE="alphaev68" ;;
"EV6.9A (21264/EV69A)")
- UNAME_MACHINE=alphaev69 ;;
+ UNAME_MACHINE="alphaev69" ;;
"EV7 (21364)")
- UNAME_MACHINE=alphaev7 ;;
+ UNAME_MACHINE="alphaev7" ;;
"EV7.9 (21364A)")
- UNAME_MACHINE=alphaev79 ;;
+ UNAME_MACHINE="alphaev79" ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -383,16 +359,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
- SUN_ARCH=i386
+ SUN_ARCH="i386"
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
- SUN_ARCH=x86_64
+ SUN_ARCH="x86_64"
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
@@ -417,7 +393,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
- test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
@@ -642,13 +618,13 @@ EOF
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
- 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
- 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
- 32) HP_ARCH=hppa2.0n ;;
- 64) HP_ARCH=hppa2.0w ;;
- '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
@@ -687,11 +663,11 @@ EOF
exit (0);
}
EOF
- (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ ${HP_ARCH} = hppa2.0w ]
+ if [ ${HP_ARCH} = "hppa2.0w" ]
then
eval $set_cc_for_build
@@ -704,12 +680,12 @@ EOF
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
- if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
- HP_ARCH=hppa2.0w
+ HP_ARCH="hppa2.0w"
else
- HP_ARCH=hppa64
+ HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
@@ -814,14 +790,14 @@ EOF
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -903,7 +879,7 @@ EOF
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
@@ -926,7 +902,7 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arc:Linux:*:* | arceb:Linux:*:*)
@@ -957,9 +933,6 @@ EOF
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
- e2k:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -972,9 +945,6 @@ EOF
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
- k1om:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
@@ -1000,9 +970,6 @@ EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
- mips64el:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
openrisc*:Linux:*:*)
echo or1k-unknown-linux-${LIBC}
exit ;;
@@ -1035,9 +1002,6 @@ EOF
ppcle:Linux:*:*)
echo powerpcle-unknown-linux-${LIBC}
exit ;;
- riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
- exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
@@ -1057,7 +1021,7 @@ EOF
echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo ${UNAME_MACHINE}-pc-linux-${LIBC}
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
@@ -1136,7 +1100,7 @@ EOF
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
- # prints for the "djgpp" host, or else GDB configure will decide that
+ # prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
@@ -1285,9 +1249,6 @@ EOF
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
- SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux${UNAME_RELEASE}
- exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
@@ -1301,9 +1262,9 @@ EOF
UNAME_PROCESSOR=powerpc
fi
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
case $UNAME_PROCESSOR in
@@ -1325,7 +1286,7 @@ EOF
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
- if test "$UNAME_PROCESSOR" = x86; then
+ if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
@@ -1356,7 +1317,7 @@ EOF
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = 386; then
+ if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
@@ -1398,7 +1359,7 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
+ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
@@ -1409,25 +1370,23 @@ EOF
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
- amd64:Isilon\ OneFS:*:*)
- echo x86_64-unknown-onefs
- exit ;;
esac
cat >&2 <<EOF
$0: unable to guess system type
-This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite
-config.guess and config.sub with the latest versions from:
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.gu...
and
- http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.su...
-If $0 has already been updated, send the following data and any
-information you think might be pertinent to config-patches(a)gnu.org to
-provide the necessary information to handle your system.
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches(a)gnu.org> in order to provide the needed
+information to handle your system.
config.guess timestamp = $timestamp
diff --git a/config.sub b/config.sub
index 7b334f9..6467c95 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright 1992-2016 Free Software Foundation, Inc.
+# Copyright 1992-2015 Free Software Foundation, Inc.
-timestamp='2016-09-05'
+timestamp='2015-01-01'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -33,7 +33,7 @@ timestamp='2016-09-05'
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.su...
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
@@ -53,7 +53,8 @@ timestamp='2016-09-05'
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
Canonicalize a configuration name.
@@ -67,7 +68,7 @@ Report bugs and patches to <config-patches(a)gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright 1992-2016 Free Software Foundation, Inc.
+Copyright 1992-2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -116,8 +117,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
- kopensolaris*-gnu* | cloudabi*-eabi* | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -254,12 +255,11 @@ case $basic_machine in
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
- | ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
- | e2k | epiphany \
+ | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
@@ -305,7 +305,7 @@ case $basic_machine in
| riscv32 | riscv64 \
| rl78 | rx \
| score \
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
@@ -376,13 +376,12 @@ case $basic_machine in
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
- | ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
- | e2k-* | elxsi-* \
+ | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
@@ -429,13 +428,12 @@ case $basic_machine in
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
- | riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
@@ -520,9 +518,6 @@ case $basic_machine in
basic_machine=i386-pc
os=-aros
;;
- asmjs)
- basic_machine=asmjs-unknown
- ;;
aux)
basic_machine=m68k-apple
os=-aux
@@ -643,14 +638,6 @@ case $basic_machine in
basic_machine=m68k-bull
os=-sysv3
;;
- e500v[12])
- basic_machine=powerpc-unknown
- os=$os"spe"
- ;;
- e500v[12]-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- os=$os"spe"
- ;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
@@ -1030,7 +1017,7 @@ case $basic_machine in
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppcle | powerpclittle)
+ ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
@@ -1040,7 +1027,7 @@ case $basic_machine in
;;
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- ppc64le | powerpc64little)
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
@@ -1386,18 +1373,18 @@ case $os in
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
- | -aos* | -aros* | -cloudabi* | -sortix* \
+ | -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
@@ -1406,8 +1393,7 @@ case $os in
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
- | -onefs* | -tirtos* | -phoenix*)
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
@@ -1539,8 +1525,6 @@ case $os in
;;
-nacl*)
;;
- -ios)
- ;;
-none)
;;
*)
diff --git a/ldap/servers/plugins/memberof/memberof.c b/ldap/servers/plugins/memberof/memberof.c
index 6ff9c9a..0de3aaf 100644
--- a/ldap/servers/plugins/memberof/memberof.c
+++ b/ldap/servers/plugins/memberof/memberof.c
@@ -2859,7 +2859,7 @@ int memberof_fix_memberof(MemberOfConfig *config, Slapi_Task *task, task_data *t
slapi_pblock_get(search_pb, SLAPI_PLUGIN_INTOP_RESULT, &result);
errmsg = ldap_err2string(result);
- slapi_log_err(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
+ slapi_log_error(SLAPI_LOG_ERR, MEMBEROF_PLUGIN_SUBSYSTEM,
"memberof_fix_memberof - Failed (%s)\n", errmsg );
slapi_task_log_notice(task, "Memberof task failed (%s)\n", errmsg );
}
6 years, 9 months