Commit bc9ad47e authored by berge's avatar berge
Browse files

Updated f_mn_cn_sendBindUpAndWaitForBindAckAtHome function and Kbm computation

parent 12db5cd8
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -174,9 +174,16 @@ group rfc3775Mipv6_ExtHdrFunctions {
				if(vc_mobileSec.mnSimuParams.receivedHomeKeygenToken != c_64ZeroBits
					and vc_mobileSec.mnSimuParams.receivedCareOfKeygenToken != c_64ZeroBits) {
				
				
						if (p_mobileHeader.mobileMessage.bindingUpdateMsg.lifeTime != 0) {
							vc_mobileSec.mnSimuParams.kbm := fx_mac(		e_sha1, c_1ZeroByte,
																			bit2oct(vc_mobileSec.mnSimuParams.receivedHomeKeygenToken)
																			& bit2oct(vc_mobileSec.mnSimuParams.receivedCareOfKeygenToken));
						}
						else {
							vc_mobileSec.mnSimuParams.kbm := fx_mac(		e_sha1, c_1ZeroByte,
																			bit2oct(vc_mobileSec.mnSimuParams.receivedHomeKeygenToken));	
						}
						// ok 'til here												
						//set Authenticator option with dummy Authenticator
						p_mobileHeader.mobileMessage.bindingUpdateMsg.mobileOptions[v_position].mobileBindingAuthorizationData := {
+4 −3
Original line number Diff line number Diff line
@@ -575,7 +575,7 @@ module LibIpv6_Rfc3775Mipv6_Functions {
	return FncRetCode {
		var FncRetCode v_ret;
	
		v_ret := f_sendBU(m_generalIpv6_extHdr(c_dstHdr,
		v_ret := f_sendBU(m_bindingUpdate(c_mobileHdr,
														p_mnHoaTn,
														p_cnGlaNut,
														m_extHdrList_1Elem(
@@ -587,15 +587,16 @@ module LibIpv6_Rfc3775Mipv6_Functions {
																								c_lFlag0,
																								c_kFlag0,
																								p_timeUnits,
																								m_mobileOptList_4Elem(
																								m_mobileOptList_5Elem(
																									m_mobileOpt_padN(m_optPad2),
																									m_mobileOpt_altCoa(m_altCoA(p_mnHoaTn)),
																									m_mobileOpt_nonceIndices(m_mobileOptNonceIndices_dummy), //TODO SMU+AB validate byte boundary. padding should not be needed here
																									m_mobileOpt_padN(m_optPad4),
																									m_mobileOpt_bindingAuth(m_bindingAuthData_dummy)))))));
		if ( v_ret != e_success ) {return v_ret;}
		tc_ac.start;
		alt {
			[]	ipPort.receive(mw_bindingAck_noData(	c_routeHdr,
			[]	ipPort.receive(mw_bindingAck_noData(	c_mobileHdr,
													p_cnGlaNut,
													p_mnHoaTn,
													m_extHdrList_1Elem(