Compare commits
No commits in common. "c8-stream-1.4" and "c9s" have entirely different histories.
c8-stream-
...
c9s
|
@ -1,3 +1,2 @@
|
|||
99591fa118addaa5e8eef3445092d0b2d12758ba SOURCES/389-ds-base-1.4.3.37.tar.bz2
|
||||
deb3cdc888660e573fe4be992398f35393c2d1d3 SOURCES/vendor-1.4.3.37-1.tar.gz
|
||||
1c8f2d0dfbf39fa8cd86363bf3314351ab21f8d4 SOURCES/jemalloc-5.3.0.tar.bz2
|
||||
e1146536caf20cdf178f8b9bca4f01be89dbcacb 389-ds-base-2.4.5.tar.bz2
|
||||
1c8f2d0dfbf39fa8cd86363bf3314351ab21f8d4 jemalloc-5.3.0.tar.bz2
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
1
|
|
@ -1,3 +1,220 @@
|
|||
SOURCES/389-ds-base-1.4.3.37.tar.bz2
|
||||
SOURCES/vendor-1.4.3.37-1.tar.gz
|
||||
SOURCES/jemalloc-5.3.0.tar.bz2
|
||||
*~
|
||||
/389-ds-base-1.2.7.2.tar.bz2
|
||||
/389-ds-base-1.2.7.3.tar.bz2
|
||||
/389-ds-base-1.2.7.4.tar.bz2
|
||||
/389-ds-base-1.2.7.5.tar.bz2
|
||||
/389-ds-base-1.2.8.a1.tar.bz2
|
||||
/389-ds-base-1.2.8.a2.tar.bz2
|
||||
/389-ds-base-1.2.8.a3.tar.bz2
|
||||
/389-ds-base-1.2.8.rc1.tar.bz2
|
||||
/389-ds-base-1.2.8.rc2.tar.bz2
|
||||
/389-ds-base-1.2.8.rc4.tar.bz2
|
||||
/389-ds-base-1.2.8.rc5.tar.bz2
|
||||
/389-ds-base-1.2.8.0.tar.bz2
|
||||
/389-ds-base-1.2.8.1.tar.bz2
|
||||
/389-ds-base-1.2.8.2.tar.bz2
|
||||
/389-ds-base-1.2.8.3.tar.bz2
|
||||
/389-ds-base-1.2.9.a1.tar.bz2
|
||||
/389-ds-base-1.2.9.a2.tar.bz2
|
||||
/389-ds-base-1.2.9.0.tar.bz2
|
||||
/389-ds-base-1.2.9.1.tar.bz2
|
||||
/389-ds-base-1.2.9.2.tar.bz2
|
||||
/389-ds-base-1.2.9.3.tar.bz2
|
||||
/389-ds-base-1.2.9.4.tar.bz2
|
||||
/389-ds-base-1.2.9.5.tar.bz2
|
||||
/389-ds-base-1.2.9.6.tar.bz2
|
||||
/389-ds-base-1.2.9.7.tar.bz2
|
||||
/389-ds-base-1.2.9.8.tar.bz2
|
||||
/389-ds-base-1.2.9.9.tar.bz2
|
||||
/389-ds-base-1.2.9.10.tar.bz2
|
||||
/389-ds-base-1.2.10.a1.tar.bz2
|
||||
/389-ds-base-1.2.10.a2.tar.bz2
|
||||
/389-ds-base-1.2.10.a3.tar.bz2
|
||||
/389-ds-base-1.2.10.a4.tar.bz2
|
||||
/389-ds-base-1.2.10.a5.tar.bz2
|
||||
/389-ds-base-1.2.10.a6.tar.bz2
|
||||
/389-ds-base-1.2.10.a7.tar.bz2
|
||||
/389-ds-base-1.2.10.a8.tar.bz2
|
||||
/389-ds-base-1.2.10.rc1.tar.bz2
|
||||
/389-ds-base-1.2.10.0.tar.bz2
|
||||
/389-ds-base-1.2.10.1.tar.bz2
|
||||
/389-ds-base-1.2.10.2.tar.bz2
|
||||
/389-ds-base-1.2.10.3.tar.bz2
|
||||
/389-ds-base-1.2.10.4.tar.bz2
|
||||
/389-ds-base-1.2.11.a1.tar.bz2
|
||||
/389-ds-base-1.2.11.1.tar.bz2
|
||||
/389-ds-base-1.2.11.2.tar.bz2
|
||||
/389-ds-base-1.2.11.3.tar.bz2
|
||||
/389-ds-base-1.2.11.4.tar.bz2
|
||||
/389-ds-base-1.2.11.5.tar.bz2
|
||||
/389-ds-base-1.2.11.6.tar.bz2
|
||||
/389-ds-base-1.2.11.7.tar.bz2
|
||||
/389-ds-base-1.2.11.8.tar.bz2
|
||||
/389-ds-base-1.2.11.9.tar.bz2
|
||||
/389-ds-base-1.2.11.10.tar.bz2
|
||||
/389-ds-base-1.2.11.11.tar.bz2
|
||||
/389-ds-base-1.2.11.12.tar.bz2
|
||||
/389-ds-base-1.2.11.13.tar.bz2
|
||||
/389-ds-base-1.2.11.14.tar.bz2
|
||||
/389-ds-base-1.2.11.15.tar.bz2
|
||||
/389-ds-base-1.3.0.a1.tar.bz2
|
||||
/389-ds-base-1.3.0.rc1.tar.bz2
|
||||
/389-ds-base-1.3.0.rc2.tar.bz2
|
||||
/389-ds-base-1.3.0.rc3.tar.bz2
|
||||
/389-ds-base-1.3.0.0.tar.bz2
|
||||
/389-ds-base-1.3.0.1.tar.bz2
|
||||
/389-ds-base-1.3.0.2.tar.bz2
|
||||
/389-ds-base-1.3.0.3.tar.bz2
|
||||
/389-ds-base-1.3.0.4.tar.bz2
|
||||
/389-ds-base-1.3.0.5.tar.bz2
|
||||
/389-ds-base-1.3.1.0.tar.bz2
|
||||
/389-ds-base-1.3.1.1.tar.bz2
|
||||
/389-ds-base-1.3.1.2.tar.bz2
|
||||
/389-ds-base-1.3.1.3.tar.bz2
|
||||
/389-ds-base-1.3.1.4.tar.bz2
|
||||
/389-ds-base-1.3.1.5.tar.bz2
|
||||
/389-ds-base-1.3.1.6.tar.bz2
|
||||
/389-ds-base-1.3.1.7.tar.bz2
|
||||
/389-ds-base-1.3.1.8.tar.bz2
|
||||
/389-ds-base-1.3.1.9.tar.bz2
|
||||
/389-ds-base-1.3.1.10.tar.bz2
|
||||
/389-ds-base-1.3.1.11.tar.bz2
|
||||
/389-ds-base-1.3.2.0.tar.bz2
|
||||
/389-ds-base-1.3.2.1.tar.bz2
|
||||
/389-ds-base-1.3.2.2.tar.bz2
|
||||
/389-ds-base-1.3.2.3.tar.bz2
|
||||
/389-ds-base-1.3.2.4.tar.bz2
|
||||
/389-ds-base-1.3.2.5.tar.bz2
|
||||
/389-ds-base-1.3.2.6.tar.bz2
|
||||
/389-ds-base-1.3.2.7.tar.bz2
|
||||
/389-ds-base-1.3.2.8.tar.bz2
|
||||
/389-ds-base-1.3.2.9.tar.bz2
|
||||
/389-ds-base-1.3.2.10.tar.bz2
|
||||
/389-ds-base-1.3.2.11.tar.bz2
|
||||
/389-ds-base-1.3.2.12.tar.bz2
|
||||
/389-ds-base-1.3.2.13.tar.bz2
|
||||
/389-ds-base-1.3.2.14.tar.bz2
|
||||
/389-ds-base-1.3.2.15.tar.bz2
|
||||
/389-ds-base-1.3.2.16.tar.bz2
|
||||
/389-ds-base-1.3.2.17.tar.bz2
|
||||
/389-ds-base-1.3.2.18.tar.bz2
|
||||
/389-ds-base-1.3.2.19.tar.bz2
|
||||
/389-ds-base-1.3.2.20.tar.bz2
|
||||
/389-ds-base-1.3.2.21.tar.bz2
|
||||
/389-ds-base-1.3.2.22.tar.bz2
|
||||
/389-ds-base-1.3.2.23.tar.bz2
|
||||
/389-ds-base-1.3.3.0.tar.bz2
|
||||
/389-ds-base-1.3.3.2.tar.bz2
|
||||
/389-ds-base-1.3.3.3.tar.bz2
|
||||
/389-ds-base-1.3.3.4.tar.bz2
|
||||
/389-ds-base-1.3.3.5.tar.bz2
|
||||
/389-ds-base-1.3.3.6.tar.bz2
|
||||
/389-ds-base-1.3.3.7.tar.bz2
|
||||
/389-ds-base-1.3.3.8.tar.bz2
|
||||
/389-ds-base-1.3.3.9.tar.bz2
|
||||
/389-ds-base-1.3.3.10.tar.bz2
|
||||
/389-ds-base-1.3.3.11.tar.bz2
|
||||
/389-ds-base-1.3.3.12.tar.bz2
|
||||
/389-ds-base-1.3.4.0.tar.bz2
|
||||
/nunc-stans-0.1.3.tar.bz2
|
||||
/nunc-stans-0.1.4.tar.bz2
|
||||
/389-ds-base-1.3.4.1.tar.bz2
|
||||
/nunc-stans-0.1.5.tar.bz2
|
||||
/389-ds-base-1.3.4.2.tar.bz2
|
||||
/389-ds-base-1.3.4.3.tar.bz2
|
||||
/389-ds-base-1.3.4.4.tar.bz2
|
||||
/389-ds-base-1.3.4.5.tar.bz2
|
||||
/389-ds-base-1.3.4.6.tar.bz2
|
||||
/389-ds-base-1.3.4.7.tar.bz2
|
||||
/389-ds-base-1.3.4.8.tar.bz2
|
||||
/389-ds-base-1.3.5.0.tar.bz2
|
||||
/nunc-stans-0.1.8.tar.bz2
|
||||
/389-ds-base-1.3.5.1.tar.bz2
|
||||
/389-ds-base-1.3.5.3.tar.bz2
|
||||
/389-ds-base-1.3.5.4.tar.bz2
|
||||
/389-ds-base-1.3.5.5.tar.bz2
|
||||
/389-ds-base-1.3.5.6.tar.bz2
|
||||
/389-ds-base-1.3.5.10.tar.bz2
|
||||
/389-ds-base-1.3.5.11.tar.bz2
|
||||
/389-ds-base-1.3.5.12.tar.bz2
|
||||
/389-ds-base-1.3.5.13.tar.bz2
|
||||
/389-ds-base-1.3.5.14.tar.bz2
|
||||
/nunc-stans-0.2.0.tar.bz2
|
||||
/389-ds-base-1.3.6.1.tar.bz2
|
||||
/389-ds-base-1.3.6.2.tar.bz2
|
||||
/389-ds-base-1.3.6.3.tar.bz2
|
||||
/389-ds-base-1.3.6.4.tar.bz2
|
||||
/389-ds-base-1.3.6.5.tar.bz2
|
||||
/389-ds-base-1.3.6.6.tar.bz2
|
||||
/389-ds-base-1.3.7.1.tar.bz2
|
||||
/389-ds-base-1.3.7.2.tar.bz2
|
||||
/389-ds-base-1.3.7.3.tar.bz2
|
||||
/389-ds-base-1.3.7.4.tar.bz2
|
||||
/389-ds-base-1.4.0.0.tar.bz2
|
||||
/389-ds-base-1.4.0.1.tar.bz2
|
||||
/389-ds-base-1.4.0.2.tar.bz2
|
||||
/389-ds-base-1.4.0.3.tar.bz2
|
||||
/389-ds-base-1.4.0.4.tar.bz2
|
||||
/389-ds-base-1.4.0.5.tar.bz2
|
||||
/389-ds-base-1.4.0.6.tar.bz2
|
||||
/389-ds-base-1.4.0.7.tar.bz2
|
||||
/389-ds-base-1.4.0.8.tar.bz2
|
||||
/389-ds-base-1.4.0.9.tar.bz2
|
||||
/389-ds-base-1.4.0.10.tar.bz2
|
||||
/jemalloc-5.0.1.tar.bz2
|
||||
/389-ds-base-1.4.0.11.tar.bz2
|
||||
/jemalloc-5.1.0.tar.bz2
|
||||
/389-ds-base-1.4.0.12.tar.bz2
|
||||
/389-ds-base-1.4.0.13.tar.bz2
|
||||
/389-ds-base-1.4.0.14.tar.bz2
|
||||
/389-ds-base-1.4.0.15.tar.bz2
|
||||
/389-ds-base-1.4.0.16.tar.bz2
|
||||
/389-ds-base-1.4.0.17.tar.bz2
|
||||
/389-ds-base-1.4.0.18.tar.bz2
|
||||
/389-ds-base-1.4.0.19.tar.bz2
|
||||
/389-ds-base-1.4.0.20.tar.bz2
|
||||
/389-ds-base-1.4.1.1.tar.bz2
|
||||
/389-ds-base-1.4.1.2.tar.bz2
|
||||
/389-ds-base-1.4.1.3.tar.bz2
|
||||
/389-ds-base-1.4.1.4.tar.bz2
|
||||
/389-ds-base-1.4.1.5.tar.bz2
|
||||
/jemalloc-5.2.0.tar.bz2
|
||||
/389-ds-base-1.4.1.6.tar.bz2
|
||||
/389-ds-base-1.4.2.1.tar.bz2
|
||||
/389-ds-base-1.4.2.2.tar.bz2
|
||||
/389-ds-base-1.4.2.3.tar.bz2
|
||||
/389-ds-base-1.4.2.4.tar.bz2
|
||||
/389-ds-base-1.4.2.5.tar.bz2
|
||||
/389-ds-base-1.4.3.1.tar.bz2
|
||||
/jemalloc-5.2.1.tar.bz2
|
||||
/389-ds-base-1.4.3.2.tar.bz2
|
||||
/389-ds-base-1.4.3.3.tar.bz2
|
||||
/389-ds-base-1.4.3.4.tar.bz2
|
||||
/389-ds-base-1.4.3.5.tar.bz2
|
||||
/389-ds-base-1.4.4.0.tar.bz2
|
||||
/389-ds-base-1.4.4.1.tar.bz2
|
||||
/389-ds-base-1.4.4.2.tar.bz2
|
||||
/389-ds-base-1.4.4.3.tar.bz2
|
||||
/389-ds-base-1.4.4.4.tar.bz2
|
||||
/389-ds-base-1.4.4.6.tar.bz2
|
||||
/389-ds-base-1.4.5.0.tar.bz2
|
||||
/389-ds-base-2.0.1.tar.bz2
|
||||
/389-ds-base-2.0.2.tar.bz2
|
||||
/389-ds-base-2.0.3.tar.bz2
|
||||
/rust-openssl-770ba32702abd2b4cab80727958c27ac3043c3ec.tar.gz
|
||||
/389-ds-base-2.0.5.tar.bz2
|
||||
/389-ds-base-2.0.6.tar.bz2
|
||||
/389-ds-base-2.0.7.tar.bz2
|
||||
/389-ds-base-2.0.8.tar.bz2
|
||||
/389-ds-base-2.0.11.tar.bz2
|
||||
/389-ds-base-2.0.13.tar.bz2
|
||||
/389-ds-base-2.0.14.tar.bz2
|
||||
/389-ds-base-2.1.0.tar.bz2
|
||||
/389-ds-base-2.1.1.tar.bz2
|
||||
/389-ds-base-2.1.3.tar.bz2
|
||||
/jemalloc-5.3.0.tar.bz2
|
||||
/389-ds-base-2.2.4.tar.bz2
|
||||
/389-ds-base-2.3.4.tar.bz2
|
||||
/389-ds-base-2.3.6.tar.bz2
|
||||
/389-ds-base-2.4.4.tar.bz2
|
||||
/389-ds-base-2.4.5.tar.bz2
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
From fcdeec3b876a28e06bb53a60fe502cb702403931 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Pichugin <spichugi@redhat.com>
|
||||
Date: Tue, 27 Feb 2024 16:30:47 -0800
|
||||
Subject: [PATCH] Issue 3527 - Support HAProxy and Instance on the same machine
|
||||
configuration (#6107)
|
||||
|
||||
Description: Improve how we handle HAProxy connections to work better when
|
||||
the DS and HAProxy are on the same machine.
|
||||
Ensure the client and header destination IPs are checked against the trusted IP list.
|
||||
|
||||
Additionally, this change will also allow configuration having
|
||||
HAProxy is listening on a different subnet than the one used to forward the request.
|
||||
|
||||
Related: https://github.com/389ds/389-ds-base/issues/3527
|
||||
|
||||
Reviewed by: @progier389, @jchapma (Thanks!)
|
||||
---
|
||||
ldap/servers/slapd/connection.c | 35 +++++++++++++++++++++++++--------
|
||||
1 file changed, 27 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/ldap/servers/slapd/connection.c b/ldap/servers/slapd/connection.c
|
||||
index a30511c97..07d629475 100644
|
||||
--- a/ldap/servers/slapd/connection.c
|
||||
+++ b/ldap/servers/slapd/connection.c
|
||||
@@ -1187,6 +1187,8 @@ connection_read_operation(Connection *conn, Operation *op, ber_tag_t *tag, int *
|
||||
char str_ip[INET6_ADDRSTRLEN + 1] = {0};
|
||||
char str_haproxy_ip[INET6_ADDRSTRLEN + 1] = {0};
|
||||
char str_haproxy_destip[INET6_ADDRSTRLEN + 1] = {0};
|
||||
+ int trusted_matches_ip_found = 0;
|
||||
+ int trusted_matches_destip_found = 0;
|
||||
struct berval **bvals = NULL;
|
||||
int proxy_connection = 0;
|
||||
|
||||
@@ -1245,21 +1247,38 @@ connection_read_operation(Connection *conn, Operation *op, ber_tag_t *tag, int *
|
||||
normalize_IPv4(conn->cin_addr, buf_ip, sizeof(buf_ip), str_ip, sizeof(str_ip));
|
||||
normalize_IPv4(&pr_netaddr_dest, buf_haproxy_destip, sizeof(buf_haproxy_destip),
|
||||
str_haproxy_destip, sizeof(str_haproxy_destip));
|
||||
+ size_t ip_len = strlen(buf_ip);
|
||||
+ size_t destip_len = strlen(buf_haproxy_destip);
|
||||
|
||||
/* Now, reset RC and set it to 0 only if a match is found */
|
||||
haproxy_rc = -1;
|
||||
|
||||
- /* Allow only:
|
||||
- * Trusted IP == Original Client IP == HAProxy Header Destination IP */
|
||||
+ /*
|
||||
+ * We need to allow a configuration where DS instance and HAProxy are on the same machine.
|
||||
+ * In this case, we need to check if
|
||||
+ * the HAProxy client IP (which will be a loopback address) matches one of the the trusted IP addresses,
|
||||
+ * while still checking that
|
||||
+ * the HAProxy header destination IP address matches one of the trusted IP addresses.
|
||||
+ * Additionally, this change will also allow configuration having
|
||||
+ * HAProxy listening on a different subnet than one used to forward the request.
|
||||
+ */
|
||||
for (size_t i = 0; bvals[i] != NULL; ++i) {
|
||||
- if ((strlen(bvals[i]->bv_val) == strlen(buf_ip)) &&
|
||||
- (strlen(bvals[i]->bv_val) == strlen(buf_haproxy_destip)) &&
|
||||
- (strncasecmp(bvals[i]->bv_val, buf_ip, strlen(buf_ip)) == 0) &&
|
||||
- (strncasecmp(bvals[i]->bv_val, buf_haproxy_destip, strlen(buf_haproxy_destip)) == 0)) {
|
||||
- haproxy_rc = 0;
|
||||
- break;
|
||||
+ size_t bval_len = strlen(bvals[i]->bv_val);
|
||||
+
|
||||
+ /* Check if the Client IP (HAProxy's machine IP) address matches the trusted IP address */
|
||||
+ if (!trusted_matches_ip_found) {
|
||||
+ trusted_matches_ip_found = (bval_len == ip_len) && (strncasecmp(bvals[i]->bv_val, buf_ip, ip_len) == 0);
|
||||
+ }
|
||||
+ /* Check if the HAProxy header destination IP address matches the trusted IP address */
|
||||
+ if (!trusted_matches_destip_found) {
|
||||
+ trusted_matches_destip_found = (bval_len == destip_len) && (strncasecmp(bvals[i]->bv_val, buf_haproxy_destip, destip_len) == 0);
|
||||
}
|
||||
}
|
||||
+
|
||||
+ if (trusted_matches_ip_found && trusted_matches_destip_found) {
|
||||
+ haproxy_rc = 0;
|
||||
+ }
|
||||
+
|
||||
if (haproxy_rc == -1) {
|
||||
slapi_log_err(SLAPI_LOG_CONNS, "connection_read_operation", "HAProxy header received from unknown source.\n");
|
||||
disconnect_server_nomutex(conn, conn->c_connid, -1, SLAPD_DISCONNECT_PROXY_UNKNOWN, EPROTO);
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -0,0 +1,237 @@
|
|||
From 3cd7d30628007f839436c417af6dd8a056c6a165 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Reynolds <mreynolds@redhat.com>
|
||||
Date: Fri, 1 Mar 2024 11:28:17 -0500
|
||||
Subject: [PATCH 2/3] Issue 6112 - RFE - add new operation note for MFA
|
||||
authentications
|
||||
|
||||
Add a new operation note to indicate that a MFA plugin performed the
|
||||
BIND. This implies that the plugin must set the note itself as there is
|
||||
no other way to detect this:
|
||||
|
||||
slapi_pblock_set_flag_operation_notes(pb, SLAPI_OP_NOTE_MFA_AUTH);
|
||||
|
||||
The purpose for this is for auditing needs
|
||||
|
||||
Fixes: https://github.com/389ds/389-ds-base/issues/6112
|
||||
|
||||
Reviewed by: spichugi(Thanks!)
|
||||
---
|
||||
ldap/admin/src/logconv.pl | 37 ++++++++++++++++++-------------
|
||||
ldap/servers/slapd/log.c | 6 ++++-
|
||||
ldap/servers/slapd/result.c | 2 +-
|
||||
ldap/servers/slapd/slapi-plugin.h | 1 +
|
||||
4 files changed, 28 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/ldap/admin/src/logconv.pl b/ldap/admin/src/logconv.pl
|
||||
index 5ba91e99c..10bd5d2aa 100755
|
||||
--- a/ldap/admin/src/logconv.pl
|
||||
+++ b/ldap/admin/src/logconv.pl
|
||||
@@ -2,11 +2,11 @@
|
||||
#
|
||||
# BEGIN COPYRIGHT BLOCK
|
||||
# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
|
||||
-# Copyright (C) 2022 Red Hat, Inc.
|
||||
+# Copyright (C) 2010-2024 Red Hat, Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# License: GPL (version 3 or any later version).
|
||||
-# See LICENSE for details.
|
||||
+# See LICENSE for details.
|
||||
# END COPYRIGHT BLOCK
|
||||
#
|
||||
|
||||
@@ -218,6 +218,7 @@ my $sslClientFailedCount = 0;
|
||||
my $objectclassTopCount= 0;
|
||||
my $pagedSearchCount = 0;
|
||||
my $invalidFilterCount = 0;
|
||||
+my $mfaCount = 0;
|
||||
my $bindCount = 0;
|
||||
my $filterCount = 0;
|
||||
my $baseCount = 0;
|
||||
@@ -407,7 +408,7 @@ sub statusreport {
|
||||
##########################################
|
||||
# #
|
||||
# Parse Access Logs #
|
||||
-# #
|
||||
+# #
|
||||
##########################################
|
||||
|
||||
if ($files[$#files] =~ m/access.rotationinfo/) {
|
||||
@@ -709,7 +710,7 @@ if($endTime){
|
||||
|
||||
#
|
||||
# Get the start time in seconds
|
||||
-#
|
||||
+#
|
||||
my $logStart = $start;
|
||||
my $startTotal = convertTimeToNanoseconds($logStart);
|
||||
|
||||
@@ -890,6 +891,7 @@ $etimeAvg = $totalEtime / $etimeCount;
|
||||
print sprintf "Average etime (elapsed time): %.9f\n", $etimeAvg;
|
||||
|
||||
print "\n";
|
||||
+print "Multi-factor Authentications: $mfaCount\n";
|
||||
print "Proxied Auth Operations: $proxiedAuthCount\n";
|
||||
print "Persistent Searches: $persistentSrchCount\n";
|
||||
print "Internal Operations: $internalOpCount\n";
|
||||
@@ -1758,7 +1760,7 @@ if ($usage =~ /j/i || $verb eq "yes"){
|
||||
$recCount++;
|
||||
}
|
||||
if ($objectclassTopCount > ($srchCount *.25)){
|
||||
- print "\n $recCount. You have a high number of searches that query the entire search base. Although this is not necessarily bad, it could be resource intensive if the search base contains many entries.\n";
|
||||
+ print "\n $recCount. You have a high number of searches that query the entire search base. Although this is not necessarily bad, it could be resource intensive if the search base contains many entries.\n";
|
||||
$recCount++;
|
||||
}
|
||||
if ($recCount == 1){
|
||||
@@ -1792,7 +1794,7 @@ sub displayUsage {
|
||||
|
||||
print " -h, --help help/usage\n";
|
||||
print " -d, --rootDN <Directory Managers DN> default is \"cn=directory manager\"\n";
|
||||
- print " -D, --data <Location for temporary data files> default is \"/tmp\"\n";
|
||||
+ print " -D, --data <Location for temporary data files> default is \"/tmp\"\n";
|
||||
print " -s, --sizeLimit <Number of results to return per catagory> default is 20\n";
|
||||
print " -X, --excludeIP <IP address to exclude from connection stats> E.g. Load balancers\n";
|
||||
print " -v, --version show version of tool\n";
|
||||
@@ -1800,8 +1802,8 @@ sub displayUsage {
|
||||
print " E.g. \"[28/Mar/2002:13:14:22 -0800]\"\n";
|
||||
print " -E, --endTime <time to stop analyzing logfile>\n";
|
||||
print " E.g. \"[28/Mar/2002:13:24:62 -0800]\"\n";
|
||||
- print " -m, --reportFileSecs <CSV output file - per second stats>\n";
|
||||
- print " -M, --reportFileMins <CSV output file - per minute stats>\n";
|
||||
+ print " -m, --reportFileSecs <CSV output file - per second stats>\n";
|
||||
+ print " -M, --reportFileMins <CSV output file - per minute stats>\n";
|
||||
print " -B, --bind <ALL | ANONYMOUS | \"Actual Bind DN\">\n";
|
||||
print " -T, --minEtime <minimum etime to report unindexed searches>\n";
|
||||
print " -V, --verbose <enable verbose output - includes all stats listed below>\n";
|
||||
@@ -2288,6 +2290,9 @@ sub parseLineNormal
|
||||
if (m/ RESULT err=/ && m/ notes=[A-Z,]*P/){
|
||||
$pagedSearchCount++;
|
||||
}
|
||||
+ if (m/ RESULT err=/ && m/ notes=[A-Z,]*M/){
|
||||
+ $mfaCount++;
|
||||
+ }
|
||||
if (m/ RESULT err=/ && m/ notes=[A-Z,]*F/){
|
||||
$invalidFilterCount++;
|
||||
$con = "";
|
||||
@@ -2318,7 +2323,7 @@ sub parseLineNormal
|
||||
if ($vlvconn[$i] eq $con && $vlvop[$i] eq $op){ $vlvNotesACount++; $isVlvNotes="1";}
|
||||
}
|
||||
if($isVlvNotes == 0){
|
||||
- # We don't want to record vlv unindexed searches for our regular "bad"
|
||||
+ # We don't want to record vlv unindexed searches for our regular "bad"
|
||||
# unindexed search stat, as VLV unindexed searches aren't that bad
|
||||
$unindexedSrchCountNotesA++;
|
||||
if($reportStats){ inc_stats('notesA',$s_stats,$m_stats); }
|
||||
@@ -2345,7 +2350,7 @@ sub parseLineNormal
|
||||
if ($vlvconn[$i] eq $con && $vlvop[$i] eq $op){ $vlvNotesUCount++; $isVlvNotes="1";}
|
||||
}
|
||||
if($isVlvNotes == 0){
|
||||
- # We don't want to record vlv unindexed searches for our regular "bad"
|
||||
+ # We don't want to record vlv unindexed searches for our regular "bad"
|
||||
# unindexed search stat, as VLV unindexed searches aren't that bad
|
||||
$unindexedSrchCountNotesU++;
|
||||
if($reportStats){ inc_stats('notesU',$s_stats,$m_stats); }
|
||||
@@ -2586,7 +2591,7 @@ sub parseLineNormal
|
||||
if ($errcode ne "0"){ $errorCount++;}
|
||||
else { $successCount++;}
|
||||
}
|
||||
- if ($_ =~ /etime= *([0-9.]+)/ ) {
|
||||
+ if ($_ =~ /etime= *([0-9.]+)/ ) {
|
||||
my $etime_val = $1;
|
||||
$totalEtime = $totalEtime + $1;
|
||||
$etimeCount++;
|
||||
@@ -2608,10 +2613,10 @@ sub parseLineNormal
|
||||
if ($reportStats){ inc_stats_val('optime',$optime_val,$s_stats,$m_stats); }
|
||||
}
|
||||
if ($_ =~ / tag=101 / || $_ =~ / tag=111 / || $_ =~ / tag=100 / || $_ =~ / tag=115 /){
|
||||
- if ($_ =~ / nentries= *([0-9]+)/i ){
|
||||
+ if ($_ =~ / nentries= *([0-9]+)/i ){
|
||||
my $nents = $1;
|
||||
- if ($usage =~ /n/i || $verb eq "yes"){
|
||||
- $hashes->{nentries}->{$nents}++;
|
||||
+ if ($usage =~ /n/i || $verb eq "yes"){
|
||||
+ $hashes->{nentries}->{$nents}++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2621,7 +2626,7 @@ sub parseLineNormal
|
||||
if (m/ EXT oid=/){
|
||||
$extopCount++;
|
||||
my $oid;
|
||||
- if ($_ =~ /oid=\" *([0-9\.]+)/i ){
|
||||
+ if ($_ =~ /oid=\" *([0-9\.]+)/i ){
|
||||
$oid = $1;
|
||||
if ($usage =~ /x/i || $verb eq "yes"){$hashes->{oid}->{$oid}++; }
|
||||
}
|
||||
@@ -2921,7 +2926,7 @@ printClients
|
||||
my $IPcount = "1";
|
||||
|
||||
foreach my $ip ( keys %connList ){ # Loop over all the IP addresses
|
||||
- foreach my $bc (@bindConns){ # Loop over each bind conn number and compare it
|
||||
+ foreach my $bc (@bindConns){ # Loop over each bind conn number and compare it
|
||||
if($connList{$ip} =~ / $bc /){
|
||||
print(" [$IPcount] $ip\n");
|
||||
$IPcount++;
|
||||
diff --git a/ldap/servers/slapd/log.c b/ldap/servers/slapd/log.c
|
||||
index 4aa905576..2c7bd933b 100644
|
||||
--- a/ldap/servers/slapd/log.c
|
||||
+++ b/ldap/servers/slapd/log.c
|
||||
@@ -3892,6 +3892,7 @@ slapi_log_security(Slapi_PBlock *pb, const char *event_type, const char *msg)
|
||||
int isroot = 0;
|
||||
int rc = 0;
|
||||
uint64_t conn_id = 0;
|
||||
+ uint32_t operation_notes = 0;
|
||||
int32_t op_id = 0;
|
||||
json_object *log_json = NULL;
|
||||
|
||||
@@ -3916,6 +3917,8 @@ slapi_log_security(Slapi_PBlock *pb, const char *event_type, const char *msg)
|
||||
client_ip = pb_conn->c_ipaddr;
|
||||
server_ip = pb_conn->c_serveripaddr;
|
||||
ldap_version = pb_conn->c_ldapversion;
|
||||
+ operation_notes = slapi_pblock_get_operation_notes(pb);
|
||||
+
|
||||
if (saslmech) {
|
||||
external_bind = !strcasecmp(saslmech, LDAP_SASL_EXTERNAL);
|
||||
}
|
||||
@@ -3982,7 +3985,8 @@ slapi_log_security(Slapi_PBlock *pb, const char *event_type, const char *msg)
|
||||
break;
|
||||
default:
|
||||
/* Simple auth */
|
||||
- PR_snprintf(method_and_mech, sizeof(method_and_mech), "SIMPLE");
|
||||
+ PR_snprintf(method_and_mech, sizeof(method_and_mech), "%s",
|
||||
+ (operation_notes & SLAPI_OP_NOTE_MFA_AUTH) ? "SIMPLE/MFA" : "SIMPLE");
|
||||
}
|
||||
|
||||
/* Get the time */
|
||||
diff --git a/ldap/servers/slapd/result.c b/ldap/servers/slapd/result.c
|
||||
index 56ba6db8b..97af5a2b8 100644
|
||||
--- a/ldap/servers/slapd/result.c
|
||||
+++ b/ldap/servers/slapd/result.c
|
||||
@@ -1946,11 +1946,11 @@ static struct slapi_note_map notemap[] = {
|
||||
{SLAPI_OP_NOTE_SIMPLEPAGED, "P", "Paged Search"},
|
||||
{SLAPI_OP_NOTE_FULL_UNINDEXED, "A", "Fully Unindexed Filter"},
|
||||
{SLAPI_OP_NOTE_FILTER_INVALID, "F", "Filter Element Missing From Schema"},
|
||||
+ {SLAPI_OP_NOTE_MFA_AUTH, "M", "Multi-factor Authentication"},
|
||||
};
|
||||
|
||||
#define SLAPI_NOTEMAP_COUNT (sizeof(notemap) / sizeof(struct slapi_note_map))
|
||||
|
||||
-
|
||||
/*
|
||||
* fill buf with a string representation of the bits present in notes.
|
||||
*
|
||||
diff --git a/ldap/servers/slapd/slapi-plugin.h b/ldap/servers/slapd/slapi-plugin.h
|
||||
index 4853e143b..12bc1f0aa 100644
|
||||
--- a/ldap/servers/slapd/slapi-plugin.h
|
||||
+++ b/ldap/servers/slapd/slapi-plugin.h
|
||||
@@ -7323,6 +7323,7 @@ typedef enum _slapi_op_note_t {
|
||||
SLAPI_OP_NOTE_SIMPLEPAGED = 0x02,
|
||||
SLAPI_OP_NOTE_FULL_UNINDEXED = 0x04,
|
||||
SLAPI_OP_NOTE_FILTER_INVALID = 0x08,
|
||||
+ SLAPI_OP_NOTE_MFA_AUTH = 0x10,
|
||||
} slapi_op_note_t;
|
||||
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From 189e078f574f586f6cff6f80081eded2c22c8868 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Reynolds <mreynolds@redhat.com>
|
||||
Date: Tue, 26 Mar 2024 11:19:10 -0400
|
||||
Subject: [PATCH 3/3] Issue 6133 - Move slapi_pblock_set_flag_operation_notes()
|
||||
to slapi-plugin.h
|
||||
|
||||
Description:
|
||||
|
||||
slapi_pblock_set_flag_operation_notes() is currently only available in slapi-private.h, but with the latest changes at add "notes=M" it needs to be available to plugins.
|
||||
|
||||
relates: https://github.com/389ds/389-ds-base/issues/6133
|
||||
|
||||
Reviewed by: spichugi(Thanks!)
|
||||
---
|
||||
ldap/servers/slapd/slapi-plugin.h | 10 ++++++++++
|
||||
ldap/servers/slapd/slapi-private.h | 1 -
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ldap/servers/slapd/slapi-plugin.h b/ldap/servers/slapd/slapi-plugin.h
|
||||
index 12bc1f0aa..5d4af7c20 100644
|
||||
--- a/ldap/servers/slapd/slapi-plugin.h
|
||||
+++ b/ldap/servers/slapd/slapi-plugin.h
|
||||
@@ -7326,6 +7326,16 @@ typedef enum _slapi_op_note_t {
|
||||
SLAPI_OP_NOTE_MFA_AUTH = 0x10,
|
||||
} slapi_op_note_t;
|
||||
|
||||
+/**
|
||||
+ * Set an operation note on an operation. This will append a notes keyword
|
||||
+ * in the access log result line for this operation
|
||||
+ *
|
||||
+ * \param pb - The slapi_pblock structure
|
||||
+ * \param opnotes
|
||||
+ * \return void
|
||||
+ */
|
||||
+void slapi_pblock_set_operation_notes(Slapi_PBlock *pb, uint32_t opnotes);
|
||||
+
|
||||
|
||||
/* Allows controls to be passed before operation object is created */
|
||||
#define SLAPI_CONTROLS_ARG 58
|
||||
diff --git a/ldap/servers/slapd/slapi-private.h b/ldap/servers/slapd/slapi-private.h
|
||||
index 17eedc2de..ee7659ac0 100644
|
||||
--- a/ldap/servers/slapd/slapi-private.h
|
||||
+++ b/ldap/servers/slapd/slapi-private.h
|
||||
@@ -1510,7 +1510,6 @@ struct slapi_entry *slapi_pblock_get_pw_entry(Slapi_PBlock *pb);
|
||||
void slapi_pblock_set_pw_entry(Slapi_PBlock *pb, struct slapi_entry *entry);
|
||||
|
||||
uint32_t slapi_pblock_get_operation_notes(Slapi_PBlock *pb);
|
||||
-void slapi_pblock_set_operation_notes(Slapi_PBlock *pb, uint32_t opnotes);
|
||||
void slapi_pblock_set_flag_operation_notes(Slapi_PBlock *pb, uint32_t opflag);
|
||||
void slapi_pblock_set_result_text_if_empty(Slapi_PBlock *pb, char *text);
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#!/bin/bash
|
||||
|
||||
DATE=`date +%Y%m%d`
|
||||
# use a real tag name here
|
||||
VERSION=1.3.5.14
|
||||
PKGNAME=389-ds-base
|
||||
TAG=${TAG:-$PKGNAME-$VERSION}
|
||||
#SRCNAME=$PKGNAME-$VERSION-$DATE
|
||||
SRCNAME=$PKGNAME-$VERSION
|
||||
|
||||
test -d .git || {
|
||||
echo you must be in the ds git repo to use this
|
||||
echo bye
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ -z "$1" ] ; then
|
||||
dir=.
|
||||
else
|
||||
dir="$1"
|
||||
fi
|
||||
|
||||
git archive --prefix=$SRCNAME/ $TAG | bzip2 > $dir/$SRCNAME.tar.bz2
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,3 @@
|
|||
#Type Name ID GECOS Home directory Shell
|
||||
g dirsrv 389
|
||||
u dirsrv 389:389 "user for 389-ds-base" /usr/share/dirsrv/ /sbin/nologin
|
|
@ -1,946 +0,0 @@
|
|||
|
||||
%global pkgname dirsrv
|
||||
%global srcname 389-ds-base
|
||||
|
||||
# Exclude i686 bit arches
|
||||
ExcludeArch: i686
|
||||
|
||||
# for a pre-release, define the prerel field e.g. .a1 .rc2 - comment out for official release
|
||||
# also remove the space between % and global - this space is needed because
|
||||
# fedpkg verrel stupidly ignores comment lines
|
||||
#% global prerel .rc3
|
||||
# also need the relprefix field for a pre-release e.g. .0 - also comment out for official release
|
||||
#% global relprefix 0.
|
||||
|
||||
# If perl-Socket-2.000 or newer is available, set 0 to use_Socket6.
|
||||
%global use_Socket6 0
|
||||
|
||||
%global use_asan 0
|
||||
%global use_rust 1
|
||||
%global use_legacy 1
|
||||
%global bundle_jemalloc 1
|
||||
%if %{use_asan}
|
||||
%global bundle_jemalloc 0
|
||||
%endif
|
||||
|
||||
%if %{bundle_jemalloc}
|
||||
%global jemalloc_name jemalloc
|
||||
%global jemalloc_ver 5.3.0
|
||||
%global __provides_exclude ^libjemalloc\\.so.*$
|
||||
%endif
|
||||
|
||||
# Use Clang instead of GCC
|
||||
%global use_clang 0
|
||||
|
||||
# fedora 15 and later uses tmpfiles.d
|
||||
# otherwise, comment this out
|
||||
%{!?with_tmpfiles_d: %global with_tmpfiles_d %{_sysconfdir}/tmpfiles.d}
|
||||
|
||||
# systemd support
|
||||
%global groupname %{pkgname}.target
|
||||
|
||||
# set PIE flag
|
||||
%global _hardened_build 1
|
||||
|
||||
# Filter argparse-manpage from autogenerated package Requires
|
||||
%global __requires_exclude ^python.*argparse-manpage
|
||||
|
||||
Summary: 389 Directory Server (base)
|
||||
Name: 389-ds-base
|
||||
Version: 1.4.3.37
|
||||
Release: %{?relprefix}1%{?prerel}%{?dist}
|
||||
License: GPLv3+ and (ASL 2.0 or MIT)
|
||||
URL: https://www.port389.org
|
||||
Group: System Environment/Daemons
|
||||
Conflicts: selinux-policy-base < 3.9.8
|
||||
Conflicts: freeipa-server < 4.0.3
|
||||
Obsoletes: %{name} <= 1.4.0.9
|
||||
Provides: ldif2ldbm >= 0
|
||||
|
||||
##### Bundled cargo crates list - START #####
|
||||
Provides: bundled(crate(addr2line)) = 0.20.0
|
||||
Provides: bundled(crate(adler)) = 1.0.2
|
||||
Provides: bundled(crate(ahash)) = 0.7.6
|
||||
Provides: bundled(crate(ansi_term)) = 0.12.1
|
||||
Provides: bundled(crate(atty)) = 0.2.14
|
||||
Provides: bundled(crate(autocfg)) = 1.1.0
|
||||
Provides: bundled(crate(backtrace)) = 0.3.68
|
||||
Provides: bundled(crate(base64)) = 0.13.1
|
||||
Provides: bundled(crate(bitflags)) = 1.3.2
|
||||
Provides: bundled(crate(byteorder)) = 1.4.3
|
||||
Provides: bundled(crate(cbindgen)) = 0.9.1
|
||||
Provides: bundled(crate(cc)) = 1.0.79
|
||||
Provides: bundled(crate(cfg-if)) = 1.0.0
|
||||
Provides: bundled(crate(clap)) = 2.34.0
|
||||
Provides: bundled(crate(concread)) = 0.2.21
|
||||
Provides: bundled(crate(crossbeam)) = 0.8.2
|
||||
Provides: bundled(crate(crossbeam-channel)) = 0.5.8
|
||||
Provides: bundled(crate(crossbeam-deque)) = 0.8.3
|
||||
Provides: bundled(crate(crossbeam-epoch)) = 0.9.15
|
||||
Provides: bundled(crate(crossbeam-queue)) = 0.3.8
|
||||
Provides: bundled(crate(crossbeam-utils)) = 0.8.16
|
||||
Provides: bundled(crate(entryuuid)) = 0.1.0
|
||||
Provides: bundled(crate(entryuuid_syntax)) = 0.1.0
|
||||
Provides: bundled(crate(errno)) = 0.3.1
|
||||
Provides: bundled(crate(errno-dragonfly)) = 0.1.2
|
||||
Provides: bundled(crate(fastrand)) = 1.9.0
|
||||
Provides: bundled(crate(fernet)) = 0.1.4
|
||||
Provides: bundled(crate(foreign-types)) = 0.3.2
|
||||
Provides: bundled(crate(foreign-types-shared)) = 0.1.1
|
||||
Provides: bundled(crate(getrandom)) = 0.2.10
|
||||
Provides: bundled(crate(gimli)) = 0.27.3
|
||||
Provides: bundled(crate(hashbrown)) = 0.12.3
|
||||
Provides: bundled(crate(hermit-abi)) = 0.1.19
|
||||
Provides: bundled(crate(hermit-abi)) = 0.3.2
|
||||
Provides: bundled(crate(instant)) = 0.1.12
|
||||
Provides: bundled(crate(io-lifetimes)) = 1.0.11
|
||||
Provides: bundled(crate(itoa)) = 1.0.8
|
||||
Provides: bundled(crate(jobserver)) = 0.1.26
|
||||
Provides: bundled(crate(libc)) = 0.2.147
|
||||
Provides: bundled(crate(librnsslapd)) = 0.1.0
|
||||
Provides: bundled(crate(librslapd)) = 0.1.0
|
||||
Provides: bundled(crate(linux-raw-sys)) = 0.3.8
|
||||
Provides: bundled(crate(lock_api)) = 0.4.10
|
||||
Provides: bundled(crate(log)) = 0.4.19
|
||||
Provides: bundled(crate(lru)) = 0.7.8
|
||||
Provides: bundled(crate(memchr)) = 2.5.0
|
||||
Provides: bundled(crate(memoffset)) = 0.9.0
|
||||
Provides: bundled(crate(miniz_oxide)) = 0.7.1
|
||||
Provides: bundled(crate(object)) = 0.31.1
|
||||
Provides: bundled(crate(once_cell)) = 1.18.0
|
||||
Provides: bundled(crate(openssl)) = 0.10.55
|
||||
Provides: bundled(crate(openssl-macros)) = 0.1.1
|
||||
Provides: bundled(crate(openssl-sys)) = 0.9.90
|
||||
Provides: bundled(crate(parking_lot)) = 0.11.2
|
||||
Provides: bundled(crate(parking_lot_core)) = 0.8.6
|
||||
Provides: bundled(crate(paste)) = 0.1.18
|
||||
Provides: bundled(crate(paste-impl)) = 0.1.18
|
||||
Provides: bundled(crate(pin-project-lite)) = 0.2.10
|
||||
Provides: bundled(crate(pkg-config)) = 0.3.27
|
||||
Provides: bundled(crate(ppv-lite86)) = 0.2.17
|
||||
Provides: bundled(crate(proc-macro-hack)) = 0.5.20+deprecated
|
||||
Provides: bundled(crate(proc-macro2)) = 1.0.64
|
||||
Provides: bundled(crate(pwdchan)) = 0.1.0
|
||||
Provides: bundled(crate(quote)) = 1.0.29
|
||||
Provides: bundled(crate(rand)) = 0.8.5
|
||||
Provides: bundled(crate(rand_chacha)) = 0.3.1
|
||||
Provides: bundled(crate(rand_core)) = 0.6.4
|
||||
Provides: bundled(crate(redox_syscall)) = 0.2.16
|
||||
Provides: bundled(crate(redox_syscall)) = 0.3.5
|
||||
Provides: bundled(crate(rsds)) = 0.1.0
|
||||
Provides: bundled(crate(rustc-demangle)) = 0.1.23
|
||||
Provides: bundled(crate(rustix)) = 0.37.23
|
||||
Provides: bundled(crate(ryu)) = 1.0.14
|
||||
Provides: bundled(crate(scopeguard)) = 1.1.0
|
||||
Provides: bundled(crate(serde)) = 1.0.171
|
||||
Provides: bundled(crate(serde_derive)) = 1.0.171
|
||||
Provides: bundled(crate(serde_json)) = 1.0.100
|
||||
Provides: bundled(crate(slapd)) = 0.1.0
|
||||
Provides: bundled(crate(slapi_r_plugin)) = 0.1.0
|
||||
Provides: bundled(crate(smallvec)) = 1.11.0
|
||||
Provides: bundled(crate(strsim)) = 0.8.0
|
||||
Provides: bundled(crate(syn)) = 1.0.109
|
||||
Provides: bundled(crate(syn)) = 2.0.25
|
||||
Provides: bundled(crate(tempfile)) = 3.6.0
|
||||
Provides: bundled(crate(textwrap)) = 0.11.0
|
||||
Provides: bundled(crate(tokio)) = 1.29.1
|
||||
Provides: bundled(crate(tokio-macros)) = 2.1.0
|
||||
Provides: bundled(crate(toml)) = 0.5.11
|
||||
Provides: bundled(crate(unicode-ident)) = 1.0.10
|
||||
Provides: bundled(crate(unicode-width)) = 0.1.10
|
||||
Provides: bundled(crate(uuid)) = 0.8.2
|
||||
Provides: bundled(crate(vcpkg)) = 0.2.15
|
||||
Provides: bundled(crate(vec_map)) = 0.8.2
|
||||
Provides: bundled(crate(version_check)) = 0.9.4
|
||||
Provides: bundled(crate(wasi)) = 0.11.0+wasi_snapshot_preview1
|
||||
Provides: bundled(crate(winapi)) = 0.3.9
|
||||
Provides: bundled(crate(winapi-i686-pc-windows-gnu)) = 0.4.0
|
||||
Provides: bundled(crate(winapi-x86_64-pc-windows-gnu)) = 0.4.0
|
||||
Provides: bundled(crate(windows-sys)) = 0.48.0
|
||||
Provides: bundled(crate(windows-targets)) = 0.48.1
|
||||
Provides: bundled(crate(windows_aarch64_gnullvm)) = 0.48.0
|
||||
Provides: bundled(crate(windows_aarch64_msvc)) = 0.48.0
|
||||
Provides: bundled(crate(windows_i686_gnu)) = 0.48.0
|
||||
Provides: bundled(crate(windows_i686_msvc)) = 0.48.0
|
||||
Provides: bundled(crate(windows_x86_64_gnu)) = 0.48.0
|
||||
Provides: bundled(crate(windows_x86_64_gnullvm)) = 0.48.0
|
||||
Provides: bundled(crate(windows_x86_64_msvc)) = 0.48.0
|
||||
Provides: bundled(crate(zeroize)) = 1.6.0
|
||||
Provides: bundled(crate(zeroize_derive)) = 1.4.2
|
||||
##### Bundled cargo crates list - END #####
|
||||
|
||||
BuildRequires: nspr-devel >= 4.32
|
||||
BuildRequires: nss-devel >= 3.67.0-7
|
||||
BuildRequires: perl-generators
|
||||
BuildRequires: openldap-devel
|
||||
BuildRequires: libdb-devel
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
BuildRequires: icu
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: cracklib-devel
|
||||
%if %{use_clang}
|
||||
BuildRequires: libatomic
|
||||
BuildRequires: clang
|
||||
%else
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
# The following are needed to build the snmp ldap-agent
|
||||
BuildRequires: net-snmp-devel
|
||||
BuildRequires: lm_sensors-devel
|
||||
BuildRequires: bzip2-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: openssl-devel
|
||||
# the following is for the pam passthru auth plug-in
|
||||
BuildRequires: pam-devel
|
||||
BuildRequires: systemd-units
|
||||
BuildRequires: systemd-devel
|
||||
%if %{use_asan}
|
||||
BuildRequires: libasan
|
||||
%endif
|
||||
# If rust is enabled
|
||||
%if %{use_rust}
|
||||
BuildRequires: cargo
|
||||
BuildRequires: rust
|
||||
%endif
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(krb5)
|
||||
|
||||
# Needed to support regeneration of the autotool artifacts.
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
# For our documentation
|
||||
BuildRequires: doxygen
|
||||
# For tests!
|
||||
BuildRequires: libcmocka-devel
|
||||
BuildRequires: libevent-devel
|
||||
# For lib389 and related components
|
||||
BuildRequires: python%{python3_pkgversion}
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-setuptools
|
||||
BuildRequires: python%{python3_pkgversion}-ldap
|
||||
BuildRequires: python%{python3_pkgversion}-six
|
||||
BuildRequires: python%{python3_pkgversion}-pyasn1
|
||||
BuildRequires: python%{python3_pkgversion}-pyasn1-modules
|
||||
BuildRequires: python%{python3_pkgversion}-dateutil
|
||||
BuildRequires: python%{python3_pkgversion}-argcomplete
|
||||
BuildRequires: python%{python3_pkgversion}-argparse-manpage
|
||||
BuildRequires: python%{python3_pkgversion}-policycoreutils
|
||||
BuildRequires: python%{python3_pkgversion}-libselinux
|
||||
BuildRequires: python%{python3_pkgversion}-cryptography
|
||||
|
||||
# For cockpit
|
||||
BuildRequires: rsync
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: python%{python3_pkgversion}-lib389 = %{version}-%{release}
|
||||
|
||||
# this is needed for using semanage from our setup scripts
|
||||
Requires: policycoreutils-python-utils
|
||||
Requires: /usr/sbin/semanage
|
||||
Requires: libsemanage-python%{python3_pkgversion}
|
||||
|
||||
Requires: selinux-policy >= 3.14.1-29
|
||||
|
||||
# the following are needed for some of our scripts
|
||||
Requires: openldap-clients
|
||||
Requires: openssl-perl
|
||||
Requires: python%{python3_pkgversion}-ldap
|
||||
|
||||
# this is needed to setup SSL if you are not using the
|
||||
# administration server package
|
||||
Requires: nss-tools
|
||||
Requires: nspr >= 4.32
|
||||
Requires: nss >= 3.67.0-7
|
||||
|
||||
# these are not found by the auto-dependency method
|
||||
# they are required to support the mandatory LDAP SASL mechs
|
||||
Requires: cyrus-sasl-gssapi
|
||||
Requires: cyrus-sasl-md5
|
||||
Requires: cyrus-sasl-plain
|
||||
|
||||
# this is needed for verify-db.pl
|
||||
Requires: libdb-utils
|
||||
|
||||
# Needed for password dictionary checks
|
||||
Requires: cracklib-dicts
|
||||
|
||||
# This picks up libperl.so as a Requires, so we add this versioned one
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
Requires: perl-Errno >= 1.23-360
|
||||
|
||||
# Needed by logconv.pl
|
||||
Requires: perl-DB_File
|
||||
Requires: perl-Archive-Tar
|
||||
|
||||
# Needed for password dictionary checks
|
||||
Requires: cracklib-dicts
|
||||
|
||||
# Picks up our systemd deps.
|
||||
%{?systemd_requires}
|
||||
|
||||
Obsoletes: %{name} <= 1.3.5.4
|
||||
|
||||
Source0: https://releases.pagure.org/389-ds-base/%{name}-%{version}.tar.bz2
|
||||
# 389-ds-git.sh should be used to generate the source tarball from git
|
||||
Source1: %{name}-git.sh
|
||||
Source2: %{name}-devel.README
|
||||
%if %{bundle_jemalloc}
|
||||
Source3: https://github.com/jemalloc/%{jemalloc_name}/releases/download/%{jemalloc_ver}/%{jemalloc_name}-%{jemalloc_ver}.tar.bz2
|
||||
%endif
|
||||
%if %{use_rust}
|
||||
Source4: vendor-%{version}-1.tar.gz
|
||||
Source5: Cargo-%{version}-1.lock
|
||||
%endif
|
||||
|
||||
%description
|
||||
389 Directory Server is an LDAPv3 compliant server. The base package includes
|
||||
the LDAP server and command line utilities for server administration.
|
||||
%if %{use_asan}
|
||||
WARNING! This build is linked to Address Sanitisation libraries. This probably
|
||||
isn't what you want. Please contact support immediately.
|
||||
Please see http://seclists.org/oss-sec/2016/q1/363 for more information.
|
||||
%endif
|
||||
|
||||
%package libs
|
||||
Summary: Core libraries for 389 Directory Server
|
||||
Group: System Environment/Daemons
|
||||
BuildRequires: nspr-devel >= 4.32
|
||||
BuildRequires: nss-devel >= 3.67.0-7
|
||||
BuildRequires: openldap-devel
|
||||
BuildRequires: libdb-devel
|
||||
BuildRequires: cyrus-sasl-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: libtalloc-devel
|
||||
BuildRequires: libevent-devel
|
||||
BuildRequires: libtevent-devel
|
||||
Requires: krb5-libs
|
||||
Requires: libevent
|
||||
BuildRequires: systemd-devel
|
||||
Provides: svrcore = 4.1.4
|
||||
Conflicts: svrcore
|
||||
Obsoletes: svrcore <= 4.1.3
|
||||
|
||||
%description libs
|
||||
Core libraries for the 389 Directory Server base package. These libraries
|
||||
are used by the main package and the -devel package. This allows the -devel
|
||||
package to be installed with just the -libs package and without the main package.
|
||||
|
||||
%if %{use_legacy}
|
||||
%package legacy-tools
|
||||
Summary: Legacy utilities for 389 Directory Server
|
||||
Group: System Environment/Daemons
|
||||
Obsoletes: %{name} <= 1.4.0.9
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
# for setup-ds.pl to support ipv6
|
||||
%if %{use_Socket6}
|
||||
Requires: perl-Socket6
|
||||
%else
|
||||
Requires: perl-Socket
|
||||
%endif
|
||||
Requires: perl-NetAddr-IP
|
||||
# use_openldap assumes perl-Mozilla-LDAP is built with openldap support
|
||||
Requires: perl-Mozilla-LDAP
|
||||
# for setup-ds.pl
|
||||
Requires: bind-utils
|
||||
%global __provides_exclude_from %{_libdir}/%{pkgname}/perl
|
||||
%global __requires_exclude perl\\((DSCreate|DSMigration|DSUpdate|DSUtil|Dialog|DialogManager|FileConn|Inf|Migration|Resource|Setup|SetupLog)
|
||||
%{?perl_default_filter}
|
||||
|
||||
%description legacy-tools
|
||||
Legacy (and deprecated) utilities for 389 Directory Server. This includes
|
||||
the old account management and task scripts. These are deprecated in favour of
|
||||
the dscreate, dsctl, dsconf and dsidm tools.
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries for 389 Directory Server
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: nspr-devel >= 4.32
|
||||
Requires: nss-devel >= 3.67.0-7
|
||||
Requires: openldap-devel
|
||||
Requires: libtalloc
|
||||
Requires: libevent
|
||||
Requires: libtevent
|
||||
Requires: systemd-libs
|
||||
Provides: svrcore-devel = 4.1.4
|
||||
Conflicts: svrcore-devel
|
||||
Obsoletes: svrcore-devel <= 4.1.3
|
||||
|
||||
%description devel
|
||||
Development Libraries and headers for the 389 Directory Server base package.
|
||||
|
||||
%package snmp
|
||||
Summary: SNMP Agent for 389 Directory Server
|
||||
Group: System Environment/Daemons
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
Obsoletes: %{name} <= 1.4.0.0
|
||||
|
||||
%description snmp
|
||||
SNMP Agent for the 389 Directory Server base package.
|
||||
|
||||
%package -n python%{python3_pkgversion}-lib389
|
||||
Summary: A library for accessing, testing, and configuring the 389 Directory Server
|
||||
BuildArch: noarch
|
||||
Group: Development/Libraries
|
||||
Requires: 389-ds-base
|
||||
Requires: openssl
|
||||
Requires: iproute
|
||||
Requires: platform-python
|
||||
Recommends: bash-completion
|
||||
Requires: python%{python3_pkgversion}-ldap
|
||||
Requires: python%{python3_pkgversion}-six
|
||||
Requires: python%{python3_pkgversion}-pyasn1
|
||||
Requires: python%{python3_pkgversion}-pyasn1-modules
|
||||
Requires: python%{python3_pkgversion}-dateutil
|
||||
Requires: python%{python3_pkgversion}-argcomplete
|
||||
Requires: python%{python3_pkgversion}-libselinux
|
||||
Requires: python%{python3_pkgversion}-setuptools
|
||||
Requires: python%{python3_pkgversion}-distro
|
||||
Requires: python%{python3_pkgversion}-cryptography
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-lib389}
|
||||
|
||||
%description -n python%{python3_pkgversion}-lib389
|
||||
This module contains tools and libraries for accessing, testing,
|
||||
and configuring the 389 Directory Server.
|
||||
|
||||
%package -n cockpit-389-ds
|
||||
Summary: Cockpit UI Plugin for configuring and administering the 389 Directory Server
|
||||
BuildArch: noarch
|
||||
Requires: cockpit
|
||||
Requires: platform-python
|
||||
Requires: python%{python3_pkgversion}-lib389
|
||||
|
||||
%description -n cockpit-389-ds
|
||||
A cockpit UI Plugin for configuring and administering the 389 Directory Server
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -v -n %{name}-%{version}%{?prerel}
|
||||
%if %{use_rust}
|
||||
tar xvzf %{SOURCE4}
|
||||
cp %{SOURCE5} src/Cargo.lock
|
||||
%endif
|
||||
%if %{bundle_jemalloc}
|
||||
%setup -q -n %{name}-%{version}%{?prerel} -T -D -b 3
|
||||
%endif
|
||||
cp %{SOURCE2} README.devel
|
||||
|
||||
%build
|
||||
|
||||
OPENLDAP_FLAG="--with-openldap"
|
||||
%{?with_tmpfiles_d: TMPFILES_FLAG="--with-tmpfiles-d=%{with_tmpfiles_d}"}
|
||||
# hack hack hack https://bugzilla.redhat.com/show_bug.cgi?id=833529
|
||||
NSSARGS="--with-nss-lib=%{_libdir} --with-nss-inc=%{_includedir}/nss3"
|
||||
|
||||
%if %{use_asan}
|
||||
ASAN_FLAGS="--enable-asan --enable-debug"
|
||||
%endif
|
||||
|
||||
%if %{use_rust}
|
||||
RUST_FLAGS="--enable-rust --enable-rust-offline"
|
||||
%endif
|
||||
|
||||
%if %{use_legacy}
|
||||
LEGACY_FLAGS="--enable-legacy --enable-perl"
|
||||
%else
|
||||
LEGACY_FLAGS="--disable-legacy --disable-perl"
|
||||
%endif
|
||||
|
||||
%if %{use_clang}
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
CLANG_FLAGS="--enable-clang"
|
||||
%endif
|
||||
|
||||
%if %{bundle_jemalloc}
|
||||
# Override page size, bz #1545539
|
||||
# 4K
|
||||
%ifarch %ix86 %arm x86_64 s390x
|
||||
%define lg_page --with-lg-page=12
|
||||
%endif
|
||||
|
||||
# 64K
|
||||
%ifarch ppc64 ppc64le aarch64
|
||||
%define lg_page --with-lg-page=16
|
||||
%endif
|
||||
|
||||
# Override huge page size on aarch64
|
||||
# 2M instead of 512M
|
||||
%ifarch aarch64
|
||||
%define lg_hugepage --with-lg-hugepage=21
|
||||
%endif
|
||||
|
||||
# Build jemalloc
|
||||
pushd ../%{jemalloc_name}-%{jemalloc_ver}
|
||||
%configure \
|
||||
--libdir=%{_libdir}/%{pkgname}/lib \
|
||||
--bindir=%{_libdir}/%{pkgname}/bin \
|
||||
--enable-prof
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
||||
# Enforce strict linking
|
||||
%define _strict_symbol_defs_build 1
|
||||
|
||||
# Rebuild the autotool artifacts now.
|
||||
autoreconf -fiv
|
||||
|
||||
%configure --enable-autobind --with-selinux $OPENLDAP_FLAG $TMPFILES_FLAG \
|
||||
--with-systemd \
|
||||
--with-systemdsystemunitdir=%{_unitdir} \
|
||||
--with-systemdsystemconfdir=%{_sysconfdir}/systemd/system \
|
||||
--with-systemdgroupname=%{groupname} \
|
||||
--libexecdir=%{_libexecdir}/%{pkgname} \
|
||||
$NSSARGS $ASAN_FLAGS $RUST_FLAGS $LEGACY_FLAGS $CLANG_FLAGS \
|
||||
--enable-cmocka
|
||||
|
||||
# lib389
|
||||
pushd ./src/lib389
|
||||
%py3_build
|
||||
popd
|
||||
# argparse-manpage dynamic man pages have hardcoded man v1 in header,
|
||||
# need to change it to v8
|
||||
sed -i "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsconf.8
|
||||
sed -i "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsctl.8
|
||||
sed -i "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dsidm.8
|
||||
sed -i "1s/\"1\"/\"8\"/" %{_builddir}/%{name}-%{version}%{?prerel}/src/lib389/man/dscreate.8
|
||||
|
||||
# Generate symbolic info for debuggers
|
||||
export XCFLAGS=$RPM_OPT_FLAGS
|
||||
|
||||
#make %{?_smp_mflags}
|
||||
make
|
||||
|
||||
%install
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/gdb/auto-load%{_sbindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/cockpit
|
||||
make DESTDIR="$RPM_BUILD_ROOT" install
|
||||
|
||||
# Cockpit file list
|
||||
find %{buildroot}%{_datadir}/cockpit/389-console -type d | sed -e "s@%{buildroot}@@" | sed -e 's/^/\%dir /' > cockpit.list
|
||||
find %{buildroot}%{_datadir}/cockpit/389-console -type f | sed -e "s@%{buildroot}@@" >> cockpit.list
|
||||
|
||||
# Copy in our docs from doxygen.
|
||||
cp -r %{_builddir}/%{name}-%{version}%{?prerel}/man/man3 $RPM_BUILD_ROOT/%{_mandir}/man3
|
||||
|
||||
# lib389
|
||||
pushd src/lib389
|
||||
%py3_install
|
||||
popd
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/var/log/%{pkgname}
|
||||
mkdir -p $RPM_BUILD_ROOT/var/lib/%{pkgname}
|
||||
mkdir -p $RPM_BUILD_ROOT/var/3lock/%{pkgname}
|
||||
|
||||
# for systemd
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/%{groupname}.wants
|
||||
|
||||
#remove libtool archives and static libs
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
find %{buildroot} -type f -name "*.a" -delete
|
||||
|
||||
%if %{use_legacy}
|
||||
# make sure perl scripts have a proper shebang
|
||||
sed -i -e 's|#{{PERL-EXEC}}|#!/usr/bin/perl|' $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/script-templates/template-*.pl
|
||||
%endif
|
||||
|
||||
%if %{bundle_jemalloc}
|
||||
pushd ../%{jemalloc_name}-%{jemalloc_ver}
|
||||
make DESTDIR="$RPM_BUILD_ROOT" install_lib install_bin
|
||||
cp -pa COPYING ../%{name}-%{version}%{?prerel}/COPYING.jemalloc
|
||||
cp -pa README ../%{name}-%{version}%{?prerel}/README.jemalloc
|
||||
popd
|
||||
%endif
|
||||
|
||||
%check
|
||||
# This checks the code, if it fails it prints why, then re-raises the fail to shortcircuit the rpm build.
|
||||
if ! make DESTDIR="$RPM_BUILD_ROOT" check; then cat ./test-suite.log && false; fi
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
if [ -n "$DEBUGPOSTTRANS" ] ; then
|
||||
output=$DEBUGPOSTTRANS
|
||||
output2=${DEBUGPOSTTRANS}.upgrade
|
||||
else
|
||||
output=/dev/null
|
||||
output2=/dev/null
|
||||
fi
|
||||
|
||||
# reload to pick up any changes to systemd files
|
||||
/bin/systemctl daemon-reload >$output 2>&1 || :
|
||||
|
||||
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups#Soft_static_allocation
|
||||
# Soft static allocation for UID and GID
|
||||
USERNAME="dirsrv"
|
||||
ALLOCATED_UID=389
|
||||
GROUPNAME="dirsrv"
|
||||
ALLOCATED_GID=389
|
||||
HOMEDIR="/usr/share/dirsrv"
|
||||
|
||||
getent group $GROUPNAME >/dev/null || /usr/sbin/groupadd -f -g $ALLOCATED_GID -r $GROUPNAME
|
||||
if ! getent passwd $USERNAME >/dev/null ; then
|
||||
if ! getent passwd $ALLOCATED_UID >/dev/null ; then
|
||||
/usr/sbin/useradd -r -u $ALLOCATED_UID -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
|
||||
else
|
||||
/usr/sbin/useradd -r -g $GROUPNAME -d $HOMEDIR -s /sbin/nologin -c "user for 389-ds-base" $USERNAME
|
||||
fi
|
||||
fi
|
||||
|
||||
# Reload our sysctl before we restart (if we can)
|
||||
sysctl --system &> $output; true
|
||||
|
||||
%preun
|
||||
if [ $1 -eq 0 ]; then # Final removal
|
||||
# remove instance specific service files/links
|
||||
rm -rf %{_sysconfdir}/systemd/system/%{groupname}.wants/* > /dev/null 2>&1 || :
|
||||
fi
|
||||
|
||||
%postun
|
||||
if [ $1 = 0 ]; then # Final removal
|
||||
rm -rf /var/run/%{pkgname}
|
||||
fi
|
||||
|
||||
%post snmp
|
||||
%systemd_post %{pkgname}-snmp.service
|
||||
|
||||
%preun snmp
|
||||
%systemd_preun %{pkgname}-snmp.service %{groupname}
|
||||
|
||||
%postun snmp
|
||||
%systemd_postun_with_restart %{pkgname}-snmp.service
|
||||
|
||||
%if %{use_legacy}
|
||||
%post legacy-tools
|
||||
|
||||
# START UPGRADE SCRIPT
|
||||
|
||||
if [ -n "$DEBUGPOSTTRANS" ] ; then
|
||||
output=$DEBUGPOSTTRANS
|
||||
output2=${DEBUGPOSTTRANS}.upgrade
|
||||
else
|
||||
output=/dev/null
|
||||
output2=/dev/null
|
||||
fi
|
||||
|
||||
# find all instances
|
||||
instances="" # instances that require a restart after upgrade
|
||||
ninst=0 # number of instances found in total
|
||||
|
||||
echo looking for instances in %{_sysconfdir}/%{pkgname} > $output 2>&1 || :
|
||||
instbase="%{_sysconfdir}/%{pkgname}"
|
||||
for dir in $instbase/slapd-* ; do
|
||||
echo dir = $dir >> $output 2>&1 || :
|
||||
if [ ! -d "$dir" ] ; then continue ; fi
|
||||
case "$dir" in *.removed) continue ;; esac
|
||||
basename=`basename $dir`
|
||||
inst="%{pkgname}@`echo $basename | sed -e 's/slapd-//g'`"
|
||||
echo found instance $inst - getting status >> $output 2>&1 || :
|
||||
if /bin/systemctl -q is-active $inst ; then
|
||||
echo instance $inst is running >> $output 2>&1 || :
|
||||
instances="$instances $inst"
|
||||
else
|
||||
echo instance $inst is not running >> $output 2>&1 || :
|
||||
fi
|
||||
ninst=`expr $ninst + 1`
|
||||
done
|
||||
if [ $ninst -eq 0 ] ; then
|
||||
echo no instances to upgrade >> $output 2>&1 || :
|
||||
exit 0 # have no instances to upgrade - just skip the rest
|
||||
fi
|
||||
# shutdown all instances
|
||||
echo shutting down all instances . . . >> $output 2>&1 || :
|
||||
for inst in $instances ; do
|
||||
echo stopping instance $inst >> $output 2>&1 || :
|
||||
/bin/systemctl stop $inst >> $output 2>&1 || :
|
||||
done
|
||||
echo remove pid files . . . >> $output 2>&1 || :
|
||||
/bin/rm -f /var/run/%{pkgname}*.pid /var/run/%{pkgname}*.startpid
|
||||
# do the upgrade
|
||||
echo upgrading instances . . . >> $output 2>&1 || :
|
||||
DEBUGPOSTSETUPOPT=`/usr/bin/echo $DEBUGPOSTSETUP | /usr/bin/sed -e "s/[^d]//g"`
|
||||
if [ -n "$DEBUGPOSTSETUPOPT" ] ; then
|
||||
%{_sbindir}/setup-ds.pl -$DEBUGPOSTSETUPOPT -u -s General.UpdateMode=offline >> $output 2>&1 || :
|
||||
else
|
||||
%{_sbindir}/setup-ds.pl -u -s General.UpdateMode=offline >> $output 2>&1 || :
|
||||
fi
|
||||
|
||||
# restart instances that require it
|
||||
for inst in $instances ; do
|
||||
echo restarting instance $inst >> $output 2>&1 || :
|
||||
/bin/systemctl start $inst >> $output 2>&1 || :
|
||||
done
|
||||
#END UPGRADE
|
||||
%endif
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
%files
|
||||
%if %{bundle_jemalloc}
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.jemalloc
|
||||
%license COPYING.jemalloc
|
||||
%else
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl
|
||||
%endif
|
||||
%dir %{_sysconfdir}/%{pkgname}
|
||||
%dir %{_sysconfdir}/%{pkgname}/schema
|
||||
%config(noreplace)%{_sysconfdir}/%{pkgname}/schema/*.ldif
|
||||
%dir %{_sysconfdir}/%{pkgname}/config
|
||||
%dir %{_sysconfdir}/systemd/system/%{groupname}.wants
|
||||
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/slapd-collations.conf
|
||||
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/certmap.conf
|
||||
%{_datadir}/%{pkgname}
|
||||
%{_datadir}/gdb/auto-load/*
|
||||
%{_unitdir}
|
||||
%{_bindir}/dbscan
|
||||
%{_mandir}/man1/dbscan.1.gz
|
||||
%{_bindir}/ds-replcheck
|
||||
%{_mandir}/man1/ds-replcheck.1.gz
|
||||
%{_bindir}/ds-logpipe.py
|
||||
%{_mandir}/man1/ds-logpipe.py.1.gz
|
||||
%{_bindir}/ldclt
|
||||
%{_mandir}/man1/ldclt.1.gz
|
||||
%{_sbindir}/ldif2ldap
|
||||
%{_mandir}/man8/ldif2ldap.8.gz
|
||||
%{_bindir}/logconv.pl
|
||||
%{_mandir}/man1/logconv.pl.1.gz
|
||||
%{_bindir}/pwdhash
|
||||
%{_mandir}/man1/pwdhash.1.gz
|
||||
%{_bindir}/readnsstate
|
||||
%{_mandir}/man1/readnsstate.1.gz
|
||||
# Remove for now: %caps(CAP_NET_BIND_SERVICE=pe) {_sbindir}/ns-slapd
|
||||
%{_sbindir}/ns-slapd
|
||||
%{_mandir}/man8/ns-slapd.8.gz
|
||||
%{_libexecdir}/%{pkgname}/ds_systemd_ask_password_acl
|
||||
%{_libexecdir}/%{pkgname}/ds_selinux_restorecon.sh
|
||||
%{_mandir}/man5/99user.ldif.5.gz
|
||||
%{_mandir}/man5/certmap.conf.5.gz
|
||||
%{_mandir}/man5/slapd-collations.conf.5.gz
|
||||
%{_mandir}/man5/dirsrv.5.gz
|
||||
%{_mandir}/man5/dirsrv.systemd.5.gz
|
||||
%{_libdir}/%{pkgname}/python
|
||||
%dir %{_libdir}/%{pkgname}/plugins
|
||||
%{_libdir}/%{pkgname}/plugins/*.so
|
||||
# This has to be hardcoded to /lib - $libdir changes between lib/lib64, but
|
||||
# sysctl.d is always in /lib.
|
||||
%{_prefix}/lib/sysctl.d/*
|
||||
%dir %{_localstatedir}/lib/%{pkgname}
|
||||
%dir %{_localstatedir}/log/%{pkgname}
|
||||
%ghost %dir %{_localstatedir}/lock/%{pkgname}
|
||||
%exclude %{_sbindir}/ldap-agent*
|
||||
%exclude %{_mandir}/man1/ldap-agent.1.gz
|
||||
%exclude %{_unitdir}/%{pkgname}-snmp.service
|
||||
%if %{bundle_jemalloc}
|
||||
%{_libdir}/%{pkgname}/lib/
|
||||
%{_libdir}/%{pkgname}/bin/
|
||||
%exclude %{_libdir}/%{pkgname}/bin/jemalloc-config
|
||||
%exclude %{_libdir}/%{pkgname}/bin/jemalloc.sh
|
||||
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.a
|
||||
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc.so
|
||||
%exclude %{_libdir}/%{pkgname}/lib/libjemalloc_pic.a
|
||||
%exclude %{_libdir}/%{pkgname}/lib/pkgconfig
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
|
||||
%{_mandir}/man3/*
|
||||
%{_includedir}/svrcore.h
|
||||
%{_includedir}/%{pkgname}
|
||||
%{_libdir}/libsvrcore.so
|
||||
%{_libdir}/%{pkgname}/libslapd.so
|
||||
%{_libdir}/%{pkgname}/libns-dshttpd.so
|
||||
%{_libdir}/%{pkgname}/libsds.so
|
||||
%{_libdir}/%{pkgname}/libldaputil.so
|
||||
%{_libdir}/pkgconfig/svrcore.pc
|
||||
%{_libdir}/pkgconfig/dirsrv.pc
|
||||
%{_libdir}/pkgconfig/libsds.pc
|
||||
|
||||
%files libs
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
|
||||
%dir %{_libdir}/%{pkgname}
|
||||
%{_libdir}/libsvrcore.so.*
|
||||
%{_libdir}/%{pkgname}/libslapd.so.*
|
||||
%{_libdir}/%{pkgname}/libns-dshttpd-*.so
|
||||
%{_libdir}/%{pkgname}/libsds.so.*
|
||||
%{_libdir}/%{pkgname}/libldaputil.so.*
|
||||
%{_libdir}/%{pkgname}/librewriters.so*
|
||||
%if %{bundle_jemalloc}
|
||||
%{_libdir}/%{pkgname}/lib/libjemalloc.so.2
|
||||
%endif
|
||||
|
||||
%if %{use_legacy}
|
||||
%files legacy-tools
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
|
||||
%{_bindir}/infadd
|
||||
%{_mandir}/man1/infadd.1.gz
|
||||
%{_bindir}/ldif
|
||||
%{_mandir}/man1/ldif.1.gz
|
||||
%{_bindir}/migratecred
|
||||
%{_mandir}/man1/migratecred.1.gz
|
||||
%{_bindir}/mmldif
|
||||
%{_mandir}/man1/mmldif.1.gz
|
||||
%{_bindir}/rsearch
|
||||
%{_mandir}/man1/rsearch.1.gz
|
||||
%{_libexecdir}/%{pkgname}/ds_selinux_enabled
|
||||
%{_libexecdir}/%{pkgname}/ds_selinux_port_query
|
||||
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/template-initconfig
|
||||
%{_mandir}/man5/template-initconfig.5.gz
|
||||
%{_datadir}/%{pkgname}/properties/*.res
|
||||
%{_datadir}/%{pkgname}/script-templates
|
||||
%{_datadir}/%{pkgname}/updates
|
||||
%{_sbindir}/ldif2ldap
|
||||
%{_mandir}/man8/ldif2ldap.8.gz
|
||||
%{_sbindir}/bak2db
|
||||
%{_mandir}/man8/bak2db.8.gz
|
||||
%{_sbindir}/db2bak
|
||||
%{_mandir}/man8/db2bak.8.gz
|
||||
%{_sbindir}/db2index
|
||||
%{_mandir}/man8/db2index.8.gz
|
||||
%{_sbindir}/db2ldif
|
||||
%{_mandir}/man8/db2ldif.8.gz
|
||||
%{_sbindir}/dbverify
|
||||
%{_mandir}/man8/dbverify.8.gz
|
||||
%{_sbindir}/ldif2db
|
||||
%{_mandir}/man8/ldif2db.8.gz
|
||||
%{_sbindir}/restart-dirsrv
|
||||
%{_mandir}/man8/restart-dirsrv.8.gz
|
||||
%{_sbindir}/start-dirsrv
|
||||
%{_mandir}/man8/start-dirsrv.8.gz
|
||||
%{_sbindir}/status-dirsrv
|
||||
%{_mandir}/man8/status-dirsrv.8.gz
|
||||
%{_sbindir}/stop-dirsrv
|
||||
%{_mandir}/man8/stop-dirsrv.8.gz
|
||||
%{_sbindir}/upgradedb
|
||||
%{_mandir}/man8/upgradedb.8.gz
|
||||
%{_sbindir}/vlvindex
|
||||
%{_mandir}/man8/vlvindex.8.gz
|
||||
%{_sbindir}/monitor
|
||||
%{_mandir}/man8/monitor.8.gz
|
||||
%{_sbindir}/dbmon.sh
|
||||
%{_mandir}/man8/dbmon.sh.8.gz
|
||||
%{_sbindir}/dn2rdn
|
||||
%{_mandir}/man8/dn2rdn.8.gz
|
||||
%{_sbindir}/restoreconfig
|
||||
%{_mandir}/man8/restoreconfig.8.gz
|
||||
%{_sbindir}/saveconfig
|
||||
%{_mandir}/man8/saveconfig.8.gz
|
||||
%{_sbindir}/suffix2instance
|
||||
%{_mandir}/man8/suffix2instance.8.gz
|
||||
%{_sbindir}/upgradednformat
|
||||
%{_mandir}/man8/upgradednformat.8.gz
|
||||
%{_mandir}/man1/dbgen.pl.1.gz
|
||||
%{_bindir}/repl-monitor
|
||||
%{_mandir}/man1/repl-monitor.1.gz
|
||||
%{_bindir}/repl-monitor.pl
|
||||
%{_mandir}/man1/repl-monitor.pl.1.gz
|
||||
%{_bindir}/cl-dump
|
||||
%{_mandir}/man1/cl-dump.1.gz
|
||||
%{_bindir}/cl-dump.pl
|
||||
%{_mandir}/man1/cl-dump.pl.1.gz
|
||||
%{_bindir}/dbgen.pl
|
||||
%{_mandir}/man8/bak2db.pl.8.gz
|
||||
%{_sbindir}/bak2db.pl
|
||||
%{_sbindir}/cleanallruv.pl
|
||||
%{_mandir}/man8/cleanallruv.pl.8.gz
|
||||
%{_sbindir}/db2bak.pl
|
||||
%{_mandir}/man8/db2bak.pl.8.gz
|
||||
%{_sbindir}/db2index.pl
|
||||
%{_mandir}/man8/db2index.pl.8.gz
|
||||
%{_sbindir}/db2ldif.pl
|
||||
%{_mandir}/man8/db2ldif.pl.8.gz
|
||||
%{_sbindir}/fixup-linkedattrs.pl
|
||||
%{_mandir}/man8/fixup-linkedattrs.pl.8.gz
|
||||
%{_sbindir}/fixup-memberof.pl
|
||||
%{_mandir}/man8/fixup-memberof.pl.8.gz
|
||||
%{_sbindir}/ldif2db.pl
|
||||
%{_mandir}/man8/ldif2db.pl.8.gz
|
||||
%{_sbindir}/migrate-ds.pl
|
||||
%{_mandir}/man8/migrate-ds.pl.8.gz
|
||||
%{_sbindir}/ns-accountstatus.pl
|
||||
%{_mandir}/man8/ns-accountstatus.pl.8.gz
|
||||
%{_sbindir}/ns-activate.pl
|
||||
%{_mandir}/man8/ns-activate.pl.8.gz
|
||||
%{_sbindir}/ns-inactivate.pl
|
||||
%{_mandir}/man8/ns-inactivate.pl.8.gz
|
||||
%{_sbindir}/ns-newpwpolicy.pl
|
||||
%{_mandir}/man8/ns-newpwpolicy.pl.8.gz
|
||||
%{_sbindir}/remove-ds.pl
|
||||
%{_mandir}/man8/remove-ds.pl.8.gz
|
||||
%{_sbindir}/schema-reload.pl
|
||||
%{_mandir}/man8/schema-reload.pl.8.gz
|
||||
%{_sbindir}/setup-ds.pl
|
||||
%{_mandir}/man8/setup-ds.pl.8.gz
|
||||
%{_sbindir}/syntax-validate.pl
|
||||
%{_mandir}/man8/syntax-validate.pl.8.gz
|
||||
%{_sbindir}/usn-tombstone-cleanup.pl
|
||||
%{_mandir}/man8/usn-tombstone-cleanup.pl.8.gz
|
||||
%{_sbindir}/verify-db.pl
|
||||
%{_mandir}/man8/verify-db.pl.8.gz
|
||||
%{_libdir}/%{pkgname}/perl
|
||||
%endif
|
||||
|
||||
%files snmp
|
||||
%doc LICENSE LICENSE.GPLv3+ LICENSE.openssl README.devel
|
||||
%config(noreplace)%{_sysconfdir}/%{pkgname}/config/ldap-agent.conf
|
||||
%{_sbindir}/ldap-agent*
|
||||
%{_mandir}/man1/ldap-agent.1.gz
|
||||
%{_unitdir}/%{pkgname}-snmp.service
|
||||
|
||||
%files -n python%{python3_pkgversion}-lib389
|
||||
%doc LICENSE LICENSE.GPLv3+
|
||||
%{python3_sitelib}/lib389*
|
||||
%{_sbindir}/dsconf
|
||||
%{_mandir}/man8/dsconf.8.gz
|
||||
%{_sbindir}/dscreate
|
||||
%{_mandir}/man8/dscreate.8.gz
|
||||
%{_sbindir}/dsctl
|
||||
%{_mandir}/man8/dsctl.8.gz
|
||||
%{_sbindir}/dsidm
|
||||
%{_mandir}/man8/dsidm.8.gz
|
||||
%{_libexecdir}/%{pkgname}/dscontainer
|
||||
|
||||
%files -n cockpit-389-ds -f cockpit.list
|
||||
%{_datarootdir}/metainfo/389-console/org.port389.cockpit_console.metainfo.xml
|
||||
%doc README.md
|
||||
|
||||
%changelog
|
||||
* Wed Aug 16 2023 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.37-1
|
||||
- Bump versionto 1.4.3.37-1
|
||||
- Resolves: rhbz#2224505 - Paged search impacts performance
|
||||
- Resolves: rhbz#2220890 - healthcheck tool needs to be updates for new default password storage scheme
|
||||
- Resolves: rhbz#2218235 - python3-lib389: Python tarfile extraction needs change to avoid a warning
|
||||
- Resolves: rhbz#2210491 - dtablesize being set to soft maxfiledescriptor limit causing massive slowdown in large enviroments.
|
||||
- Resolves: rhbz#2149967 - SELinux labeling for dirsrv files seen during ipa install/uninstall should be moved to DEBUG
|
||||
|
||||
* Tue Jul 11 2023 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.36-2
|
||||
- Bump version to 1.4.3.36-2
|
||||
- Resolves: rhbz#2220890 - healthcheck tool needs to be updates for new default password storage scheme
|
||||
|
||||
* Wed Jun 14 2023 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.36-1
|
||||
- Bump version to 1.4.3.36-1
|
||||
- Resolves: rhbz#2188628 - Rebase 389-ds-base in RHEL 8.9 to 1.4.3.36
|
||||
|
||||
* Mon May 22 2023 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.35-1
|
||||
- Bump version to 1.4.3.35-1
|
||||
- Resolves: rhbz#2188628 - Rebase 389-ds-base in RHEL 8.9 to 1.4.3.35
|
||||
|
||||
* Tue Nov 15 2022 Mark Reynolds <mreynolds@redhat.com> - 1.4.3.32-1
|
||||
- Bump version to 1.4.3.32-1
|
||||
- Resolves: Bug 2098138 - broken nsslapd-subtree-rename-switch option in rhds11
|
||||
- Resolves: Bug 2119063 - entryuuid fixup tasks fails because entryUUID is not mutable
|
||||
- Resolves: Bug 2136610 - [RFE] Add 'cn' attribute to IPA audit logs
|
||||
- Resolves: Bug 2142638 - pam mutex lock causing high etimes, affecting red hat internal sso
|
||||
- Resolves: Bug 2096795 - [RFE] Support ECDSA private keys for TLS
|
||||
|
|
@ -1,965 +0,0 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "addr2line"
|
||||
version = "0.20.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
|
||||
dependencies = [
|
||||
"gimli",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "adler"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
"once_cell",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ansi_term"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
|
||||
[[package]]
|
||||
name = "backtrace"
|
||||
version = "0.3.68"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
|
||||
dependencies = [
|
||||
"addr2line",
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.13.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
version = "1.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
|
||||
|
||||
[[package]]
|
||||
name = "cbindgen"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9daec6140ab4dcd38c3dd57e580b59a621172a526ac79f1527af760a55afeafd"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"log",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"syn 1.0.109",
|
||||
"tempfile",
|
||||
"toml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.82"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
|
||||
dependencies = [
|
||||
"jobserver",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "2.34.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
|
||||
dependencies = [
|
||||
"ansi_term",
|
||||
"atty",
|
||||
"bitflags 1.3.2",
|
||||
"strsim",
|
||||
"textwrap",
|
||||
"unicode-width",
|
||||
"vec_map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "concread"
|
||||
version = "0.2.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcc9816f5ac93ebd51c37f7f9a6bf2b40dfcd42978ad2aea5d542016e9244cf6"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"crossbeam",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
"lru",
|
||||
"parking_lot",
|
||||
"rand",
|
||||
"smallvec",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-queue",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
"memoffset",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-queue"
|
||||
version = "0.3.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "entryuuid"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"paste",
|
||||
"slapi_r_plugin",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "entryuuid_syntax"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"paste",
|
||||
"slapi_r_plugin",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno-dragonfly"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastrand"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
|
||||
|
||||
[[package]]
|
||||
name = "fernet"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93804560e638370a8be6d59ce71ed803e55e230abdbf42598e666b41adda9b1f"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"byteorder",
|
||||
"getrandom",
|
||||
"openssl",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
|
||||
dependencies = [
|
||||
"foreign-types-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "foreign-types-shared"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
|
||||
|
||||
[[package]]
|
||||
name = "getrandom"
|
||||
version = "0.2.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"wasi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gimli"
|
||||
version = "0.27.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.12.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "instant"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
|
||||
|
||||
[[package]]
|
||||
name = "jobserver"
|
||||
version = "0.1.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.147"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
|
||||
|
||||
[[package]]
|
||||
name = "librnsslapd"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cbindgen",
|
||||
"libc",
|
||||
"slapd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "librslapd"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"cbindgen",
|
||||
"concread",
|
||||
"libc",
|
||||
"slapd",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.4.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
|
||||
|
||||
[[package]]
|
||||
name = "lock_api"
|
||||
version = "0.4.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
|
||||
|
||||
[[package]]
|
||||
name = "lru"
|
||||
version = "0.7.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a"
|
||||
dependencies = [
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.9.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "miniz_oxide"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
|
||||
dependencies = [
|
||||
"adler",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.31.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
|
||||
|
||||
[[package]]
|
||||
name = "openssl"
|
||||
version = "0.10.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
"cfg-if",
|
||||
"foreign-types",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"openssl-macros",
|
||||
"openssl-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-macros"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.28",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "openssl-sys"
|
||||
version = "0.9.91"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
"pkg-config",
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
|
||||
dependencies = [
|
||||
"instant",
|
||||
"lock_api",
|
||||
"parking_lot_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot_core"
|
||||
version = "0.8.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"instant",
|
||||
"libc",
|
||||
"redox_syscall 0.2.16",
|
||||
"smallvec",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
|
||||
dependencies = [
|
||||
"paste-impl",
|
||||
"proc-macro-hack",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "paste-impl"
|
||||
version = "0.1.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
|
||||
dependencies = [
|
||||
"proc-macro-hack",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2c516611246607d0c04186886dbb3a754368ef82c79e9827a802c6d836dd111c"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
|
||||
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-hack"
|
||||
version = "0.5.20+deprecated"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.66"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pwdchan"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"base64",
|
||||
"cc",
|
||||
"libc",
|
||||
"openssl",
|
||||
"paste",
|
||||
"slapi_r_plugin",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.32"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand"
|
||||
version = "0.8.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"rand_chacha",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_chacha"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
dependencies = [
|
||||
"ppv-lite86",
|
||||
"rand_core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rand_core"
|
||||
version = "0.6.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "redox_syscall"
|
||||
version = "0.3.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
|
||||
dependencies = [
|
||||
"bitflags 1.3.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rsds"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-demangle"
|
||||
version = "0.1.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399"
|
||||
dependencies = [
|
||||
"bitflags 2.3.3",
|
||||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.183"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.183"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.28",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.104"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slapd"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"fernet",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "slapi_r_plugin"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"paste",
|
||||
"uuid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.109"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"fastrand",
|
||||
"redox_syscall 0.3.5",
|
||||
"rustix",
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
|
||||
dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.29.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"backtrace",
|
||||
"pin-project-lite",
|
||||
"tokio-macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio-macros"
|
||||
version = "2.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.28",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
|
||||
|
||||
[[package]]
|
||||
name = "uuid"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "vcpkg"
|
||||
version = "0.2.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
|
||||
|
||||
[[package]]
|
||||
name = "vec_map"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||
|
||||
[[package]]
|
||||
name = "wasi"
|
||||
version = "0.11.0+wasi-snapshot-preview1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm",
|
||||
"windows_aarch64_msvc",
|
||||
"windows_i686_gnu",
|
||||
"windows_i686_msvc",
|
||||
"windows_x86_64_gnu",
|
||||
"windows_x86_64_gnullvm",
|
||||
"windows_x86_64_msvc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
|
||||
dependencies = [
|
||||
"zeroize_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zeroize_derive"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.28",
|
||||
]
|
|
@ -0,0 +1,6 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-9
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
|
@ -0,0 +1,17 @@
|
|||
/plan:
|
||||
summary: Basic test suite
|
||||
discover:
|
||||
how: fmf
|
||||
execute:
|
||||
how: tmt
|
||||
prepare:
|
||||
- name: install required packages
|
||||
how: install
|
||||
package: [389-ds-base, git, pytest]
|
||||
- name: clone repo
|
||||
how: shell
|
||||
script: git clone https://github.com/389ds/389-ds-base /root/ds
|
||||
/test:
|
||||
/upstream_basic:
|
||||
test: pytest -v /root/ds/dirsrvtests/tests/suites/basic/basic_test.py
|
||||
duration: 30m
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
specname:
|
||||
match: suffix
|
||||
runpath:
|
||||
allowed_paths:
|
||||
- /usr/lib64/dirsrv
|
||||
- /usr/lib64/dirsrv/plugins
|
|
@ -0,0 +1,2 @@
|
|||
SHA512 (389-ds-base-2.4.5.tar.bz2) = 452c2194bdbe6c4c87409469e33de6d134f3a839f329f67cd5e7d92bbc635c7914f76acc85bcdd8e68427234c1c5b00cee83b7f83f293f9df0666dca3dd38375
|
||||
SHA512 (jemalloc-5.3.0.tar.bz2) = 22907bb052096e2caffb6e4e23548aecc5cc9283dce476896a2b1127eee64170e3562fa2e7db9571298814a7a2c7df6e8d1fbe152bd3f3b0c1abec22a2de34b1
|
Loading…
Reference in New Issue