private static String linkify(String url) { String durl = url.length() <= 28 ? DataHelper.escapeHTML(url) : DataHelper.escapeHTML(url.substring(0, 25)) + "…"; // TODO urlEncode instead return "<a target=\"_blank\" href=\"" + DataHelper.escapeHTML(url) + "\"/>" + durl + "</a>"; }
/** * @since 0.9.32 moved from EditBean */ public String getSpoofedHost(int tunnel) { return DataHelper.escapeHTML(_helper.getSpoofedHost(tunnel)); }
public String getTargetHost(int tunnel) { return DataHelper.escapeHTML(_helper.getTargetHost(tunnel)); }
public String getTunnelDescription(int tunnel) { return DataHelper.escapeHTML(_helper.getTunnelDescription(tunnel)); }
/** * This is for a full URL. For a path only, use encodePath(). * @since 0.9 */ private static String urlify(String s, int max) { StringBuilder buf = new StringBuilder(256); // browsers seem to work without doing this but let's be strict String link = urlEncode(s); String display; if (s.length() <= max) display = escapeHTML2(link); else display = DataHelper.escapeHTML(s.substring(0, max)) + "…"; buf.append("<a href=\"").append(link).append("\">").append(display).append("</a>"); return buf.toString(); }
private String getProperty(int tunnel, String prop, String def) { TunnelController tun = getController(tunnel); if (tun != null) { Properties opts = tun.getClientOptionProps(); if (opts != null) { String rv = opts.getProperty(prop); if (rv != null) return DataHelper.escapeHTML(rv); } } return def; }
public String getTunnelName(int tunnel) { String name = _helper.getTunnelName(tunnel); if (name != null && name.length() > 0) return DataHelper.escapeHTML(name); else return _t("New Tunnel"); }
/** debug only */ private static void listActionsArguments(Action action, StringBuilder sb) { ArgumentList ar = action.getArgumentList(); sb.append("<ol>"); for(int i=0; i<ar.size(); i++) { Argument argument = ar.getArgument(i); if(argument == null ) continue; sb.append("<li><small>argument : ").append(DataHelper.escapeHTML(argument.getName())) .append("</small></li>"); } sb.append("</ol>"); }
/** debug only */ private static void listStateTable(Service serv, StringBuilder sb) { ServiceStateTable table; try { table = serv.getServiceStateTable(); } catch (RuntimeException e) { // getSCPDNode() returns null, // NPE at org.cybergarage.upnp.Service.getServiceStateTable(Service.java:526) sb.append(" : no state"); return; } sb.append("<ul><small>"); for(int i=0; i<table.size(); i++) { StateVariable current = table.getStateVariable(i); sb.append("<li>").append(DataHelper.escapeHTML(current.getName())) .append(" : \"").append(DataHelper.escapeHTML(current.getValue())) .append("\"</li>"); } sb.append("</small></ul>"); }
/** * An HTML link to the file if complete and a single file, * to the directory if not complete or not a single file, * or simply the unlinkified name of the snark if a magnet * * @since 0.9.23 */ private String linkify(Snark snark) { MetaInfo meta = snark.getMetaInfo(); Storage storage = snark.getStorage(); if (meta == null || storage == null) return DataHelper.escapeHTML(snark.getBaseName()); StringBuilder buf = new StringBuilder(256); String base = DataHelper.escapeHTML(storage.getBaseName()); String enc = base.replace("[", "%5B").replace("]", "%5D").replace("|", "%7C"); buf.append("<a href=\"").append(_contextPath).append('/').append(enc); if (meta.getFiles() != null || !storage.complete()) buf.append('/'); buf.append("\">").append(base).append("</a>"); return buf.toString(); }
/** * Generate link to details page if we know it supports it. * Start of anchor only, caller must add anchor text or img and close anchor. * * @return string or null if unknown tracker * @since 0.8.4 */ private String getTrackerLinkUrl(String announce, byte[] infohash) { // temporarily hardcoded for postman* and anonymity, requires bytemonsoon patch for lookup by info_hash if (announce != null && (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr") || announce.startsWith("http://lnQ6yoBT") || announce.startsWith("http://tracker2.postman.i2p/") || announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/"))) { for (Tracker t : _manager.getTrackers()) { String aURL = t.announceURL; if (!(aURL.startsWith(announce) || // vvv hack for non-b64 announce in list vvv (announce.startsWith("http://lnQ6yoBT") && aURL.startsWith("http://tracker2.postman.i2p/")) || (announce.startsWith("http://ahsplxkbhemefwvvml7qovzl5a2b5xo5i7lyai7ntdunvcyfdtna.b32.i2p/") && aURL.startsWith("http://tracker2.postman.i2p/")))) continue; String baseURL = urlEncode(t.baseURL); String name = DataHelper.escapeHTML(t.name); StringBuilder buf = new StringBuilder(128); buf.append("<a href=\"").append(baseURL).append("details.php?dllist=1&filelist=1&info_hash=") .append(TrackerClient.urlencode(infohash)) .append("\" title=\"").append(_t("Details at {0} tracker", name)).append("\" target=\"_blank\">"); return buf.toString(); } } return null; }
/** debug only */ private static void listActions(Service service, StringBuilder sb) { ActionList al = service.getActionList(); sb.append("<ul>"); for(int i=0; i<al.size(); i++) { Action action = al.getAction(i); if(action == null ) continue; sb.append("<li>").append(DataHelper.escapeHTML(action.getName())); listActionsArguments(action, sb); sb.append("</li>"); } sb.append("</ul>"); }
buf.append(e.getKey()).append('=').append(e.getValue()); return DataHelper.escapeHTML(buf.toString()); } else { return "";
public void attemptFailed(String url, long bytesTransferred, long bytesRemaining, int currentAttempt, int numRetries, Exception cause) { // Since readURL() runs an EepGet with 0 retries, // we can report errors with attemptFailed() instead of transferFailed(). // It has the benefit of providing cause of failure, which helps resolve issues. if (_log.shouldLog(Log.WARN)) _log.warn("EepGet failed on " + url, cause); else _log.logAlways(Log.WARN, "EepGet failed on " + url + " : " + cause); if (cause != null && cause.getMessage() != null) _checker.setError(DataHelper.escapeHTML(cause.getMessage())); }
return DataHelper.escapeHTML(buf.toString());
/** * Reseed from a zip or su3 input stream. Blocking. * * @return true if a reseed was started, false if already in progress * @throws IOException if already in progress or on most other errors * @since 0.9.19 */ public int requestReseed(InputStream in) throws IOException { // don't really need to check for in progress here if (_inProgress.compareAndSet(false, true)) { try { Reseeder reseeder = new Reseeder(_context, this); return reseeder.requestReseed(in); } catch (IOException ioe) { if (ioe.getMessage() != null) setError(DataHelper.escapeHTML(ioe.getMessage())); throw ioe; } finally { done(); } } else { throw new IOException("Reseed already in progress"); } }
private void listSubDev(String prefix, Device dev, StringBuilder sb){ if (prefix == null) sb.append("<p>").append(_t("Found Device")).append(": "); else sb.append("<li>").append(_t("Subdevice")).append(": "); sb.append(DataHelper.escapeHTML(dev.getFriendlyName())); if (prefix == null) { String ip = getIP(dev); if (ip != null) sb.append("<br>IP: ").append(ip); String udn = dev.getUDN(); if (udn != null) sb.append("<br>UDN: ").append(DataHelper.escapeHTML(udn)); } sb.append("</p>"); listSubServices(dev, sb); DeviceList dl = dev.getDeviceList(); if (dl.isEmpty()) return; sb.append("<ul>\n"); for(int j=0; j<dl.size(); j++) { Device subDev = dl.getDevice(j); if(subDev == null) continue; listSubDev(dev.getFriendlyName(), subDev, sb); } sb.append("</ul>\n"); }
private String toString(String action, String arg, Service serv) { synchronized(toStringLock) { if ((!action.equals(_lastAction)) || (!serv.equals(_lastService)) || _lastArgumentList == null) { Action getIP = serv.getAction(action); if(getIP == null || !getIP.postControlAction()) { _lastAction = null; return null; } _lastAction = action; _lastService = serv; _lastArgumentList = getIP.getOutputArgumentList(); } Argument a = _lastArgumentList.getArgument(arg); if (a == null) return ""; String rv = a.getValue(); return DataHelper.escapeHTML(rv); } }
cp.listSubDev(device.toString(), device, sb); System.out.println("<h3>Device " + (++i) + ": " + DataHelper.escapeHTML(device.getFriendlyName()) + "</h3>"); System.out.println("<p>UDN: " + DataHelper.escapeHTML(device.getUDN())); System.out.println("<br>IP: " + getIP(device)); System.out.println(sb.toString());
/** * Start a reseed from a zip or su3 URI. * * @return true if a reseed was started, false if already in progress * @throws IllegalArgumentException if it doesn't end with zip or su3 * @since 0.9.19 */ public boolean requestReseed(URI url) throws IllegalArgumentException { if (_inProgress.compareAndSet(false, true)) { Reseeder reseeder = new Reseeder(_context, this); try { reseeder.requestReseed(url); return true; } catch (IllegalArgumentException iae) { if (iae.getMessage() != null) setError(DataHelper.escapeHTML(iae.getMessage())); done(); throw iae; } catch (Throwable t) { _log.error("Reseed failed to start", t); done(); return false; } } else { if (_log.shouldLog(Log.WARN)) _log.warn("Reseed already in progress"); return false; } }