search error. Added support in send_reply to send errors
without specific argument. Affected file silcd/server_query.c.
+ * Fixed the WHOIS, IDENTIFY and WHOWAS error handling in SILC
+ Client for NO_SUCH_NICK. It was against the protocol specs.
+ Affected file irssi/src/silc/core/client_ops.c.
+
+ * Added backwards support for the wrong NO_SUCH_NICK error sending
+ in server. To be removed in SILC Server 1.0. Both old clients
+ and clients with fixed error handling now works. Affected file
+ silcd/server_query.c.
+
Sat Dec 20 00:44:47 CET 2003 Patrik Weiskircher <pat@icore.at>
* fixed a bug in the whois using attributes function where no
break;
}
}
-
+
*length = j;
return data;
}
{
char *escaped_data, *ptr, *ptr0, *ptr1;
int i = 0, j = 0;
-
+
escaped_data = silc_calloc(2 * len, sizeof(char));
while (i < len) {
ptr1 = memchr(data + i, 1, len - i);
ptr = (ptr0 < ptr1 ? (ptr0 ? ptr0 : ptr1) : (ptr1 ? ptr1 : ptr0));
-
+
if (ptr) {
int inc = (ptr - data) - i;
- if (inc)
+ if (inc)
memcpy(escaped_data + j, data + i, inc);
j += inc;
i += inc;
break;
}
}
-
+
return escaped_data;
}
escaped_data = silc_escape_data(data, data_len);
signal_emit("mime", 5, server, item, escaped_data, nick, verified);
-
+
silc_free(escaped_data);
}
if (flags & SILC_MESSAGE_FLAG_DATA) {
silc_emit_mime_sig(server,
- sender->nickname ?
- (WI_ITEM_REC *)query_find(SERVER(server), sender->nickname) :
+ sender->nickname ?
+ (WI_ITEM_REC *)query_find(SERVER(server), sender->nickname) :
NULL,
message, message_len,
sender->nickname ? sender->nickname : "[<unknown>]",
/* Print the unknown nick for user */
unsigned char *tmp =
silc_argument_get_arg_type(silc_command_get_args(cmd_payload),
- 3, NULL);
+ 2, NULL);
if (tmp)
silc_say_error("%s: %s", tmp,
silc_get_status_message(status));
/* Print the unknown nick for user */
unsigned char *tmp =
silc_argument_get_arg_type(silc_command_get_args(cmd_payload),
- 3, NULL);
+ 2, NULL);
if (tmp)
silc_say_error("%s: %s", tmp,
silc_get_status_message(status));
{
char *nickname, *username, *realname;
- if (status == SILC_STATUS_ERR_NO_SUCH_NICK ||
- status == SILC_STATUS_ERR_NO_SUCH_CLIENT_ID) {
- char *tmp;
- tmp = silc_argument_get_arg_type(silc_command_get_args(cmd_payload),
- 3, NULL);
+ if (status == SILC_STATUS_ERR_NO_SUCH_NICK) {
+ char *tmp =
+ silc_argument_get_arg_type(silc_command_get_args(cmd_payload),
+ 2, NULL);
if (tmp)
silc_say_error("%s: %s", tmp,
silc_get_status_message(status));