view libfaim/README.gaim @ 965:50f2977537d8

[gaim-migrate @ 975] segfault avoidance and notes about libfaim committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 10 Oct 2000 10:16:26 +0000
parents fa681641643d
children a57fbdc1a758
line wrap: on
line source

Hello, your good friend EW here with a nice little notice that I'm sure will
affect the ten of you who actually read this.

I'm going to start trying to get gaim to use Oscar through libfaim. As far as I
can tell, the only thing it used to be able to do is sign on and receive IMs. I
updated libfaim to what's currently in the libfaim CVS on sourceforge. As of
right now, I've been able to implement most of the features libfaim offers.

I'm going to try to make as few modifications as possible to the libfaim code.
The only two modifications I'll probably ever make to it are 1) to make my life
easier or 2) to fix a compilation error. That means that what you're getting
when you enable oscar is basically faimtest (the very instructional program
included with the libfaim source on sourceforge) with the Gaim GTK front-end.
So far the changes to libfaim that I've made are:
- remove mkbuildinfo.sh and put the #defines it creates into Makefile.am
- check for socklen_t for Solaris people (in aim_ft.c)

And finally, a word of warning. Gaim/Faim is VERY buggy. Please, don't use this
for anything other than laughs right now. Hopefully we'll get it working better
soon (please help!).

I think I'm ready to start dealing with bugs being reported against it now
though. If you're going to report a bug, please check first that a) you're using
the to-the-second absolute latest CVS version, b) it's not in the unsupported
features/known issues lists below, c) someone hasn't already reported the bug on
sourceforge (please check BOTH the open and closed bugs), and finally d) that
you can reproduce it.

Also, please *don't* IM me about a bug, as I have a tendency to forget things
like that. Reporting it on sourceforge is a much better way of reporting bugs,
because then other people can see that the bug is already known, and it's harder
for me to forget.

CURRENTLY SUPPORTED FEATURES
============================
Signing on
Receiving IMs
Sending IMs
Being idle
Being away/coming back
Setting your info
Getting users' info
Getting users' away messages
Setting your dir info
Warning users/getting warned
Chat:
 - joining rooms
 - leaving rooms
 - talking
 - inviting someone
 - getting invited
 - creating rooms (needed to join empty rooms)
 - refreshing the chatlist in the preferences dialog
Direct IM (aka IM Image, for sounds and pictures)

CURRENTLY UNSUPPORTED FEATURES
==============================
Telling the server who's on your permit/deny lists
Chat:
 - whispering (this will never happen)
Getting dir info
Changing your password
File Transfer (Get/Send)
Voice Chat
Buddy Icon

KNOWN ISSUES
============
- Oscar doesn't do whispering in chat rooms any more (and hasn't for quite a
while, evidently). So if you want to "whisper" to someone, just IM them.

- The permit/deny list stuff is really warped. I've commented it out; the code
in libfaim is untested and it's causing way too many problems.

- Gaim/TOC can do some RVOUS actions, and Gaim/Faim can do others. This is not
because there is any difference in the protocols as far as the actual transfer
is concerned. The only difference is what has been implemented and what hasn't
been.

- What *is* protocol-dependent about the RVOUS stuff is that only Oscar can
request RVOUS actions, though both can receive them.

- Direct IM has problems. Don't accept a Direct IM if you're offered one, it
may cause you to segfault.

- Getting Dir Info is not in libfaim yet, and so is not in Gaim/Faim yet.

- Warnings are there now. Yes, I know it says the wrong value.

- I have reason to believe that if a libfaim user invites a TOC user, the TOC
user will get a fucked up message. Receiving invitations work well, and sending
invitations to Oscar users works well.

- There are also FIXME's scattered about gaim. Grep around for those, figure
out what needs to be fixed, do that sort of thing. :) (Fixing the things listed
in KNOWN ISSUES above, or any other bugs you happen to find, is a very good use
of your time.) (You didn't hear that from me.)