diff --git a/plugin/src/networkplugin.cpp b/plugin/src/networkplugin.cpp index 9348eb11..27536ad8 100644 --- a/plugin/src/networkplugin.cpp +++ b/plugin/src/networkplugin.cpp @@ -559,8 +559,8 @@ void NetworkPlugin::handleDataRead(std::string &data) { } void NetworkPlugin::send(const std::string &data) { - char header[4]; - *((int*)(header)) = htonl(data.size()); + uint32_t size = htonl(data.size()); + char *header = (char *) &size; sendData(std::string(header, 4) + data); } diff --git a/plugin/src/pbnetwork.proto b/plugin/src/pbnetwork.proto deleted file mode 100644 index a492feb2..00000000 --- a/plugin/src/pbnetwork.proto +++ /dev/null @@ -1,137 +0,0 @@ -package pbnetwork; - -enum StatusType { - STATUS_ONLINE = 0; - STATUS_AWAY = 1; - STATUS_FFC = 2; - STATUS_XA = 3; - STATUS_DND = 4; - STATUS_NONE = 5; - STATUS_INVISIBLE = 6; -} - -message Connected { - required string user = 1; -} - -message Disconnected { - required string user = 1; - required int32 error = 2; - optional string message = 3; -} - -message Login { - required string user = 1; - required string legacyName = 2; - required string password = 3; -} - -message Logout { - required string user = 1; - required string legacyName = 2; -} - -message Buddy { - required string userName = 1; - required string buddyName = 2; - optional string alias = 3; - optional string groups = 4; - optional StatusType status = 5; - optional string statusMessage = 6; - optional string iconHash = 7; - optional bool blocked = 8; -} - -message ConversationMessage { - required string userName = 1; - required string buddyName = 2; - required string message = 3; - optional string nickname = 4; - optional string xhtml = 5; -} - -message Room { - required string userName = 1; - required string nickname = 2; - required string room = 3; - optional string password = 4; -} - -message Participant { - required string userName = 1; - required string room = 2; - required string nickname = 3; - required int32 flag = 4; - required StatusType status = 5; - optional string statusMessage = 6; - optional string newname = 7; -} - -message VCard { - required string userName = 1; - required string buddyName = 2; - required int32 id = 3; - optional string fullname = 4; - optional string nickname = 5; - optional bytes photo = 6; -} - -message Status { - required string userName = 1; - required StatusType status = 3; - optional string statusMessage = 4; -} - -message Stats { - required int32 res = 1; - required int32 init_res = 2; - required int32 shared = 3; -} - -message File { - required string userName = 1; - required string buddyName = 2; - required string fileName = 3; - required int32 size = 4; - optional int32 ftID = 5; -} - -message FileTransferData { - required int32 ftID = 1; - required bytes data = 2; -} - -message WrapperMessage { - enum Type { - TYPE_CONNECTED = 1; - TYPE_DISCONNECTED = 2; - TYPE_LOGIN = 3; - TYPE_LOGOUT = 4; - TYPE_BUDDY_CHANGED = 6; - TYPE_BUDDY_REMOVED = 7; - TYPE_CONV_MESSAGE = 8; - TYPE_PING = 9; - TYPE_PONG = 10; - TYPE_JOIN_ROOM = 11; - TYPE_LEAVE_ROOM = 12; - TYPE_PARTICIPANT_CHANGED = 13; - TYPE_ROOM_NICKNAME_CHANGED = 14; - TYPE_ROOM_SUBJECT_CHANGED = 15; - TYPE_VCARD = 16; - TYPE_STATUS_CHANGED = 17; - TYPE_BUDDY_TYPING = 18; - TYPE_BUDDY_STOPPED_TYPING = 19; - TYPE_BUDDY_TYPED = 20; - TYPE_AUTH_REQUEST = 21; - TYPE_ATTENTION = 22; - TYPE_STATS = 23; - TYPE_FT_START = 24; - TYPE_FT_FINISH = 25; - TYPE_FT_DATA = 26; - TYPE_FT_PAUSE = 27; - TYPE_FT_CONTINUE = 28; - } - required Type type = 1; - optional bytes payload = 2; -} -; \ No newline at end of file diff --git a/src/networkpluginserver.cpp b/src/networkpluginserver.cpp index 00b7f9cd..db2e94e4 100644 --- a/src/networkpluginserver.cpp +++ b/src/networkpluginserver.cpp @@ -804,8 +804,8 @@ void NetworkPluginServer::handleDataRead(Backend *c, boost::shared_ptr &c, const std::string &data) { // generate header - size of wrapper message - char header[4]; - *((int*)(header)) = htonl(data.size()); + uint32_t size = htonl(data.size()); + char *header = (char *) &size; // send header together with wrapper message c->write(Swift::createSafeByteArray(std::string(header, 4) + data));