CLIENT *from, *c;
int i;
CONN_ID con;
-
+
assert( Client != NULL );
assert( Req != NULL );
Conn_Close( Client_Conn( Client ), NULL, "Server not configured here", true);
return DISCONNECTED;
}
- if( strcmp( Client_Password( Client ), Conf_Server[i].pwd_in ) != 0 )
+ if( strcmp( Conn_Password( Client_Conn( Client ) ),
+ Conf_Server[i].pwd_in ) != 0 )
{
/* wrong password */
Log( LOG_ERR, "Connection %d: Got bad password from server \"%s\"!", Client_Conn( Client ), Req->argv[0] );
Conn_Close( Client_Conn( Client ), NULL, "Bad password", true);
return DISCONNECTED;
}
-
+
/* Is there a registered server with this ID? */
if( ! Client_CheckID( Client, Req->argv[0] )) return DISCONNECTED;
bool is_owner, is_chanadmin, is_op, is_halfop, is_voiced;
CHANNEL *chan;
CLIENT *c;
-
+
assert( Client != NULL );
assert( Req != NULL );
ptr = strtok( nick_in, "," );
while( ptr )
{
- is_op = is_voiced = false;
-
+ is_owner = is_chanadmin = is_op = is_halfop = is_voiced = false;
+
/* cut off prefixes */
while(( *ptr == '~') || ( *ptr == '&' ) || ( *ptr == '@' ) ||
( *ptr == '%') || ( *ptr == '+' ))
- {
+ {
if( *ptr == '~' ) is_owner = true;
if( *ptr == '&' ) is_chanadmin = true;
if( *ptr == '@' ) is_op = true;
Channel_Join( c, channame );
chan = Channel_Search( channame );
assert( chan != NULL );
-
+
if( is_owner ) Channel_UserModeAdd( chan, c, 'q' );
if( is_chanadmin ) Channel_UserModeAdd( chan, c, 'a' );
if( is_op ) Channel_UserModeAdd( chan, c, 'o' );
strlcat( nick_out, ptr, sizeof( nick_out ));
}
else Log( LOG_ERR, "Got NJOIN for unknown nick \"%s\" for channel \"%s\"!", ptr, channame );
-
+
/* search for next Nick */
ptr = strtok( NULL, "," );
}