one step ahead
Just for the record:
http://lists.kde.org/?l=kopete-devel&m=122672561319779&w=2
--------------------------------------------------- SVN commit 884493 by mattr: Enable the new WLM plugin for Kopete. This new plugin replaces the MSN plugin and requires an external library called libmsn which can be gotten from http://sourceforge.net/projects/libmsn We're working towards a 0.4 release of that library but until then, please download the beta versions. The new WLM plugin provides support for the MSNP15 protocol version and in general lays the groundwork for a better MSN plugin. Thanks go to Tiago Salem Herrmann, Gustavo Boiko, and Roman Jarosz for doing all the heavy lifting. --------------------------------------------------- \o/
24 Comments »
Leave a comment
-
Recent
-
Links
-
Archives
- April 2013 (1)
- August 2009 (1)
- May 2009 (1)
- November 2008 (1)
- October 2008 (1)
- September 2008 (1)
- February 2008 (1)
- October 2007 (1)
- September 2007 (3)
- August 2007 (2)
- July 2007 (6)
- June 2007 (3)
-
Categories
-
RSS
Entries RSS
Comments RSS
does this mean that kopete will finally stop sucking donkey balls with msn now? 😀
Comment by proyvind | November 20, 2008 |
I’d say “maybe” 🙂
Comment by tiagosh | November 20, 2008 |
I don’t know if I’m alone, but from this update I have the following issues :
– need to reconfigure my MSN account, kopete did not import the previous one.
– no image for (some) contacts
– no status icon
Comment by FACORAT Fabrice | November 20, 2008 |
Hi,
probably you are not alone.
The reconfiguration is necessary due to layout issues. MSNP15 indexes the same users in another way, and probably it is better to reconfigure then messing up with your contact list.
– the avatar is loaded on demand, it will not download everything when you are just connected or the msn server will disconnect you.
– status icon? what you mean by that?
Comment by tiagosh | November 20, 2008 |
Grats Sasa! Grats!
Comment by Salvador | November 22, 2008 |
Hey,
What’s the status of wlm webcam?
Comment by kakalto | November 27, 2008 |
Hi kakalto,
the webcam support still needs to be implemented.
I did not find good references of the protocol yet, but certainly I’ll implement as soon as I understand the protocol.
Thanks
Comment by tiagosh | November 27, 2008 |
Hi, I tried to compile libmsn but it doesn’t.
I’m speaking about rev 75 under VS2005.
Unfortunately I have to write my application for windows and I’m getting hundreds of compile warnings and several errors.
Maybe, if you could help me, we could get your lib compiling on VS? Or if you don’t have time, maybe you could send me a precompiled lib? Please answer ASAP as I have a deadline 🙂
Thanks,
Sascha
Comment by wITTus | December 4, 2008 |
Done.
C2491 occured because `msn_EXPORTS’ wasn’t defined. Maybe you should mention this in your README file. As DLL n00bs like me don’t know very much about that stuff. 😉
And for the rest:
——–
Index: trunk/msn/filetransferp2p.cpp
===================================================================
— trunk/msn/filetransferp2p.cpp (revision 75)
+++ trunk/msn/filetransferp2p.cpp (working copy)
@@ -71,7 +71,7 @@
{
Connection::socketConnectionCompleted();
this->myNotificationServer()->externalCallbacks.unregisterSocket(this->
sock);
– this->myNotificationServer()->externalCallbacks.registerSocket(this->so
ck, 1, 0);
+ this->myNotificationServer()->externalCallbacks.registerSocket(this->so
ck, 1, 0, 1);
if(perspective == MSNFTP_CLIENT)
{
——–
——–
Index: trunk/msn/soap.cpp
— trunk/msn/soap.cpp (revision 75)
+++ trunk/msn/soap.cpp (working copy)
@@ -32,7 +32,7 @@
#include
#include
#include
-#include
+#include “soap.h”
#include “xmlParser.h”
——–
Comment by wITTus | December 4, 2008 |
Damn HTML. You definitively need a [code] tag here ;).
Forget the diffs and change it manually.
Comment by wITTus | December 4, 2008 |
Hi wITTus,
the filetransferp2p.cpp/h files are not used by the project, so you should not include them in the list of files to be compiled. (I just removed them from svn)
The msn_EXPORTS macro is defined in libmsn_export.h
I believe you did not use cmake, right? all these issues, but the soap.cpp header, would not happen if you use cmake. Cmake can generate project files for many versions of Visual studio if I remember correctly.
Anyway thanks for the comment and for the patches. I have fixed the header issue in another way on svn.
If it did not solve your problem, feel free to contact me again.
regards.
Comment by tiagosh | December 4, 2008 |
Thanks.
Actually, I didn’t even knew that cmake has this feature.
I’m still studying your library. I like the way you managed the callbacks.
By the way, the example app is absolutely impossible to compile on windows. Neither mingw32 nor Visual Studio have poll() implemented (except VS2008 for Vista).
Anyway, you did a great job. Keep up the good work!
Sascha
Comment by wITTus | December 4, 2008 |
PS: Is there any special reason why you use 20 sockets in your example-app?
Comment by wITTus | December 4, 2008 |
Ah, that example is for linux only, sorry.
I’ve never tested the library on windows, so I can’t ensure it will work perfectly.
If you manage to compile it on windows, please, send-me your msntest.cpp and I can add it upstream 🙂
You can use more sockets, it was 20 in the old library and I just kept it there, but it can be increased.
Comment by tiagosh | December 4, 2008 |
OK. I got far, but not far enough.
I need your help now.
This is the code: http://pastebin.com/m7e1467cd
And this is the output: http://pastebin.com/m599907
The code should be pretty similar to yours. However, there are some differences:
* First, instead of poll() I use a WinAPI Callback:
LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam
POLLIN and POLLOUT are handled in FD_READ and FD_WRITE in the WM_NET case somewhere in WndProc().
* Second:
-> struct pollfd mySockets[21]
and
-> mySocketsSsl[21]
were replaced by
std::vector Sockets;
std::vector SocketsSSL;
Third:
Instead of looping trough the socket array in every ‘Callbacks’-function, I lookup the correct index of the current used socket (sock*) in the global vector with these functions:
static int Callbacks::findIndex(SOCKET s)
static int Callbacks::findIndex(void* s)
Now the problem. At first, it seems to work well, but then, when SSL support comes into play, connectionWithSocket() returns always 0. And I have really no clue why that happens. There’re still messages arriving (in FD_READ) but they cannot be handled because connectionWithSocket() doesn’t find the right MSN::Connection handle. Take a look at the output, it’s near by the end.
I’m sure this can be done somehow.
Would be really cool if you’d take a look on my code.
Sascha
Comment by wITTus | December 5, 2008 |
It works! LibMSN works under Windows!
I’ll add maybe some new example code for Win32 in a week or so.
Comment by wITTus | December 7, 2008 |
Hi wITTus,
that’s awesome. You really made my day.
I’m courious to see your msntest for win32.
I tried to access the code in pastebin but it seems that the links do not exist anymore.
Just added you to my msn so then we can talk about it.
Thanks!
Comment by tiagosh | December 7, 2008 |
I’d be interested in seeing it working on Windows, just having a play with the code myself now
Comment by Adam Dempsey | December 18, 2008 |
Hi Adam,
wiTTus (from the comment above) is helping me on porting it to windows. Probably the 4.0 final release will be supported on windows too.
Thanks!
Comment by tiagosh | December 18, 2008 |
With many compliments for this work, and can you tell me something about msn file transfer with p2p support?
Is that possible? It would be the greatest improvement for kopete, we’ve been waiting for it for years!! thanks for this great plugin
Comment by Minolk | March 9, 2009 |
Hi Minolk.
yes, p2p file transfer is possible, but it needs to be done in libmsn layer. As soon as libmsn supports it, kopete will automatically be able to do direct file transfers.
Thanks for the comment.
Comment by tiagosh | March 12, 2009 |
Keep up the good work Tiagosh, there are many of us out there that appriciates your work!
Cheers /Chris
Comment by Chris | March 24, 2009 |
Dear Mr.Tiagosh,
The first, I’m sorry about bad English. I’m working in my project which is using libmsn 4.0. However, I’m still not compile it in windows. Please help me. I’m very thankful you. I’m really expect feedback from you.
Please help me answer some question, thanks so much.
1. Which version OpenSSL used in libmsn?
2. I have read README file. I see we have to use cmake. But I dont know how to using cmake? Please help me, it doesn’t get many times of you :).
3. I have some error C3861: ‘strncasecmp’: identifier not found in xmpParser.cpp and many C2491. How to fix them?.
I’m really thankful you and everyone. Please help me. Thanks again.
Comment by Manh | April 16, 2009 |
Hi Manh,
sorry the delay.
Well, I do not have much expertise in windows, as I only have compiled libmsn on Linux and OSX, but some windows developers sent patches and as far as I know it compiles fine in windows. (see kopete for windows: http://windows.kde.org/).
About your questions:
1) openssl here is 0.9.8k (I believe this is the latest version)
2) Well, it is very hard to explain how to use cmake, as it can generate buildsystem for many IDE’s and compilers. But basically all you need to do is to create a new directory, join this directory and then run “cmake PATH_TO_LIBMSN_SRC”, than run make.
3) This is something related to your compiler. I suggest you to compile libmsn using mingw gcc.
Good luck.
Comment by tiagosh | May 4, 2009 |