anchor.diff:  		none ->
   		    logger:log(debug, "userdb-ldap: Found no password for user ~p", [User]),
   		    nomatch;
  -		Addresses when list(Addresses) ->
  -		    Addresses
  -	    end
  -    end.
  -
  -get_classes_for_user(User) ->
  +		[Password] when is_list(Password) ->
  +		    Password
  +	    end
  +    end.
  +
  +%%--------------------------------------------------------------------
  +%% Function: get_classes_for_user(Username)
  +%%           Username = string()
  +%% Descrip.: Should return a list of classes allowed for a user. This
  +%%           is not yet implemented in the LDAP userdb. XXX FIX. The
  +%%           reason it isn't implemented is because we (SU) haven't
  +%%           decided on how to represent classes in the LDAP schema.
  +%% Returns : []
  +%%--------------------------------------------------------------------
  +get_classes_for_user(_User) ->
       logger:log(debug, "userdb-ldap: Classes are not yet implemented in the LDAP userdb module"),
       [].
   
  +%%--------------------------------------------------------------------
  +%% Function: get_telephonenumber_for_user(User)
  +%%           User = string()
  +%% Descrip.: Return the telephone number for a user. We do this by
  +%%           fetching all addresses for the user and then examining
  +%%           them to see if any of them is a tel: URL, or has a
  +%%           user part which is all numeric or is an E.164 number.
  +%%           The numbering plan in the number return is not specified.
  +%% Returns : Number  |
  +%%           nomatch |
  +%%           error
  +%%           Number = string()
  +%%--------------------------------------------------------------------
   get_telephonenumber_for_user(User) ->
       case sipserver:get_env(ldap_server, none) of
   	none ->
  
positive.code: 		    nomatch;
  		[{dn, Dn, attributes, EAttributes}] ->
  		    case directory:get_value(EAttributes, UserAttribute) of
  			QRes when list(QRes) ->
  			    logger:log(debug, "userdb-ldap: Found LDAP user for ~p, dn ~p: ~p", [Address, Dn, QRes]),
  			    QRes;
  			Foo ->
  			    logger:log(debug, "userdb-ldap: Query for exactly one user matching address ~p failed (~p)",
  					[Address, Foo]),
  			    error
  		    end;
  		[{dn, Dn, attributes, EAttributes} | Rest] ->
  		    logger:log(debug, "userdb-ldap: Query for exactly one user matching address ~p failed, multiple users found",
  		    		[Address]),
  		    error;
  		Unknown ->
  		    logger:log(debug, "userdb-ldap: Query for exactly one user matching address ~p failed, ldapsearch returned : ~p",
  		    		[Address, Unknown]),
  		    error
  	    end
      end.
  
  % Looks up all users with a given address. Used
  % to find out to which users we should send a request.
  % Other userdb types than mnesia might perform multiple lookups.
  get_users_for_address_of_record(Address) ->
      get_users_for_addresses_of_record([Address]).
  
  get_users_for_addresses_of_record(AddressList) ->
      case sipserver:get_env(ldap_server, none) of
  	none ->
  	    nomatch;
  
negative.code: 	]).
  
  
  %%--------------------------------------------------------------------
  %% Include files
  %%--------------------------------------------------------------------
  -include("siprecords.hrl").
  
  %%====================================================================
  %% External functions
  %%====================================================================
  
  %%--------------------------------------------------------------------
  %% Function: yxa_init()
  %% Descrip.: Perform any necessary startup initialization and
  %%           return an OTP supervisor child spec if we want to add
  %%           to sipserver_sup's list. If this sipuserdb_module
  %%           needs to be persistent, it should be a gen_server and
  %%           init should just return a spec so that the gen_server
  %%           is started by the supervisor.
  %% Returns : Spec |
  %%           []
  %%           Spec = OTP supervisor child specification
  %%--------------------------------------------------------------------
  yxa_init() ->
      [].
  
  %%--------------------------------------------------------------------
  %% Function: get_user_with_address(Address)
  %%           Address = string(), an address in string format.
  %% Descrip.: Looks up exactly one user with an Address. Used for
  %%           example in REGISTER. If there are multiple users with
  %%           this address in our database, this function returns
  %%           'error'.
  %% Returns:  Username |
  %%           nomatch  |
  %%           error
  %%           Username = string()
  %%--------------------------------------------------------------------
  get_user_with_address(Address) ->
      case sipserver:get_env(ldap_server, none) of
  	none ->
  