]> git.pld-linux.org Git - packages/adcli.git/blob - adcli-heimdal.patch
70f02789211fd9c6a4a2f8e1255c019da09d99a4
[packages/adcli.git] / adcli-heimdal.patch
1 --- adcli-0.7.5/library/adconn.c.orig   2013-09-13 09:58:49.000000000 +0200
2 +++ adcli-0.7.5/library/adconn.c        2014-12-23 20:40:58.434276020 +0100
3 @@ -28,7 +28,7 @@
4  #include "addisco.h"
5  
6  #include <gssapi/gssapi_krb5.h>
7 -#include <krb5/krb5.h>
8 +#include <krb5.h>
9  #include <ldap.h>
10  #include <sasl/sasl.h>
11  
12 @@ -494,10 +494,12 @@ _adcli_kinit_computer_creds (adcli_conn
13         code = krb5_get_init_creds_opt_alloc (k5, &opt);
14         return_val_if_fail (code == 0, code);
15  
16 +#ifdef MIT_KRB
17         if (ccache) {
18                 code = krb5_get_init_creds_opt_set_out_ccache (k5, opt, ccache);
19                 return_val_if_fail (code == 0, code);
20         }
21 +#endif
22  
23         memset (&dummy, 0, sizeof (dummy));
24         if (!creds)
25 @@ -561,10 +563,12 @@ _adcli_kinit_user_creds (adcli_conn *con
26         code = krb5_get_init_creds_opt_alloc (k5, &opt);
27         return_val_if_fail (code == 0, code);
28  
29 +#ifdef MIT_KRB
30         if (ccache) {
31                 code = krb5_get_init_creds_opt_set_out_ccache (k5, opt, ccache);
32                 return_val_if_fail (code == 0, code);
33         }
34 +#endif
35  
36         memset (&dummy, 0, sizeof (dummy));
37         if (!creds)
38 @@ -1420,7 +1424,7 @@ adcli_conn_set_login_ccache_name (adcli_
39  
40         if (conn->login_ccache_name) {
41                 if (conn->login_ccache_name_is_krb5)
42 -                       krb5_free_string (conn->k5, conn->login_ccache_name);
43 +                       krb5_xfree (conn->login_ccache_name);
44                 else
45                         free (conn->login_ccache_name);
46         }
47 --- adcli-0.7.5/library/adconn.h.orig   2013-08-07 10:07:41.000000000 +0200
48 +++ adcli-0.7.5/library/adconn.h        2014-12-22 22:50:24.107575979 +0100
49 @@ -26,7 +26,7 @@
50  
51  #include "adutil.h"
52  
53 -#include <krb5/krb5.h>
54 +#include <krb5.h>
55  #include <ldap.h>
56  
57  typedef enum {
58 --- adcli-0.7.5/library/adenroll.c.orig 2013-09-06 10:23:58.000000000 +0200
59 +++ adcli-0.7.5/library/adenroll.c      2014-12-23 20:49:32.970921047 +0100
60 @@ -28,7 +28,7 @@
61  #include "seq.h"
62  
63  #include <gssapi/gssapi_krb5.h>
64 -#include <krb5/krb5.h>
65 +#include <krb5.h>
66  #include <ldap.h>
67  #include <sasl/sasl.h>
68  
69 @@ -852,7 +852,7 @@ set_password_with_user_creds (adcli_enro
70                             message ? ": " : "", message ? message : "");
71                 res = ADCLI_ERR_CREDENTIALS;
72  #ifdef HAVE_KRB5_CHPW_MESSAGE
73 -               krb5_free_string (k5, message);
74 +               krb5_xfree (message);
75  #else
76                 free (message);
77  #endif
78 @@ -916,7 +916,7 @@ set_password_with_computer_creds (adcli_
79                             message ? ": " : "", message ? message : "");
80                 res = ADCLI_ERR_CREDENTIALS;
81  #ifdef HAVE_KRB5_CHPW_MESSAGE
82 -               krb5_free_string (k5, message);
83 +               krb5_xfree (message);
84  #else
85                 free (message);
86  #endif
87 @@ -1242,10 +1242,10 @@ ensure_host_keytab (adcli_result res,
88                         return ADCLI_ERR_FAIL;
89                 }
90  
91 -               name = malloc (MAX_KEYTAB_NAME_LEN + 1);
92 +               name = malloc (1100 + 1);
93                 return_unexpected_if_fail (name != NULL);
94  
95 -               code = krb5_kt_get_name (k5, enroll->keytab, name, MAX_KEYTAB_NAME_LEN + 1);
96 +               code = krb5_kt_get_name (k5, enroll->keytab, name, 1100 + 1);
97                 return_unexpected_if_fail (code == 0);
98  
99                 enroll->keytab_name = name;
100 @@ -1297,6 +1297,7 @@ build_principal_salts (adcli_enroll *enr
101  {
102         krb5_error_code code;
103         krb5_data *salts;
104 +       krb5_salt salt;
105         const int count = 3;
106         int i = 0;
107  
108 @@ -1304,8 +1305,9 @@ build_principal_salts (adcli_enroll *enr
109         return_val_if_fail (salts != NULL, NULL);
110  
111         /* Build up the salts, first a standard kerberos salt */
112 -       code = krb5_principal2salt (k5, principal, &salts[i++]);
113 +       code = krb5_get_pw_salt (k5, principal, &salt);
114         return_val_if_fail (code == 0, NULL);
115 +       salts[i++] = salt.saltvalue;
116  
117         /* Then a Windows 2003 computer account salt */
118         code = _adcli_krb5_w2k3_salt (k5, principal, enroll->computer_name, &salts[i++]);
119 @@ -1941,7 +1943,7 @@ adcli_enroll_set_keytab_name (adcli_enro
120                 if (enroll->keytab_name_is_krb5) {
121                         k5 = adcli_conn_get_krb5_context (enroll->conn);
122                         return_if_fail (k5 != NULL);
123 -                       krb5_free_string (k5, enroll->keytab_name);
124 +                       krb5_xfree (enroll->keytab_name);
125                 } else {
126                         free (enroll->keytab_name);
127                 }
128 --- adcli-0.7.5/library/adkrb5.c.orig   2013-04-17 22:57:03.000000000 +0200
129 +++ adcli-0.7.5/library/adkrb5.c        2014-12-23 19:50:58.044401806 +0100
130 @@ -27,7 +27,7 @@
131  #include "adprivate.h"
132  
133  #include <gssapi/gssapi_krb5.h>
134 -#include <krb5/krb5.h>
135 +#include <krb5.h>
136  
137  #include <assert.h>
138  #include <ctype.h>
139 @@ -78,7 +78,7 @@ _adcli_krb5_keytab_clear (krb5_context k
140  
141                 /* See if we should remove this entry */
142                 if (!match_func (k5, &entry, match_data)) {
143 -                       krb5_free_keytab_entry_contents (k5, &entry);
144 +                       krb5_kt_free_entry (k5, &entry);
145                         continue;
146                 }
147  
148 @@ -91,7 +91,7 @@ _adcli_krb5_keytab_clear (krb5_context k
149                 return_val_if_fail (code == 0, code);
150  
151                 code = krb5_kt_remove_entry (k5, keytab, &entry);
152 -               krb5_free_keytab_entry_contents (k5, &entry);
153 +               krb5_kt_free_entry (k5, &entry);
154  
155                 if (code != 0)
156                         return code;
157 @@ -138,9 +138,10 @@ _adcli_krb5_keytab_add_entries (krb5_con
158         int i;
159  
160         for (i = 0; enctypes[i] != 0; i++) {
161 +               krb5_salt k5salt = { KRB5_PADATA_PW_SALT, *salt };
162                 memset (&entry, 0, sizeof(entry));
163  
164 -               code = krb5_c_string_to_key (k5, enctypes[i], password, salt, &entry.key);
165 +               code = krb5_string_to_key_data_salt (k5, enctypes[i], *password, k5salt, &entry.keyblock);
166                 if (code != 0)
167                         return code;
168  
169 @@ -150,7 +151,7 @@ _adcli_krb5_keytab_add_entries (krb5_con
170                 code = krb5_kt_add_entry (k5, keytab, &entry);
171  
172                 entry.principal = NULL;
173 -               krb5_free_keytab_entry_contents (k5, &entry);
174 +               krb5_kt_free_entry (k5, &entry);
175  
176                 if (code != 0)
177                         return code;
178 @@ -225,11 +226,12 @@ _adcli_krb5_w2k3_salt (krb5_context k5,
179                         const char *host_netbios,
180                         krb5_data *salt)
181  {
182 -       krb5_data *realm;
183 +       krb5_realm *realm;
184         size_t size = 0;
185         size_t host_length = 0;
186         size_t at = 0;
187         int i;
188 +       char *salt_data;
189  
190         /*
191          * The format for the w2k3 computer account salt is:
192 @@ -239,37 +241,37 @@ _adcli_krb5_w2k3_salt (krb5_context k5,
193         realm = krb5_princ_realm (k5, principal);
194         host_length = strlen (host_netbios);
195  
196 -       size += realm->length;
197 +       size += krb5_realm_length(*realm);
198         size += 4; /* "host" */
199         size += host_length;
200         size += 1; /* "." */
201 -       size += realm->length;
202 +       size += krb5_realm_length(*realm);
203  
204 -       salt->data = malloc (size);
205 +       salt_data = salt->data = malloc (size);
206         return_val_if_fail (salt->data != NULL, ENOMEM);
207  
208         /* Upper case realm */
209 -       for (i = 0; i < realm->length; i++)
210 -               salt->data[at + i] = toupper (realm->data[i]);
211 -       at += realm->length;
212 +       for (i = 0; i < krb5_realm_length(*realm); i++)
213 +               salt_data[at + i] = toupper (krb5_realm_data(*realm)[i]);
214 +       at += krb5_realm_length(*realm);
215  
216         /* The string "host" */
217 -       memcpy (salt->data + at, "host", 4);
218 +       memcpy (salt_data + at, "host", 4);
219         at += 4;
220  
221         /* The netbios name in lower case */
222         for (i = 0; i < host_length; i++)
223 -               salt->data[at + i] = tolower (host_netbios[i]);
224 +               salt_data[at + i] = tolower (host_netbios[i]);
225         at += host_length;
226  
227         /* The dot */
228 -       memcpy (salt->data + at, ".", 1);
229 +       memcpy (salt_data + at, ".", 1);
230         at += 1;
231  
232         /* Lower case realm */
233 -       for (i = 0; i < realm->length; i++)
234 -               salt->data[at + i] = tolower (realm->data[i]);
235 -       at += realm->length;
236 +       for (i = 0; i < krb5_realm_length(*realm); i++)
237 +               salt_data[at + i] = tolower (krb5_realm_data(*realm)[i]);
238 +       at += krb5_realm_length(*realm);
239  
240         assert (at == size);
241         salt->length = size;
242 --- adcli-0.7.5/library/adldap.c.orig   2013-05-02 12:40:10.000000000 +0200
243 +++ adcli-0.7.5/library/adldap.c        2014-12-23 14:59:45.321801852 +0100
244 @@ -27,7 +27,7 @@
245  #include "adprivate.h"
246  
247  #include <gssapi/gssapi_krb5.h>
248 -#include <krb5/krb5.h>
249 +#include <krb5.h>
250  #include <ldap.h>
251  #include <sasl/sasl.h>
252  
This page took 0.083803 seconds and 2 git commands to generate.