1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-11-16 21:47:10 +00:00

- Channel-Mode "P" ("persistent") kann nur noch von IRC-Ops gesetzt werden.

This commit is contained in:
Alexander Barton
2002-11-22 18:28:22 +00:00
parent ab788a2ed1
commit 085a03d107

View File

@@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: irc-mode.c,v 1.14 2002/09/08 17:07:14 alex Exp $ * $Id: irc-mode.c,v 1.15 2002/11/22 18:28:22 alex Exp $
* *
* irc-mode.c: IRC-Befehle zur Mode-Aenderung (MODE, AWAY, ...) * irc-mode.c: IRC-Befehle zur Mode-Aenderung (MODE, AWAY, ...)
*/ */
@@ -212,7 +212,7 @@ IRC_MODE( CLIENT *Client, REQUEST *Req )
Client_SetOperByMe( Client, FALSE ); Client_SetOperByMe( Client, FALSE );
x[0] = 'o'; x[0] = 'o';
} }
else ok = IRC_WriteStrClient( Client, ERR_UMODEUNKNOWNFLAG_MSG, Client_ID( Client )); else ok = IRC_WriteStrClient( Client, ERR_NOPRIVILEGES_MSG, Client_ID( Client ));
break; break;
case 'r': case 'r':
/* restricted (kann nur gesetzt werden) */ /* restricted (kann nur gesetzt werden) */
@@ -289,8 +289,12 @@ IRC_MODE( CLIENT *Client, REQUEST *Req )
x[0] = 't'; x[0] = 't';
break; break;
case 'P': case 'P':
/* Persistent */ /* Persistent. Dieses Flag darf nur von IRC-Operatoren gesetzt werden! */
x[0] = 'P'; if( set && ( ! Client_OperByMe( Client )))
{
ok = IRC_WriteStrClient( Client, ERR_NOPRIVILEGES_MSG, Client_ID( Client ));
}
else x[0] = 'P';
break; break;
default: default:
Log( LOG_DEBUG, "Unknown channel-mode \"%c%c\" from \"%s\" at %s!?", set ? '+' : '-', *mode_ptr, Client_ID( Client ), Channel_Name( chan )); Log( LOG_DEBUG, "Unknown channel-mode \"%c%c\" from \"%s\" at %s!?", set ? '+' : '-', *mode_ptr, Client_ID( Client ), Channel_Name( chan ));