Changeset 1bc355b


Ignore:
Timestamp:
Aug 23, 2014 1:19:44 PM (7 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
e65ec2a
Parents:
d7616467
Message:

i2psnark escape fixes

Location:
apps/i2psnark/java/src/org/klomp/snark
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • apps/i2psnark/java/src/org/klomp/snark/Snark.java

    rd7616467 r1bc355b  
    798798
    799799    /**
     800     *  Not HTML escaped.
    800801     *  @return String returned from tracker, or null if no error
    801802     *  @since 0.8.4
  • apps/i2psnark/java/src/org/klomp/snark/TrackerInfo.java

    rd7616467 r1bc355b  
    197197  }
    198198
     199  /**
     200   *  Not HTML escaped.
     201   */
    199202  public String getFailureReason()
    200203  {
  • apps/i2psnark/java/src/org/klomp/snark/UpdateRunner.java

    rd7616467 r1bc355b  
    77import net.i2p.I2PAppContext;
    88import net.i2p.crypto.TrustedUpdate;
     9import net.i2p.data.DataHelper;
    910import net.i2p.update.*;
    1011import net.i2p.util.Log;
     
    298299
    299300    private static String linkify(String url) {
    300         String durl = url.length() <= 28 ? url :
    301                                            url.substring(0, 25) + "&hellip;";
    302         return "<a target=\"_blank\" href=\"" + url + "\"/>" + durl + "</a>";
     301        String durl = url.length() <= 28 ? DataHelper.escapeHTML(url) :
     302                                           DataHelper.escapeHTML(url.substring(0, 25)) + "&hellip;";
     303        // TODO urlEncode instead
     304        return "<a target=\"_blank\" href=\"" + DataHelper.escapeHTML(url) + "\"/>" + durl + "</a>";
    303305    }
    304306
  • apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java

    rd7616467 r1bc355b  
    6161    public static final String PROP_CONFIG_FILE = "i2psnark.configFile";
    6262    private static final String WARBASE = "/.icons/";
     63    private static final char HELLIP = '\u2026';
    6364 
    6465    public I2PSnarkServlet() {
     
    12571258            if (start.indexOf(" ") < 0 && start.indexOf("-") < 0) {
    12581259                // browser has nowhere to break it
    1259                 basename = start + "&hellip;";
     1260                basename = start + HELLIP;
    12601261            }
    12611262        }
     
    13081309            else {
    13091310                if (err.length() > MAX_DISPLAYED_ERROR_LENGTH)
    1310                     err = err.substring(0, MAX_DISPLAYED_ERROR_LENGTH) + "&hellip;";
     1311                    err = DataHelper.escapeHTML(err.substring(0, MAX_DISPLAYED_ERROR_LENGTH)) + "&hellip;";
     1312                else
     1313                    err = DataHelper.escapeHTML(err);
    13111314                statusString = "<img alt=\"\" border=\"0\" src=\"" + _imgPath + "trackererror.png\" title=\"" + err + "\"></td>" +
    13121315                               "<td class=\"snarkTorrentStatus\">" + _("Tracker Error");
     
    17301733                      (announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/") && aURL.startsWith("http://tracker2.postman.i2p/"))))
    17311734                    continue;
    1732                 String baseURL = t.baseURL;
    1733                 String name = t.name;
     1735                String baseURL = urlEncode(t.baseURL);
     1736                String name = DataHelper.escapeHTML(t.name);
    17341737                StringBuilder buf = new StringBuilder(128);
    17351738                buf.append("<a href=\"").append(baseURL).append("details.php?dllist=1&amp;filelist=1&amp;info_hash=")
     
    17751778            buf.append(trackerLinkUrl);
    17761779        else
    1777             buf.append("<a href=\"http://").append(announce).append("/\">");
     1780            // TODO encode
     1781            buf.append("<a href=\"http://").append(urlEncode(announce)).append("/\">");
    17781782        if (announce.length() > 67)
    1779             announce = announce.substring(0, 40) + "&hellip;" + announce.substring(announce.length() - 8);
     1783            announce = DataHelper.escapeHTML(announce.substring(0, 40)) + "&hellip;" +
     1784                       DataHelper.escapeHTML(announce.substring(announce.length() - 8));
    17801785        buf.append(announce);
    17811786        buf.append("</a>");
     
    22752280    private static String urlEncode(String s) {
    22762281        return s.replace(";", "%3B").replace("&", "&amp;").replace(" ", "%20")
    2277                 .replace("<", "&lt;").replace(">", "&gt;")
     2282                .replace("<", "%3C").replace(">", "%3E")
    22782283                .replace("[", "%5B").replace("]", "%5D");
    22792284    }
Note: See TracChangeset for help on using the changeset viewer.