anchor.diff:      end.
   
   
  -set_clone_from(RowIndex, Cols) ->
  -    %% If CloneFrom is modified, do the cloning.
  -    case lists:keysearch(?usmUserCloneFrom, 1, Cols) of
  -	{value, {_Col, RowPointer}} ->
  -	    RowIndex2 = extract_row(RowPointer), % won't fail
  -	    CloneRow = snmp_generic:table_get_row(db(usmUserTable), RowIndex2,
  -						  foi(usmUserTable)),
  -	    AuthP = element(?usmUserAuthProtocol, CloneRow),
  -	    PrivP = element(?usmUserPrivProtocol, CloneRow),
  -	    AuthK = element(?usmUserAuthKey, CloneRow),
  -	    PrivK = element(?usmUserPrivKey, CloneRow),
  -	    SCols = [{?usmUserAuthProtocol, AuthP},
  -		     {?usmUserPrivProtocol, PrivP},
  -		     {?usmUserAuthKey, AuthK},
  -		     {?usmUserPrivKey, PrivK}],
  -	    case snmp_generic:table_set_elements(db(usmUserTable),
  -						 RowIndex,
  -						 SCols) of
  -		true -> ok;
  -		false -> {commitFailed, ?usmUserCloneFrom}
  -	    end;
  -	false ->
  -	    ok
  -    end.
  -
   set_auth_key_change(RowIndex, Cols) ->
       set_key_change(RowIndex, Cols, ?usmUserAuthKeyChange, auth).
   
  
positive.code: 	    case OldCloneFrom of
  		{value, Val} when Val /= noinit ->
  		    %% This means that the cloning is already done...
  		    ok;
  		_ ->
  		    %% Otherwise, we must check the CloneFrom value
  		    case snmp_generic:table_get_element(db(usmUserTable),
  							RowIndex2,
  							?usmUserStatus) of
  			{value, ?'RowStatus_active'} -> ok;
  			_ -> inconsistentName(?usmUserCloneFrom)
  		    end
  	    end;
  	false ->
  	    ok
      end.
  
  
  validate_auth_protocol(RowIndex, Cols) ->
      case lists:keysearch(?usmUserAuthProtocol, 1, Cols) of
  	{value, {_Col, AuthProtocol}} ->
  	    %% Check if the row has been cloned; we can't check the
  	    %% old value of authProtocol, because if the row was
  	    %% createAndWaited, the default value would have been
  	    %% written (usmNoAuthProtocol).
  	    OldCloneFrom = snmp_generic:table_get_element(db(usmUserTable),
  							  RowIndex,
  							  ?usmUserCloneFrom),
  	    case OldCloneFrom of
  		{value, Val} when Val /= noinit ->
  		    %% This means that the cloning is already done; set is ok
  		    %% if new protocol is usmNoAuthProtocol
  		    case AuthProtocol of
  			?usmNoAuthProtocol ->
  			    %% Check that the Priv protocl is noPriv
  
negative.code: 		    %% The user is cloned in this operation
  		    ok;
  		_ ->
  		    %% The user doesn't exist, or hasn't been cloned,
  		    %% and is not cloned in this operation.
  		    inconsistentName(KeyChangeCol)
  	    end,
  