I'm recommending the llSetInventoryNextOwnerPermMask function (name could be shortened). This function will allow a script to do the following:
-Set the Next Owner's permission for an object in task's inventory.
-Only prohibit permissions, not permit any permissions not already permitted.
The function will NOT be able to do the following:
-Set the Next Owner's permissions for an object in task's inventory if the object is not transferable.
-Set permissions that are already not permitted. For example, if the object does not permit copying, llSetInventoryNextOwnerPermMask will not be able to permit copying.
Recommended function syntax should be similar to llSetInventoryPermMask.
If possible llSetInventoryPermMask would be more suited for the job then the suggested llSetInventoryNextOwnerPermMask. However, llSetInventoryPermMask would need to have more restrictions if God Mode is not evident. These restrictions being the same as the above restrictions for llSetInventoryNextOwnerPermMask.
llSetInventoryPermMask should have the following restrictions if God Mode is not granted.
-MASK_NEXT will be the only flag available.
-The function will have no effect if the current permissions include no transfer.
-PERM_* values will only be used in such a way that will make permission more strict rather then give permissions that are not already there.
To elaborate more, PERM_ALL will be useless sense you CAN NOT grant permissions then already available. In conclusion, llSetInventoryPermMask without God Mode will only be useful for making an object have less permissions for the next owner.
Why would this be needed? One application for this is automation. If you have a lot items you would like to sell and would like to set the permissions for them all, rather then going through all the items one by one, you could write a simple script to do the cumbersome work for you. One more important application for this would be the ability to sell other user's items for them at your store (with there consent of course, and more likely giving them large commission in return).
I hope that Linden Labs really considers this recommendation. Sense the llSetInventoryPermMask function is already there, I don't see how this could be difficult to accomplish. But then again, I don't really know how to technically achieve this.
Thank you
Denim Kamachi