- Timestamp:
- 2009-12-07T21:54:19Z (14 years ago)
- Branches:
- master
- Children:
- 1c3008a
- Parents:
- aac4017 (diff), 36cf9fd (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
irc.c
raac4017 r2288705 35 35 GSList *irc_connection_list = NULL; 36 36 37 static char * passchange( set_t *set, char *value )37 static char *set_eval_password( set_t *set, char *value ) 38 38 { 39 39 irc_t *irc = set->data; 40 40 41 irc_setpass( irc, value ); 42 irc_usermsg( irc, "Password successfully changed" ); 43 return NULL; 41 if( irc->status & USTATUS_IDENTIFIED && value ) 42 { 43 irc_setpass( irc, value ); 44 return NULL; 45 } 46 else 47 { 48 return SET_INVALID; 49 } 44 50 } 45 51 … … 78 84 struct sockaddr_storage sock; 79 85 socklen_t socklen = sizeof( sock ); 86 set_t *s; 80 87 81 88 irc = g_new0( irc_t, 1 ); … … 137 144 irc_connection_list = g_slist_append( irc_connection_list, irc ); 138 145 139 set_add( &irc->set, "away_devoice", "true", set_eval_away_devoice, irc ); 140 set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc ); 141 set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc ); 142 set_add( &irc->set, "auto_reconnect_delay", "5*3<900", set_eval_account_reconnect_delay, irc ); 143 set_add( &irc->set, "buddy_sendbuffer", "false", set_eval_bool, irc ); 144 set_add( &irc->set, "buddy_sendbuffer_delay", "200", set_eval_int, irc ); 145 set_add( &irc->set, "charset", "utf-8", set_eval_charset, irc ); 146 set_add( &irc->set, "debug", "false", set_eval_bool, irc ); 147 set_add( &irc->set, "default_target", "root", NULL, irc ); 148 set_add( &irc->set, "display_namechanges", "false", set_eval_bool, irc ); 149 set_add( &irc->set, "handle_unknown", "root", NULL, irc ); 150 set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc ); 151 set_add( &irc->set, "ops", "both", set_eval_ops, irc ); 152 set_add( &irc->set, "password", NULL, passchange, irc ); 153 set_add( &irc->set, "private", "true", set_eval_bool, irc ); 154 set_add( &irc->set, "query_order", "lifo", NULL, irc ); 155 set_add( &irc->set, "root_nick", irc->mynick, set_eval_root_nick, irc ); 156 set_add( &irc->set, "save_on_quit", "true", set_eval_bool, irc ); 157 set_add( &irc->set, "simulate_netsplit", "true", set_eval_bool, irc ); 158 set_add( &irc->set, "strip_html", "true", NULL, irc ); 159 set_add( &irc->set, "to_char", ": ", set_eval_to_char, irc ); 160 set_add( &irc->set, "typing_notice", "false", set_eval_bool, irc ); 146 s = set_add( &irc->set, "away_devoice", "true", set_eval_away_devoice, irc ); 147 s = set_add( &irc->set, "auto_connect", "true", set_eval_bool, irc ); 148 s = set_add( &irc->set, "auto_reconnect", "false", set_eval_bool, irc ); 149 s = set_add( &irc->set, "auto_reconnect_delay", "5*3<900", set_eval_account_reconnect_delay, irc ); 150 s = set_add( &irc->set, "buddy_sendbuffer", "false", set_eval_bool, irc ); 151 s = set_add( &irc->set, "buddy_sendbuffer_delay", "200", set_eval_int, irc ); 152 s = set_add( &irc->set, "charset", "utf-8", set_eval_charset, irc ); 153 s = set_add( &irc->set, "debug", "false", set_eval_bool, irc ); 154 s = set_add( &irc->set, "default_target", "root", NULL, irc ); 155 s = set_add( &irc->set, "display_namechanges", "false", set_eval_bool, irc ); 156 s = set_add( &irc->set, "handle_unknown", "root", NULL, irc ); 157 s = set_add( &irc->set, "lcnicks", "true", set_eval_bool, irc ); 158 s = set_add( &irc->set, "ops", "both", set_eval_ops, irc ); 159 s = set_add( &irc->set, "password", NULL, set_eval_password, irc ); 160 s->flags |= SET_NULL_OK; 161 s = set_add( &irc->set, "private", "true", set_eval_bool, irc ); 162 s = set_add( &irc->set, "query_order", "lifo", NULL, irc ); 163 s = set_add( &irc->set, "root_nick", irc->mynick, set_eval_root_nick, irc ); 164 s = set_add( &irc->set, "save_on_quit", "true", set_eval_bool, irc ); 165 s = set_add( &irc->set, "simulate_netsplit", "true", set_eval_bool, irc ); 166 s = set_add( &irc->set, "strip_html", "true", NULL, irc ); 167 s = set_add( &irc->set, "to_char", ": ", set_eval_to_char, irc ); 168 s = set_add( &irc->set, "typing_notice", "false", set_eval_bool, irc ); 161 169 162 170 conf_loaddefaults( irc ); … … 232 240 233 241 if( irc->status & USTATUS_IDENTIFIED && set_getbool( &irc->set, "save_on_quit" ) ) 234 if( storage_save( irc, TRUE ) != STORAGE_OK )242 if( storage_save( irc, NULL, TRUE ) != STORAGE_OK ) 235 243 irc_usermsg( irc, "Error while saving settings!" ); 236 244 … … 400 408 } 401 409 402 if( lines[i] ) 403 { 404 if( ( cmd = irc_parse_line( lines[i] ) ) == NULL ) 405 continue; 410 if( lines[i] && ( cmd = irc_parse_line( lines[i] ) ) ) 411 { 406 412 irc_exec( irc, cmd ); 407 413 g_free( cmd ); … … 478 484 if( line[0] == ':' ) 479 485 { 480 for( i = 0; line[i] != ' '; i ++ );486 for( i = 0; line[i] && line[i] != ' '; i ++ ); 481 487 line = line + i; 482 488 } … … 774 780 irc_reply( irc, 3, ":%s", IRCD_INFO ); 775 781 irc_reply( irc, 4, "%s %s %s %s", irc->myhost, BITLBEE_VERSION, UMODES UMODES_PRIV, CMODES ); 776 irc_reply( irc, 5, "PREFIX=(ov)@+ CHANTYPES=#& CHANMODES=,,,%s NICKLEN=%d NETWORK=BitlBee CASEMAPPING=rfc1459 MAXTARGETS=1 WATCH=128 :are supported by this server", CMODES, MAX_NICK_LENGTH - 1 ); 782 irc_reply( irc, 5, "PREFIX=(ov)@+ CHANTYPES=%s CHANMODES=,,,%s NICKLEN=%d NETWORK=BitlBee " 783 "CASEMAPPING=rfc1459 MAXTARGETS=1 WATCH=128 :are supported by this server", 784 CTYPES, CMODES, MAX_NICK_LENGTH - 1 ); 777 785 irc_motd( irc ); 778 786 irc->umode[0] = '\0'; … … 1015 1023 user_t *u = NULL; 1016 1024 1017 if( *nick == '#' || *nick == '&')1025 if( strchr( CTYPES, *nick ) ) 1018 1026 { 1019 1027 if( !( c = irc_chat_by_channel( irc, nick ) ) )
Note: See TracChangeset
for help on using the changeset viewer.