char numeric[COMBO_NUMERIC_LEN+1];
unsigned int num_local : 18;
#endif
+ unsigned int loc; /* Is user connecting via LOC? */
unsigned int dead : 1; /* Is user waiting to be recycled? */
struct in_addr ip; /* User's IP address */
long modes; /* user flags +isw etc... */
assign_fakehost(target, fake, 1);
}
+void send_func_list(struct userNode *user)
+{
+ unsigned int n;
+ struct handle_info *old_info;
+
+ old_info = user->handle_info;
+
+ for (n=0; n<auth_func_used; n++)
+ auth_func_list[n](user, old_info);
+}
+
static void
set_user_handle_info(struct userNode *user, struct handle_info *hi, int stamp)
{
if (GetUserH(user->nick)) {
for (n=0; n<auth_func_used; n++)
auth_func_list[n](user, old_info);
- }
+ } else
+ user->loc = 1;
if (hi) {
struct nick_info *ni;
typedef void (*failpw_func_t)(struct userNode *user, struct handle_info *handle);
void reg_failpw_func(failpw_func_t func);
+void send_func_list(struct userNode *user);
+
#endif
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
+#include "nickserv.h"
#include "chanserv.h"
#include "proto-common.c"
for (n=0; n<nuf_used; n++)
if (nuf_list[n](uNode))
break;
+
+ if ((uNode->loc == 1) && (uNode->handle_info))
+ send_func_list(uNode);
+
return uNode;
}