make excpetion for known weak types
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23598 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -678,6 +678,7 @@ tgs_make_reply(krb5_context context, | |||||||
|     EncTicketPart et; |     EncTicketPart et; | ||||||
|     KDCOptions f = b->kdc_options; |     KDCOptions f = b->kdc_options; | ||||||
|     krb5_error_code ret; |     krb5_error_code ret; | ||||||
|  |     int is_weak = 0; | ||||||
|  |  | ||||||
|     memset(&rep, 0, sizeof(rep)); |     memset(&rep, 0, sizeof(rep)); | ||||||
|     memset(&et, 0, sizeof(et)); |     memset(&et, 0, sizeof(et)); | ||||||
| @@ -885,6 +886,14 @@ tgs_make_reply(krb5_context context, | |||||||
| 	    goto out; | 	    goto out; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     if (krb5_enctype_valid(context, et.key.keytype) != 0 | ||||||
|  | 	&& _kdc_is_weak_expection(server->entry.principal, et.key.keytype))  | ||||||
|  |     { | ||||||
|  | 	krb5_enctype_enable(context, et.key.keytype); | ||||||
|  | 	is_weak = 1; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     /* It is somewhat unclear where the etype in the following |     /* It is somewhat unclear where the etype in the following | ||||||
|        encryption should come from. What we have is a session |        encryption should come from. What we have is a session | ||||||
|        key in the passed tgt, and a list of preferred etypes |        key in the passed tgt, and a list of preferred etypes | ||||||
| @@ -899,6 +908,9 @@ tgs_make_reply(krb5_context context, | |||||||
| 			    &rep, &et, &ek, et.key.keytype, | 			    &rep, &et, &ek, et.key.keytype, | ||||||
| 			    kvno, | 			    kvno, | ||||||
| 			    serverkey, 0, &tgt->key, e_text, reply); | 			    serverkey, 0, &tgt->key, e_text, reply); | ||||||
|  |     if (is_weak) | ||||||
|  | 	krb5_enctype_disable(context, et.key.keytype); | ||||||
|  |  | ||||||
| out: | out: | ||||||
|     free_TGS_REP(&rep); |     free_TGS_REP(&rep); | ||||||
|     free_TransitedEncoding(&et.transited); |     free_TransitedEncoding(&et.transited); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Love Hörnquist Åstrand
					Love Hörnquist Åstrand