/pidgin/main: 06278419c703: Fix for TALOS-CAN-0120
Andrew Victor <[email protected]> Mon, 20 Jun 2016 20:09:57 -0400
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: 06278419c703cf6dd42a8add415480046ce9a05e Author: Andrew Victor <[email protected]> Date: 2016-06-03 12:07 -0500 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/06278419c703 Description: Fix for TALOS-CAN-0120 diffstat: libpurple/protocols/mxit/chunk.c | 72 ++++++++++++------------ libpurple/protocols/mxit/chunk.h | 76 ++++++++++++------------ libpurple/protocols/mxit/filexfer.c | 6 +- libpurple/protocols/mxit/filexfer.h | 4 +- libpurple/protocols/mxit/protocol.c | 98 ++++++++++++-------------------- libpurple/protocols/mxit/protocol.h | 6 +- libpurple/protocols/mxit/splashscreen.c | 2 +- libpurple/protocols/mxit/splashscreen.h | 2 +- 8 files changed, 121 insertions(+), 145 deletions(-) diffs (truncated from 607 to 300 lines): diff --git a/libpurple/protocols/mxit/chunk.c b/libpurple/protocols/mxit/chunk.c --- a/libpurple/protocols/mxit/chunk.c +++ b/libpurple/protocols/mxit/chunk.c @@ -168,7 +168,7 @@ static int get_int8( const char* chunkda * @param value The 16-bit value * @return The number of bytes extracted */ -static int get_int16( const char* chunkdata, short* value ) +static int get_int16( const char* chunkdata, unsigned short* value ) { *value = ntohs( *( (const short*) chunkdata ) ); /* host byte-order */ @@ -182,7 +182,7 @@ static int get_int16( const char* chunkd * @param value The 32-bit value * @return The number of bytes extracted */ -static int get_int32( const char* chunkdata, int* value ) +static int get_int32( const char* chunkdata, unsigned int* value ) { *value = ntohl( *( (const int*) chunkdata ) ); /* host byte-order */ @@ -230,9 +230,9 @@ static int get_data( const char* chunkda */ static int get_utf8_string( const char* chunkdata, char* str, int maxstrlen ) { - int pos = 0; - short len; - int skip = 0; + int pos = 0; + unsigned short len; + int skip = 0; /* string length [2 bytes] */ pos += get_int16( &chunkdata[pos], &len ); @@ -263,9 +263,9 @@ static int get_utf8_string( const char* * @param fileid A unique ID that identifies this file * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_reject( char* chunkdata, const char* fileid ) +size_t mxit_chunk_create_reject( char* chunkdata, const char* fileid ) { - int pos = 0; + size_t pos = 0; /* file id [8 bytes] */ pos += add_data( &chunkdata[pos], fileid, MXIT_CHUNK_FILEID_LEN ); @@ -289,9 +289,9 @@ int mxit_chunk_create_reject( char* chun * @param offset The start offset in the file * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_get( char* chunkdata, const char* fileid, int filesize, int offset ) +size_t mxit_chunk_create_get( char* chunkdata, const char* fileid, size_t filesize, size_t offset ) { - int pos = 0; + size_t pos = 0; /* file id [8 bytes] */ pos += add_data( &chunkdata[pos], fileid, MXIT_CHUNK_FILEID_LEN ); @@ -314,9 +314,9 @@ int mxit_chunk_create_get( char* chunkda * @param status The status of the file transfer (see chunk.h) * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_received( char* chunkdata, const char* fileid, unsigned char status ) +size_t mxit_chunk_create_received( char* chunkdata, const char* fileid, unsigned char status ) { - int pos = 0; + size_t pos = 0; /* file id [8 bytes] */ pos += add_data( &chunkdata[pos], fileid, MXIT_CHUNK_FILEID_LEN ); @@ -338,9 +338,9 @@ int mxit_chunk_create_received( char* ch * @param datalen The size of the file contents * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, int datalen ) +size_t mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, size_t datalen ) { - int pos = 0; + size_t pos = 0; const char* mime = NULL; /* data length [4 bytes] */ @@ -380,10 +380,10 @@ int mxit_chunk_create_senddirect( char* * @param datalen The size of the avatar data * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_set_avatar( char* chunkdata, const unsigned char* data, int datalen ) +size_t mxit_chunk_create_set_avatar( char* chunkdata, const unsigned char* data, size_t datalen ) { char fileid[MXIT_CHUNK_FILEID_LEN]; - int pos = 0; + size_t pos = 0; /* id [8 bytes] */ memset( &fileid, 0, sizeof( fileid ) ); /* set to 0 for file upload */ @@ -410,9 +410,9 @@ int mxit_chunk_create_set_avatar( char* * @param avatarId The Id of the avatar image (as string) * @return The number of bytes encoded in the buffer */ -int mxit_chunk_create_get_avatar( char* chunkdata, const char* mxitId, const char* avatarId ) +size_t mxit_chunk_create_get_avatar( char* chunkdata, const char* mxitId, const char* avatarId ) { - int pos = 0; + size_t pos = 0; /* number of avatars [4 bytes] */ pos += add_int32( &chunkdata[pos], 1 ); @@ -450,11 +450,11 @@ int mxit_chunk_create_get_avatar( char* * @param datalen The length of the chunked data * @param offer Decoded offerfile information */ -void mxit_chunk_parse_offer( char* chunkdata, int datalen, struct offerfile_chunk* offer ) +void mxit_chunk_parse_offer( char* chunkdata, size_t datalen, struct offerfile_chunk* offer ) { - int pos = 0; + int pos = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_offer (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_offer (%zu bytes)\n", datalen ); /* id [8 bytes] */ pos += get_data( &chunkdata[pos], offer->fileid, 8); @@ -493,11 +493,11 @@ void mxit_chunk_parse_offer( char* chunk * @param datalen The length of the chunked data * @param offer Decoded getfile information */ -void mxit_chunk_parse_get( char* chunkdata, int datalen, struct getfile_chunk* getfile ) +void mxit_chunk_parse_get( char* chunkdata, size_t datalen, struct getfile_chunk* getfile ) { int pos = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_file (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_file (%zu bytes)\n", datalen ); /* id [8 bytes] */ pos += get_data( &chunkdata[pos], getfile->fileid, 8 ); @@ -523,11 +523,11 @@ void mxit_chunk_parse_get( char* chunkda * @param datalen The length of the chunked data * @param splash Decoded splash image information */ -static void mxit_chunk_parse_splash( char* chunkdata, int datalen, struct splash_chunk* splash ) +static void mxit_chunk_parse_splash( char* chunkdata, size_t datalen, struct splash_chunk* splash ) { int pos = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_splash (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_splash (%zu bytes)\n", datalen ); /* anchor [1 byte] */ pos += get_int8( &chunkdata[pos], &(splash->anchor) ); @@ -553,12 +553,12 @@ static void mxit_chunk_parse_splash( cha * @param datalen The length of the chunked data * @param offer Decoded custom resource */ -void mxit_chunk_parse_cr( char* chunkdata, int datalen, struct cr_chunk* cr ) +void mxit_chunk_parse_cr( char* chunkdata, size_t datalen, struct cr_chunk* cr ) { - int pos = 0; - int chunklen = 0; + int pos = 0; + unsigned int chunklen = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_cr (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_cr (%zu bytes)\n", datalen ); /* id [UTF-8] */ pos += get_utf8_string( &chunkdata[pos], cr->id, sizeof( cr->id ) ); @@ -614,12 +614,12 @@ void mxit_chunk_parse_cr( char* chunkdat * @param datalen The length of the chunked data * @param sendfile Decoded sendfile information */ -void mxit_chunk_parse_sendfile( char* chunkdata, int datalen, struct sendfile_chunk* sendfile ) +void mxit_chunk_parse_sendfile( char* chunkdata, size_t datalen, struct sendfile_chunk* sendfile ) { - int pos = 0; - short entries = 0; + int pos = 0; + unsigned short entries = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_sendfile (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_sendfile (%zu bytes)\n", datalen ); /* number of entries [2 bytes] */ pos += get_int16( &chunkdata[pos], &entries ); @@ -645,12 +645,12 @@ void mxit_chunk_parse_sendfile( char* ch * @param datalen The length of the chunked data * @param avatar Decoded avatar information */ -void mxit_chunk_parse_get_avatar( char* chunkdata, int datalen, struct getavatar_chunk* avatar ) +void mxit_chunk_parse_get_avatar( char* chunkdata, size_t datalen, struct getavatar_chunk* avatar ) { - int pos = 0; - int numfiles = 0; + int pos = 0; + unsigned int numfiles = 0; - purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_get_avatar (%i bytes)\n", datalen ); + purple_debug_info( MXIT_PLUGIN_ID, "mxit_chunk_parse_get_avatar (%zu bytes)\n", datalen ); /* number of files [4 bytes] */ pos += get_int32( &chunkdata[pos], &numfiles ); diff --git a/libpurple/protocols/mxit/chunk.h b/libpurple/protocols/mxit/chunk.h --- a/libpurple/protocols/mxit/chunk.h +++ b/libpurple/protocols/mxit/chunk.h @@ -103,22 +103,22 @@ static inline gchar* chunk_data( gchar* * Offer File chunk (6). */ struct offerfile_chunk { - char fileid[MXIT_CHUNK_FILEID_LEN]; - char username[MXIT_CP_MAX_JID_LEN + 1]; - int filesize; - char filename[FILENAME_MAX]; - char mimetype[64]; + char fileid[MXIT_CHUNK_FILEID_LEN]; + char username[MXIT_CP_MAX_JID_LEN + 1]; + unsigned int filesize; + char filename[FILENAME_MAX]; + char mimetype[64]; }; /* * Get File chunk (8) response. */ struct getfile_chunk { - char fileid[MXIT_CHUNK_FILEID_LEN]; - int offset; - int length; - int crc; - char* data; + char fileid[MXIT_CHUNK_FILEID_LEN]; + unsigned int offset; + unsigned int length; + unsigned int crc; + char* data; }; /* @@ -135,11 +135,11 @@ struct cr_chunk { * Splash Image chunk (2) */ struct splash_chunk { - char anchor; - char showtime; - int bgcolor; - char* data; - int datalen; + char anchor; + char showtime; + unsigned int bgcolor; + char* data; + unsigned int datalen; }; /* @@ -153,40 +153,40 @@ struct splash_click_chunk { * Get Avatar chunk (14) response. */ struct getavatar_chunk { - char mxitid[50]; - char avatarid[64]; - char format[16]; - char bitdepth; - int crc; - int width; - int height; - int length; - char* data; + char mxitid[50]; + char avatarid[64]; + char format[16]; + char bitdepth; + unsigned int crc; + unsigned int width; + unsigned int height; + unsigned int length; + char* data; }; /* * Send File Direct chunk (10) response. */ struct sendfile_chunk { - char username[MXIT_CP_MAX_JID_LEN + 1]; - int status; - char statusmsg[1024]; + char username[MXIT_CP_MAX_JID_LEN + 1]; + unsigned int status; + char statusmsg[1024]; }; /* Encode chunk */ -int mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, int datalen ); -int mxit_chunk_create_reject( char* chunkdata, const char* fileid ); -int mxit_chunk_create_get( char* chunkdata, const char* fileid, int filesize, int offset ); -int mxit_chunk_create_received( char* chunkdata, const char* fileid, unsigned char status ); -int mxit_chunk_create_set_avatar( char* chunkdata, const unsigned char* data, int datalen ); -int mxit_chunk_create_get_avatar( char* chunkdata, const char* mxitId, const char* avatarId ); +size_t mxit_chunk_create_senddirect( char* chunkdata, const char* username, const char* filename, const unsigned char* data, size_t datalen ); +size_t mxit_chunk_create_reject( char* chunkdata, const char* fileid ); +size_t mxit_chunk_create_get( char* chunkdata, const char* fileid, size_t filesize, size_t offset ); _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits