/[smeserver]/rpms/samba/sme10/samba-4.2.3-fix_net_ads_keytab_segfault.patch
ViewVC logotype

Annotation of /rpms/samba/sme10/samba-4.2.3-fix_net_ads_keytab_segfault.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (hide annotations) (download)
Thu Mar 2 16:04:48 2017 UTC (7 years, 3 months ago) by unnilennium
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +0 -0 lines
FILE REMOVED
update to samba-4.4.4-12 upstream version

1 vip-ire 1.1 From af7dfb4e2b288742d0f3a0b7c9f4c280f8c9738d Mon Sep 17 00:00:00 2001
2     From: Volker Lendecke <vl@samba.org>
3     Date: Wed, 4 Mar 2015 10:09:18 +0100
4     Subject: [PATCH 1/4] libads: Fix CID 1273306 Uninitialized scalar variable
5    
6     BUG: https://bugzilla.samba.org/show_bug.cgi?id=11418
7    
8     Signed-off-by: Volker Lendecke <vl@samba.org>
9     Reviewed-by: David Disseldorp <ddiss@samba.org>
10     (cherry picked from commit 4a686c5b0bbcf0bdb089348403a3c35b8aff67e4)
11     ---
12     source3/libads/kerberos_keytab.c | 2 +-
13     1 file changed, 1 insertion(+), 1 deletion(-)
14    
15     diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c
16     index ae3d80e39..2d5c7ff 100644
17     --- a/source3/libads/kerberos_keytab.c
18     +++ b/source3/libads/kerberos_keytab.c
19     @@ -508,7 +508,7 @@ int ads_keytab_create_default(ADS_STRUCT *ads)
20     krb5_context context = NULL;
21     krb5_keytab keytab = NULL;
22     krb5_kt_cursor cursor;
23     - krb5_keytab_entry kt_entry;
24     + krb5_keytab_entry kt_entry = {0};
25     krb5_kvno kvno;
26     size_t found = 0;
27     char *sam_account_name, *upn;
28     --
29     2.4.6
30    
31    
32     From c2fc9c04e670fa4f2a4ad7bb037e40bed08a554f Mon Sep 17 00:00:00 2001
33     From: Volker Lendecke <vl@samba.org>
34     Date: Wed, 4 Mar 2015 10:09:51 +0100
35     Subject: [PATCH 2/4] libads: Fix CID 1273305 Uninitialized scalar variable
36    
37     BUG: https://bugzilla.samba.org/show_bug.cgi?id=11418
38    
39     Signed-off-by: Volker Lendecke <vl@samba.org>
40     Reviewed-by: David Disseldorp <ddiss@samba.org>
41     (cherry picked from commit 706770d7a8c4625ecb555db40c146126d2c160f0)
42     ---
43     source3/libads/kerberos_keytab.c | 2 +-
44     1 file changed, 1 insertion(+), 1 deletion(-)
45    
46     diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c
47     index 2d5c7ff..bbd981c 100644
48     --- a/source3/libads/kerberos_keytab.c
49     +++ b/source3/libads/kerberos_keytab.c
50     @@ -507,7 +507,7 @@ int ads_keytab_create_default(ADS_STRUCT *ads)
51     krb5_error_code ret = 0;
52     krb5_context context = NULL;
53     krb5_keytab keytab = NULL;
54     - krb5_kt_cursor cursor;
55     + krb5_kt_cursor cursor = {0};
56     krb5_keytab_entry kt_entry = {0};
57     krb5_kvno kvno;
58     size_t found = 0;
59     --
60     2.4.6
61    
62    
63     From dec69489dfb6ed3f60a1ed9360ceb03800fe01d1 Mon Sep 17 00:00:00 2001
64     From: Uri Simchoni <urisimchoni@gmail.com>
65     Date: Sat, 2 May 2015 13:44:52 +0300
66     Subject: [PATCH 3/4] libads: Fix free of uninitialized pointer
67    
68     BUG: https://bugzilla.samba.org/show_bug.cgi?id=11418
69    
70     In ads_keytab_creat_default(), if the keytab to be created cannot
71     be opened, the bail-out code calls smb_krb5_kt_free_entry() on
72     an uninitialized entry.
73    
74     To reproduce:
75     1. Join a domain
76     2. KRB5_KTNAME=FILE:/non-existant-path/krb5.keytab net ads keytab create -P
77    
78     Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
79     Reviewed-by: Jeremy Allison <jra@samba.org>
80     Reviewed-by: Andreas Schneider <asn@samba.org>
81     (cherry picked from commit df91bc5159b24f6f10fd9742b49192921d51f821)
82     ---
83     source3/libads/kerberos_keytab.c | 5 +++--
84     1 file changed, 3 insertions(+), 2 deletions(-)
85    
86     diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c
87     index bbd981c..ef6374a 100644
88     --- a/source3/libads/kerberos_keytab.c
89     +++ b/source3/libads/kerberos_keytab.c
90     @@ -520,6 +520,9 @@ int ads_keytab_create_default(ADS_STRUCT *ads)
91     size_t i;
92     ADS_STATUS status;
93    
94     + ZERO_STRUCT(kt_entry);
95     + ZERO_STRUCT(cursor);
96     +
97     frame = talloc_stackframe();
98     if (frame == NULL) {
99     ret = -1;
100     @@ -575,8 +578,6 @@ int ads_keytab_create_default(ADS_STRUCT *ads)
101     #endif
102    
103     memset(princ_s, '\0', sizeof(princ_s));
104     - ZERO_STRUCT(kt_entry);
105     - ZERO_STRUCT(cursor);
106    
107     initialize_krb5_error_table();
108     ret = krb5_init_context(&context);
109     --
110     2.4.6
111    
112    
113     From be29f73d746d2d356856eeeec7e958597e429bc0 Mon Sep 17 00:00:00 2001
114     From: Uri Simchoni <urisimchoni@gmail.com>
115     Date: Sat, 2 May 2015 13:44:53 +0300
116     Subject: [PATCH 4/4] libads: Fix deadlock when re-joining a domain and
117     updating keytab
118    
119     BUG: https://bugzilla.samba.org/show_bug.cgi?id=11418
120    
121     When updating the system keytab as a result of joining a domain,
122     if the keytb had prior entries, ads_keytab_create_default tries to
123     update those entries. However, it starts updating before freeing the
124     cursor which was used for finding those entries, and hence causes
125     an an attempt to write-lock the keytab while a read-lock exists.
126    
127     To reproduce configure smb.conf for ads domain member and run this twice:
128     net ads join -U <credentials> '--option=kerberos method=secrets and keytab'
129    
130     Signed-off-by: Uri Simchoni <urisimchoni@gmail.com>
131     Reviewed-by: Jeremy Allison <jra@samba.org>
132     Reviewed-by: Andreas Schneider <asn@samba.org>
133    
134     Autobuild-User(master): Jeremy Allison <jra@samba.org>
135     Autobuild-Date(master): Mon May 4 21:01:41 CEST 2015 on sn-devel-104
136    
137     (cherry picked from commit 38beef2ff63664d7d5805f1032bb9f69d0b965d7)
138     ---
139     source3/libads/kerberos_keytab.c | 5 +++--
140     1 file changed, 3 insertions(+), 2 deletions(-)
141    
142     diff --git a/source3/libads/kerberos_keytab.c b/source3/libads/kerberos_keytab.c
143     index ef6374a..309e614 100644
144     --- a/source3/libads/kerberos_keytab.c
145     +++ b/source3/libads/kerberos_keytab.c
146     @@ -731,13 +731,14 @@ int ads_keytab_create_default(ADS_STRUCT *ads)
147     smb_krb5_kt_free_entry(context, &kt_entry);
148     ZERO_STRUCT(kt_entry);
149     }
150     + krb5_kt_end_seq_get(context, keytab, &cursor);
151     + ZERO_STRUCT(cursor);
152     +
153     ret = 0;
154     for (i = 0; oldEntries[i]; i++) {
155     ret |= ads_keytab_add_entry(ads, oldEntries[i]);
156     TALLOC_FREE(oldEntries[i]);
157     }
158     - krb5_kt_end_seq_get(context, keytab, &cursor);
159     - ZERO_STRUCT(cursor);
160    
161     done:
162     TALLOC_FREE(oldEntries);
163     --
164     2.4.6
165    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed