|  | @@ -44,7 +44,6 @@ struct call_data {
 | 
	
		
			
				|  |  |    grpc_metadata_array md;
 | 
	
		
			
				|  |  |    const grpc_metadata* consumed_md;
 | 
	
		
			
				|  |  |    size_t num_consumed_md;
 | 
	
		
			
				|  |  | -  grpc_auth_context* auth_context;
 | 
	
		
			
				|  |  |    grpc_closure cancel_closure;
 | 
	
		
			
				|  |  |    gpr_atm state;  // async_state
 | 
	
		
			
				|  |  |  };
 | 
	
	
		
			
				|  | @@ -178,7 +177,7 @@ static void recv_initial_metadata_ready(void* arg, grpc_error* error) {
 | 
	
		
			
				|  |  |        calld->md = metadata_batch_to_md_array(
 | 
	
		
			
				|  |  |            batch->payload->recv_initial_metadata.recv_initial_metadata);
 | 
	
		
			
				|  |  |        chand->creds->processor.process(
 | 
	
		
			
				|  |  | -          chand->creds->processor.state, calld->auth_context,
 | 
	
		
			
				|  |  | +          chand->creds->processor.state, chand->auth_context,
 | 
	
		
			
				|  |  |            calld->md.metadata, calld->md.count, on_md_processing_done, elem);
 | 
	
		
			
				|  |  |        return;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -215,8 +214,8 @@ static grpc_error* init_call_elem(grpc_call_element* elem,
 | 
	
		
			
				|  |  |    // data and save it in the call context.
 | 
	
		
			
				|  |  |    grpc_server_security_context* server_ctx =
 | 
	
		
			
				|  |  |        grpc_server_security_context_create(args->arena);
 | 
	
		
			
				|  |  | -  server_ctx->auth_context = grpc_auth_context_create(chand->auth_context);
 | 
	
		
			
				|  |  | -  calld->auth_context = server_ctx->auth_context;
 | 
	
		
			
				|  |  | +  server_ctx->auth_context =
 | 
	
		
			
				|  |  | +      GRPC_AUTH_CONTEXT_REF(chand->auth_context, "server_auth_filter");
 | 
	
		
			
				|  |  |    if (args->context[GRPC_CONTEXT_SECURITY].value != nullptr) {
 | 
	
		
			
				|  |  |      args->context[GRPC_CONTEXT_SECURITY].destroy(
 | 
	
		
			
				|  |  |          args->context[GRPC_CONTEXT_SECURITY].value);
 |