Changeset 4346c3f4


Ignore:
Timestamp:
2010-07-16T23:31:55Z (9 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
e437366
Parents:
3709301 (diff), ef14a83 (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:

Merging mainline.

Files:
9 edited

Legend:

Unmodified
Added
Removed
  • bitlbee.h

    r3709301 r4346c3f4  
    3535
    3636#define PACKAGE "BitlBee"
    37 #define BITLBEE_VERSION "1.2.7"
     37#define BITLBEE_VERSION "1.2.8"
    3838#define VERSION BITLBEE_VERSION
    3939#define BITLBEE_VER(a,b,c) (((a) << 16) + ((b) << 8) + (c))
    40 #define BITLBEE_VERSION_CODE BITLBEE_VER(1, 2, 7)
     40#define BITLBEE_VERSION_CODE BITLBEE_VER(1, 2, 8)
    4141
    4242#define MAX_STRING 511
  • debian/changelog

    r3709301 r4346c3f4  
    77
    88 -- Wilmer van der Gaast <wilmer@gaast.net>  Sat, 05 Jun 2010 15:16:38 +0100
     9
     10bitlbee (1.2.8-1) unstable; urgency=low
     11
     12  * New upstream version.
     13
     14 -- Wilmer van der Gaast <wilmer@gaast.net>  Sat, 10 Jul 2010 13:54:55 +0100
    915
    1016bitlbee (1.2.7-1) unstable; urgency=high
  • doc/CHANGES

    r3709301 r4346c3f4  
    33
    44http://bugs.bitlbee.org/bitlbee/timeline?daysback=90&changeset=on
     5
     6Version 1.2.8:
     7- Now always using the AIM-style authentication method for OSCAR connections,
     8  even when connecting to ICQ. This solves login issues some people were
     9  having. (If you have problems, try changing the old_icq_auth setting.)
     10- Twitter:
     11  * Allow changing the Twitter API base URL so the module can also be used
     12    for identi.ca or any other compatible network.
     13  * Fetch the full list of Twitter contacts instead of slowly adding all
     14    contacts as they post a message.
     15  * Fixed message length counting.
     16  * Allow following/unfollowing people using the usual add/remove commands.
     17  * Better error reporting.
     18- Added a user_agent setting to the Jabber module to get around artificial
     19  client restrictions.
     20- Allow nick changes (although only before register/identify).
     21- Some more minor bugfixes/etc.
     22
     23Finished 4 Jul 2010
    524
    625Version 1.2.7:
  • doc/user-guide/commands.xml

    r3709301 r4346c3f4  
    531531        </bitlbee-setting>
    532532
     533        <bitlbee-setting name="base_url" type="string" scope="account">
     534                <default>http://twitter.com</default>
     535
     536                <description>
     537                        <para>
     538                                There are more services that understand the Twitter API than just Twitter.com. BitlBee can connect to all Twitter API implementations.
     539                        </para>
     540
     541                        <para>
     542                                For example, set this setting to <emphasis>http://identi.ca/api</emphasis> to use Identi.ca.
     543                        </para>
     544
     545                        <para>
     546                                Keep two things in mind: When not using Twitter, you <emphasis>must</emphasis> also disable the <emphasis>oauth</emphasis> setting as it currently only works with Twitter. If you're still having issues, make sure there is <emphasis>no</emphasis> slash at the end of the URL you enter here.
     547                        </para>
     548                </description>
     549        </bitlbee-setting>
     550
    533551        <bitlbee-setting name="charset" type="string" scope="global">
    534552                <default>utf-8</default>
  • lib/http_client.c

    r3709301 r4346c3f4  
    3535static gboolean http_ssl_connected( gpointer data, void *source, b_input_condition cond );
    3636static gboolean http_incoming_data( gpointer data, int source, b_input_condition cond );
    37 
    38 
    39 void *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data )
     37static void http_free( struct http_request *req );
     38
     39
     40struct http_request *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data )
    4041{
    4142        struct http_request *req;
     
    6768        req->request = g_strdup( request );
    6869        req->request_length = strlen( request );
     70        req->redir_ttl = 3;
    6971       
    7072        return( req );
    7173}
    7274
    73 void *http_dorequest_url( char *url_string, http_input_function func, gpointer data )
     75struct http_request *http_dorequest_url( char *url_string, http_input_function func, gpointer data )
    7476{
    7577        url_t *url = g_new0( url_t, 1 );
     
    311313        }
    312314       
    313         if( req->status_code == 301 || req->status_code == 302 )
     315        if( ( req->status_code == 301 || req->status_code == 302 ) && req->redir_ttl-- > 0 )
    314316        {
    315317                char *loc, *new_request, *new_host;
     
    445447}
    446448
    447 void http_free( struct http_request *req )
     449static void http_free( struct http_request *req )
    448450{
    449451        g_free( req->request );
  • lib/http_client.h

    r3709301 r4346c3f4  
    6161        int finished;           /* Set to non-0 if the request was completed
    6262                                   successfully. */
     63        int redir_ttl;          /* You can set it to 0 if you don't want
     64                                   http_client to follow them. */
    6365       
    6466        http_input_function func;
     
    7981   you want to add some extra headers. As you can see, HTTPS connections
    8082   are also supported (using ssl_client). */
    81 void *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data );
    82 void *http_dorequest_url( char *url_string, http_input_function func, gpointer data );
    83 
    84 void http_free( struct http_request *req );
     83struct http_request *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data );
     84struct http_request *http_dorequest_url( char *url_string, http_input_function func, gpointer data );
  • protocols/oscar/oscar.c

    r3709301 r4346c3f4  
    25312531        struct groupchat *c;
    25322532       
    2533         chatname = g_strdup_printf("%s%s_%d", isdigit(*ic->acc->user) ? "icq_" : "",
     2533        chatname = g_strdup_printf("%s%s%d", isdigit(*ic->acc->user) ? "icq" : "",
    25342534                                   ic->acc->user, chat_id++);
    25352535       
  • protocols/twitter/twitter_lib.c

    r3709301 r4346c3f4  
    3636#include <errno.h>
    3737
     38/* GLib < 2.12.0 doesn't have g_ascii_strtoll(), work around using system strtoll(). */
     39/* GLib < 2.12.4 can be buggy: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488013 */
     40#if !GLIB_CHECK_VERSION(2,12,5)
     41#include <stdlib.h>
     42#include <limits.h>
     43#define g_ascii_strtoll strtoll
     44#endif
     45
    3846#define TXL_STATUS 1
    3947#define TXL_USER 2
     
    6674static void txu_free(struct twitter_xml_user *txu)
    6775{
     76        if (txu == NULL)
     77                return;
    6878        g_free(txu->name);
    6979        g_free(txu->screen_name);
     
    8999{
    90100        GSList *l;
     101        if (txl == NULL)
     102                return;
    91103        for ( l = txl->list; l ; l = g_slist_next(l) )
    92104                if (txl->type == TXL_STATUS)
     
    473485        {
    474486                status = l->data;
     487                if (status->user == NULL || status->text == NULL)
     488                        continue;
     489
    475490                twitter_add_buddy(ic, status->user->screen_name, status->user->name);
    476491               
  • storage_xml.c

    r3709301 r4346c3f4  
    5959        char *given_pass;
    6060        xml_pass_st pass_st;
     61        int unknown_tag;
    6162};
    6263
     
    8687        irc_t *irc = xd->irc;
    8788       
    88         if( g_strcasecmp( element_name, "user" ) == 0 )
     89        if( xd->unknown_tag > 0 )
     90        {
     91                xd->unknown_tag ++;
     92        }
     93        else if( g_strcasecmp( element_name, "user" ) == 0 )
    8994        {
    9095                char *nick = xml_attr( attr_names, attr_values, "nick" );
     
    267272        else
    268273        {
     274                xd->unknown_tag ++;
     275                irc_usermsg( irc, "Warning: Unknown XML tag found in configuration file (%s). "
     276                                  "This may happen when downgrading BitlBee versions. "
     277                                  "This tag will be skipped and the information will be lost "
     278                                  "once you save your settings.", element_name );
     279                /*
    269280                g_set_error( error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
    270281                             "Unkown element: %s", element_name );
     282                */
    271283        }
    272284}
     
    276288        struct xml_parsedata *xd = data;
    277289       
    278         if( g_strcasecmp( element_name, "setting" ) == 0 && xd->current_setting )
     290        if( xd->unknown_tag > 0 )
     291        {
     292                xd->unknown_tag --;
     293        }
     294        else if( g_strcasecmp( element_name, "setting" ) == 0 && xd->current_setting )
    279295        {
    280296                g_free( xd->current_setting );
Note: See TracChangeset for help on using the changeset viewer.