Simplify subkey usage for tgs-req, don't rewrite tgs-rep-sub-key keyuage for arcfour, its correct
This commit is contained in:
		@@ -2386,7 +2386,6 @@ usage2arcfour (krb5_context context, unsigned *usage)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    switch (*usage) {
 | 
					    switch (*usage) {
 | 
				
			||||||
    case KRB5_KU_AS_REP_ENC_PART : /* 3 */
 | 
					    case KRB5_KU_AS_REP_ENC_PART : /* 3 */
 | 
				
			||||||
    case KRB5_KU_TGS_REP_ENC_PART_SUB_KEY : /* 9 */
 | 
					 | 
				
			||||||
	*usage = 8;
 | 
						*usage = 8;
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
    case KRB5_KU_USAGE_SEAL :  /* 22 */
 | 
					    case KRB5_KU_USAGE_SEAL :  /* 22 */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -244,16 +244,12 @@ init_tgs_req (krb5_context context,
 | 
				
			|||||||
    if(ret)
 | 
					    if(ret)
 | 
				
			||||||
	goto fail;
 | 
						goto fail;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    ret = krb5_generate_subkey_extended(context, &krbtgt->session, 
 | 
					    ret = krb5_auth_con_generatelocalsubkey(context, ac, &krbtgt->session);
 | 
				
			||||||
					ETYPE_NULL, &key);
 | 
					 | 
				
			||||||
    if (ret)
 | 
					    if (ret)
 | 
				
			||||||
	goto fail;
 | 
						goto fail;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    ret = krb5_auth_con_setlocalsubkey(context, ac, key);
 | 
					    ret = set_auth_data (context, &t->req_body, &in_creds->authdata,
 | 
				
			||||||
    if (ret)
 | 
								 ac->local_subkey);
 | 
				
			||||||
	goto fail;
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    ret = set_auth_data (context, &t->req_body, &in_creds->authdata, key);
 | 
					 | 
				
			||||||
    if (ret)
 | 
					    if (ret)
 | 
				
			||||||
	goto fail;
 | 
						goto fail;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@@ -265,12 +261,11 @@ init_tgs_req (krb5_context context,
 | 
				
			|||||||
    if(ret)
 | 
					    if(ret)
 | 
				
			||||||
	goto fail;
 | 
						goto fail;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    *subkey = key;
 | 
					    ret = krb5_auth_con_getlocalsubkey(context, ac, subkey);
 | 
				
			||||||
    key = NULL;
 | 
					    if (ret)
 | 
				
			||||||
 | 
						goto fail;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fail:
 | 
					fail:
 | 
				
			||||||
    if (key)
 | 
					 | 
				
			||||||
	krb5_free_keyblock (context, key);
 | 
					 | 
				
			||||||
    if (ac)
 | 
					    if (ac)
 | 
				
			||||||
	krb5_auth_con_free(context, ac);
 | 
						krb5_auth_con_free(context, ac);
 | 
				
			||||||
    if (ret) {
 | 
					    if (ret) {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user