using hook for client_check_cb

Piotr Niżyński adx at
Wed Feb 22 05:10:29 EST 2006

David K. Sayre napisał(a):
> void *pam_auth(va_list args)
> {
>         struct Client *source_p = va_arg(args, struct Client *);
>         const char *username = va_arg(args, const char *);
>     return source_p;
> }

Most likely the problem is you are not attaching an I-line to the 
client. The easiest way to solve this would be:

return pass_callback(hook, source_p, username);

instead of return source_p.

As you can see, s_user.c does the following in register_local_user, just 
after calling client_check_cb:

   ptr   = source_p->localClient->confs.head;
   aconf = map_to_conf(ptr->data);

   if (!IsGotId(source_p))

so it assumes there IS a conf attached to 
source_p->localClient->confs.head. Besides, it can be assumed in various 
ircd places, and also it is required to have the ping freq/sendq 
size/limits working.


More information about the hybrid mailing list