static bool
No_Privileges(CLIENT * Client, REQUEST * Req)
{
- Log(LOG_NOTICE, "No privileges: client \"%s\", command \"%s\"",
- Client_Mask(Client), Req->command);
- return IRC_WriteStrClient(Client, ERR_NOPRIVILEGES_MSG,
- Client_ID(Client));
+ CLIENT *from = NULL;
+
+ if (Req->prefix)
+ from = Client_Search(Req->prefix);
+
+ if (from) {
+ Log(LOG_NOTICE, "No privileges: client \"%s\" (%s), command \"%s\"",
+ Req->prefix, Client_Mask(Client), Req->command);
+ return IRC_WriteStrClient(from, ERR_NOPRIVILEGES_MSG,
+ Client_ID(from));
+ } else {
+ Log(LOG_NOTICE, "No privileges: client \"%s\", command \"%s\"",
+ Client_Mask(Client), Req->command);
+ return IRC_WriteStrClient(Client, ERR_NOPRIVILEGES_MSG,
+ Client_ID(Client));
+ }
} /* PermissionDenied */