1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/* Module: imo2skypeproxy.c
Purpose: Implementation of imo2skype API as Skype proxy (for Miranda Skype plugin)
Author: leecher
Date: 01.09.2009
Changelog:
1.00 - 01.09.2009 - Initial release
1.01 - 02.09.2009 - Little bugfix for Onlinestatus, introduced mutex for send thread.
1.02 - 02.09.2009 - Added support for incoming call notifications and expired sessions.
1.03 - 03.09.2009 - As WIN32-port of libcurl is a total mess, Win32-version now uses WinINET.
1.04 - 04.09.2009 - Added support for searching, adding and removing buddies
1.05 - 06.09.2009 - * Mapped "busy" to DND, not NA, as forum user AL|EN proposed.
* Mood text will now also be sent on status change of a contact
(doesn't really have an effect though)
* New Parameter -d (daemonize) to launch proxy in background
* Fixed a bug with a crash when encoding umlauts on Win32
1.06 - 25.09.2009 - Added parameter -t for local timestamps.
1.07 - 07.10.2009 - Bugfix: Added parsing of multiple JSON messages
Added support for writing to logfile while in daemon mode (-l)
1.08 - 18.10.2009 - Added support for voice calls via imo.im flash on WIN32 (-i)
- Limited memory queues to 50 entries to reduce memory usage.
1.09 - 07.11.2009 - Split command line main module and proxy module to make proxy
accessible by different layers (i.e. new Miranda Plugin layer)
1.10 - 14.12.2009 - Bug in the cJson library. The authors used the String as second
sprintf-Parameter which contains the format string instead of
["%s", StringParam] causing problems sending Messages containt a %
- Added some space in the dialog for translations and added Translate()
function to some strings in the Wrapper-DLL
- More verbose output if you enable logging
- Fixes a Bug that caused the plugin to block after going offline
and reconnecting back online
- Hopefully fixed a severe threading problem: The Send-Mutex was not
covering a full transaction, but only 1 send causing the receiver
the receive garbled data causing "An existing connection was forcibly
closed by the remote host." error.
- Imo2S_Exit freed the temporary buffer too early resulting in a crash
on exit.
1.12 - 19.04.2010 - POST interface changed from www.imo.im/amy to s.imo.im/amy
1.13 - 19.12.2010 - imo.im modified their interface, so tried to adapt the communication
routines at low level to be compatible again. There still may be
many bugs. Don't forget to turn off history logging in the options
at https://imo.im
There also seems to be a nice new feature called "reflection" so that
you can login from multiple sessions and messages etc. entered there
will be reflected to the current session. This may be addressed in one
of the next builds...
1.14 - 02.03.2011 - Added a Skype WIN32-API Emulation Layer for better compatibility with
other clients that don't want to implement the socks-protocol, so that
we are compatible out-of-the-box.
- Added a few features to be compatible with libpurple. i.e. we now support
message numbering, even tough this is only supported in PROTOCOL 4.
- Added Keepalive packet sending to circumvent imo.im AutoAway.
1.15 - 18.07.2012 - Avatar support
- Support for new imo.im protocol, can now be compiled to use old or new
protocol, in case there are troubles. New protocol enables participation
in groupchats generated with native Skype client with at least 3
participants (still a bit experimental)
- WININET HTTPS communication layer now uses async calls to try to prevent
lockups on connection loss.
*/
#include <memory.h>
#include "imo2sproxy.h"
// -----------------------------------------------------------------------------
// PUBLIC
// -----------------------------------------------------------------------------
void Imo2sproxy_Defaults (IMO2SPROXY_CFG *pCfg)
{
memset (pCfg, 0, sizeof(IMO2SPROXY_CFG));
pCfg->fpLog = stdout;
pCfg->logerror = fprintf;
}
/* Real implementation is now in socksproxy.c for the socket communication method
and in w32skypeemu.c for the Window messages Skype emulation
*/
|