forked from I2P_Developers/i2p.i2p
Console:
- Move multipart form support from susimail to jetty-i2p.jar so console can use it - Add multipart form support to formhandler.jsi and FormHandler.java Reseed: - Fix zip magic number - Finish manual reseed from local file package.html files for jetty-i2p.jar
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
package net.i2p.router.web;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
@ -10,7 +9,6 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.networkdb.reseed.Reseeder;
|
||||
|
||||
/**
|
||||
@ -76,15 +74,14 @@ public class ConfigReseedHandler extends FormHandler {
|
||||
addFormError(_("Bad URL {0}", val) + " - " + iae.getMessage());
|
||||
}
|
||||
} else if (_action.equals(_("Reseed from file"))) {
|
||||
//////// FIXME multipart
|
||||
String val = getJettyString("file");
|
||||
if (val == null || val.length() == 0) {
|
||||
addFormError(_("You must enter a file"));
|
||||
return;
|
||||
}
|
||||
ByteArrayInputStream bais = new ByteArrayInputStream(DataHelper.getASCII(val));
|
||||
InputStream in = _requestWrapper.getInputStream("file");
|
||||
try {
|
||||
int count = _context.netDb().reseedChecker().requestReseed(bais);
|
||||
// non-null but zero bytes if no file entered, don't know why
|
||||
if (in == null || in.available() <= 0) {
|
||||
addFormError(_("You must enter a file"));
|
||||
return;
|
||||
}
|
||||
int count = _context.netDb().reseedChecker().requestReseed(in);
|
||||
if (count <= 0) {
|
||||
addFormError(_("Reseed from file failed"));
|
||||
} else {
|
||||
@ -94,6 +91,10 @@ public class ConfigReseedHandler extends FormHandler {
|
||||
}
|
||||
} catch (IOException ioe) {
|
||||
addFormError(_("Reseed from file failed") + " - " + ioe);
|
||||
} finally {
|
||||
// it's really a ByteArrayInputStream but we'll play along...
|
||||
if (in != null)
|
||||
try { in.close(); } catch (IOException ioe) {}
|
||||
}
|
||||
} else if (_action.equals(_("Save changes"))) {
|
||||
saveChanges();
|
||||
|
@ -7,6 +7,7 @@ import java.util.Map;
|
||||
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.servlet.RequestWrapper;
|
||||
import net.i2p.util.Log;
|
||||
|
||||
/**
|
||||
@ -21,7 +22,10 @@ import net.i2p.util.Log;
|
||||
public abstract class FormHandler {
|
||||
protected RouterContext _context;
|
||||
protected Log _log;
|
||||
/** Not for multipart/form-data, will be null */
|
||||
protected Map _settings;
|
||||
/** Only for multipart/form-data. Warning, parameters are NOT XSS filtered */
|
||||
protected RequestWrapper _requestWrapper;
|
||||
private String _nonce, _nonce1, _nonce2;
|
||||
protected String _action;
|
||||
protected String _method;
|
||||
@ -61,6 +65,15 @@ public abstract class FormHandler {
|
||||
*/
|
||||
public void setSettings(Map settings) { _settings = new HashMap(settings); }
|
||||
|
||||
/**
|
||||
* Only set by formhandler.jsi for multipart/form-data
|
||||
*
|
||||
* @since 0.9.19
|
||||
*/
|
||||
public void setRequestWrapper(RequestWrapper rw) {
|
||||
_requestWrapper = rw;
|
||||
}
|
||||
|
||||
/**
|
||||
* Same as HelperBase
|
||||
* @since 0.9.14.1
|
||||
|
Reference in New Issue
Block a user