commit - 7d6de7c352f7b91b396cbdb6f2d194e2422b35b3
commit + 45b1a45c979d0418591a1c62204d5a607cf86cde
blob - 544fe67d4928c8ba3dc793f38107b6f62b8a5835
blob + e7dfee6c944e48237b25a4d2aa7942aa81c3676b
--- src/ngircd/irc-oper.c
+++ src/ngircd/irc-oper.c
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 */