if(previous_program() != LIB_CONN && previous_object()) { SYSLOG("Warning: No previous object, disconnecting.\n");
if(previous_program() != LIB_CONN && previous_program() != HTTP_USER && previous_object()) { SYSLOG("Warning: Illegal caller [pp: " + previous_program() + "] " + "[po: "+object_name(previous_object())+"], disconnecting.\n");
int login(string str, varargs mixed pass_on){	/* __IGOR__ compat problem, need to check if we have a previos ob */	if(previous_program() != LIB_CONN && previous_object()) {		SYSLOG("Warning: No previous object, disconnecting.\n");		return MODE_DISCONNECT;	}# if 1	if(pass_on) {		SYSLOG("passing " + str + " on...\n");		user::login( str );		return MODE_NOCHANGE;	}#endif	if(con_count == 0) {		user::login( nil );	}	con_count++;	first_line = str;	connection(previous_object());	ip_number = query_ip_number(query_conn());	ip_name =   query_ip_name(query_conn());	return MODE_RAW;}