Changeset 4d09e50 for apps/jetty


Ignore:
Timestamp:
Apr 29, 2018 2:32:01 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
cdd58f1
Parents:
d600a2d
Message:

SSL Wizard: Move some things to make the classloader happy
Rewrite clients.config

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/jetty/java/src/net/i2p/jetty/JettyXmlConfigurationParser.java

    rd600a2d r4d09e50  
    2121import java.io.IOException;
    2222import java.io.File;
     23import java.io.Writer;
    2324import java.net.URL;
    2425import java.util.Locale;
    2526
    2627import org.eclipse.jetty.util.Loader;
     28import org.eclipse.jetty.util.security.Password;
    2729import org.eclipse.jetty.xml.XmlConfiguration;
    2830import org.eclipse.jetty.xml.XmlParser;
     31import org.eclipse.jetty.xml.XmlParser.Attribute;
    2932import org.eclipse.jetty.xml.XmlParser.Node;
    3033import org.xml.sax.SAXException;
     
    138141        return false;
    139142    }
     143
     144    /**
     145     *  Write out the XML.
     146     *  Adapted from Node.toString().
     147     *  That synchronized method caused classpath issues when called from the webapp.
     148     *  Also add newlines here for readability.
     149     */
     150    public static void write(Node node, Writer out) throws IOException {
     151        out.write('<');
     152        String tag = node.getTag();
     153        out.write(tag);
     154
     155        Attribute[] attrs = node.getAttributes();
     156        if (attrs != null) {
     157            for (int i = 0; i < attrs.length; i++) {
     158                out.write(' ');
     159                out.write(attrs[i].getName());
     160                out.write("=\"");
     161                out.write(attrs[i].getValue());
     162                out.write('"');
     163            }
     164        }
     165
     166        int size = node.size();
     167        if (size > 0) {
     168            out.write(">");
     169            for (int i = 0; i < size; i++) {
     170                Object o = node.get(i);
     171                if (o == null)
     172                    continue;
     173                if (o instanceof Node) {
     174                    write((Node) o, out);
     175                } else {
     176                    out.write(o.toString());
     177                }
     178            }
     179            out.write("</");
     180            out.write(tag);
     181            out.write(">\n");
     182        } else {
     183            out.write("/>\n");
     184        }
     185    }
     186
     187    /**
     188     *  Obfuscate a password for storage in the XML
     189     *  @return a string starting with "OBF:"
     190     */
     191    public static String obfuscate(String s) {
     192        return Password.obfuscate(s);
     193    }
    140194}
Note: See TracChangeset for help on using the changeset viewer.