Changeset 93b7bd4
- Timestamp:
- 2006-10-15T09:34:02Z (18 years ago)
- Branches:
- master
- Children:
- ee5c355
- Parents:
- 7e83adca (diff), e97827b (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. - Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/rc4.c
r7e83adca r93b7bd4 6 6 * Copyright 2006 Wilmer van der Gaast <wilmer@gaast.net> * 7 7 * * 8 * This program is free software; you can redistribute it and/or modify*9 * it under the terms of the GNU General Public License as published by*10 * the Free Software Foundation; either version 2 of the License, or*11 * (at your option) any later version.*8 * This library is free software; you can redistribute it and/or * 9 * modify it under the terms of the GNU Lesser General Public * 10 * License as published by the Free Software Foundation, version * 11 * 2.1. * 12 12 * * 13 * This programis distributed in the hope that it will be useful, *13 * This library is distributed in the hope that it will be useful, * 14 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details.*15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 16 * Lesser General Public License for more details. * 17 17 * * 18 * You should have received a copy of the GNU General Public License along*19 * with this program; if not, write to the Free Software Foundation, Inc., *20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.*18 * You should have received a copy of the GNU Lesser General Public License * 19 * along with this library; if not, write to the Free Software Foundation, * 20 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * 21 21 * * 22 22 \***************************************************************************/ -
protocols/msn/msn.c
r7e83adca r93b7bd4 367 367 struct gaim_connection *gc = acc->gc; 368 368 struct msn_data *md; 369 char buf[1024], *fn , *s;369 char buf[1024], *fn; 370 370 int i; 371 371 … … 382 382 } 383 383 384 /* Of course we could use http_encode() here, but when we encode 385 every character, the server is less likely to complain about the 386 chosen name. However, the MSN server doesn't seem to like escaped 387 non-ASCII chars, so we keep those unescaped. */ 388 s = fn = g_new0( char, strlen( value ) * 3 + 1 ); 389 for( i = 0; value[i]; i ++ ) 390 if( value[i] & 128 ) 391 { 392 *s = value[i]; 393 s ++; 394 } 395 else 396 { 397 g_snprintf( s, 4, "%%%02X", value[i] ); 398 s += 3; 399 } 384 fn = msn_http_encode( value ); 400 385 401 386 g_snprintf( buf, sizeof( buf ), "REA %d %s %s\r\n", ++md->trId, gc->username, fn ); -
protocols/msn/msn.h
r7e83adca r93b7bd4 157 157 char **msn_linesplit( char *line ); 158 158 int msn_handler( struct msn_handler_data *h ); 159 char *msn_http_encode( const char *input ); 159 160 160 161 /* tables.c */ -
protocols/msn/msn_util.c
r7e83adca r93b7bd4 54 54 { 55 55 struct msn_data *md = gc->proto_data; 56 GSList *l, **lp = NULL;57 56 char buf[1024], *realname; 58 57 59 if( strcmp( list, "AL" ) == 0 ) 60 lp = &gc->permit; 61 else if( strcmp( list, "BL" ) == 0 ) 62 lp = &gc->deny; 63 64 if( lp ) 65 for( l = *lp; l; l = l->next ) 66 if( g_strcasecmp( l->data, who ) == 0 ) 67 return( 1 ); 68 69 realname = g_new0( char, strlen( realname_ ) * 3 + 1 ); 70 strcpy( realname, realname_ ); 71 http_encode( realname ); 58 realname = msn_http_encode( realname_ ); 72 59 73 60 g_snprintf( buf, sizeof( buf ), "ADD %d %s %s %s\r\n", ++md->trId, list, who, realname ); … … 76 63 g_free( realname ); 77 64 78 if( lp )79 *lp = g_slist_append( *lp, g_strdup( who ) );80 81 65 return( 1 ); 82 66 } … … 90 74 { 91 75 struct msn_data *md = gc->proto_data; 92 GSList *l = NULL, **lp = NULL;93 76 char buf[1024]; 94 95 if( strcmp( list, "AL" ) == 0 )96 lp = &gc->permit;97 else if( strcmp( list, "BL" ) == 0 )98 lp = &gc->deny;99 100 if( lp )101 {102 for( l = *lp; l; l = l->next )103 if( g_strcasecmp( l->data, who ) == 0 )104 break;105 106 if( !l )107 return( 1 );108 }109 77 110 78 g_snprintf( buf, sizeof( buf ), "REM %d %s %s\r\n", ++md->trId, list, who ); 111 79 if( msn_write( gc, buf, strlen( buf ) ) ) 112 {113 if( lp )114 *lp = g_slist_remove( *lp, l->data );115 116 80 return( 1 ); 117 }118 81 119 82 return( 0 ); … … 350 313 return( 1 ); 351 314 } 315 316 /* The difference between this function and the normal http_encode() function 317 is that this one escapes every 7-bit ASCII character because this is said 318 to avoid some lame server-side checks when setting a real-name. Also, 319 non-ASCII characters are not escaped because MSN servers don't seem to 320 appreciate that! */ 321 char *msn_http_encode( const char *input ) 322 { 323 char *ret, *s; 324 int i; 325 326 ret = s = g_new0( char, strlen( input ) * 3 + 1 ); 327 for( i = 0; input[i]; i ++ ) 328 if( input[i] & 128 ) 329 { 330 *s = input[i]; 331 s ++; 332 } 333 else 334 { 335 g_snprintf( s, 4, "%%%02X", input[i] ); 336 s += 3; 337 } 338 339 return ret; 340 } -
protocols/msn/passport.c
r7e83adca r93b7bd4 59 59 rep->data = data; 60 60 rep->func = func; 61 rep->header = header; 61 62 62 63 server = g_strdup( prd_cached ); … … 125 126 static char *passport_create_header( char *cookie, char *email, char *pwd ) 126 127 { 127 char *buffer = g_new0( char, 2048 );128 char *buffer; 128 129 char *currenttoken; 129 130 char *email_enc, *pwd_enc; 131 132 currenttoken = strstr( cookie, "lc=" ); 133 if( currenttoken == NULL ) 134 return NULL; 130 135 131 136 email_enc = g_new0( char, strlen( email ) * 3 + 1 ); … … 137 142 http_encode( pwd_enc ); 138 143 139 currenttoken = strstr( cookie, "lc=" ); 140 if( currenttoken == NULL ) 141 return( NULL ); 142 143 g_snprintf( buffer, 2048, 144 "Authorization: Passport1.4 OrgVerb=GET," 145 "OrgURL=http%%3A%%2F%%2Fmessenger%%2Emsn%%2Ecom," 146 "sign-in=%s,pwd=%s,%s", email_enc, pwd_enc, 147 currenttoken ); 144 buffer = g_strdup_printf( "Authorization: Passport1.4 OrgVerb=GET," 145 "OrgURL=http%%3A%%2F%%2Fmessenger%%2Emsn%%2Ecom," 146 "sign-in=%s,pwd=%s,%s", email_enc, pwd_enc, 147 currenttoken ); 148 148 149 149 g_free( email_enc ); 150 150 g_free( pwd_enc ); 151 151 152 return ( buffer );152 return buffer; 153 153 } 154 154 -
protocols/yahoo/yahoo.c
r7e83adca r93b7bd4 192 192 gc->away = NULL; 193 193 194 if( msg)194 if( state && msg && g_strcasecmp( state, msg ) != 0 ) 195 195 { 196 196 yd->current_status = YAHOO_STATUS_CUSTOM; 197 197 gc->away = ""; 198 198 } 199 if( state ) 200 { 199 else if( state ) 200 { 201 /* Set msg to NULL since (if it isn't NULL already) it's equal 202 to state. msg must be empty if we want to use an existing 203 away state. */ 204 msg = NULL; 205 201 206 gc->away = ""; 202 207 if( g_strcasecmp( state, "Available" ) == 0 ) … … 235 240 yd->current_status = YAHOO_STATUS_AVAILABLE; 236 241 237 if( yd->current_status == YAHOO_STATUS_INVISIBLE ) 238 yahoo_set_away( yd->y2_id, yd->current_status, NULL, gc->away != NULL ); 239 else 240 yahoo_set_away( yd->y2_id, yd->current_status, msg, gc->away != NULL ); 242 yahoo_set_away( yd->y2_id, yd->current_status, msg, gc->away != NULL ); 241 243 } 242 244 -
root_commands.c
r7e83adca r93b7bd4 573 573 u->gc->acc->prpl->remove_buddy( u->gc, u->handle, NULL ); 574 574 user_del( irc, cmd[1] ); 575 nick_del( u->gc->acc, u->handle);575 nick_del( u->gc->acc, s ); 576 576 577 577 irc_usermsg( irc, "Buddy `%s' (nick %s) removed from contact list", s, cmd[1] ); … … 656 656 657 657 irc_usermsg( irc, format, "Handle", "Nickname" ); 658 for( l = a->gc-> deny; l; l = l->next )658 for( l = a->gc->permit; l; l = l->next ) 659 659 { 660 660 user_t *u = user_findhandle( a->gc, l->data );
Note: See TracChangeset
for help on using the changeset viewer.