Changes in / [537d9b9:3f44e43]


Ignore:
Files:
12 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • configure

    r537d9b9 r3f44e43  
    3636jabber="default-on"
    3737oscar="default-on"
    38 yahoo="default-on"
    3938
    4039twitter=1
     
    133132--jabber=0/1    Disable/enable Jabber part              $jabber
    134133--oscar=0/1     Disable/enable Oscar part (ICQ, AIM)    $oscar
    135 --yahoo=0/1     Disable/enable Yahoo part               $yahoo
    136134--twitter=0/1   Disable/enable Twitter part             $twitter
    137135
     
    837835        [ "$jabber" = "default-on" ] && jabber=0
    838836        [ "$oscar" = "default-on" ] && oscar=0
    839         [ "$yahoo" = "default-on" ] && yahoo=0
    840837
    841838        echo '#undef PACKAGE' >> config.h
     
    880877        protocols=$protocols'oscar '
    881878        protoobjs=$protoobjs'oscar_mod.o '
    882 fi
    883 
    884 if [ "$yahoo" = 0 ]; then
    885         echo '#undef WITH_YAHOO' >> config.h
    886 else
    887         echo '#define WITH_YAHOO' >> config.h
    888         protocols=$protocols'yahoo '
    889         protoobjs=$protoobjs'yahoo_mod.o '
    890879fi
    891880
  • doc/user-guide/commands.xml

    r537d9b9 r3f44e43  
    104104                        </bitlbee-command>
    105105
    106                         <bitlbee-command name="yahoo">
    107                                 <syntax>account add yahoo &lt;handle&gt; [&lt;password&gt;]</syntax>
    108 
    109                                 <description>
    110                                         <para>
    111                                                 For Yahoo! connections there are no special arguments.
    112                                         </para>
    113                                 </description>
    114                         </bitlbee-command>
    115 
    116106                </bitlbee-command>
    117107
  • irc_im.c

    r537d9b9 r3f44e43  
    10141014        if (!(acc = account_get(ic->irc->b, value))) {
    10151015                return SET_INVALID;
    1016         } else if (!acc->prpl->chat_join) {
     1016        } else if (!acc->prpl->chat_join && acc->prpl != &protocol_missing) {
    10171017                irc_rootmsg(ic->irc, "Named chatrooms not supported on that account.");
    10181018                return SET_INVALID;
  • protocols/account.c

    r537d9b9 r3f44e43  
    7171        s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | ACC_SET_LOCKABLE;
    7272        set_setstr(&a->set, "username", user);
     73
     74        if (prpl == &protocol_missing) {
     75                s = set_add(&a->set, "server", NULL, set_eval_account, a);
     76                s->flags |= SET_NOSAVE | SET_HIDDEN | ACC_SET_OFFLINE_ONLY | ACC_SET_ONLINE_ONLY;
     77        }
    7378
    7479        /* Hardcode some more clever tag guesses. */
  • protocols/nogaim.c

    r537d9b9 r3f44e43  
    196196}
    197197
     198/* Returns heap allocated string with text attempting to explain why a protocol is missing
     199 * Free the return value with g_free() */
     200char *explain_unknown_protocol(const char *name)
     201{
     202        char *extramsg = NULL;
     203
     204        if (is_protocol_disabled(name)) {
     205                return g_strdup("Protocol disabled in the global config (bitlbee.conf)");
     206        }
     207
     208        if (strcmp(name, "yahoo") == 0) {
     209                return g_strdup("The old yahoo protocol is gone, try the funyahoo++ libpurple plugin instead.");
     210        }
     211
     212#ifdef WITH_PURPLE
     213        if ((strcmp(name, "msn") == 0) ||
     214            (strcmp(name, "loubserp-mxit") == 0) ||
     215            (strcmp(name, "myspace") == 0)) {
     216                return g_strdup("This protocol has been removed from your libpurple version.");
     217        }
     218
     219        if (strcmp(name, "hipchat") == 0) {
     220                return g_strdup("This account type isn't supported by libpurple's jabber.");
     221        }
     222
     223#else
     224        if (strcmp(name, "aim") == 0 || strcmp(name, "icq") == 0) {
     225                return g_strdup("This account uses libpurple specific aliases for oscar. "
     226                                "Re-add the account with `account add oscar ...'");
     227        }
     228
     229        extramsg = "If this is a libpurple plugin, you might need to install bitlbee-libpurple instead.";
     230#endif
     231        return g_strconcat("The protocol plugin is not installed or could not be loaded. "
     232                           "Use the `plugins' command to list available protocols. ",
     233                           extramsg, NULL);
     234}
     235
    198236void nogaim_init()
    199237{
    200238        extern void msn_initmodule();
    201239        extern void oscar_initmodule();
    202         extern void byahoo_initmodule();
    203240        extern void jabber_initmodule();
    204241        extern void twitter_initmodule();
     
    212249#ifdef WITH_OSCAR
    213250        oscar_initmodule();
    214 #endif
    215 
    216 #ifdef WITH_YAHOO
    217         byahoo_initmodule();
    218251#endif
    219252
  • protocols/nogaim.h

    r537d9b9 r3f44e43  
    327327G_MODULE_EXPORT struct prpl *find_protocol(const char *name);
    328328G_MODULE_EXPORT gboolean is_protocol_disabled(const char *name);
     329G_MODULE_EXPORT char *explain_unknown_protocol(const char *name);
    329330/* When registering a new protocol, you should allocate space for a new prpl
    330331 * struct, initialize it (set the function pointers to point to your
  • root_commands.c

    r537d9b9 r3f44e43  
    439439
    440440                if (prpl == NULL) {
    441                         if (is_protocol_disabled(cmd[2])) {
    442                                 irc_rootmsg(irc, "Protocol disabled in global config");
    443                         } else {
    444                                 irc_rootmsg(irc, "Unknown protocol");
    445                         }
     441                        char *msg = explain_unknown_protocol(cmd[2]);
     442                        irc_rootmsg(irc, "Unknown protocol");
     443                        irc_rootmsg(irc, msg);
     444                        g_free(msg);
    446445                        return;
    447446                }
     
    592591                                    "first (use /OPER)", a->tag);
    593592                } else if (a->prpl == &protocol_missing) {
    594                         irc_rootmsg(irc, "Protocol `%s' not recognised (plugin may be missing or not running?)",
    595                                     set_getstr(&a->set, "_protocol_name"));
     593                        char *proto = set_getstr(&a->set, "_protocol_name");
     594                        char *msg = explain_unknown_protocol(proto);
     595                        irc_rootmsg(irc, "Unknown protocol `%s'", proto);
     596                        irc_rootmsg(irc, msg);
     597                        g_free(msg);
    596598                } else {
    597599                        account_on(irc->b, a);
Note: See TracChangeset for help on using the changeset viewer.