File 0020-Do-not-add-service-principals-twice.patch of Package adcli (Revision ce46d0e7322eb68daa00b5c190e5847d)
Currently displaying revision ce46d0e7322eb68daa00b5c190e5847d , Show latest
58
1
From 85332e1818129ead6d9973b85918c54a04e3706e Mon Sep 17 00:00:00 2001
2
From: Sumit Bose <sbose@redhat.com>
3
Date: Mon, 13 Aug 2018 17:32:24 +0200
4
Subject: [PATCH 20/25] Do not add service principals twice
5
6
---
7
library/adenroll.c | 23 +++++++++++++++++++----
8
1 file changed, 19 insertions(+), 4 deletions(-)
9
10
diff --git a/library/adenroll.c b/library/adenroll.c
11
index df1f551..f942ea2 100644
12
--- a/library/adenroll.c
13
+++ b/library/adenroll.c
14
15
char *name;
16
int length = 0;
17
int i;
18
+ size_t c;
19
20
if (enroll->service_principals != NULL) {
21
length = seq_count (enroll->service_principals);
22
23
for (i = 0; enroll->service_names[i] != NULL; i++) {
24
if (asprintf (&name, "%s/%s", enroll->service_names[i], enroll->computer_name) < 0)
25
return_unexpected_if_reached ();
26
- enroll->service_principals = _adcli_strv_add (enroll->service_principals,
27
- name, &length);
28
+ for (c = 0; enroll->service_principals != NULL && enroll->service_principals[c] != NULL; c++) {
29
+ if (strcmp (name, enroll->service_principals[c]) == 0) {
30
+ break;
31
+ }
32
+ }
33
+ if (enroll->service_principals == NULL || enroll->service_principals[c] == NULL) {
34
+ enroll->service_principals = _adcli_strv_add (enroll->service_principals,
35
+ name, &length);
36
+ }
37
38
if (enroll->host_fqdn) {
39
if (asprintf (&name, "%s/%s", enroll->service_names[i], enroll->host_fqdn) < 0)
40
return_unexpected_if_reached ();
41
- enroll->service_principals = _adcli_strv_add (enroll->service_principals,
42
- name, &length);
43
+ for (c = 0; enroll->service_principals != NULL && enroll->service_principals[c] != NULL; c++) {
44
+ if (strcmp (name, enroll->service_principals[c]) == 0) {
45
+ break;
46
+ }
47
+ }
48
+ if (enroll->service_principals == NULL || enroll->service_principals[c] == NULL) {
49
+ enroll->service_principals = _adcli_strv_add (enroll->service_principals,
50
+ name, &length);
51
+ }
52
}
53
}
54
55
--
56
2.16.4
57
58