diff --git a/server/src/client/ConnectedClientNotifyHandler.cpp b/server/src/client/ConnectedClientNotifyHandler.cpp index 6bc7708..76a22e1 100644 --- a/server/src/client/ConnectedClientNotifyHandler.cpp +++ b/server/src/client/ConnectedClientNotifyHandler.cpp @@ -61,6 +61,7 @@ bool ConnectedClient::notifyServerGroupList() { return true; } + bool ConnectedClient::notifyGroupPermList(const std::shared_ptr& group, bool as_sid) { Command cmd(this->getExternalType() == CLIENT_TEAMSPEAK ? group->target() == GROUPTARGET_SERVER ? "notifyservergrouppermlist" : "notifychannelgrouppermlist" : ""); if (group->target() == GROUPTARGET_SERVER) @@ -94,9 +95,9 @@ bool ConnectedClient::notifyGroupPermList(const std::shared_ptr& group, b auto type = permission::resolvePermissionData(get<0>(permission_data)); if(as_sid) { - cmd[index]["permsid"] = type->name; + cmd[index]["permsid"] = type->grant_name; } else { - cmd[index]["permid"] = (uint16_t) type->type; + cmd[index]["permid"] = (uint16_t) (type->type | PERM_ID_GRANT); } cmd[index]["permvalue"] = permission.values.value; cmd[index]["permnegated"] = permission.flags.negate;