anchor.diff:  		rand_func = RandFunc, prf = PRF} = StateData) ->
   	Token = crypto:rand_bytes(4),
   	{ok, HostName} = inet:gethostname(),
  +	ServerID = list_to_binary(HostName),
   	EapPwdId = #eap_pwd_id{group_desc = GroupDesc,
   			random_fun = RandFunc, prf = PRF, token = Token,
  -			pwd_prep = none, identity = list_to_binary(HostName)},
  +			pwd_prep = none, identity = ServerID},
   	EapPwdData = ocs_eap_codec:eap_pwd_id(EapPwdId),
   	EapPwd = #eap_pwd{length = false,
   			more = false, pwd_exch = id, data = EapPwdData},
   	EapData = ocs_eap_codec:eap_pwd(EapPwd),
  -	NewStateData = StateData#statedata{token = Token},
  +	NewStateData = StateData#statedata{token = Token, server_id = ServerID},
   	case radius_attributes:find(?EAPMessage, Attributes) of
   		{ok, <<>>} ->
   			send_response(?EapRequest, EapID, EapData, ?AccessChallenge,
  
positive.code: 		secret :: binary(),
  		token :: binary(),
  		prep :: none | rfc2759 | saslprep,
  		peer_id :: binary(),
  		pwe :: binary(),
  		s_rand :: integer(),
  
negative.code: 		NewEapID = EapID + 1,
  		case catch ocs:find_subscriber(PeerID) of
  			{ok, Password, _Attributes} ->
  				PWE = ocs_eap_pwd:compute_pwe(Token, PeerID, ServerID, Password),
  				{ScalarS, ElementS} = ocs_eap_pwd:compute_scalar(<<S_rand:256>>, PWE),
  				CommitReq = #eap_pwd_commit{scalar = ScalarS, element = ElementS},
  				CommitReqBody = ocs_eap_codec:eap_pwd_commit(CommitReq),
  