Changeset e67e513


Ignore:
Timestamp:
2011-10-03T14:56:58Z (13 years ago)
Author:
unknown <pesco@…>
Branches:
master
Children:
409c2de
Parents:
3231485
Message:

rename irc_usermsg to irc_rootmsg.
add new irc_usermsg, irc_usernotice.
deliver user-specific messages from libotr as notices to that user.

Files:
13 edited

Legend:

Unmodified
Added
Removed
  • ipc.c

    r3231485 re67e513  
    356356                        irc_switch_fd( irc, ipc_child_recv_fd );
    357357                        irc_sync( irc );
    358                         irc_usermsg( irc, "You've successfully taken over your old session" );
     358                        irc_rootmsg( irc, "You've successfully taken over your old session" );
    359359                        ipc_child_recv_fd = -1;
    360360                       
     
    374374        {
    375375                /* Master->New connection */
    376                 irc_usermsg( irc, "Could not take over old session" );
     376                irc_rootmsg( irc, "Could not take over old session" );
    377377        }
    378378}
     
    412412        /* Drop credentials, we'll shut down soon and shouldn't overwrite
    413413           any settings. */
    414         irc_usermsg( irc, "Trying to take over existing session" );
     414        irc_rootmsg( irc, "Trying to take over existing session" );
    415415       
    416416        irc_desync( irc );
  • irc.c

    r3231485 re67e513  
    363363                                        if( irc->status & USTATUS_LOGGED_IN )
    364364                                        {
    365                                                 irc_usermsg( irc, "Error: Charset mismatch detected. The charset "
     365                                                irc_rootmsg( irc, "Error: Charset mismatch detected. The charset "
    366366                                                                  "setting is currently set to %s, so please make "
    367367                                                                  "sure your IRC client will send and accept text in "
     
    767767                        irc->root->last_channel = irc->default_channel;
    768768                       
    769                         irc_usermsg( irc,
     769                        irc_rootmsg( irc,
    770770                                     "Welcome to the BitlBee gateway!\n\n"
    771771                                     "If you've never used BitlBee before, please do read the help "
     
    910910                g_free( test );
    911911                g_iconv_close( oc );
    912                 irc_usermsg( irc, "Unsupported character set: The IRC protocol "
     912                irc_rootmsg( irc, "Unsupported character set: The IRC protocol "
    913913                                  "only supports 8-bit character sets." );
    914914                return NULL;
     
    941941        GSList *l;
    942942       
    943         irc_usermsg( irc, "Setting `%s' is obsolete, use the `show_users' "
     943        irc_rootmsg( irc, "Setting `%s' is obsolete, use the `show_users' "
    944944                     "channel setting instead.", set->key );
    945945       
  • irc.h

    r3231485 re67e513  
    317317void irc_send_login( irc_t *irc );
    318318void irc_send_motd( irc_t *irc );
    319 void irc_usermsg( irc_t *irc, char *format, ... );
     319const char *irc_user_msgdest( irc_user_t *iu );
     320void irc_rootmsg( irc_t *irc, char *format, ... );
     321void irc_usermsg( irc_user_t *iu, char *format, ... );
     322void irc_usernotice( irc_user_t *iu, char *format, ... );
    320323void irc_send_join( irc_channel_t *ic, irc_user_t *iu );
    321324void irc_send_part( irc_channel_t *ic, irc_user_t *iu, const char *reason );
     
    350353void bee_irc_channel_update( irc_t *irc, irc_channel_t *ic, irc_user_t *iu );
    351354void bee_irc_user_nick_reset( irc_user_t *iu );
    352 void bee_irc_msg_from_user( irc_user_t *iu, const char *msg, time_t sent_at );
    353355
    354356#endif
  • irc_commands.c

    r3231485 re67e513  
    9292                        irc->status &= ~USTATUS_IDENTIFIED;
    9393                        irc_umode_set( irc, "-R", 1 );
    94                         irc_usermsg( irc, "Changing nicks resets your identify status. "
     94                        irc_rootmsg( irc, "Changing nicks resets your identify status. "
    9595                                     "Re-identify or register a new account if you want "
    9696                                     "your configuration to be saved. See \x02help "
     
    433433                        {
    434434                                set_setstr( &a->set, "password", password );
    435                                 irc_usermsg( irc, "Password added to IM account "
     435                                irc_rootmsg( irc, "Password added to IM account "
    436436                                             "%s(%s)", a->prpl->name, a->user );
    437437                                /* The IRC client may expect this. 491 suggests the OPER
  • irc_im.c

    r3231485 re67e513  
    193193}
    194194
    195 void bee_irc_msg_from_user( irc_user_t *iu, const char *msg, time_t sent_at )
    196 {
    197     irc_t *irc = iu->irc;
     195static void bee_irc_msg_from_user( irc_user_t *iu, const char *msg, time_t sent_at )
     196{
     197        irc_t *irc = iu->irc;
    198198        bee_t *bee = irc->b;
    199         irc_channel_t *ic = NULL;
    200         char *dst, *prefix = NULL;
     199        const char *dst;
     200        char *prefix = NULL;
    201201        char *wrapped, *ts = NULL;
    202202
     
    204204                ts = irc_format_timestamp( irc, sent_at );
    205205       
    206         /* Too similar to irc_usermsg()... */
    207         if( iu->last_channel )
    208         {
    209                 if( iu->last_channel->flags & IRC_CHANNEL_JOINED )
    210                         ic = iu->last_channel;
    211                 else
    212                         ic = irc_channel_with_user( irc, iu );
    213         }
    214        
    215         if( ic )
    216         {
    217                 dst = ic->name;
     206        dst = irc_user_msgdest(iu);
     207        if(dst != irc->user->nick) {
     208                /* if not messaging directly, call user by name */
    218209                prefix = g_strdup_printf( "%s%s%s", irc->user->nick, set_getstr( &bee->set, "to_char" ), ts ? : "" );
    219         }
    220         else
    221         {
    222                 dst = irc->user->nick;
     210        } else {
    223211                prefix = ts;
    224                 ts = NULL;
    225         }
    226        
     212                ts = NULL;      /* don't doulbe-free */
     213        }
     214
    227215        wrapped = word_wrap( msg, 425 );
    228216        irc_send_msg( iu, "PRIVMSG", dst, wrapped, prefix );
     
    1000988        else if( !acc->prpl->chat_join )
    1001989        {
    1002                 irc_usermsg( ic->irc, "Named chatrooms not supported on that account." );
     990                irc_rootmsg( ic->irc, "Named chatrooms not supported on that account." );
    1003991                return SET_INVALID;
    1004992        }
  • irc_send.c

    r3231485 re67e513  
    110110}
    111111
    112 void irc_usermsg( irc_t *irc, char *format, ... )
    113 {
     112const char *irc_user_msgdest( irc_user_t *iu )
     113{
     114        irc_t *irc = iu->irc;
    114115        irc_channel_t *ic = NULL;
    115         irc_user_t *iu = irc->root;
    116         char text[2048];
    117         va_list params;
    118         char *dst;
    119        
    120         va_start( params, format );
    121         g_vsnprintf( text, sizeof( text ), format, params );
    122         va_end( params );
    123        
    124         /* Too similar to bee_irc_user_msg()... */
     116
    125117        if( iu->last_channel )
    126118        {
     
    128120                        ic = iu->last_channel;
    129121                else
    130                         ic = irc_channel_with_user( irc, irc->root );
     122                        ic = irc_channel_with_user( irc, iu );
    131123        }
    132124       
    133125        if( ic )
    134                 dst = ic->name;
     126                return ic->name;
    135127        else
    136                 dst = irc->user->nick;
    137        
    138         irc_send_msg( irc->root, "PRIVMSG", dst, text, NULL );
     128                return irc->user->nick;
     129}
     130
     131/* cmd = "PRIVMSG" or "NOTICE" */
     132static void irc_usermsg_( const char *cmd, irc_user_t *iu, const char *format, va_list params )
     133{
     134        char text[2048];
     135        const char *dst;
     136       
     137        g_vsnprintf( text, sizeof( text ), format, params );
     138       
     139        dst = irc_user_msgdest( iu );
     140        irc_send_msg( iu, cmd, dst, text, NULL );
     141}
     142
     143void irc_usermsg(irc_user_t *iu, char *format, ... )
     144{
     145        va_list params;
     146        va_start( params, format );
     147        irc_usermsg_( "PRIVMSG", iu, format, params );
     148        va_end( params );
     149}
     150
     151void irc_usernotice(irc_user_t *iu, char *format, ... )
     152{
     153        va_list params;
     154        va_start( params, format );
     155        irc_usermsg_( "NOTICE", iu, format, params );
     156        va_end( params );
     157}
     158
     159void irc_rootmsg( irc_t *irc, char *format, ... )
     160{
     161        va_list params;
     162        va_start( params, format );
     163        irc_usermsg_( "PRIVMSG", irc->root, format, params );
     164        va_end( params );
    139165}
    140166
  • nick.c

    r3231485 re67e513  
    243243                        int i;
    244244                       
    245                         irc_usermsg( irc, "Warning: Almost had an infinite loop in nick_get()! "
     245                        irc_rootmsg( irc, "Warning: Almost had an infinite loop in nick_get()! "
    246246                                          "This used to be a fatal BitlBee bug, but we tried to fix it. "
    247247                                          "This message should *never* appear anymore. "
     
    249249                                          "Please send all the following lines in your report:" );
    250250                       
    251                         irc_usermsg( irc, "Trying to get a sane nick for handle %s", bu->handle );
     251                        irc_rootmsg( irc, "Trying to get a sane nick for handle %s", bu->handle );
    252252                        for( i = 0; i < MAX_NICK_LENGTH; i ++ )
    253                                 irc_usermsg( irc, "Char %d: %c/%d", i, nick[i], nick[i] );
    254                        
    255                         irc_usermsg( irc, "FAILED. Returning an insane nick now. Things might break. "
     253                                irc_rootmsg( irc, "Char %d: %c/%d", i, nick[i], nick[i] );
     254                       
     255                        irc_rootmsg( irc, "FAILED. Returning an insane nick now. Things might break. "
    256256                                          "Good luck, and please don't forget to paste the lines up here "
    257257                                          "in #bitlbee on OFTC or in a mail to wilmer@gaast.net" );
  • otr.c

    r3231485 re67e513  
    278278        e = otrl_privkey_read(irc->otr->us, s);
    279279        if(e && e!=enoent) {
    280                 irc_usermsg(irc, "otr load: %s: %s", s, gcry_strerror(e));
     280                irc_rootmsg(irc, "otr load: %s: %s", s, gcry_strerror(e));
    281281        }
    282282        g_snprintf(s, 511, "%s%s.otr_fprints", global.conf->configdir, irc->user->nick);
    283283        e = otrl_privkey_read_fingerprints(irc->otr->us, s, NULL, NULL);
    284284        if(e && e!=enoent) {
    285                 irc_usermsg(irc, "otr load: %s: %s", s, gcry_strerror(e));
     285                irc_rootmsg(irc, "otr load: %s: %s", s, gcry_strerror(e));
    286286        }
    287287       
     
    291291        }
    292292        if(kg) {
    293                 irc_usermsg(irc, "Notice: "
     293                irc_rootmsg(irc, "Notice: "
    294294                        "The accounts above do not have OTR encryption keys associated with them, yet. "
    295295                        "These keys are now being generated in the background. "
     
    309309        e = otrl_privkey_write_fingerprints(irc->otr->us, s);
    310310        if(e) {
    311                 irc_usermsg(irc, "otr save: %s: %s", s, gcry_strerror(e));
     311                irc_rootmsg(irc, "otr save: %s: %s", s, gcry_strerror(e));
    312312        }
    313313        chmod(s, 0600);
     
    348348        k = otrl_privkey_find(irc->otr->us, a->user, a->prpl->name);
    349349        if(k) {
    350                 irc_usermsg(irc, "otr: %s/%s ready", a->user, a->prpl->name);
     350                irc_rootmsg(irc, "otr: %s/%s ready", a->user, a->prpl->name);
    351351                return 0;
    352352        } if(keygen_in_progress(irc, a->user, a->prpl->name)) {
    353                 irc_usermsg(irc, "otr: keygen for %s/%s already in progress", a->user, a->prpl->name);
     353                irc_rootmsg(irc, "otr: keygen for %s/%s already in progress", a->user, a->prpl->name);
    354354                return 0;
    355355        } else {
    356                 irc_usermsg(irc, "otr: starting background keygen for %s/%s", a->user, a->prpl->name);
     356                irc_rootmsg(irc, "otr: starting background keygen for %s/%s", a->user, a->prpl->name);
    357357                otr_keygen(irc, a->user, a->prpl->name);
    358358                return 1;
     
    521521       
    522522        if(!cmd->command) {
    523                 irc_usermsg(irc, "%s: unknown subcommand \"%s\", see \x02help otr\x02",
     523                irc_rootmsg(irc, "%s: unknown subcommand \"%s\", see \x02help otr\x02",
    524524                        args[0], args[1]);
    525525                return;
     
    527527       
    528528        if(!args[cmd->required_parameters+1]) {
    529                 irc_usermsg(irc, "%s %s: not enough arguments (%d req.)",
     529                irc_rootmsg(irc, "%s %s: not enough arguments (%d req.)",
    530530                        args[0], args[1], cmd->required_parameters);
    531531                return;
     
    599599        if (strcmp(accountname, recipient) == 0) {
    600600                /* huh? injecting messages to myself? */
    601                 irc_usermsg(irc, "note to self: %s", message);
     601                irc_rootmsg(irc, "note to self: %s", message);
    602602        } else {
    603603                /* need to drop some consts here :-( */
     
    618618        strip_html(msg);
    619619        if(u) {
    620                 /* display message like it came from this particular user */
    621                 bee_irc_msg_from_user(u, msg, 0 /* sent_at */);
     620                /* display as a notice from this particular user */
     621                irc_usernotice(u, "%s", msg);
    622622        } else {
    623                 irc_usermsg(irc, "otr: %s", msg);
     623                irc_rootmsg(irc, "[otr] %s", msg);
    624624        }
    625625
     
    637637       
    638638        otrl_privkey_hash_to_human(hunam, fingerprint);
    639         irc_usermsg(irc, "new fingerprint for %s: %s",
     639        irc_rootmsg(irc, "new fingerprint for %s: %s",
    640640                peernick(irc, username, protocol), hunam);
    641641}
     
    667667        if(!otr_update_modeflags(irc, u)) {
    668668                char *trust = u->flags & IRC_USER_OTR_TRUSTED ? "trusted" : "untrusted!";
    669                 irc_usermsg(irc, "conversation with %s is now off the record (%s)", u->nick, trust);
     669                irc_rootmsg(irc, "conversation with %s is now off the record (%s)", u->nick, trust);
    670670        }
    671671}
     
    687687        otr_update_uflags(context, u);
    688688        if(!otr_update_modeflags(irc, u))
    689                 irc_usermsg(irc, "conversation with %s is now in the clear", u->nick);
     689                irc_rootmsg(irc, "conversation with %s is now in the clear", u->nick);
    690690}
    691691
     
    708708        if(!otr_update_modeflags(irc, u)) {
    709709                char *trust = u->flags & IRC_USER_OTR_TRUSTED ? "trusted" : "untrusted!";
    710                 irc_usermsg(irc, "otr connection with %s has been refreshed (%s)", u->nick, trust);
     710                irc_rootmsg(irc, "otr connection with %s has been refreshed (%s)", u->nick, trust);
    711711        }
    712712}
     
    752752        u = irc_user_by_name(irc, args[1]);
    753753        if(!u || !u->bu || !u->bu->ic) {
    754                 irc_usermsg(irc, "%s: unknown user", args[1]);
     754                irc_rootmsg(irc, "%s: unknown user", args[1]);
    755755                return;
    756756        }
     
    777777        u = irc_user_by_name(irc, args[1]);
    778778        if(!u || !u->bu || !u->bu->ic) {
    779                 irc_usermsg(irc, "%s: unknown user", args[1]);
     779                irc_rootmsg(irc, "%s: unknown user", args[1]);
    780780                return;
    781781        }
    782782        if(!(u->bu->flags & BEE_USER_ONLINE)) {
    783                 irc_usermsg(irc, "%s is offline", args[1]);
     783                irc_rootmsg(irc, "%s is offline", args[1]);
    784784                return;
    785785        }
     
    808808        u = irc_user_by_name(irc, args[1]);
    809809        if(!u || !u->bu || !u->bu->ic) {
    810                 irc_usermsg(irc, "%s: unknown user", args[1]);
     810                irc_rootmsg(irc, "%s: unknown user", args[1]);
    811811                return;
    812812        }
     
    815815                u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    816816        if(!ctx) {
    817                 irc_usermsg(irc, "%s: no otr context with user", args[1]);
     817                irc_rootmsg(irc, "%s: no otr context with user", args[1]);
    818818                return;
    819819        }
     
    827827                       
    828828                        if(!*p || !*q) {
    829                                 irc_usermsg(irc, "failed: truncated fingerprint block %d", i+1);
     829                                irc_rootmsg(irc, "failed: truncated fingerprint block %d", i+1);
    830830                                return;
    831831                        }
     
    834834                        y = hexval(*q);
    835835                        if(x<0) {
    836                                 irc_usermsg(irc, "failed: %d. hex digit of block %d out of range", 2*j+1, i+1);
     836                                irc_rootmsg(irc, "failed: %d. hex digit of block %d out of range", 2*j+1, i+1);
    837837                                return;
    838838                        }
    839839                        if(y<0) {
    840                                 irc_usermsg(irc, "failed: %d. hex digit of block %d out of range", 2*j+2, i+1);
     840                                irc_rootmsg(irc, "failed: %d. hex digit of block %d out of range", 2*j+2, i+1);
    841841                                return;
    842842                        }
     
    847847        fp = otrl_context_find_fingerprint(ctx, raw, 0, NULL);
    848848        if(!fp) {
    849                 irc_usermsg(irc, "failed: no such fingerprint for %s", args[1]);
     849                irc_rootmsg(irc, "failed: no such fingerprint for %s", args[1]);
    850850        } else {
    851851                char *trust = args[7] ? args[7] : "affirmed";
    852852                otrl_context_set_trust(fp, trust);
    853                 irc_usermsg(irc, "fingerprint match, trust set to \"%s\"", trust);
     853                irc_rootmsg(irc, "fingerprint match, trust set to \"%s\"", trust);
    854854                if(u->flags & IRC_USER_OTR_ENCRYPTED)
    855855                        u->flags |= IRC_USER_OTR_TRUSTED;
     
    879879                        ctx = otrl_context_find(irc->otr->us, handle, myhandle, protocol, 0, NULL, NULL, NULL);
    880880                        if(!ctx) {
    881                                 irc_usermsg(irc, "no such context");
     881                                irc_rootmsg(irc, "no such context");
    882882                                g_free(arg);
    883883                                return;
     
    886886                        irc_user_t *u = irc_user_by_name(irc, args[1]);
    887887                        if(!u || !u->bu || !u->bu->ic) {
    888                                 irc_usermsg(irc, "%s: unknown user", args[1]);
     888                                irc_rootmsg(irc, "%s: unknown user", args[1]);
    889889                                g_free(arg);
    890890                                return;
     
    893893                                u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    894894                        if(!ctx) {
    895                                 irc_usermsg(irc, "no otr context with %s", args[1]);
     895                                irc_rootmsg(irc, "no otr context with %s", args[1]);
    896896                                g_free(arg);
    897897                                return;
     
    901901                /* show how we resolved the (nick) argument, if we did */
    902902                if(handle!=arg) {
    903                         irc_usermsg(irc, "%s is %s/%s; we are %s/%s to them", args[1],
     903                        irc_rootmsg(irc, "%s is %s/%s; we are %s/%s to them", args[1],
    904904                                ctx->username, ctx->protocol, ctx->accountname, ctx->protocol);
    905905                }
     
    916916        n = atoi(args[1]);
    917917        if(n<0 || (!n && strcmp(args[1], "0"))) {
    918                 irc_usermsg(irc, "%s: invalid account number", args[1]);
     918                irc_rootmsg(irc, "%s: invalid account number", args[1]);
    919919                return;
    920920        }
     
    923923        for(i=0; i<n && a; i++, a=a->next);
    924924        if(!a) {
    925                 irc_usermsg(irc, "%s: no such account", args[1]);
     925                irc_rootmsg(irc, "%s: no such account", args[1]);
    926926                return;
    927927        }
    928928       
    929929        if(keygen_in_progress(irc, a->user, a->prpl->name)) {
    930                 irc_usermsg(irc, "keygen for account %d already in progress", n);
     930                irc_rootmsg(irc, "keygen for account %d already in progress", n);
    931931                return;
    932932        }
     
    950950       
    951951        if(fp == fp->context->active_fingerprint) {
    952                 irc_usermsg(irc, "that fingerprint is active, terminate otr connection first");
     952                irc_rootmsg(irc, "that fingerprint is active, terminate otr connection first");
    953953                return;
    954954        }
     
    966966       
    967967        if(ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED) {
    968                 irc_usermsg(irc, "active otr connection with %s, terminate it first",
     968                irc_rootmsg(irc, "active otr connection with %s, terminate it first",
    969969                        peernick(irc, ctx->username, ctx->protocol));
    970970                return;
     
    998998               
    999999                if(!args[3]) {
    1000                         irc_usermsg(irc, "otr %s %s: not enough arguments (2 req.)", args[0], args[1]);
     1000                        irc_rootmsg(irc, "otr %s %s: not enough arguments (2 req.)", args[0], args[1]);
    10011001                        return;
    10021002                }
     
    10051005                u = irc_user_by_name(irc, args[2]);
    10061006                if(!u || !u->bu || !u->bu->ic) {
    1007                         irc_usermsg(irc, "%s: unknown user", args[2]);
     1007                        irc_rootmsg(irc, "%s: unknown user", args[2]);
    10081008                        return;
    10091009                }
     
    10121012                        u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    10131013                if(!ctx) {
    1014                         irc_usermsg(irc, "no otr context with %s", args[2]);
     1014                        irc_rootmsg(irc, "no otr context with %s", args[2]);
    10151015                        return;
    10161016                }
     
    10231023               
    10241024                if(fp == ctx->active_fingerprint) {
    1025                         irc_usermsg(irc, "that fingerprint is active, terminate otr connection first");
     1025                        irc_rootmsg(irc, "that fingerprint is active, terminate otr connection first");
    10261026                        return;
    10271027                }
     
    10481048                u = irc_user_by_name(irc, args[2]);
    10491049                if(!u || !u->bu || !u->bu->ic) {
    1050                         irc_usermsg(irc, "%s: unknown user", args[2]);
     1050                        irc_rootmsg(irc, "%s: unknown user", args[2]);
    10511051                        return;
    10521052                }
     
    10551055                        u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    10561056                if(!ctx) {
    1057                         irc_usermsg(irc, "no otr context with %s", args[2]);
     1057                        irc_rootmsg(irc, "no otr context with %s", args[2]);
    10581058                        return;
    10591059                }
    10601060               
    10611061                if(ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED) {
    1062                         irc_usermsg(irc, "active otr connection with %s, terminate it first", args[2]);
     1062                        irc_rootmsg(irc, "active otr connection with %s, terminate it first", args[2]);
    10631063                        return;
    10641064                }
     
    10931093        else
    10941094        {
    1095                 irc_usermsg(irc, "otr %s: unknown subcommand \"%s\", see \x02help otr forget\x02",
     1095                irc_rootmsg(irc, "otr %s: unknown subcommand \"%s\", see \x02help otr forget\x02",
    10961096                        args[0], args[1]);
    10971097        }
     
    11191119        if(!context) {
    11201120                /* huh? out of memory or what? */
    1121                 irc_usermsg(irc, "smp: failed to get otr context for %s", u->nick);
     1121                irc_rootmsg(irc, "smp: failed to get otr context for %s", u->nick);
    11221122                otrl_message_abort_smp(us, ops, u->bu->ic, context);
    11231123                otrl_sm_state_free(context->smstate);
     
    11271127
    11281128        if (context->smstate->sm_prog_state == OTRL_SMP_PROG_CHEATED) {
    1129                 irc_usermsg(irc, "smp %s: opponent violated protocol, aborting",
     1129                irc_rootmsg(irc, "smp %s: opponent violated protocol, aborting",
    11301130                        u->nick);
    11311131                otrl_message_abort_smp(us, ops, u->bu->ic, context);
     
    11371137        if (tlv) {
    11381138                if (nextMsg != OTRL_SMP_EXPECT1) {
    1139                         irc_usermsg(irc, "smp %s: spurious SMP1Q received, aborting", u->nick);
     1139                        irc_rootmsg(irc, "smp %s: spurious SMP1Q received, aborting", u->nick);
    11401140                        otrl_message_abort_smp(us, ops, u->bu->ic, context);
    11411141                        otrl_sm_state_free(context->smstate);
    11421142                } else {
    11431143                        char *question = g_strndup((char *)tlv->data, tlv->len);
    1144                         irc_usermsg(irc, "smp: initiated by %s with question: \x02\"%s\"\x02", u->nick,
     1144                        irc_rootmsg(irc, "smp: initiated by %s with question: \x02\"%s\"\x02", u->nick,
    11451145                                question);
    1146                         irc_usermsg(irc, "smp: respond with \x02otr smp %s <answer>\x02",
     1146                        irc_rootmsg(irc, "smp: respond with \x02otr smp %s <answer>\x02",
    11471147                                u->nick);
    11481148                        g_free(question);
     
    11531153        if (tlv) {
    11541154                if (nextMsg != OTRL_SMP_EXPECT1) {
    1155                         irc_usermsg(irc, "smp %s: spurious SMP1 received, aborting", u->nick);
     1155                        irc_rootmsg(irc, "smp %s: spurious SMP1 received, aborting", u->nick);
    11561156                        otrl_message_abort_smp(us, ops, u->bu->ic, context);
    11571157                        otrl_sm_state_free(context->smstate);
    11581158                } else {
    1159                         irc_usermsg(irc, "smp: initiated by %s"
     1159                        irc_rootmsg(irc, "smp: initiated by %s"
    11601160                                " - respond with \x02otr smp %s <secret>\x02",
    11611161                                u->nick, u->nick);
     
    11661166        if (tlv) {
    11671167                if (nextMsg != OTRL_SMP_EXPECT2) {
    1168                         irc_usermsg(irc, "smp %s: spurious SMP2 received, aborting", u->nick);
     1168                        irc_rootmsg(irc, "smp %s: spurious SMP2 received, aborting", u->nick);
    11691169                        otrl_message_abort_smp(us, ops, u->bu->ic, context);
    11701170                        otrl_sm_state_free(context->smstate);
     
    11771177        if (tlv) {
    11781178                if (nextMsg != OTRL_SMP_EXPECT3) {
    1179                         irc_usermsg(irc, "smp %s: spurious SMP3 received, aborting", u->nick);
     1179                        irc_rootmsg(irc, "smp %s: spurious SMP3 received, aborting", u->nick);
    11801180                        otrl_message_abort_smp(us, ops, u->bu->ic, context);
    11811181                        otrl_sm_state_free(context->smstate);
     
    11841184                        if(context->smstate->sm_prog_state == OTRL_SMP_PROG_SUCCEEDED) {
    11851185                                if(context->smstate->received_question) {
    1186                                         irc_usermsg(irc, "smp %s: correct answer, you are trusted",
     1186                                        irc_rootmsg(irc, "smp %s: correct answer, you are trusted",
    11871187                                                u->nick);
    11881188                                } else {
    1189                                         irc_usermsg(irc, "smp %s: secrets proved equal, fingerprint trusted",
     1189                                        irc_rootmsg(irc, "smp %s: secrets proved equal, fingerprint trusted",
    11901190                                                u->nick);
    11911191                                }
    11921192                        } else {
    11931193                                if(context->smstate->received_question) {
    1194                                         irc_usermsg(irc, "smp %s: wrong answer, you are not trusted",
     1194                                        irc_rootmsg(irc, "smp %s: wrong answer, you are not trusted",
    11951195                                                u->nick);
    11961196                                } else {
    1197                                         irc_usermsg(irc, "smp %s: secrets did not match, fingerprint not trusted",
     1197                                        irc_rootmsg(irc, "smp %s: secrets did not match, fingerprint not trusted",
    11981198                                                u->nick);
    11991199                                }
     
    12061206        if (tlv) {
    12071207                if (nextMsg != OTRL_SMP_EXPECT4) {
    1208                         irc_usermsg(irc, "smp %s: spurious SMP4 received, aborting", u->nick);
     1208                        irc_rootmsg(irc, "smp %s: spurious SMP4 received, aborting", u->nick);
    12091209                        otrl_message_abort_smp(us, ops, u->bu->ic, context);
    12101210                        otrl_sm_state_free(context->smstate);
     
    12121212                        /* SMP4 received, otrl_message_receiving will have set fp trust */
    12131213                        if(context->smstate->sm_prog_state == OTRL_SMP_PROG_SUCCEEDED) {
    1214                                 irc_usermsg(irc, "smp %s: secrets proved equal, fingerprint trusted",
     1214                                irc_rootmsg(irc, "smp %s: secrets proved equal, fingerprint trusted",
    12151215                                        u->nick);
    12161216                        } else {
    1217                                 irc_usermsg(irc, "smp %s: secrets did not match, fingerprint not trusted",
     1217                                irc_rootmsg(irc, "smp %s: secrets did not match, fingerprint not trusted",
    12181218                                        u->nick);
    12191219                        }
     
    12241224        tlv = otrl_tlv_find(tlvs, OTRL_TLV_SMP_ABORT);
    12251225        if (tlv) {
    1226                 irc_usermsg(irc, "smp: received abort from %s", u->nick);
     1226                irc_rootmsg(irc, "smp: received abort from %s", u->nick);
    12271227                otrl_sm_state_free(context->smstate);
    12281228                /* smp is in back in EXPECT1 */
     
    12391239        u = irc_user_by_name(irc, nick);
    12401240        if(!u || !u->bu || !u->bu->ic) {
    1241                 irc_usermsg(irc, "%s: unknown user", nick);
     1241                irc_rootmsg(irc, "%s: unknown user", nick);
    12421242                return;
    12431243        }
    12441244        if(!(u->bu->flags & BEE_USER_ONLINE)) {
    1245                 irc_usermsg(irc, "%s is offline", nick);
     1245                irc_rootmsg(irc, "%s is offline", nick);
    12461246                return;
    12471247        }
     
    12501250                u->bu->ic->acc->user, u->bu->ic->acc->prpl->name, 0, NULL, NULL, NULL);
    12511251        if(!ctx || ctx->msgstate != OTRL_MSGSTATE_ENCRYPTED) {
    1252                 irc_usermsg(irc, "smp: otr inactive with %s, try \x02otr connect"
     1252                irc_rootmsg(irc, "smp: otr inactive with %s, try \x02otr connect"
    12531253                                " %s\x02", nick, nick);
    12541254                return;
     
    12651265        if(question) {
    12661266                /* this was 'otr smpq', just initiate */
    1267                 irc_usermsg(irc, "smp: initiating with %s...", u->nick);
     1267                irc_rootmsg(irc, "smp: initiating with %s...", u->nick);
    12681268                otrl_message_initiate_smp_q(irc->otr->us, &otr_ops, u->bu->ic, ctx,
    12691269                        question, (unsigned char *)secret, strlen(secret));
     
    12741274                   is completed or aborted! */
    12751275                if(ctx->smstate->secret == NULL) {
    1276                         irc_usermsg(irc, "smp: initiating with %s...", u->nick);
     1276                        irc_rootmsg(irc, "smp: initiating with %s...", u->nick);
    12771277                        otrl_message_initiate_smp(irc->otr->us, &otr_ops,
    12781278                                u->bu->ic, ctx, (unsigned char *)secret, strlen(secret));
     
    12811281                        /* if we're still in EXPECT1 but smstate is initialized, we must have
    12821282                           received the SMP1, so let's issue a response */
    1283                         irc_usermsg(irc, "smp: responding to %s...", u->nick);
     1283                        irc_rootmsg(irc, "smp: responding to %s...", u->nick);
    12841284                        otrl_message_respond_smp(irc->otr->us, &otr_ops,
    12851285                                u->bu->ic, ctx, (unsigned char *)secret, strlen(secret));
     
    13961396                }
    13971397                if(fp == ctx->active_fingerprint) {
    1398                         irc_usermsg(irc, "    \x02%s (%s)\x02", human, trust);
     1398                        irc_rootmsg(irc, "    \x02%s (%s)\x02", human, trust);
    13991399                } else {
    1400                         irc_usermsg(irc, "    %s (%s)", human, trust);
     1400                        irc_rootmsg(irc, "    %s (%s)", human, trust);
    14011401                }
    14021402        }
    14031403        if(count==0)
    1404                 irc_usermsg(irc, "    (none)");
     1404                irc_rootmsg(irc, "    (none)");
    14051405}
    14061406
     
    14211421                       
    14221422                        if(n>=40) {
    1423                                 irc_usermsg(irc, "too many fingerprint digits given, expected at most 40");
     1423                                irc_rootmsg(irc, "too many fingerprint digits given, expected at most 40");
    14241424                                return NULL;
    14251425                        }
     
    14281428                                *(p++) = c;
    14291429                        } else {
    1430                                 irc_usermsg(irc, "invalid hex digit '%c' in block %d", args[i][j], i+1);
     1430                                irc_rootmsg(irc, "invalid hex digit '%c' in block %d", args[i][j], i+1);
    14311431                                return NULL;
    14321432                        }
     
    14491449        }
    14501450        if(!fp) {
    1451                 irc_usermsg(irc, "%s: no match", prefix);
     1451                irc_rootmsg(irc, "%s: no match", prefix);
    14521452                return NULL;
    14531453        }
     
    14621462        }
    14631463        if(fp2) {
    1464                 irc_usermsg(irc, "%s: multiple matches", prefix);
     1464                irc_rootmsg(irc, "%s: multiple matches", prefix);
    14651465                return NULL;
    14661466        }
     
    14851485                       
    14861486                        if(n>=40) {
    1487                                 irc_usermsg(irc, "too many fingerprint digits given, expected at most 40");
     1487                                irc_rootmsg(irc, "too many fingerprint digits given, expected at most 40");
    14881488                                return NULL;
    14891489                        }
     
    14921492                                *(p++) = c;
    14931493                        } else {
    1494                                 irc_usermsg(irc, "invalid hex digit '%c' in block %d", args[i][j], i+1);
     1494                                irc_rootmsg(irc, "invalid hex digit '%c' in block %d", args[i][j], i+1);
    14951495                                return NULL;
    14961496                        }
     
    15131513        }
    15141514        if(!k) {
    1515                 irc_usermsg(irc, "%s: no match", prefix);
     1515                irc_rootmsg(irc, "%s: no match", prefix);
    15161516                return NULL;
    15171517        }
     
    15261526        }
    15271527        if(k2) {
    1528                 irc_usermsg(irc, "%s: multiple matches", prefix);
     1528                irc_rootmsg(irc, "%s: multiple matches", prefix);
    15291529                return NULL;
    15301530        }
     
    15411541
    15421542        /* list all privkeys (including ones being generated) */
    1543         irc_usermsg(irc, "\x1fprivate keys:\x1f");
     1543        irc_rootmsg(irc, "\x1fprivate keys:\x1f");
    15441544        for(key=irc->otr->us->privkey_root; key; key=key->next) {
    15451545                const char *hash;
     
    15471547                switch(key->pubkey_type) {
    15481548                case OTRL_PUBKEY_TYPE_DSA:
    1549                         irc_usermsg(irc, "  %s/%s - DSA", key->accountname, key->protocol);
     1549                        irc_rootmsg(irc, "  %s/%s - DSA", key->accountname, key->protocol);
    15501550                        break;
    15511551                default:
    1552                         irc_usermsg(irc, "  %s/%s - type %d", key->accountname, key->protocol,
     1552                        irc_rootmsg(irc, "  %s/%s - type %d", key->accountname, key->protocol,
    15531553                                key->pubkey_type);
    15541554                }
     
    15591559                hash = otrl_privkey_fingerprint(irc->otr->us, human, key->accountname, key->protocol);
    15601560                if(hash) /* should always succeed */
    1561                         irc_usermsg(irc, "    %s", human);
     1561                        irc_rootmsg(irc, "    %s", human);
    15621562        }
    15631563        if(irc->otr->sent_accountname) {
    1564                 irc_usermsg(irc, "  %s/%s - DSA", irc->otr->sent_accountname,
     1564                irc_rootmsg(irc, "  %s/%s - DSA", irc->otr->sent_accountname,
    15651565                        irc->otr->sent_protocol);
    1566                 irc_usermsg(irc, "    (being generated)");
     1566                irc_rootmsg(irc, "    (being generated)");
    15671567        }
    15681568        for(kg=irc->otr->todo; kg; kg=kg->next) {
    1569                 irc_usermsg(irc, "  %s/%s - DSA", kg->accountname, kg->protocol);
    1570                 irc_usermsg(irc, "    (queued)");
     1569                irc_rootmsg(irc, "  %s/%s - DSA", kg->accountname, kg->protocol);
     1570                irc_rootmsg(irc, "    (queued)");
    15711571        }
    15721572        if(key == irc->otr->us->privkey_root &&
    15731573           !irc->otr->sent_accountname &&
    15741574           kg == irc->otr->todo)
    1575                 irc_usermsg(irc, "  (none)");
     1575                irc_rootmsg(irc, "  (none)");
    15761576
    15771577        /* list all contexts */
    1578         irc_usermsg(irc, "%s", "");
    1579         irc_usermsg(irc, "\x1f" "connection contexts:\x1f (bold=currently encrypted)");
     1578        irc_rootmsg(irc, "%s", "");
     1579        irc_rootmsg(irc, "\x1f" "connection contexts:\x1f (bold=currently encrypted)");
    15801580        for(ctx=irc->otr->us->context_root; ctx; ctx=ctx->next) {\
    15811581                irc_user_t *u;
     
    15911591               
    15921592                if(ctx->msgstate == OTRL_MSGSTATE_ENCRYPTED) {
    1593                         irc_usermsg(irc, "  \x02%s\x02", userstring);
     1593                        irc_rootmsg(irc, "  \x02%s\x02", userstring);
    15941594                } else {
    1595                         irc_usermsg(irc, "  %s", userstring);
     1595                        irc_rootmsg(irc, "  %s", userstring);
    15961596                }
    15971597               
     
    15991599        }
    16001600        if(ctx == irc->otr->us->context_root)
    1601                 irc_usermsg(irc, "  (none)");
     1601                irc_rootmsg(irc, "  (none)");
    16021602}
    16031603
     
    16061606        switch(ctx->otr_offer) {
    16071607        case OFFER_NOT:
    1608                 irc_usermsg(irc, "  otr offer status: none sent");
     1608                irc_rootmsg(irc, "  otr offer status: none sent");
    16091609                break;
    16101610        case OFFER_SENT:
    1611                 irc_usermsg(irc, "  otr offer status: awaiting reply");
     1611                irc_rootmsg(irc, "  otr offer status: awaiting reply");
    16121612                break;
    16131613        case OFFER_ACCEPTED:
    1614                 irc_usermsg(irc, "  otr offer status: accepted our offer");
     1614                irc_rootmsg(irc, "  otr offer status: accepted our offer");
    16151615                break;
    16161616        case OFFER_REJECTED:
    1617                 irc_usermsg(irc, "  otr offer status: ignored our offer");
     1617                irc_rootmsg(irc, "  otr offer status: ignored our offer");
    16181618                break;
    16191619        default:
    1620                 irc_usermsg(irc, "  otr offer status: %d", ctx->otr_offer);
     1620                irc_rootmsg(irc, "  otr offer status: %d", ctx->otr_offer);
    16211621        }
    16221622
    16231623        switch(ctx->msgstate) {
    16241624        case OTRL_MSGSTATE_PLAINTEXT:
    1625                 irc_usermsg(irc, "  connection state: cleartext");
     1625                irc_rootmsg(irc, "  connection state: cleartext");
    16261626                break;
    16271627        case OTRL_MSGSTATE_ENCRYPTED:
    1628                 irc_usermsg(irc, "  connection state: encrypted (v%d)", ctx->protocol_version);
     1628                irc_rootmsg(irc, "  connection state: encrypted (v%d)", ctx->protocol_version);
    16291629                break;
    16301630        case OTRL_MSGSTATE_FINISHED:
    1631                 irc_usermsg(irc, "  connection state: shut down");
     1631                irc_rootmsg(irc, "  connection state: shut down");
    16321632                break;
    16331633        default:
    1634                 irc_usermsg(irc, "  connection state: %d", ctx->msgstate);
    1635         }
    1636 
    1637         irc_usermsg(irc, "  fingerprints: (bold=active)");     
     1634                irc_rootmsg(irc, "  connection state: %d", ctx->msgstate);
     1635        }
     1636
     1637        irc_rootmsg(irc, "  fingerprints: (bold=active)");     
    16381638        show_fingerprints(irc, ctx);
    16391639}
     
    16751675               
    16761676                if(pipe(to) < 0 || pipe(from) < 0) {
    1677                         irc_usermsg(irc, "otr keygen: couldn't create pipe: %s", strerror(errno));
     1677                        irc_rootmsg(irc, "otr keygen: couldn't create pipe: %s", strerror(errno));
    16781678                        return;
    16791679                }
     
    16821682                fromf = fdopen(from[0], "r");
    16831683                if(!tof || !fromf) {
    1684                         irc_usermsg(irc, "otr keygen: couldn't streamify pipe: %s", strerror(errno));
     1684                        irc_rootmsg(irc, "otr keygen: couldn't streamify pipe: %s", strerror(errno));
    16851685                        return;
    16861686                }
     
    16881688                p = fork();
    16891689                if(p<0) {
    1690                         irc_usermsg(irc, "otr keygen: couldn't fork: %s", strerror(errno));
     1690                        irc_rootmsg(irc, "otr keygen: couldn't fork: %s", strerror(errno));
    16911691                        return;
    16921692                }
     
    17681768        myfgets(msg, 512, irc->otr->from);
    17691769       
    1770         irc_usermsg(irc, "%s", msg);
     1770        irc_rootmsg(irc, "%s", msg);
    17711771        if(filename[0]) {
    17721772                char *kf = g_strdup_printf("%s%s.otr_keys", global.conf->configdir, irc->user->nick);
     
    18421842       
    18431843        if(keygen_in_progress(irc, acc->user, acc->prpl->name)) {
    1844                 irc_usermsg(irc, "keygen for %s/%s already in progress",
     1844                irc_rootmsg(irc, "keygen for %s/%s already in progress",
    18451845                        acc->user, acc->prpl->name);
    18461846        } else {
    1847                 irc_usermsg(irc, "starting background keygen for %s/%s",
     1847                irc_rootmsg(irc, "starting background keygen for %s/%s",
    18481848                        acc->user, acc->prpl->name);
    1849                 irc_usermsg(irc, "you will be notified when it completes");
     1849                irc_rootmsg(irc, "you will be notified when it completes");
    18501850                otr_keygen(irc, acc->user, acc->prpl->name);
    18511851        }
    18521852}
    18531853
    1854 /* vim: noet ts=4 sw=4 */
     1854/* vim: set noet ts=4 sw=4: */
  • protocols/nogaim.c

    r3231485 re67e513  
    216216        if( a )
    217217                /* FIXME(wilmer): ui_log callback or so */
    218                 irc_usermsg( ic->bee->ui_data, "%s(%s) - %s", ic->acc->prpl->name, ic->acc->user, text );
     218                irc_rootmsg( ic->bee->ui_data, "%s(%s) - %s", ic->acc->prpl->name, ic->acc->user, text );
    219219        else
    220                 irc_usermsg( ic->bee->ui_data, "%s - %s", ic->acc->prpl->name, text );
     220                irc_rootmsg( ic->bee->ui_data, "%s - %s", ic->acc->prpl->name, text );
    221221       
    222222        g_free( text );
  • protocols/purple/purple.c

    r3231485 re67e513  
    181181                        /** No way to talk to the user right now, invent one when
    182182                        this becomes important.
    183                         irc_usermsg( acc->irc, "Setting with unknown type: %s (%d) Expect stuff to break..\n",
     183                        irc_rootmsg( acc->irc, "Setting with unknown type: %s (%d) Expect stuff to break..\n",
    184184                                     name, purple_account_option_get_type( o ) );
    185185                        */
  • query.c

    r3231485 re67e513  
    150150                        imcb_log( q->ic, "Accepted: %s", q->question );
    151151                else
    152                         irc_usermsg( irc, "Accepted: %s", q->question );
     152                        irc_rootmsg( irc, "Accepted: %s", q->question );
    153153                if( q->yes )
    154154                        q->yes( q->data );
     
    159159                        imcb_log( q->ic, "Rejected: %s", q->question );
    160160                else
    161                         irc_usermsg( irc, "Rejected: %s", q->question );
     161                        irc_rootmsg( irc, "Rejected: %s", q->question );
    162162                if( q->no )
    163163                        q->no( q->data );
     
    179179        else
    180180        {
    181                 irc_usermsg( irc, "New request: %s\nYou can use the \2yes\2/\2no\2 commands to accept/reject this request.", q->question );
     181                irc_rootmsg( irc, "New request: %s\nYou can use the \2yes\2/\2no\2 commands to accept/reject this request.", q->question );
    182182        }
    183183}
  • root_commands.c

    r3231485 re67e513  
    4242                        if( cmd[blaat] == NULL )                               \
    4343                        {                                                      \
    44                                 irc_usermsg( irc, "Not enough parameters given (need %d).", x ); \
     44                                irc_rootmsg( irc, "Not enough parameters given (need %d).", x ); \
    4545                                return y;                                      \
    4646                        }                                                      \
     
    6969                }
    7070       
    71         irc_usermsg( irc, "Unknown command: %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[0] );
     71        irc_rootmsg( irc, "Unknown command: %s. Please use \x02help commands\x02 to get a list of available commands.", cmd[0] );
    7272}
    7373
     
    9090        if( s )
    9191        {
    92                 irc_usermsg( irc, "%s", s );
     92                irc_rootmsg( irc, "%s", s );
    9393                g_free( s );
    9494        }
    9595        else
    9696        {
    97                 irc_usermsg( irc, "Error opening helpfile." );
     97                irc_rootmsg( irc, "Error opening helpfile." );
    9898        }
    9999}
     
    110110        if( irc->status & USTATUS_IDENTIFIED )
    111111        {
    112                 irc_usermsg( irc, "You're already logged in." );
     112                irc_rootmsg( irc, "You're already logged in." );
    113113                return;
    114114        }
     
    128128        else if( irc->b->accounts != NULL )
    129129        {
    130                 irc_usermsg( irc,
     130                irc_rootmsg( irc,
    131131                             "You're trying to identify yourself, but already have "
    132132                             "at least one IM account set up. "
     
    138138        if( password == NULL )
    139139        {
    140                 irc_usermsg( irc, "About to identify, use /OPER to enter the password" );
     140                irc_rootmsg( irc, "About to identify, use /OPER to enter the password" );
    141141                irc->status |= OPER_HACK_IDENTIFY;
    142142                return;
     
    150150        switch (status) {
    151151        case STORAGE_INVALID_PASSWORD:
    152                 irc_usermsg( irc, "Incorrect password" );
     152                irc_rootmsg( irc, "Incorrect password" );
    153153                break;
    154154        case STORAGE_NO_SUCH_USER:
    155                 irc_usermsg( irc, "The nick is (probably) not registered" );
     155                irc_rootmsg( irc, "The nick is (probably) not registered" );
    156156                break;
    157157        case STORAGE_OK:
    158                 irc_usermsg( irc, "Password accepted%s",
     158                irc_rootmsg( irc, "Password accepted%s",
    159159                             load ? ", settings and accounts loaded" : "" );
    160160                irc_setpass( irc, password );
     
    192192        case STORAGE_OTHER_ERROR:
    193193        default:
    194                 irc_usermsg( irc, "Unknown error while loading configuration" );
     194                irc_rootmsg( irc, "Unknown error while loading configuration" );
    195195                break;
    196196        }
     
    215215        if( global.conf->authmode == AUTHMODE_REGISTERED )
    216216        {
    217                 irc_usermsg( irc, "This server does not allow registering new accounts" );
     217                irc_rootmsg( irc, "This server does not allow registering new accounts" );
    218218                return;
    219219        }
     
    221221        if( cmd[1] == NULL )
    222222        {
    223                 irc_usermsg( irc, "About to register, use /OPER to enter the password" );
     223                irc_rootmsg( irc, "About to register, use /OPER to enter the password" );
    224224                irc->status |= OPER_HACK_REGISTER;
    225225                return;
     
    228228        switch( storage_save( irc, cmd[1], FALSE ) ) {
    229229                case STORAGE_ALREADY_EXISTS:
    230                         irc_usermsg( irc, "Nick is already registered" );
     230                        irc_rootmsg( irc, "Nick is already registered" );
    231231                        break;
    232232                       
    233233                case STORAGE_OK:
    234                         irc_usermsg( irc, "Account successfully created" );
     234                        irc_rootmsg( irc, "Account successfully created" );
    235235                        irc_setpass( irc, cmd[1] );
    236236                        irc->status |= USTATUS_IDENTIFIED;
     
    245245
    246246                default:
    247                         irc_usermsg( irc, "Error registering" );
     247                        irc_rootmsg( irc, "Error registering" );
    248248                        break;
    249249        }
     
    257257        switch (status) {
    258258        case STORAGE_NO_SUCH_USER:
    259                 irc_usermsg( irc, "That account does not exist" );
     259                irc_rootmsg( irc, "That account does not exist" );
    260260                break;
    261261        case STORAGE_INVALID_PASSWORD:
    262                 irc_usermsg( irc, "Password invalid" );
     262                irc_rootmsg( irc, "Password invalid" );
    263263                break;
    264264        case STORAGE_OK:
     
    266266                irc->status &= ~USTATUS_IDENTIFIED;
    267267                irc_umode_set( irc, "-R", 1 );
    268                 irc_usermsg( irc, "Account `%s' removed", irc->user->nick );
     268                irc_rootmsg( irc, "Account `%s' removed", irc->user->nick );
    269269                break;
    270270        default:
    271                 irc_usermsg( irc, "Error: `%d'", status );
     271                irc_rootmsg( irc, "Error: `%d'", status );
    272272                break;
    273273        }
     
    277277{
    278278        if( ( irc->status & USTATUS_IDENTIFIED ) == 0 )
    279                 irc_usermsg( irc, "Please create an account first" );
     279                irc_rootmsg( irc, "Please create an account first" );
    280280        else if( storage_save( irc, NULL, TRUE ) == STORAGE_OK )
    281                 irc_usermsg( irc, "Configuration saved" );
    282         else
    283                 irc_usermsg( irc, "Configuration could not be saved!" );
     281                irc_rootmsg( irc, "Configuration saved" );
     282        else
     283                irc_rootmsg( irc, "Configuration could not be saved!" );
    284284}
    285285
     
    290290       
    291291        if( ( val = set_getstr( head, key ) ) )
    292                 irc_usermsg( irc, "%s = `%s'", key, val );
     292                irc_rootmsg( irc, "%s = `%s'", key, val );
    293293        else if( !( set = set_find( head, key ) ) )
    294294        {
    295                 irc_usermsg( irc, "Setting `%s' does not exist.", key );
     295                irc_rootmsg( irc, "Setting `%s' does not exist.", key );
    296296                if( *head == irc->b->set )
    297                         irc_usermsg( irc, "It might be an account or channel setting. "
     297                        irc_rootmsg( irc, "It might be an account or channel setting. "
    298298                                     "See \x02help account set\x02 and \x02help channel set\x02." );
    299299        }
    300300        else if( set->flags & SET_PASSWORD )
    301                 irc_usermsg( irc, "%s = `********' (hidden)", key );
    302         else
    303                 irc_usermsg( irc, "%s is empty", key );
     301                irc_rootmsg( irc, "%s = `********' (hidden)", key );
     302        else
     303                irc_rootmsg( irc, "%s is empty", key );
    304304}
    305305
     
    344344                           feedback. */
    345345                        if( st )
    346                                 irc_usermsg( irc, "Setting changed successfully" );
     346                                irc_rootmsg( irc, "Setting changed successfully" );
    347347                        else
    348                                 irc_usermsg( irc, "Failed to change setting" );
     348                                irc_rootmsg( irc, "Failed to change setting" );
    349349                }
    350350                else
     
    377377        if( a->ic && s && s->flags & ACC_SET_OFFLINE_ONLY )
    378378        {
    379                 irc_usermsg( irc, "This setting can only be changed when the account is %s-line", "off" );
     379                irc_rootmsg( irc, "This setting can only be changed when the account is %s-line", "off" );
    380380                return 0;
    381381        }
    382382        else if( !a->ic && s && s->flags & ACC_SET_ONLINE_ONLY )
    383383        {
    384                 irc_usermsg( irc, "This setting can only be changed when the account is %s-line", "on" );
     384                irc_rootmsg( irc, "This setting can only be changed when the account is %s-line", "on" );
    385385                return 0;
    386386        }
     
    396396        if( global.conf->authmode == AUTHMODE_REGISTERED && !( irc->status & USTATUS_IDENTIFIED ) )
    397397        {
    398                 irc_usermsg( irc, "This server only accepts registered users" );
     398                irc_rootmsg( irc, "This server only accepts registered users" );
    399399                return;
    400400        }
     
    413413                                if( strcmp( a->pass, PASSWORD_PENDING ) == 0 )
    414414                                {
    415                                         irc_usermsg( irc, "Enter password for account %s(%s) "
     415                                        irc_rootmsg( irc, "Enter password for account %s(%s) "
    416416                                                     "first (use /OPER)", a->prpl->name, a->user );
    417417                                        return;
     
    425425                if( prpl == NULL )
    426426                {
    427                         irc_usermsg( irc, "Unknown protocol" );
     427                        irc_rootmsg( irc, "Unknown protocol" );
    428428                        return;
    429429                }
     
    431431                for( a = irc->b->accounts; a; a = a->next )
    432432                        if( a->prpl == prpl && prpl->handle_cmp( a->user, cmd[3] ) == 0 )
    433                                 irc_usermsg( irc, "Warning: You already have an account with "
     433                                irc_rootmsg( irc, "Warning: You already have an account with "
    434434                                             "protocol `%s' and username `%s'. Are you accidentally "
    435435                                             "trying to add it twice?", prpl->name, cmd[3] );
     
    438438                if( cmd[5] )
    439439                {
    440                         irc_usermsg( irc, "Warning: Passing a servername/other flags to `account add' "
     440                        irc_rootmsg( irc, "Warning: Passing a servername/other flags to `account add' "
    441441                                          "is now deprecated. Use `account set' instead." );
    442442                        set_setstr( &a->set, "server", cmd[5] );
    443443                }
    444444               
    445                 irc_usermsg( irc, "Account successfully added%s", cmd[4] ? "" :
     445                irc_rootmsg( irc, "Account successfully added%s", cmd[4] ? "" :
    446446                             ", now use /OPER to enter the password" );
    447447               
     
    453453               
    454454                if( strchr( irc->umode, 'b' ) )
    455                         irc_usermsg( irc, "Account list:" );
     455                        irc_rootmsg( irc, "Account list:" );
    456456               
    457457                for( a = irc->b->accounts; a; a = a->next )
     
    468468                                con = "";
    469469                       
    470                         irc_usermsg( irc, "%2d (%s): %s, %s%s", i, a->tag, a->prpl->name, a->user, con );
     470                        irc_rootmsg( irc, "%2d (%s): %s, %s%s", i, a->tag, a->prpl->name, a->user, con );
    471471                       
    472472                        i ++;
    473473                }
    474                 irc_usermsg( irc, "End of account list" );
     474                irc_rootmsg( irc, "End of account list" );
    475475               
    476476                return;
     
    484484                if ( irc->b->accounts )
    485485                {
    486                         irc_usermsg( irc, "Trying to get all accounts connected..." );
     486                        irc_rootmsg( irc, "Trying to get all accounts connected..." );
    487487               
    488488                        for( a = irc->b->accounts; a; a = a->next )
     
    490490                                {
    491491                                        if( strcmp( a->pass, PASSWORD_PENDING ) == 0 )
    492                                                 irc_usermsg( irc, "Enter password for account %s(%s) "
     492                                                irc_rootmsg( irc, "Enter password for account %s(%s) "
    493493                                                             "first (use /OPER)", a->prpl->name, a->user );
    494494                                        else
     
    498498                else
    499499                {
    500                         irc_usermsg( irc, "No accounts known. Use `account add' to add one." );
     500                        irc_rootmsg( irc, "No accounts known. Use `account add' to add one." );
    501501                }
    502502               
     
    505505        else if( len >= 2 && g_strncasecmp( cmd[1], "off", len ) == 0 )
    506506        {
    507                 irc_usermsg( irc, "Deactivating all active (re)connections..." );
     507                irc_rootmsg( irc, "Deactivating all active (re)connections..." );
    508508               
    509509                for( a = irc->b->accounts; a; a = a->next )
     
    530530            ( a = account_get( irc->b, cmd[1] ) ) == NULL )
    531531        {
    532                 irc_usermsg( irc, "Could not find account `%s'. Note that the syntax "
     532                irc_rootmsg( irc, "Could not find account `%s'. Note that the syntax "
    533533                             "of the account command changed, see \x02help account\x02.", cmd[1] );
    534534               
     
    540540                if( a->ic )
    541541                {
    542                         irc_usermsg( irc, "Account is still logged in, can't delete" );
     542                        irc_rootmsg( irc, "Account is still logged in, can't delete" );
    543543                }
    544544                else
    545545                {
    546546                        account_del( irc->b, a );
    547                         irc_usermsg( irc, "Account deleted" );
     547                        irc_rootmsg( irc, "Account deleted" );
    548548                }
    549549        }
     
    551551        {
    552552                if( a->ic )
    553                         irc_usermsg( irc, "Account already online" );
     553                        irc_rootmsg( irc, "Account already online" );
    554554                else if( strcmp( a->pass, PASSWORD_PENDING ) == 0 )
    555                         irc_usermsg( irc, "Enter password for account %s(%s) "
     555                        irc_rootmsg( irc, "Enter password for account %s(%s) "
    556556                                     "first (use /OPER)", a->prpl->name, a->user );
    557557                else
     
    567567                {
    568568                        cancel_auto_reconnect( a );
    569                         irc_usermsg( irc, "Reconnect cancelled" );
    570                 }
    571                 else
    572                 {
    573                         irc_usermsg( irc, "Account already offline" );
     569                        irc_rootmsg( irc, "Reconnect cancelled" );
     570                }
     571                else
     572                {
     573                        irc_rootmsg( irc, "Account already offline" );
    574574                }
    575575        }
     
    580580        else
    581581        {
    582                 irc_usermsg( irc, "Unknown command: %s [...] %s. Please use \x02help commands\x02 to get a list of available commands.", "account", cmd[2] );
     582                irc_rootmsg( irc, "Unknown command: %s [...] %s. Please use \x02help commands\x02 to get a list of available commands.", "account", cmd[2] );
    583583        }
    584584}
     
    597597               
    598598                if( strchr( irc->umode, 'b' ) )
    599                         irc_usermsg( irc, "Channel list:" );
     599                        irc_rootmsg( irc, "Channel list:" );
    600600               
    601601                for( l = irc->channels; l; l = l->next )
     
    603603                        irc_channel_t *ic = l->data;
    604604                       
    605                         irc_usermsg( irc, "%2d. %s, %s channel%s", i, ic->name,
     605                        irc_rootmsg( irc, "%2d. %s, %s channel%s", i, ic->name,
    606606                                     set_getstr( &ic->set, "type" ),
    607607                                     ic->flags & IRC_CHANNEL_JOINED ? " (joined)" : "" );
     
    609609                        i ++;
    610610                }
    611                 irc_usermsg( irc, "End of channel list" );
     611                irc_rootmsg( irc, "End of channel list" );
    612612               
    613613                return;
     
    623623                        cmd_set_real( irc, cmd + 1, &ic->set, NULL );
    624624                else
    625                         irc_usermsg( irc, "Could not find channel `%s'", cmd[1] );
     625                        irc_rootmsg( irc, "Could not find channel `%s'", cmd[1] );
    626626               
    627627                return;
     
    640640                    ic != ic->irc->default_channel )
    641641                {
    642                         irc_usermsg( irc, "Channel %s deleted.", ic->name );
     642                        irc_rootmsg( irc, "Channel %s deleted.", ic->name );
    643643                        irc_channel_free( ic );
    644644                }
    645645                else
    646                         irc_usermsg( irc, "Couldn't remove channel (main channel %s or "
     646                        irc_rootmsg( irc, "Couldn't remove channel (main channel %s or "
    647647                                          "channels you're still in cannot be deleted).",
    648648                                          irc->default_channel->name );
     
    650650        else
    651651        {
    652                 irc_usermsg( irc, "Unknown command: %s [...] %s. Please use \x02help commands\x02 to get a list of available commands.", "channel", cmd[1] );
     652                irc_rootmsg( irc, "Unknown command: %s [...] %s. Please use \x02help commands\x02 to get a list of available commands.", "channel", cmd[1] );
    653653        }
    654654}
     
    668668        if( !( a = account_get( irc->b, cmd[1] ) ) )
    669669        {
    670                 irc_usermsg( irc, "Invalid account" );
     670                irc_rootmsg( irc, "Invalid account" );
    671671                return;
    672672        }
    673673        else if( !( a->ic && ( a->ic->flags & OPT_LOGGED_IN ) ) )
    674674        {
    675                 irc_usermsg( irc, "That account is not on-line" );
     675                irc_rootmsg( irc, "That account is not on-line" );
    676676                return;
    677677        }
     
    681681                if( !nick_ok( cmd[3] ) )
    682682                {
    683                         irc_usermsg( irc, "The requested nick `%s' is invalid", cmd[3] );
     683                        irc_rootmsg( irc, "The requested nick `%s' is invalid", cmd[3] );
    684684                        return;
    685685                }
    686686                else if( irc_user_by_name( irc, cmd[3] ) )
    687687                {
    688                         irc_usermsg( irc, "The requested nick `%s' already exists", cmd[3] );
     688                        irc_rootmsg( irc, "The requested nick `%s' already exists", cmd[3] );
    689689                        return;
    690690                }
     
    704704                    strcmp( s, "group" ) == 0 &&
    705705                    ( group = set_getstr( &ic->set, "group" ) ) )
    706                         irc_usermsg( irc, "Adding `%s' to contact list (group %s)",
     706                        irc_rootmsg( irc, "Adding `%s' to contact list (group %s)",
    707707                                     cmd[2], group );
    708708                else
    709                         irc_usermsg( irc, "Adding `%s' to contact list", cmd[2] );
     709                        irc_rootmsg( irc, "Adding `%s' to contact list", cmd[2] );
    710710               
    711711                a->prpl->add_buddy( a->ic, cmd[2], group );
     
    720720                if( ( bu = bee_user_new( irc->b, a->ic, cmd[2], BEE_USER_LOCAL ) ) &&
    721721                    ( iu = bu->ui_data ) )
    722                         irc_usermsg( irc, "Temporarily assigned nickname `%s' "
     722                        irc_rootmsg( irc, "Temporarily assigned nickname `%s' "
    723723                                     "to contact `%s'", iu->nick, cmd[2] );
    724724        }
     
    734734        if( !( iu = irc_user_by_name( irc, cmd[1] ) ) || !( bu = iu->bu ) )
    735735        {
    736                 irc_usermsg( irc, "Buddy `%s' not found", cmd[1] );
     736                irc_rootmsg( irc, "Buddy `%s' not found", cmd[1] );
    737737                return;
    738738        }
     
    744744                bee_user_free( irc->b, bu );
    745745       
    746         irc_usermsg( irc, "Buddy `%s' (nick %s) removed from contact list", s, cmd[1] );
     746        irc_rootmsg( irc, "Buddy `%s' (nick %s) removed from contact list", s, cmd[1] );
    747747        g_free( s );
    748748       
     
    760760                if( !iu || !iu->bu )
    761761                {
    762                         irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
     762                        irc_rootmsg( irc, "Nick `%s' does not exist", cmd[1] );
    763763                        return;
    764764                }
     
    768768        else if( !( a = account_get( irc->b, cmd[1] ) ) )
    769769        {
    770                 irc_usermsg( irc, "Invalid account" );
     770                irc_rootmsg( irc, "Invalid account" );
    771771                return;
    772772        }
    773773        else if( !( ( ic = a->ic ) && ( a->ic->flags & OPT_LOGGED_IN ) ) )
    774774        {
    775                 irc_usermsg( irc, "That account is not on-line" );
     775                irc_rootmsg( irc, "That account is not on-line" );
    776776                return;
    777777        }
     
    779779        if( !ic->acc->prpl->get_info )
    780780        {
    781                 irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     781                irc_rootmsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
    782782        }
    783783        else
     
    796796        if( iu == NULL )
    797797        {
    798                 irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
     798                irc_rootmsg( irc, "Nick `%s' does not exist", cmd[1] );
    799799        }
    800800        else if( del )
     
    802802                if( iu->bu )
    803803                        bee_irc_user_nick_reset( iu );
    804                 irc_usermsg( irc, "Nickname reset to `%s'", iu->nick );
     804                irc_rootmsg( irc, "Nickname reset to `%s'", iu->nick );
    805805        }
    806806        else if( iu == irc->user )
    807807        {
    808                 irc_usermsg( irc, "Use /nick to change your own nickname" );
     808                irc_rootmsg( irc, "Use /nick to change your own nickname" );
    809809        }
    810810        else if( !nick_ok( cmd[2] ) )
    811811        {
    812                 irc_usermsg( irc, "Nick `%s' is invalid", cmd[2] );
     812                irc_rootmsg( irc, "Nick `%s' is invalid", cmd[2] );
    813813        }
    814814        else if( ( old = irc_user_by_name( irc, cmd[2] ) ) && old != iu )
    815815        {
    816                 irc_usermsg( irc, "Nick `%s' already exists", cmd[2] );
     816                irc_rootmsg( irc, "Nick `%s' already exists", cmd[2] );
    817817        }
    818818        else
     
    820820                if( !irc_user_set_nick( iu, cmd[2] ) )
    821821                {
    822                         irc_usermsg( irc, "Error while changing nick" );
     822                        irc_rootmsg( irc, "Error while changing nick" );
    823823                        return;
    824824                }
     
    836836                }
    837837               
    838                 irc_usermsg( irc, "Nick successfully changed" );
     838                irc_rootmsg( irc, "Nick successfully changed" );
    839839        }
    840840}
     
    869869                        format = "%-32.32s  %-16.16s";
    870870               
    871                 irc_usermsg( irc, format, "Handle", "Nickname" );
     871                irc_rootmsg( irc, format, "Handle", "Nickname" );
    872872                for( l = a->ic->deny; l; l = l->next )
    873873                {
    874874                        bee_user_t *bu = bee_user_by_handle( irc->b, a->ic, l->data );
    875875                        irc_user_t *iu = bu ? bu->ui_data : NULL;
    876                         irc_usermsg( irc, format, l->data, iu ? iu->nick : "(none)" );
    877                 }
    878                 irc_usermsg( irc, "End of list." );
     876                        irc_rootmsg( irc, format, l->data, iu ? iu->nick : "(none)" );
     877                }
     878                irc_rootmsg( irc, "End of list." );
    879879               
    880880                return;
     
    885885                if( !iu || !iu->bu )
    886886                {
    887                         irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
     887                        irc_rootmsg( irc, "Nick `%s' does not exist", cmd[1] );
    888888                        return;
    889889                }
     
    893893        else if( !( a = account_get( irc->b, cmd[1] ) ) )
    894894        {
    895                 irc_usermsg( irc, "Invalid account" );
     895                irc_rootmsg( irc, "Invalid account" );
    896896                return;
    897897        }
    898898        else if( !( ( ic = a->ic ) && ( a->ic->flags & OPT_LOGGED_IN ) ) )
    899899        {
    900                 irc_usermsg( irc, "That account is not on-line" );
     900                irc_rootmsg( irc, "That account is not on-line" );
    901901                return;
    902902        }
     
    904904        if( !ic->acc->prpl->add_deny || !ic->acc->prpl->rem_permit )
    905905        {
    906                 irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     906                irc_rootmsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
    907907        }
    908908        else
     
    910910                imc_rem_allow( ic, cmd[2] );
    911911                imc_add_block( ic, cmd[2] );
    912                 irc_usermsg( irc, "Buddy `%s' moved from allow- to block-list", cmd[2] );
     912                irc_rootmsg( irc, "Buddy `%s' moved from allow- to block-list", cmd[2] );
    913913        }
    914914}
     
    929929                        format = "%-32.32s  %-16.16s";
    930930               
    931                 irc_usermsg( irc, format, "Handle", "Nickname" );
     931                irc_rootmsg( irc, format, "Handle", "Nickname" );
    932932                for( l = a->ic->permit; l; l = l->next )
    933933                {
    934934                        bee_user_t *bu = bee_user_by_handle( irc->b, a->ic, l->data );
    935935                        irc_user_t *iu = bu ? bu->ui_data : NULL;
    936                         irc_usermsg( irc, format, l->data, iu ? iu->nick : "(none)" );
    937                 }
    938                 irc_usermsg( irc, "End of list." );
     936                        irc_rootmsg( irc, format, l->data, iu ? iu->nick : "(none)" );
     937                }
     938                irc_rootmsg( irc, "End of list." );
    939939               
    940940                return;
     
    945945                if( !iu || !iu->bu )
    946946                {
    947                         irc_usermsg( irc, "Nick `%s' does not exist", cmd[1] );
     947                        irc_rootmsg( irc, "Nick `%s' does not exist", cmd[1] );
    948948                        return;
    949949                }
     
    953953        else if( !( a = account_get( irc->b, cmd[1] ) ) )
    954954        {
    955                 irc_usermsg( irc, "Invalid account" );
     955                irc_rootmsg( irc, "Invalid account" );
    956956                return;
    957957        }
    958958        else if( !( ( ic = a->ic ) && ( a->ic->flags & OPT_LOGGED_IN ) ) )
    959959        {
    960                 irc_usermsg( irc, "That account is not on-line" );
     960                irc_rootmsg( irc, "That account is not on-line" );
    961961                return;
    962962        }
     
    964964        if( !ic->acc->prpl->rem_deny || !ic->acc->prpl->add_permit )
    965965        {
    966                 irc_usermsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
     966                irc_rootmsg( irc, "Command `%s' not supported by this protocol", cmd[0] );
    967967        }
    968968        else
     
    971971                imc_add_allow( ic, cmd[2] );
    972972               
    973                 irc_usermsg( irc, "Buddy `%s' moved from block- to allow-list", cmd[2] );
     973                irc_rootmsg( irc, "Buddy `%s' moved from block- to allow-list", cmd[2] );
    974974        }
    975975}
     
    998998                        if( ( ++times >= 3 ) )
    999999                        {
    1000                                 irc_usermsg( irc, "%s", msg[rand()%(sizeof(msg)/sizeof(char*))] );
     1000                                irc_rootmsg( irc, "%s", msg[rand()%(sizeof(msg)/sizeof(char*))] );
    10011001                                last_irc = NULL;
    10021002                                times = 0;
     
    10111011                }
    10121012               
    1013                 irc_usermsg( irc, "Did I ask you something?" );
     1013                irc_rootmsg( irc, "Did I ask you something?" );
    10141014                return;
    10151015        }
     
    10211021                if( sscanf( cmd[1], "%d", &numq ) != 1 )
    10221022                {
    1023                         irc_usermsg( irc, "Invalid query number" );
     1023                        irc_rootmsg( irc, "Invalid query number" );
    10241024                        return;
    10251025                }
     
    10311031                if( !q )
    10321032                {
    1033                         irc_usermsg( irc, "Uhm, I never asked you something like that..." );
     1033                        irc_rootmsg( irc, "Uhm, I never asked you something like that..." );
    10341034                        return;
    10351035                }
     
    10711071                format = "%-16.16s  %-40.40s  %s";
    10721072       
    1073         irc_usermsg( irc, format, "Nick", "Handle/Account", "Status" );
     1073        irc_rootmsg( irc, format, "Nick", "Handle/Account", "Status" );
    10741074       
    10751075        if( irc->root->last_channel &&
     
    10941094                       
    10951095                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
    1096                         irc_usermsg( irc, format, iu->nick, s, st );
     1096                        irc_rootmsg( irc, format, iu->nick, s, st );
    10971097                }
    10981098               
     
    11121112                {
    11131113                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
    1114                         irc_usermsg( irc, format, iu->nick, s, irc_user_get_away( iu ) );
     1114                        irc_rootmsg( irc, format, iu->nick, s, irc_user_get_away( iu ) );
    11151115                }
    11161116                n_away ++;
     
    11291129                {
    11301130                        g_snprintf( s, sizeof( s ) - 1, "%s %s(%s)", bu->handle, bu->ic->acc->prpl->name, bu->ic->acc->user );
    1131                         irc_usermsg( irc, format, iu->nick, s, "Offline" );
     1131                        irc_rootmsg( irc, format, iu->nick, s, "Offline" );
    11321132                }
    11331133                n_offline ++;
    11341134        }
    11351135       
    1136         irc_usermsg( irc, "%d buddies (%d available, %d away, %d offline)", n_online + n_away + n_offline, n_online, n_away, n_offline );
     1136        irc_rootmsg( irc, "%d buddies (%d available, %d away, %d offline)", n_online + n_away + n_offline, n_online, n_away, n_offline );
    11371137}
    11381138
     
    11441144        if( !q )
    11451145        {
    1146                 irc_usermsg( irc, "There are no pending questions." );
    1147                 return;
    1148         }
    1149        
    1150         irc_usermsg( irc, "Pending queries:" );
     1146                irc_rootmsg( irc, "There are no pending questions." );
     1147                return;
     1148        }
     1149       
     1150        irc_rootmsg( irc, "Pending queries:" );
    11511151       
    11521152        for( num = 0; q; q = q->next, num ++ )
    11531153                if( q->ic ) /* Not necessary yet, but it might come later */
    1154                         irc_usermsg( irc, "%d, %s(%s): %s", num, q->ic->acc->prpl->name, q->ic->acc->user, q->question );
    1155                 else
    1156                         irc_usermsg( irc, "%d, BitlBee: %s", num, q->question );
     1154                        irc_rootmsg( irc, "%d, %s(%s): %s", num, q->ic->acc->prpl->name, q->ic->acc->user, q->question );
     1155                else
     1156                        irc_rootmsg( irc, "%d, BitlBee: %s", num, q->question );
    11571157}
    11581158
     
    11701170                if( !( acc = account_get( irc->b, cmd[2] ) ) )
    11711171                {
    1172                         irc_usermsg( irc, "Invalid account" );
     1172                        irc_rootmsg( irc, "Invalid account" );
    11731173                        return;
    11741174                }
    11751175                else if( !acc->prpl->chat_join )
    11761176                {
    1177                         irc_usermsg( irc, "Named chatrooms not supported on that account." );
     1177                        irc_rootmsg( irc, "Named chatrooms not supported on that account." );
    11781178                        return;
    11791179                }
     
    12051205                    set_setstr( &ic->set, "room", cmd[3] ) )
    12061206                {
    1207                         irc_usermsg( irc, "Chatroom successfully added." );
     1207                        irc_rootmsg( irc, "Chatroom successfully added." );
    12081208                }
    12091209                else
     
    12121212                                irc_channel_free( ic );
    12131213                       
    1214                         irc_usermsg( irc, "Could not add chatroom." );
     1214                        irc_rootmsg( irc, "Could not add chatroom." );
    12151215                }
    12161216                g_free( channel );
     
    12271227                        if( !iu->bu->ic->acc->prpl->chat_with( iu->bu->ic, iu->bu->handle ) )
    12281228                        {
    1229                                 irc_usermsg( irc, "(Possible) failure while trying to open "
     1229                                irc_rootmsg( irc, "(Possible) failure while trying to open "
    12301230                                                  "a groupchat with %s.", iu->nick );
    12311231                        }
     
    12331233                else
    12341234                {
    1235                         irc_usermsg( irc, "Can't open a groupchat with %s.", cmd[2] );
     1235                        irc_rootmsg( irc, "Can't open a groupchat with %s.", cmd[2] );
    12361236                }
    12371237        }
     
    12401240                 g_strcasecmp( cmd[1], "del" ) == 0 )
    12411241        {
    1242                 irc_usermsg( irc, "Warning: The \002chat\002 command was mostly replaced with the \002channel\002 command." );
     1242                irc_rootmsg( irc, "Warning: The \002chat\002 command was mostly replaced with the \002channel\002 command." );
    12431243                cmd_channel( irc, cmd );
    12441244        }
    12451245        else
    12461246        {
    1247                 irc_usermsg( irc, "Unknown command: %s %s. Please use \x02help commands\x02 to get a list of available commands.", "chat", cmd[1] );
     1247                irc_rootmsg( irc, "Unknown command: %s %s. Please use \x02help commands\x02 to get a list of available commands.", "chat", cmd[1] );
    12481248        }
    12491249}
     
    12601260               
    12611261                if( strchr( irc->umode, 'b' ) )
    1262                         irc_usermsg( irc, "Group list:" );
     1262                        irc_rootmsg( irc, "Group list:" );
    12631263               
    12641264                for( l = irc->b->groups; l; l = l->next )
    12651265                {
    12661266                        bee_group_t *bg = l->data;
    1267                         irc_usermsg( irc, "%d. %s", n ++, bg->name );
    1268                 }
    1269                 irc_usermsg( irc, "End of group list" );
    1270         }
    1271         else
    1272         {
    1273                 irc_usermsg( irc, "Unknown command: %s %s. Please use \x02help commands\x02 to get a list of available commands.", "group", cmd[1] );
     1267                        irc_rootmsg( irc, "%d. %s", n ++, bg->name );
     1268                }
     1269                irc_rootmsg( irc, "End of group list" );
     1270        }
     1271        else
     1272        {
     1273                irc_rootmsg( irc, "Unknown command: %s %s. Please use \x02help commands\x02 to get a list of available commands.", "group", cmd[1] );
    12741274        }
    12751275}
     
    12841284        if( !files )
    12851285        {
    1286                 irc_usermsg( irc, "No pending transfers" );
     1286                irc_rootmsg( irc, "No pending transfers" );
    12871287                return;
    12881288        }
     
    13051305                case LIST:
    13061306                        if ( file->status == FT_STATUS_LISTENING )
    1307                                 irc_usermsg( irc,
     1307                                irc_rootmsg( irc,
    13081308                                        "Pending file(id %d): %s (Listening...)", file->local_id, file->file_name);
    13091309                        else
     
    13141314                                        kb_per_s = file->bytes_transferred / 1024 / diff;
    13151315                                       
    1316                                 irc_usermsg( irc,
     1316                                irc_rootmsg( irc,
    13171317                                        "Pending file(id %d): %s (%10zd/%zd kb, %d kb/s)", file->local_id, file->file_name,
    13181318                                        file->bytes_transferred/1024, file->file_size/1024, kb_per_s);
     
    13221322                        if( file->status == FT_STATUS_LISTENING )
    13231323                        {
    1324                                 irc_usermsg( irc, "Rejecting file transfer for %s", file->file_name );
     1324                                irc_rootmsg( irc, "Rejecting file transfer for %s", file->file_name );
    13251325                                imcb_file_canceled( file->ic, file, "Denied by user" );
    13261326                        }
     
    13291329                        if( file->local_id == fid )
    13301330                        {
    1331                                 irc_usermsg( irc, "Canceling file transfer for %s", file->file_name );
     1331                                irc_rootmsg( irc, "Canceling file transfer for %s", file->file_name );
    13321332                                imcb_file_canceled( file->ic, file, "Canceled by user" );
    13331333                        }
     
    13391339static void cmd_nick( irc_t *irc, char **cmd )
    13401340{
    1341         irc_usermsg( irc, "This command is deprecated. Try: account %s set display_name", cmd[1] );
     1341        irc_rootmsg( irc, "This command is deprecated. Try: account %s set display_name", cmd[1] );
    13421342}
    13431343
     
    13541354       
    13551355        if( msg )
    1356                 irc_usermsg( irc, "%s: This seems to be your first time using this "
     1356                irc_rootmsg( irc, "%s: This seems to be your first time using this "
    13571357                                  "this version of BitlBee. Here's a list of new "
    13581358                                  "features you may like to know about:\n\n%s\n",
  • storage_xml.c

    r3231485 re67e513  
    269269        {
    270270                xd->unknown_tag ++;
    271                 irc_usermsg( irc, "Warning: Unknown XML tag found in configuration file (%s). "
     271                irc_rootmsg( irc, "Warning: Unknown XML tag found in configuration file (%s). "
    272272                                  "This may happen when downgrading BitlBee versions. "
    273273                                  "This tag will be skipped and the information will be lost "
     
    397397                        {
    398398                                if( gerr && irc )
    399                                         irc_usermsg( irc, "Error from XML-parser: %s", gerr->message );
     399                                        irc_rootmsg( irc, "Error from XML-parser: %s", gerr->message );
    400400                               
    401401                                g_clear_error( &gerr );
     
    473473        if( ( fd = mkstemp( path ) ) < 0 )
    474474        {
    475                 irc_usermsg( irc, "Error while opening configuration file." );
     475                irc_rootmsg( irc, "Error while opening configuration file." );
    476476                return STORAGE_OTHER_ERROR;
    477477        }
     
    570570        if( rename( path, path2 ) != 0 )
    571571        {
    572                 irc_usermsg( irc, "Error while renaming temporary configuration file." );
     572                irc_rootmsg( irc, "Error while renaming temporary configuration file." );
    573573               
    574574                g_free( path2 );
     
    585585        g_free( pass_buf );
    586586       
    587         irc_usermsg( irc, "Write error. Disk full?" );
     587        irc_rootmsg( irc, "Write error. Disk full?" );
    588588        close( fd );
    589589       
Note: See TracChangeset for help on using the changeset viewer.