Todo List

Global stream_as_audio
Ever not begin.

Global stream_create
Implement errors. make param , char **error
Pass it to AUDIO_CONTROL_INIT and if smth fail, there should be allocated description of error.

Global stream_create
Implement stream_close()

Global cmd_desc
Think about it. think, think, think. Maybe let's use queries for it?

Global cmd_desc
Check if session_unidle() is needed.

Global cmd_plugin
see XXX's

Global gg_command_block
Think about config_changed ... maybe let's create userlist_changed for this or smth?

Global gg_command_unblock
Think about config_changed ... maybe let's create userlist_changed for this or smth?

Global jabber_command_change
- reimplement it using jabber_params_split()

Global jabber_command_private
Read f**cking XEP-0048,--0049, and remove security hole in jabber_handle_iq() I suspect there should be somewhere info, about to= (We recv data from our JID (or requested), not server one.)

Global jabber_muc_command_join
make (session) variable jabber:default_muc && then if exists and params[0] has not specific server than append '@' jabber:default_muc and use it.

make (session) variable jabber:default_nickname.

history requesting, without history requesting.. etc

Global config_upgrade
Instead of hardcoded dates, use strftime() because for instance in USA we have got month and date reversed.

Global string_append_n
We append here NUL terminated string, so maybe let's always do count = xstrnlen(str, count);?
Because now programmer can pass negative value, and it'll possible do SIGSEGV
Also we can allocate less memory for string, when for example str[count-3] was NUL char.

Global string_append_raw
XXX Protect from negative count (and less than -1) ?

Global msg_queue_read
return count of readed messages?

Global msg_queue_read
code which handle errors is awful and it need rewriting.

Global ekg2_dlclose
For support of more dynamic interfaces see sources of lt_dlclose() [libltdl]

Global ekg2_dlopen
For support of more dynamic interfaces see sources of lt_dlopen() [libltdl]

Global ekg2_dlopen
Think more about flags for dlopen() [was: RTLD_LAZY | RTLD_GLOBAL]

Global ekg2_dlsym
For support of more dynamic interfaces see lt_dlsym() [libltdl]

Global plugin_find_uid
used only by session_add() in session.c move it there?

Global query_external_free
We don't destroy here queries which uses these ids >= QUERY_EXTERNAL.
It's quite correct in current api. But if you change it, you must clean after yourself.

Global watch_handle
We only check for w->removed == -1, maybe instead change it to: w->removed != 0

Global protocol_message_ack
Should we remove msg from msgqueue only when sequenceid and session and rcpt matches? I think it's buggy cause user at jabber can send us acknowledge of message which we never send, but if seq match with other message, which wasn't send (because session was for example disconnected) we remove that messageid, and than we'll never send it, and we'll never know that we don't send it.

Global session_add
See XXX's

Global format_add
What about creating global variable: formats_unique_here.. and if set to 1, don't search if this format already exists? It should speedup theme_init() a little.

Global format_remove
We can speedup it a little, by passing to list_remove() ptr to previous item.. senseless?

Global fstring_free
XXX Think about freeing str->private

Global print_window
We have no policy for displaying messages by e.g. jabber resources.
For now we do: [only jabber]

Global print_window_find
We have no policy for displaying messages by e.g. jabber resources.
For now we do: [only jabber]

Global window_move
XXX: Rename to _swap, and make some real move.

Global window_new
See XXX's

Global window_print
If UI_WINDOW_PRINT is not handled by ui-plugin, we should free line, or we'll have memleaks.

Global window_session_cycle
Gdy config_window_session_allow == 2, to najpierw sprobowac znalezc dobra sesje a potem jesli nie to nastepna?

Global window_target
Make it const?

Global ncurses_beep
Check result of beep()

What about curses flash() ? :>

Global gg_add_notify_handle
We ignore gg_add_notify_ex() result

Global gg_remove_notify_handle
We ignore gg_remove_notify() result

Global gg_session_deinit
Check if we really free all memory allocated by session.

Global gg_validate_uid
Blah, irc does xstrncasecmp() here it's only xstrncmp() let's decide... GG: and gg: is proper, or only gg:

Maybe let's check if after gg: we have max 32b number.. because libgadu and gg protocol only support 32bit uids... ;)

Global gg_userlist_send
XXX, think about args here, maybe let's pass only session_t ?

Global tlen_decode
Try to rewrite

Global tlen_encode
Try to rewrite.

Global gg_command_passwd
Add support for really old libgadu functions? like: gg_change_passwd2() ?

Global gg_handle_passwd
Need rewriting, it's buggy. We don't free memory @ type == 1, when watch wasn't executed... We always create watch @ not GG_STATE_DONE, even if there's no need, and maybe more. XXX

Global jabber_challange_digest
MD5Update() on NULL params will fail. XXX, no idea what to do.

Global jabber_dcc_digest
SHA1Update() on NULL params will fail. XXX, no idea what to do.

Global jabber_dcc_digest
We don't reencode params here to utf-8.

Global jabber_digest
SHA1Update() on NULL params will fail. XXX, no idea what to do.

Global irc_autorejoin
We double check "REJOIN" if IRC_REJOIN_KICK

Global irc_autorejoin_timer
Remove some struct info from irc_onkick_handler_t? Here we use only channelname and session..

Check session with session_find_ptr() ?

Global irc_onkick_handler
We don't check if nick and chan is full uid.. It's I think correct.. However can be faulty.

Global irc_session_deinit
Check if userlist_write() here is good.

Global jabber_protocols
We should set default global jabber variables with set-vars-default

Global jabber_ssl_cert_verify
It's testing function, so it don't catch all not 100% valid certificates. If you can and you know smth/ a lot about either OpenSSL or GnuTLS. Could you look at it?

Global jabber_iq_auth_send
It's not really XEP-0078 cause ekg2 don't support it. But it this done that way.. I don't know any server with XEP-0078 functonality..
I still rcv 'service-unavailable' or 'bad-request' ;(
But it MUST be implemented for /session disable_sasl 1
So it's just jabber:iq:auth for disable_sasl 2.


Generated on Sat Nov 22 22:30:47 2008 for ekg2 by  doxygen 1.5.1