assert( Txt != NULL );
strlcpy( Client->away, Txt, sizeof( Client->away ));
- Log( LOG_DEBUG, "User \"%s\" is away: %s", Client_Mask( Client ), Txt );
+ LogDebug("%s \"%s\" is away: %s", Client_TypeText(Client),
+ Client_Mask(Client), Txt);
} /* Client_SetAway */
/* Set new topic */
Channel_SetTopic(chan, from, Req->argv[1]);
- Log(LOG_DEBUG, "User \"%s\" set topic on \"%s\": %s",
- Client_Mask(from), Channel_Name(chan),
- Req->argv[1][0] ? Req->argv[1] : "<none>");
+ LogDebug("%s \"%s\" set topic on \"%s\": %s",
+ Client_TypeText(from), Client_Mask(from), Channel_Name(chan),
+ Req->argv[1][0] ? Req->argv[1] : "<none>");
/* im Channel bekannt machen und an Server weiterleiten */
IRC_WriteStrServersPrefix( Client, from, "TOPIC %s :%s", Req->argv[0], Req->argv[1] );
if (strcmp(Client_Password(Client), Conf_ServerPwd) != 0) {
/* Bad password! */
Log(LOG_ERR,
- "User \"%s\" rejected (connection %d): Bad password!",
+ "Client \"%s\" rejected (connection %d): Bad password!",
Client_Mask(Client), Client_Conn(Client));
Conn_Close(Client_Conn(Client), NULL, "Bad password", true);
return DISCONNECTED;
if (From) {
if (Conf_IsService(Conf_GetServer(Client_Conn(From)), Client_ID(Client))) {
type = "Service";
+ Client_SetType(Client, CLIENT_SERVICE);
} else
type = "User";
LogDebug("%s \"%s\" (+%s) registered (via %s, on %s, %d hop%s).",
ok = IRC_WriteStrClientPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
IRC_WriteStrServersPrefix( Client, Origin, "MODE %s :%s", Client_ID( Target ), the_modes );
}
- Log( LOG_DEBUG, "User \"%s\": Mode change, now \"%s\".", Client_Mask( Target ), Client_Modes( Target ));
+ LogDebug("%s \"%s\": Mode change, now \"%s\".",
+ Client_TypeText(Target), Client_Mask(Target),
+ Client_Modes(Target));
}
IRC_SetPenalty( Client, 1 );
if (cl) {
/* Target is a user, enforce type */
+#ifndef STRICT_RFC
+ if (Client_Type(cl) != ForceType &&
+ !(ForceType == CLIENT_USER &&
+ (Client_Type(cl) == CLIENT_USER ||
+ Client_Type(cl) == CLIENT_SERVICE))) {
+#else
if (Client_Type(cl) != ForceType) {
+#endif
if (!SendErrors)
return CONNECTED;
return IRC_WriteStrClient(from, ERR_NOSUCHNICK_MSG,
/* Announce all the users to the new server */
c = Client_First();
while (c) {
- if (Client_Type(c) == CLIENT_USER) {
+ if (Client_Type(c) == CLIENT_USER ||
+ Client_Type(c) == CLIENT_SERVICE) {
if (!Announce_User(Client, c))
return DISCONNECTED;
}