Changeset adec749


Ignore:
Timestamp:
2015-07-30T03:18:02Z (4 years ago)
Author:
dequis <dx@…>
Branches:
master
Children:
91dd19c
Parents:
4966712a (diff), 73dd021 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'develop'

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • doc/user-guide/commands.xml

    r4966712a radec749  
    11861186        </bitlbee-setting>
    11871187
     1188        <bitlbee-setting name="anonymous" type="boolean" scope="account">
     1189                <default>false</default>
     1190
     1191                <description>
     1192                        <para>
     1193                                This enables SASL ANONYMOUS login for jabber accounts, as specified by XEP-0175.
     1194                        </para>
     1195
     1196                        <para>
     1197                                With this setting enabled, if the server allows this method, a password isn't required and the username part of the JID is ignored (you can use anonymous@jabber.example.com). Servers will usually assign you a random numeric username instead.
     1198                        </para>
     1199                </description>
     1200
     1201        </bitlbee-setting>
     1202
    11881203        <bitlbee-setting name="ops" type="string" scope="global">
    11891204                <default>both</default>
  • protocols/jabber/jabber.c

    r4966712a radec749  
    8585                set_setstr(&acc->set, "server", "chat.hipchat.com");
    8686        } else {
    87                 s = set_add(&acc->set, "oauth", "false", set_eval_oauth, acc);
     87                set_add(&acc->set, "oauth", "false", set_eval_oauth, acc);
     88
     89                /* this reuses set_eval_oauth, which clears the password */
     90                set_add(&acc->set, "anonymous", "false", set_eval_oauth, acc);
    8891        }
    8992
  • protocols/jabber/s5bytestream.c

    r4966712a radec749  
    8585                return jabber_bs_abort(bt, msg ": %s", strerror(errno)); }
    8686
    87 gboolean jabber_bs_abort(struct bs_transfer *bt, char *format, ...);
     87gboolean jabber_bs_abort(struct bs_transfer *bt, char *format, ...) G_GNUC_PRINTF(2, 3);
    8888void jabber_bs_canceled(file_transfer_t *ft, char *reason);
    8989void jabber_bs_free_transfer(file_transfer_t *ft);
  • protocols/jabber/sasl.c

    r4966712a radec749  
    5454        struct xt_node *c, *reply;
    5555        char *s;
    56         int sup_plain = 0, sup_digest = 0, sup_gtalk = 0, sup_fb = 0;
    57         int want_oauth = FALSE, want_hipchat = FALSE;
     56        int sup_plain = 0, sup_digest = 0, sup_gtalk = 0, sup_fb = 0, sup_anonymous = 0;
     57        int want_oauth = FALSE, want_hipchat = FALSE, want_anonymous = FALSE;
    5858        GString *mechs;
    5959
     
    7474        }
    7575
     76        want_anonymous = set_getbool(&ic->acc->set, "anonymous");
    7677        want_oauth = set_getbool(&ic->acc->set, "oauth");
    7778        want_hipchat = (jd->flags & JFLAG_HIPCHAT);
     
    8485                } else if (c->text && g_strcasecmp(c->text, "DIGEST-MD5") == 0) {
    8586                        sup_digest = 1;
     87                } else if (c->text && g_strcasecmp(c->text, "ANONYMOUS") == 0) {
     88                        sup_anonymous = 1;
    8689                } else if (c->text && g_strcasecmp(c->text, "X-OAUTH2") == 0) {
    8790                        sup_gtalk = 1;
     
    139142        } else if (want_oauth) {
    140143                imcb_error(ic, "OAuth requested, but not supported by server");
     144                imc_logout(ic, FALSE);
     145                xt_free_node(reply);
     146                return XT_ABORT;
     147        } else if (want_anonymous && sup_anonymous) {
     148                xt_add_attr(reply, "mechanism", "ANONYMOUS");
     149
     150                /* Well, that was easy. */
     151        } else if (want_anonymous) {
     152                imcb_error(ic, "Anonymous login requested, but not supported by server");
    141153                imc_logout(ic, FALSE);
    142154                xt_free_node(reply);
Note: See TracChangeset for help on using the changeset viewer.