Add support for ircd-seven identify-msg (author unknown)
This commit is contained in:
		
							parent
							
								
									464b005c97
								
							
						
					
					
						commit
						d9b5900525
					
				
					 1 changed files with 36 additions and 0 deletions
				
			
		| 
						 | 
					@ -49,6 +49,7 @@ irc_login (server *serv, char *user, char *realname)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (serv->password[0])
 | 
						if (serv->password[0])
 | 
				
			||||||
		tcp_sendf (serv, "PASS %s\r\n", serv->password);
 | 
							tcp_sendf (serv, "PASS %s\r\n", serv->password);
 | 
				
			||||||
 | 
						tcp_sendf (serv, "CAP LS\r\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tcp_sendf (serv,
 | 
						tcp_sendf (serv,
 | 
				
			||||||
				  "NICK %s\r\n"
 | 
									  "NICK %s\r\n"
 | 
				
			||||||
| 
						 | 
					@ -1114,6 +1115,41 @@ process_named_msg (session *sess, char *type, char *word[], char *word_eol[])
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						else if (len == 3)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							guint32 t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							t = WORDL((guint8)type[0], (guint8)type[1], (guint8)type[2], (guint8)type[3]);
 | 
				
			||||||
 | 
							switch (t)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								case WORDL('C','A','P','\0'):
 | 
				
			||||||
 | 
									if (strncasecmp (word[4], "ACK", 3) == 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (strncasecmp (word[5][0]==':' ? word[5] + 1 : word[5], "identify-msg", 12) == 0)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											serv->have_idmsg = TRUE;
 | 
				
			||||||
 | 
											tcp_send_len (serv, "CAP END\r\n", 9);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else if (strncasecmp (word[4], "LS", 2) == 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (strstr (word_eol[5], "identify-msg") != 0)
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											tcp_send_len (serv, "CAP REQ :identify-msg\r\n", 23);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
										else
 | 
				
			||||||
 | 
										{
 | 
				
			||||||
 | 
											tcp_send_len (serv, "CAP END\r\n", 9);
 | 
				
			||||||
 | 
										}
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else if (strncasecmp (word[4], "NAK",3) == 0)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										tcp_send_len (serv, "CAP END\r\n", 9);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
garbage:
 | 
					garbage:
 | 
				
			||||||
	/* unknown message */
 | 
						/* unknown message */
 | 
				
			||||||
	PrintTextf (sess, "GARBAGE: %s\n", word_eol[1]);
 | 
						PrintTextf (sess, "GARBAGE: %s\n", word_eol[1]);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue