Feedback: Dropping an attachment with permissions
|
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
|
01-26-2005 08:53
Currently if you drop an attachment (with the Drop menu command) the object still has any run time permissions it has been granted. For example a dance bracelet that is animating your avatar will continue to do so from the ground in front of you if you drop it.
It makes the most sense for the object to lose these permissions when it is dropped, especially the ones that are given implicitly to attachments (animate and take controls).
Run time permissions include: PERMISSION_ATTACH PERMISSION_CHANGE_LINKS PERMISSION_DEBIT PERMISSION_TAKE_CONTROLS PERMISSION_TRIGGER_ANIMATION
Is anyone currently relying on the existing functionality?
_____________________
- Kelly Linden
|
Torley Linden
Enlightenment!
Join date: 15 Sep 2004
Posts: 16,530
|
01-26-2005 11:30
This is a good question Kelly, and one that I'm going to bring up to my scripter friends.
Is this related to what you said?... I have been wondering about for the following for some time:
For example, I have a dance bracelet. I want to be able to put some animations that are NO COPY or otherwise do not have full permissions into it, but for some reason, I can't drag them into the bracelet while it's attached.
To do so, I soon realize (after some fudging around) that I have to Drop the bracelet first, and then, when it's on the floor, I can examine the Contents and put in animations that are NO COPY and/or NO MOD and/or NO TRANSFER.
Would this qualify as a bug of some sort or does it rely on something else? I was wondering about this for awhile because the current behavior has me scratching my head.
|
CrystalShard Foo
1+1=10
Join date: 6 Feb 2004
Posts: 682
|
01-26-2005 11:46
From: Kelly Linden Is anyone currently relying on the existing functionality? Its a good thing you told us Kelly.  Yes, unfortunatly I am going to rely on the functionaly of keeping permissions as the object is dropped. Infact, we were also going to use this for Unreal before some trouble with the fact that llDetachFromAvatar only detachs to inventory forced us to neglect the idea. All in all, keeping permissions is a useful feature, even though you are right - something should be done about this when the script does not specificly needs it. How about making this optional? Default - abandon permissions... but, if: "llKeepPermissions(TRUE)" or such, the object will continue to hold to them as its dropped. Just a concept.
|
Ice Brodie
Head of Neo Mobius
Join date: 28 May 2004
Posts: 434
|
01-26-2005 11:54
I can just see the spam if a dance bracelet that isn't designed to stop on detach would cause, but I don't know of anyone off the top of my head that relies on the functionality, others may be different, thanks for asking. ^.^
llKeepPermissions might be a good option, as CrystalShard said, I think it'd be useful, though if they loose the permissions, it should have some form of flag so the 'unable to animate avatar' doesn't happen 50+ times, but merely right when it's dropped. (thus eliminating a spam problem)
|
Kurt Zidane
Just Human
Join date: 1 Apr 2004
Posts: 636
|
01-26-2005 13:40
When a dance bracelet is detached, it has to stop any animations it started. I can't remember if detaching cuases the attach even to fire BEFORE or AFTER the object has been detached. I would think it would be after, but then that is so, I'm serprise it fires when it's returned to inventory. If attach is triggered after the object has been droped, then revoking the permissions at drop, would mean the scripted object could not stop it's animation. This would cause problems. Unless as part of the revoking prosses, any animation triggered by the revoke animation permistion is automatically stoped. Witch right now isn't the case.
What dance bracelet is failing to stop animation when it is droped? I only ask, because bug reports to scripters seem to be a rare. He or she might not even know her script has said problem.
I'm pretty sure with sitting and object, detecting stand happens after some an avatar stands. Revoking permission at stand, would cause problems. But you wouldn't notice it, unless your dealing with more then one avatar sitting on more then one prim in a link set.
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
01-26-2005 13:44
This is a little tricky. Since some permissions are implicit, this currently can result in an unattached object that's got permissions you didn't grant it. Then again, just forcing the object to lose those persmissions sucks too -- most scripters don't seem to test against llGetPermissions() before each task they do that requires permissions. I haven't tested... does attach() get called with NULL_KEY when the av drops the attachment? BTW, what would happen when I drop and then wear an attachment, would it have to re-request (and be automatically granted) permissions again? This could lead to some nasty, hard-to-fix bugs.
You could just say "if you attached it, you probably meant to grant it permissions". Even if it's dropped, you still own it and you still trusted it at some point. Frankly, I think the better solution to this problem would be to allow the object to keep its permissions, but to create an interface whereby users can UNgrant permissions to any specific object. This has been bugged/suggested before.
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
01-26-2005 14:50
From: Lex Neva You could just say "if you attached it, you probably meant to grant it permissions". Even if it's dropped, you still own it and you still trusted it at some point. Frankly, I think the better solution to this problem would be to allow the object to keep its permissions, but to create an interface whereby users can UNgrant permissions to any specific object. This has been bugged/suggested before. I suggested just this the other day in the feature suggestion forum. If you are going to release permissions then "run_time_permissions" should be thrown.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Kurt Zidane
Just Human
Join date: 1 Apr 2004
Posts: 636
|
01-26-2005 17:40
I"m kind of disturbed that debit is a run time permission.
|
Ice Brodie
Head of Neo Mobius
Join date: 28 May 2004
Posts: 434
|
01-26-2005 19:34
Debt is a runtime because it needs to be authorized every time the script is compiled or reset, for security, last thing you need is a script that spits out singles to every random individual in a 96 meter radius with no way to stop it.
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
01-26-2005 20:05
Or a cleverly writen script that at some later date sends all your money to a third party...
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
|
01-26-2005 20:24
Torley: I believe that is intended behavior. Only fully permissive objects can be added to the contents of attachments.
Crystalshard: Thanks for talking with me in world. My refined proposal is: Only permissions that are granted automatically because the object is attached will be released when the object is dropped.
Kurt: That is a very good point about llStopAnimation. I will have to look into that and make sure it still works as it does currently for attachments.
Lex and Strife: I agree, a central place to manage all granted run time permissions would be a great feature. However at this time I am concentrating my efforts on fixing bugs. Releasing permissions in some key places is a couple orders of magnitude easier, quicker and less likely to create new bugs than creating a new run time permissions manager.
Strife: Triggering run_time_permissions makes sense.
Thanks for all the feedback.
_____________________
- Kelly Linden
|
Kurt Zidane
Just Human
Join date: 1 Apr 2004
Posts: 636
|
01-27-2005 00:22
If some one had an object, and they wanted to attach it, and then have the object purposely drop. Only to have it reattach it self. Would they be able to do this with out having to grant the permission every time they use it?
|
Lex Neva
wears dorky glasses
Join date: 27 Nov 2004
Posts: 1,361
|
01-27-2005 01:22
In that case, Kelly, I'd say my vote is that you should have the object keep the permissions, because of the implicit trust you had in wearing it initially.
|
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
|
01-27-2005 07:51
Kurt: Currently it is possible to create an object that behaves as you describe. However it is not the most efficient, popular or arguably 'right' way to do it. All scripts that I am aware of request these permissions in the attach event. Any script that does this will still work exactly as they do now. I started this thread to get ideas and feedback on why people might be doing it differently or why people might want the permissions to stick around after they have been dropped.
Lex: The reason for the implicit trust is because it is attached. When the object is not attached there is no implicit trust. I do not think there should be a third state of 'used to be trusted' that still has permissions.
_____________________
- Kelly Linden
|
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
|
01-27-2005 09:58
From: Kurt Zidane When a dance bracelet is detached, it has to stop any animations it started. Kurt is absolutely right. Detatched objects need to keep their permissions so they can clean up after themselves.
Thanks again for everyone's feedback. This change will not be made.
_____________________
- Kelly Linden
|
Kurt Zidane
Just Human
Join date: 1 Apr 2004
Posts: 636
|
01-27-2005 12:17
ah I guess that mean it fires after detach?
|