Trying to fix George's Yahoo log. Apparently my Yahoo 7.0 client was telling George that his URL was no longer valid. But somehow my checksum wasn't matching his. This resulted in weird packet loop.
With this code if the URL matches then we trust the user that it's no longer valid and try to re-upload our avatar.
M /trunk/miranda/plugins/clist_nicer/clist_nicer.vcproj
M /trunk/miranda/plugins/db3x/db3x.vcproj
M /trunk/miranda/plugins/db3x_mmap/db3x_mmap.vcproj
M /trunk/miranda/plugins/help/help.vcproj
M /trunk/miranda/plugins/import/import.vcproj
M /trunk/miranda/plugins/modernb/clist_modern.vcproj
M /trunk/miranda/plugins/mwclist/clist_mw.vcproj
M /trunk/miranda/plugins/png2dib/png2dib.vcproj
M /trunk/miranda/plugins/srmm/srmm.vcproj
M /trunk/miranda/plugins/tabsrmm/tabsrmm.vcproj
M /trunk/miranda/protocols/IcqOscarJ/icqoscar8.vcproj
M /trunk/miranda/protocols/JabberG/jabber.vcproj
M /trunk/miranda/protocols/MSN/msn.vcproj
M /trunk/miranda/protocols/Yahoo/Yahoo.vcproj
M /trunk/miranda/src/miranda32.vcproj
M /trunk/miranda-tools/dbtool/dbtool.vcproj
all VS2003 projects use $(ConfigurationName) now as the output directory name. For all projects, even non-Unicode, the Debug Unicode & Release Unicode configurations were created, to allow to debug two completely different directories. All non-core projects were removed from a solution
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2.h
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/yahoo.c
More code cleanup. Renamed avatar_update to picture_status. This is what kopete calls it and it's more appropriate. Also added some strings that were missing for some of our services.
M /trunk/miranda/protocols/IcqOscarJ/fam_01service.c
M /trunk/miranda/protocols/IcqOscarJ/icq_server.h
M /trunk/miranda/protocols/IcqOscarJ/icq_xstatus.c
M /trunk/miranda/protocols/IcqOscarJ/icqosc_svcs.c
added small routine to refresh avatar image on each login if necessary (obviously the server now does not update avatar image cache status properly automatically)
Adding back Disable UTF8, required for Yahoo Japan. This code when enabled doesn't do any conversion, but relies on the ANSI portion of the SendMessageW...
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/main.c
M /trunk/miranda/protocols/Yahoo/server.c
M /trunk/miranda/protocols/Yahoo/util.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
M /trunk/miranda/protocols/Yahoo/yahoo.h
So I finally figured out how to work with HTTP proxy with Gateway mode for the main connection and normal HTTP stuff for avatars, yab and FT all by using 1 NetlibUser.. Yay... :)
Also adding some more HTTP web_messenger packets. Now Yab and Avatars looks like it's working in HTTP Gateway mode... (Need to ask Robert for permission to land this on stable)
WARNING: HTTP Gateway mode is still missing support for core things... not enabled yet...
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo_httplib.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
Trying to fix the connection handling for HTTP Gateway mode and having to use pure HTTP without going through the gateway. Adding code to distinguish different connection types and do the proper thing (pick the right NetlibUser)
Trying to fix the bug with NetlibSelectEx in HTTPGateway mode. Don't touch the flag if we got a DataBuffer. That means we haven't read the full response in yet.
Merging a fix from a local tree of mine: don't set the permanent avatarhash until it has been uploaded. This way if upload fails we keep to the old avatar that we had before (if any).
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2.h
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_types.h
M /trunk/miranda/protocols/Yahoo/server.c
M /trunk/miranda/protocols/Yahoo/services.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
M /trunk/miranda/protocols/Yahoo/yahoo.h
Landing some more pieces: landing libyahoo2 web_messenger support (this is really really basic). Adding support for parsing incoming FT7 packets. We need to figure out some more packets. This is not working yet.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_types.h
M /trunk/miranda/protocols/Yahoo/main.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
More code merging: merging some pieces of HTTP Gateway mode (this doesn't compile yet and this is not part of default build). Adding some more defines and other cleanup/checks.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/main.c
M /trunk/miranda/protocols/Yahoo/server.c
M /trunk/miranda/protocols/Yahoo/services.c
M /trunk/miranda/protocols/Yahoo/util.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
M /trunk/miranda/protocols/Yahoo/yahoo.h
Code cleanup: created avatar.h file, moved the function declarations there. Also moved some avatar code from other files into avatar.c Changed the way we download avatars, using netlib HTTP routines now. Adding version update code (for B cookie), this is not working yet. Also trying to fix a bug where somebody asks for avatarurl and we don't have it, then we need to upload the avatar and tell them when we got the new URL.
Also setup 2nd netlibuser handle in preparation of HTTP Gateway stuff. 2nd netlibuser will allow me to do HTTP requests without having to go through gatewaywrap/unwrap...
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
Trying to detect failure during file upload. Adding a Popup to show System Messages. Parsing the "File Uploaded" server notification and show it as System Message. This should confirm that things went smoothly.
Code cleanup, removing utf8 implementation #2, removing some code that was broken, make ignore list sorted and add a vertical scrollbar. Some other small fixes.
M /trunk/miranda/src/modules/database/profilemanager.c
Incorrect usage of MS_PLUGINS_ENUMDBPLUGINS in profile selector. Also updated profile selector to show the db plugin friendly name instead of the dll filename and in use databases are marked as "<In use>" instead of showing their complete path and filename of the dat file.
Can't use Translate() cause that uses CallService and that crashes miranda because pluginLink is either NULL or garbage...(it's set much later during Load)
Getting rid of separate ping function. Adding it to my server thread. Also small fix, we should still try to send some packets even if we are offline....
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_types.h
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo_httplib.c
Merging some changes from the branch (GNUC constant stuff), commenting some debug stuff out and adding a variable for B cookie.. we don't load/set it yet....
Some small updates: minimal required 0.5. Added UTF string writing. Too bad events are not UTF :( then I could get rid of a lot of code for codepage and unicode conversion.
M /trunk/miranda/protocols/Yahoo/Docs/features.txt
M /trunk/miranda/protocols/Yahoo/Docs/translation.txt
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_types.h
M /trunk/miranda/protocols/Yahoo/services.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
Various small updates and fixes. Updated some network logging. Added some new service constants for Yahoo 7. Adding some AVS functions to set your own avatar (these need testing). Updating docs changes from banch.
Adding somre more smarts to avatar handling. Cleaning up my code. Adding type 3 avatar packet handling. Apparently that's how Yahoo Client knows it needs to re-upload avatars. Adding support for it for both receiving and parsing as well as sending it to others.
Cleanup the code for avatar uploading. Trying to make this code more readable and making sure we never get an infinite loop while uploading personal avatars.
Trying to fix a weird connect issue. Also making this match the sample_client where we don't explicitly set error to 1, we just pass negative handle. This should also stop miranda from attempting to connect to other ports???
Why does libyahoo2 do things in weird and unexpected ways? Even sample_client doesn't show how to do this properly?
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/services.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
Satisfying George's request for Yahoo Client Detection. Now detects if the client is pre Yahoo 6.x, Yahoo 6.x and Yahoo 7.x client. Looking for other possible numbers there.
M /trunk/miranda/plugins/clist_nicer/CLUIFrames/movetogroup.c
M /trunk/miranda/plugins/clist_nicer/clistmenus.c
M /trunk/miranda/plugins/clist_nicer/clui.c
M /trunk/miranda/plugins/clist_nicer/cluiopts.c
M /trunk/miranda/plugins/clist_nicer/extBackg.c
M /trunk/miranda/plugins/clist_nicer/init.c
M /trunk/miranda/plugins/clist_nicer/resource.h
M /trunk/miranda/plugins/clist_nicer/resource.rc
M /trunk/miranda/plugins/clist_nicer/viewmodes.c
+ added new menu entry to the contact menu: Ignore settings... will open a dialog which let you quickly set ignore and visibility options for that contact.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/yahoo.c
Code cleanup. Splitting up sign-on packet processing into a separate function and callback. This will allow me to collect more information for people that are signing on. Also cleans up the avatar stuff since status changes don't have that info.
Fixing contact deletion. Adding some debug messages and changing the default flag to 0 instead of 1. The contact is not temporary if there's no key in the Database.
Adding Nick option. You should now be able to set your Nick for Yahoo. This is local only since Yahoo doesn't have a way to change your Nick on your buddies lists. Also History++ has a stupid bug where it looks in ICQ instead of Yahoo location for the Nick. I am not going to address that. It should be fixed and should have been fixed a long time ago.
NOTE: Yahoo 7.x Has a way to share your details which need to be accepted which would update the Nick and other information.
Add some safety checks. We can't delete an avatar if we don't have one set. We can't share it either. So adding code to enable/disable things depending on the current config.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/yahoo.c
M /trunk/miranda/protocols/Yahoo/yahoo.h
Avatar code cleanup and fixes. Fixed the case where a status change which doesn't have avatar information would reset avatar for a buddy. Also rewrote and cleaned up the code for uploading avatar and added a check for expiration and re-upload. Also started to merge some of the fixes and clean ups from Gaim. Added better decoding of contact_added packet and split up the code like Gaim does.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo2_callbacks.h
M /trunk/miranda/protocols/Yahoo/resource.h
M /trunk/miranda/protocols/Yahoo/services.c
M /trunk/miranda/protocols/Yahoo/yahoo.c
M /trunk/miranda/protocols/Yahoo/yahoo.h
M /trunk/miranda/protocols/Yahoo/yahoo.msp
Big Landing: Landing Avatar cleanup and improvements. Moved some code from yahoo.c to avatar.c. Fixed up avatar uploading (more work to be done there). Added a checkbox to share avatar with everybody or just people you IM. Other fixes and improvements.
Options cleanup. Moved some stuff around, fixed some bugs. added Yahoo Japan support (let me know if it works), now also should show new e-mails even if you don't have Popup plugin installed and you asked Yahoo to show E-mail notifications. Removed typing notifications stuff since we have it in the core now.
M /trunk/miranda/protocols/Yahoo/libyahoo2/libyahoo2.c
M /trunk/miranda/protocols/Yahoo/libyahoo2/yahoo_httplib.c
Fixing a little bug pointed out by George. When we do GET requests using HTTP/1.1 we could get a Keep-Alive connection since we didn't ask to close it. We don't handle keep-alive, we need to close after each request. Fixing that and adding some logging for the search.