anchor.diff:      end.
   
   credentials_changed(Role, User, Password) ->
  -    case cluster_compat_mode:is_cluster_30() of
  -        true ->
  -            credentials_changed_30(Role, User, Password);
  -        false ->
  -            credentials_changed_old(Role, User, Password)
  -    end.
  -
  -credentials_changed_30(Role, User, Password) ->
       case ns_config:search(get_key(Role)) of
           {value, {User, {password, {Salt, Mac}}}} ->
               hash_password(Salt, Password) =/= Mac;
  -        _ ->
  -            true
  -    end.
  -
  -credentials_changed_old(admin, User, Password) ->
  -    case ns_config:search_prop(ns_config:latest(), rest_creds, creds, []) of
  -        [{U, Auth} | _] ->
  -            P = proplists:get_value(password, Auth, ""),
  -            User =/= U orelse Password =/= P;
           _ ->
               true
       end.
  
positive.code: get_user(special) ->
      "@";
  get_user(Role) ->
      case cluster_compat_mode:is_cluster_30() of
          true ->
              get_user_30(Role);
          false ->
              get_user_old(Role)
      end.
  
  get_user_30(Role) ->
      case ns_config:search(get_key(Role)) of
          {value, {U, _}} ->
              U;
          _ ->
              undefined
      end.
  
  get_user_old(admin) ->
      case ns_config:search_prop(ns_config:latest(), rest_creds, creds, []) of
          [] ->
              undefined;
          [{U, _}|_] ->
              U
      end;
  get_user_old(ro_admin) ->
      case ns_config:search(read_only_user_creds) of
          {value, {U, _}} ->
              U;
          _ ->
  
negative.code:          get_password/1,
           credentials_changed/3,
           unset_credentials/1,
           get_creds/2,
           is_system_provisioned/0,
           is_system_provisioned/1,
  