1*4882a593Smuzhiyunpolkit.addRule(function(action, subject) { 2*4882a593Smuzhiyun var YES = polkit.Result.YES; 3*4882a593Smuzhiyun var permission = { 4*4882a593Smuzhiyun // required for udisks1: 5*4882a593Smuzhiyun "org.freedesktop.udisks.filesystem-mount": YES, 6*4882a593Smuzhiyun "org.freedesktop.udisks.luks-unlock": YES, 7*4882a593Smuzhiyun "org.freedesktop.udisks.drive-eject": YES, 8*4882a593Smuzhiyun "org.freedesktop.udisks.drive-detach": YES, 9*4882a593Smuzhiyun // required for udisks2: 10*4882a593Smuzhiyun "org.freedesktop.udisks2.filesystem-mount": YES, 11*4882a593Smuzhiyun "org.freedesktop.udisks2.encrypted-unlock": YES, 12*4882a593Smuzhiyun "org.freedesktop.udisks2.eject-media": YES, 13*4882a593Smuzhiyun "org.freedesktop.udisks2.power-off-drive": YES, 14*4882a593Smuzhiyun // required for udisks2 if using udiskie from another seat (e.g. systemd): 15*4882a593Smuzhiyun "org.freedesktop.udisks2.filesystem-mount-other-seat": YES, 16*4882a593Smuzhiyun "org.freedesktop.udisks2.filesystem-unmount-others": YES, 17*4882a593Smuzhiyun "org.freedesktop.udisks2.encrypted-unlock-other-seat": YES, 18*4882a593Smuzhiyun "org.freedesktop.udisks2.eject-media-other-seat": YES, 19*4882a593Smuzhiyun "org.freedesktop.udisks2.power-off-drive-other-seat": YES 20*4882a593Smuzhiyun }; 21*4882a593Smuzhiyun if (subject.isInGroup("plugdev")) { 22*4882a593Smuzhiyun return permission[action.id]; 23*4882a593Smuzhiyun } 24*4882a593Smuzhiyun}); 25