@@ -107,6 +107,7 @@ int m_authenticate(struct Client* cptr, struct Client* sptr, int parc, char* par
107107 struct Client * acptr ;
108108 int first = 0 ;
109109 char realhost [HOSTLEN + 3 ];
110+ char agentname [NUMNICKLEN + 1 ];
110111 char * hoststr = (cli_sockhost (cptr ) ? cli_sockhost (cptr ) : cli_sock_ip (cptr ));
111112
112113 if (!CapActive (cptr , CAP_SASL ))
@@ -188,44 +189,28 @@ int m_authenticate(struct Client* cptr, struct Client* sptr, int parc, char* par
188189 else
189190 ircd_strncpy (realhost , hoststr , sizeof (realhost ));
190191
191- if (acptr ) {
192- if (first ) {
193- if (* parv [1 ] == ':' || strchr (parv [1 ], ' ' ))
194- return exit_client (cptr , sptr , sptr , "Malformed AUTHENTICATE" );
195- if (!EmptyString (cli_sslclifp (cptr )))
196- sendcmdto_one (& me , CMD_SASL , acptr , "%C %C!%u.%u S %s :%s" , acptr , & me ,
197- cli_fd (cptr ), cli_saslcookie (cptr ),
198- parv [1 ], cli_sslclifp (cptr ));
199- else
200- sendcmdto_one (& me , CMD_SASL , acptr , "%C %C!%u.%u S :%s" , acptr , & me ,
201- cli_fd (cptr ), cli_saslcookie (cptr ), parv [1 ]);
202- if (feature_bool (FEAT_SASL_SENDHOST ))
203- sendcmdto_one (& me , CMD_SASL , acptr , "%C %C!%u.%u H :%s@%s:%s" , acptr , & me ,
204- cli_fd (cptr ), cli_saslcookie (cptr ), cli_username (cptr ),
205- realhost , cli_sock_ip (cptr ));
206- } else {
207- sendcmdto_one (& me , CMD_SASL , acptr , "%C %C!%u.%u C :%s" , acptr , & me ,
192+ if (acptr )
193+ ircd_snprintf (0 , agentname , sizeof (agentname ), "%C" , acptr );
194+ else
195+ ircd_snprintf (0 , agentname , sizeof (agentname ), "%s" , "*" );
196+
197+ if (first ) {
198+ if (* parv [1 ] == ':' || strchr (parv [1 ], ' ' ))
199+ return exit_client (cptr , sptr , sptr , "Malformed AUTHENTICATE" );
200+ if (!EmptyString (cli_sslclifp (cptr )))
201+ sendcmdto_one (& me , CMD_SASL , acptr , "%s %C!%u.%u S %s :%s" , agentname , & me ,
202+ cli_fd (cptr ), cli_saslcookie (cptr ),
203+ parv [1 ], cli_sslclifp (cptr ));
204+ else
205+ sendcmdto_one (& me , CMD_SASL , acptr , "%s %C!%u.%u S :%s" , agentname , & me ,
208206 cli_fd (cptr ), cli_saslcookie (cptr ), parv [1 ]);
209- }
207+ if (feature_bool (FEAT_SASL_SENDHOST ))
208+ sendcmdto_one (& me , CMD_SASL , acptr , "%s %C!%u.%u H :%s@%s:%s" , agentname , & me ,
209+ cli_fd (cptr ), cli_saslcookie (cptr ), cli_username (cptr ),
210+ realhost , cli_sock_ip (cptr ));
210211 } else {
211- if (first ) {
212- if (* parv [1 ] == ':' || strchr (parv [1 ], ' ' ))
213- return exit_client (cptr , sptr , sptr , "Malformed AUTHENTICATE" );
214- if (!EmptyString (cli_sslclifp (cptr )))
215- sendcmdto_serv_butone (& me , CMD_SASL , cptr , "* %C!%u.%u S %s :%s" , & me ,
216- cli_fd (cptr ), cli_saslcookie (cptr ),
217- parv [1 ], cli_sslclifp (cptr ));
218- else
219- sendcmdto_serv_butone (& me , CMD_SASL , cptr , "* %C!%u.%u S :%s" , & me ,
220- cli_fd (cptr ), cli_saslcookie (cptr ), parv [1 ]);
221- if (feature_bool (FEAT_SASL_SENDHOST ))
222- sendcmdto_serv_butone (& me , CMD_SASL , cptr , "* %C!%u.%u H :%s@%s:%s" , & me ,
223- cli_fd (cptr ), cli_saslcookie (cptr ), cli_username (cptr ),
224- realhost , cli_sock_ip (cptr ));
225- } else {
226- sendcmdto_serv_butone (& me , CMD_SASL , cptr , "* %C!%u.%u C :%s" , & me ,
227- cli_fd (cptr ), cli_saslcookie (cptr ), parv [1 ]);
228- }
212+ sendcmdto_one (& me , CMD_SASL , acptr , "%s %C!%u.%u C :%s" , agentname , & me ,
213+ cli_fd (cptr ), cli_saslcookie (cptr ), parv [1 ]);
229214 }
230215
231216 if (!t_active (& cli_sasltimeout (cptr )))
0 commit comments