Edgewall Software

Changeset 2721

Show
Ignore:
Timestamp:
01/03/2006 01:58:27 PM (3 years ago)
Author:
cmlenz
Message:

No escsaping of HDF values in notification code. Closes #2550.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/trac/Notify.py

    r2692 r2721  
    1515# Author: Daniel Lundin <daniel@edgewall.com> 
    1616 
    17 from trac.__init__ import __version__ 
     17from trac import __version__ 
    1818from trac.core import TracError 
    1919from trac.util import CRLF, wrap 
     
    170170                                          subsequent_indent=' ', linesep=CRLF) 
    171171        self.ticket['link'] = self.env.abs_href.ticket(ticket.id) 
    172         self.hdf['email.ticket_props'] = self.format_props() 
    173         self.hdf['email.ticket_body_hdr'] = self.format_hdr() 
    174         self.hdf['ticket'] = self.ticket.values 
     172        self.hdf.set_unescaped('email.ticket_props', self.format_props()) 
     173        self.hdf.set_unescaped('email.ticket_body_hdr', self.format_hdr()) 
     174        self.hdf.set_unescaped('ticket', self.ticket.values) 
    175175        self.hdf['ticket.new'] = self.newticket 
    176176        subject = self.format_subj() 
    177177        if not self.newticket: 
    178178            subject = 'Re: ' + subject 
    179         self.hdf['email.subject'] = subject 
     179        self.hdf.set_unescaped('email.subject', subject) 
    180180        changes = '' 
    181181        if not self.newticket and modtime:  # Ticket change 
    182182            changelog = ticket.get_changelog(modtime) 
    183183            for date, author, field, old, new in changelog: 
    184                 self.hdf['ticket.change.author'] = author 
     184                self.hdf.set_unescaped('ticket.change.author', author) 
    185185                pfx = 'ticket.change.%s' % field 
    186186                newv = '' 
     
    194194                    cdescr += 'Old description:' + 2*CRLF + old_descr + 2*CRLF 
    195195                    cdescr += 'New description:' + 2*CRLF + new_descr + CRLF 
    196                     self.hdf['email.changes_descr'] = cdescr 
     196                    self.hdf.set_unescaped('email.changes_descr', cdescr) 
    197197                else: 
    198198                    newv = new 
     
    202202                    changes += '  * %s:  %s%s' % (field, chg, CRLF) 
    203203                if newv: 
    204                     self.hdf['%s.oldvalue' % pfx] = old 
    205                     self.hdf['%s.newvalue' % pfx] = newv 
     204                    self.hdf.set_unescaped('%s.oldvalue' % pfx, old) 
     205                    self.hdf.set_unescaped('%s.newvalue' % pfx, newv) 
    206206                if field == 'cc': 
    207207                    self.prev_cc += old and self.parse_cc(old) or [] 
    208                 self.hdf['%s.author' % pfx] = author 
     208                self.hdf.set_unescaped('%s.author' % pfx, author) 
    209209            if changes: 
    210                 self.hdf['email.changes_body'] = changes 
     210                self.hdf.set_unescaped('email.changes_body', changes) 
    211211        NotifyEmail.notify(self, ticket.id, subject) 
    212212