server = conn == NULL ? NULL : conn->context;
memset(userhost, 0, sizeof(userhost));
- if (sender->username)
+ if (sender->username[0])
snprintf(userhost, sizeof(userhost) - 1, "%s@%s",
sender->username, sender->hostname);
if (flags & SILC_MESSAGE_FLAG_DATA) {
silc_emit_mime_sig(server,
- sender->nickname ?
+ sender->nickname[0] ?
(WI_ITEM_REC *)query_find(SERVER(server), sender->nickname) :
NULL,
message, message_len,
- sender->nickname ? sender->nickname : "[<unknown>]",
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
flags & SILC_MESSAGE_FLAG_SIGNED ? verified : -1);
message = NULL;
}
cp, message_len);
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message silc signed_private_action", 6, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL,
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL,
NULL, verified);
else
signal_emit("message silc private_action", 5, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, NULL);
silc_free(dm);
} else {
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message silc signed_private_action", 6, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL,
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL,
NULL, verified);
else
signal_emit("message silc private_action", 5, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, NULL);
}
else if (flags & SILC_MESSAGE_FLAG_NOTICE)
if(flags & SILC_MESSAGE_FLAG_UTF8 && !silc_term_utf8()) {
cp, message_len);
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message silc signed_private_notice", 6, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL,
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL,
NULL, verified);
else
signal_emit("message silc private_notice", 5, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, NULL);
silc_free(dm);
} else {
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message silc signed_private_notice", 6, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL,
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL,
NULL, verified);
else
signal_emit("message silc private_notice", 5, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, NULL);
}
else {
if (flags & SILC_MESSAGE_FLAG_UTF8 && !silc_term_utf8()) {
cp, message_len);
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message signed_private", 5, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, verified);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, verified);
else
signal_emit("message private", 4, server, cp,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL);
silc_free(dm);
return;
}
if (flags & SILC_MESSAGE_FLAG_SIGNED)
signal_emit("message signed_private", 5, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL, verified);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL, verified);
else
signal_emit("message private", 4, server, message,
- sender->nickname ? sender->nickname : "[<unknown>]",
- sender->username ? userhost : NULL);
+ sender->nickname[0] ? sender->nickname : "[<unknown>]",
+ sender->username[0] ? userhost : NULL);
}
}
char buf[512];
char *name, *tmp, *cipher, *hmac;
GSList *list1, *list_tmp;
- SilcDList chpks;
+ SilcDList chpks, clients;
SILC_LOG_DEBUG(("Start"));
}
memset(buf, 0, sizeof(buf));
- if (client_entry->username)
- snprintf(buf, sizeof(buf) - 1, "%s@%s",
- client_entry->username, client_entry->hostname);
+ if (client_entry->username[0])
+ snprintf(buf, sizeof(buf) - 1, "%s@%s",
+ client_entry->username, client_entry->hostname);
signal_emit("message join", 4, server, channel->channel_name,
client_entry->nickname,
client_entry->username == NULL ? "" : buf);
+
+ /* If there are multiple same nicknames on channel now, tell it to user. */
+ if (client_entry != server->conn->local_entry) {
+ char nick[128 + 1], tmp[32];
+
+ silc_parse_userfqdn(client_entry->nickname, nick, sizeof(nick), NULL, 0);
+ clients = silc_client_get_clients_local(client, conn, nick, NULL);
+ if (!clients || silc_dlist_count(clients) < 2) {
+ silc_client_list_free(client, conn, clients);
+ break;
+ }
+ silc_snprintf(tmp, sizeof(tmp), "%d", silc_dlist_count(clients));
+ printformat_module("fe-common/silc", server, NULL,
+ MSGLEVEL_CRAP, SILCTXT_CHANNEL_MANY_NICKS,
+ tmp, nick);
+ printformat_module("fe-common/silc", server, NULL,
+ MSGLEVEL_CRAP, SILCTXT_CHANNEL_USER_APPEARS,
+ buf, client_entry->nickname);
+ silc_client_list_free(client, conn, clients);
+ }
break;
case SILC_NOTIFY_TYPE_LEAVE:
snprintf(buf, sizeof(buf) - 1, "%s@%s",
client_entry->username, client_entry->hostname);
signal_emit("message part", 5, server, channel->channel_name,
- client_entry->nickname, client_entry->username ?
+ client_entry->nickname, client_entry->username[0] ?
buf : "", client_entry->nickname);
chanrec = silc_channel_find_entry(server, channel);
client_entry = va_arg(va, SilcClientEntry);
tmp = va_arg(va, char *);
-#if 0
silc_server_free_ftp(server, client_entry);
-#endif
/* Print only if we have the nickname. If this cliente has just quit
when we were only resolving it, it is possible we don't have the
nickname. */
- if (client_entry->nickname) {
+ if (client_entry->nickname[0]) {
memset(buf, 0, sizeof(buf));
if (client_entry->username)
snprintf(buf, sizeof(buf) - 1, "%s@%s",
client_entry->username, client_entry->hostname);
signal_emit("message quit", 4, server, client_entry->nickname,
- client_entry->username ? buf : "",
+ client_entry->username[0] ? buf : "",
tmp ? tmp : "");
}
"server signoff");
}
-#if 0
silc_server_free_ftp(server, client_entry);
-#endif
list1 = nicklist_get_same_unique(SERVER(server), client_entry);
for (list_tmp = list1; list_tmp != NULL; list_tmp =
/* Get user list */
while (silc_hash_table_get(user_list, NULL, (void *)&chu)) {
- if (!chu->client->nickname)
+ if (!chu->client->nickname[0])
continue;
if (chu->mode & SILC_CHANNEL_UMODE_CHANFO)
founder = chu->client;
SilcClientEntry e = chu->client;
char stat[5], *mode;
- if (!e->nickname)
+ if (!e->nickname[0])
continue;
memset(stat, 0, sizeof(stat));
printformat_module("fe-common/silc", server, channel->channel_name,
MSGLEVEL_CRAP, SILCTXT_USERS,
e->nickname, stat,
- e->username ? e->username : "",
- e->hostname ? e->hostname : "",
+ e->username[0] ? e->username : "",
+ e->hostname[0] ? e->hostname : "",
e->realname ? e->realname : "");
if (mode)
silc_free(mode);