anchor.diff:  					[#subscriber{password = Password, attributes = Attributes,
   							enabled = true, disconnect = false} =
   							Entry ] when Entry#subscriber.balance > 0 ->
  -						Attributes;
  +						{Password, Attributes};
   					[#subscriber{password = Password, attributes = Attributes,
   							enabled = true, disconnect = true} =
   							Entry] when Entry#subscriber.balance > 0 ->
   						NewEntry = Entry#subscriber{disconnect = false},
   						mnesia:write(subscriber, NewEntry, write),
  -						Attributes;
  +						{Password, Attributes};
  +					[#subscriber{password = MTPassword, attributes = Attributes,
  +							enabled = true, disconnect = false} = Entry ] when
  +								Entry#subscriber.balance > 0,
  +								Password == <<>>,
  +								MTPassword =/= Password ->
  +						{MTPassword, Attributes};
  +					[#subscriber{password = MTPassword, attributes = Attributes,
  +							enabled = true, disconnect = true} = Entry] when
  +								Entry#subscriber.balance > 0,
  +								Password == <<>>,
  +								MTPassword =/= Password ->
  +						NewEntry = Entry#subscriber{disconnect = false},
  +						mnesia:write(subscriber, NewEntry, write),
  +						{MTPassword, Attributes};
   					[#subscriber{password = Password, enabled = false}] ->
   						throw(disabled);
   					[#subscriber{password = Password} = Entry] when
  
positive.code: 
  -spec authorize(Subscriber :: string() | binary(),
  		Password :: string() | binary()) ->
  	{ok, Attributes :: radius_attributes:attributes()} |
  	{error, Reason :: out_of_credit | disabled | bad_password |
  					not_found | term()}.
  %% @doc Authorize a subscriber based on `enabled' and `balance' fields.
  %%
  %% 	If the subscriber `enabled' field true and have sufficient `balance'
  %%		set disconnect field to false and return `attributes' or return the
  %% 	error reason.
  %% @private
  authorize(Subscriber, Password) when is_list(Subscriber) ->
  	authorize(list_to_binary(Subscriber), Password);
  
negative.code: 				end
  	end,
  	case mnesia:transaction(F) of
  		{atomic, {SubPassword, Attributes}} ->
  			{ok, SubPassword, Attributes};
  		{aborted, {throw, Reason}} ->
  			{error, Reason};
  		{aborted, Reason} ->
  