view doc/account-signals.dox @ 32796:5ae7e1f36b43

Fix a possible XMPP remote crash A series of specially crafted file transfer requests can cause clients to reference invalid memory. The user must have accepted one of the file transfer requests. The fix is to correctly cancel and free a SOCKS5 connection attempt so that it does not trigger an attempt to access invalid memory later. This was reported to us by Jos«± Valent«żn Guti«±rrez and this patch is written by Paul Aurich.
author Mark Doliner <mark@kingant.net>
date Mon, 07 May 2012 03:16:31 +0000
parents 28e27a37e4b4
children 02a2e8183b1d
line wrap: on
line source

/** @page account-signals Account Signals

 @signals
  @signal account-created
  @signal account-destroying
  @signal account-added
  @signal account-connecting
  @signal account-removed
  @signal account-disabled
  @signal account-enabled
  @signal account-setting-info
  @signal account-set-info
  @signal account-status-changed
  @signal account-actions-changed
  @signal account-alias-changed
  @signal account-authorization-requested
  @signal account-authorization-requested-with-message
  @signal account-authorization-denied
  @signal account-authorization-granted
  @signal account-error-changed
  @signal account-signed-on
  @signal account-signed-off
  @signal account-connection-error
 @endsignals

 @see account.h

 <hr>

 @signaldef account-created
  @signalproto
void (*account_created)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is created by calling purple_account_new.
  @param account The account.
  @since 2.6.0
 @endsignaldef

 @signaldef account-destroying
  @signalproto
void (*account_destroying)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is about to be destroyed.
  @param account The account.
  @since 2.6.0
 @endsignaldef

 @signaldef account-added
  @signalproto
void (*account_added)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is added.
  @param account The account that was added.
  @see purple_accounts_add
 @endsignaldef

 @signaldef account-connecting
  @signalproto
void (*account_connecting)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   This is called when an account is in the process of connecting.
  @param account The account in the process of connecting.
 @endsignaldef

 @signaldef account-removed
  @signalproto
void (*account_removed)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is removed.
  @param account The account that was removed.
  @see purple_accounts_remove
 @endsignaldef

 @signaldef account-disabled
  @signalproto
void (*account_disabled)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is disabled.
  @param account The account that was disabled.
 @endsignaldef

 @signaldef account-enabled
  @signalproto
void (*account_enabled)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is enabled.
  @param account The account that was enabled.
 @endsignaldef

 @signaldef account-setting-info
  @signalproto
void (*account_setting_info)(PurpleAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user is about to send his new user info, or
   profile, to the server.
  @param account  The account that the info will be set on.
  @param new_info The new information to set.
 @endsignaldef

 @signaldef account-set-info
  @signalproto
void (*account_set_info)(PurpleAccount *account, const char *new_info);
  @endsignalproto
  @signaldesc
   Emitted when a user sent his new user info, or profile, to the server.
  @param account  The account that the info was set on.
  @param new_info The new information set.
 @endsignaldef

 @signaldef account-status-changed
  @signalproto
void (*account_status_changed)(PurpleAccount *account, PurpleStatus *old, PurpleStatus *new);
  @endsignalproto
  @signaldesc
   Emitted when the status of an account changes (after the change).
  @param account The account that changed status.
  @param old     The status before change.
  @param new     The status after change.
 @endsignaldef

 @signaldef account-actions-changed
  @signalproto
void (*account_actions_changed)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when the account actions are changed after initial connection.
  @param account The account whose actions changed.
 @endsignaldef

 @signaldef account-alias-changed
  @signalproto
void (*account_alias_changed)(PurpleAccount *account, const char *old);
  @endsignalproto
  @signaldesc
   Emitted when the alias of an account changes (after the change).
  @param account The account for which the alias was changed.
  @param old     The alias before change.
 @endsignaldef

 @signaldef account-authorization-requested
  @signalproto
int (*account_authorization_requested)(PurpleAccount *account, const char *user);
  @endsignalproto
  @signaldesc
   Emitted when a user requests authorization.
  @param account The account.
  @param user    The name of the user requesting authorization.
  @return Less than zero to deny the request without prompting, greater
          than zero if the request should be granted. If zero is returned,
          then the user will be prompted with the request.
  @since 2.3.0
 @endsignaldef

 @signaldef account-authorization-requested-with-message
  @signalproto
int (*account_authorization_requested)(PurpleAccount *account, const char *user, const char *message);
  @endsignalproto
  @signaldesc
   Emitted when a user requests authorization.
  @param account The account.
  @param user    The name of the user requesting authorization.
  @param message The authorization request message
  @return PURPLE_ACCOUNT_RESPONSE_IGNORE to silently ignore the request,
          PURPLE_ACCOUNT_RESPONSE_DENY to block the request (the sender might
          get informed, PURPLE_ACCOUNT_RESPONSE_ACCEPT if the request should be
          granted. If PURPLE_ACCOUNT_RESPONSE_PASS is returned, then the user
          will be prompted with the request.
  @since 2.8.0
 @endsignaldef

 @signaldef account-authorization-denied
  @signalproto
void (*account_authorization_denied)(PurpleAccount *account, const char *user);
  @endsignalproto
  @signaldesc
   Emitted when the authorization request for a buddy is denied.
  @param account The account.
  @param user    The name of the user requesting authorization.
  @since 2.3.0
 @endsignaldef

 @signaldef account-authorization-granted
  @signalproto
void (*account_authorization_granted)(PurpleAccount *account, const char *user);
  @endsignalproto
  @signaldesc
   Emitted when the authorization request for a buddy is granted.
  @param account The account.
  @param user    The name of the user requesting authorization.
  @since 2.3.0
 @endsignaldef

 @signaldef account-error-changed
  @signalproto
void (*account_error_changed)(PurpleAccount *account, const PurpleConnectionErrorInfo *old_error, const PurpleConnectionErrorInfo *current_error);
  @endsignalproto
  @signaldesc
   Emitted when @a account's error changes.  You should not call
   purple_account_clear_current_error() while this signal is being emitted.
  @param account   The account whose error has changed.
  @param old_error The account's previous error, or @c NULL if it had no
                   error.  After this signal is emitted, @a old_error is
                   not guaranteed to be a valid pointer.
  @param new_error The account's new error, or @c NULL if it has no error.
                   If not @c NULL, @a new_error will remain a valid until
                   pointer just after the next time this signal is emitted
                   for this @a account.
  @see purple_account_get_current_error()
  @since 2.3.0
 @endsignaldef

 @signaldef account-signed-on
  @signalproto
void (*signed_on)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account has signed on.
  @param account The account that has signed on.
  @since 2.7.0
 @endsignaldef

 @signaldef account-signed-off
  @signalproto
void (*signed_off)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account has signed off.
  @param account The account that has signed off.
  @since 2.7.0
 @endsignaldef

 @signaldef account-connection-error
  @signalproto
void (*connection_error)(PurpleAccount *gc, PurpleConnectionError err, const gchar *desc)
  @endsignalproto
  @signaldesc
   Emitted when a connection error occurs, before @ref signed-off.
   @param account The account on which the error has occurred
   @param err     The error that occurred
   @param desc    A description of the error, giving more information.
  @since 2.7.0
 @endsignaldef
 */
// vim: syntax=c.doxygen tw=75 et