Changeset 4956

Show
Ignore:
Timestamp:
07/11/10 02:42:34 (2 months ago)
Author:
wiechu
Message:

fix /xmpp:bookmarks: escape characters in nick & name

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/plugins/jabber/commands.c

    r4955 r4956  
    16751675                                switch (book->type) { 
    16761676                                        case (JABBER_BOOKMARK_URL): 
    1677                                                 watch_write(j->send_watch, "<url name=\"%s\" url=\"%s\"/>", book->priv_data.url->name, book->priv_data.url->url); 
     1677                                        { 
     1678                                                char *esc_name = jabber_escape(book->priv_data.url->name); 
     1679                                                watch_write(j->send_watch, "<url name=\"%s\" url=\"%s\"/>", esc_name, book->priv_data.url->url); 
     1680                                                xfree(esc_name); 
    16781681                                                break; 
     1682                                        } 
    16791683                                        case (JABBER_BOOKMARK_CONFERENCE): 
    1680                                                 watch_write(j->send_watch, "<conference name=\"%s\" autojoin=\"%s\" jid=\"%s\">", book->priv_data.conf->name,  
     1684                                        { 
     1685                                                char *esc_name = jabber_escape(book->priv_data.conf->name); 
     1686                                                char *esc_nick = jabber_escape(book->priv_data.conf->nick); 
     1687                                                watch_write(j->send_watch, "<conference name=\"%s\" autojoin=\"%s\" jid=\"%s\">", esc_name,  
    16811688                                                        book->priv_data.conf->autojoin ? "true" : "false", book->priv_data.conf->jid); 
    1682                                                 if (book->priv_data.conf->nick) watch_write(j->send_watch, "<nick>%s</nick>", book->priv_data.conf->nick); 
     1689                                                if (book->priv_data.conf->nick) watch_write(j->send_watch, "<nick>%s</nick>", esc_nick); 
    16831690                                                if (book->priv_data.conf->pass) watch_write(j->send_watch, "<password>%s</password>", book->priv_data.conf->pass); 
    16841691                                                watch_write(j->send_watch, "</conference>"); 
     1692                                                xfree(esc_nick); 
     1693                                                xfree(esc_name); 
    16851694                                                break; 
     1695                                        } 
    16861696                                        default: 
    16871697                                                debug("[JABBER, BOOKMARK] while syncing j->bookmarks... book->type = %d wtf?\n", book->type);