mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-13 12:46:18 +00:00
Reject an XMLRPC size limit above the SCGI content size limit.
This commit is contained in:
@@ -167,6 +167,14 @@ RpcManager::cleanup() {
|
|||||||
m_jsonrpc.cleanup();
|
m_jsonrpc.cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
RpcManager::set_size_limit(uint64_t size) {
|
||||||
|
if (size > SCgiTask::max_content_size)
|
||||||
|
throw torrent::input_error("XMLRPC size limit cannot exceed the SCGI content size limit.");
|
||||||
|
|
||||||
|
m_xmlrpc.set_size_limit(size);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
RpcManager::insert_command(const char* name, const char* parm, const char* doc) {
|
RpcManager::insert_command(const char* name, const char* parm, const char* doc) {
|
||||||
m_xmlrpc.insert_command(name, parm, doc);
|
m_xmlrpc.insert_command(name, parm, doc);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public:
|
|||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
int64_t size_limit() { return m_xmlrpc.size_limit(); };
|
int64_t size_limit() { return m_xmlrpc.size_limit(); };
|
||||||
void set_size_limit(uint64_t size) { m_xmlrpc.set_size_limit(size); };
|
void set_size_limit(uint64_t size);
|
||||||
|
|
||||||
int dialect() { return m_xmlrpc.dialect(); }
|
int dialect() { return m_xmlrpc.dialect(); }
|
||||||
void set_dialect(int dialect) { m_xmlrpc.set_dialect(dialect); }
|
void set_dialect(int dialect) { m_xmlrpc.set_dialect(dialect); }
|
||||||
|
|||||||
@@ -529,9 +529,6 @@ XmlRpc::size_limit() {
|
|||||||
|
|
||||||
void
|
void
|
||||||
XmlRpc::set_size_limit(uint64_t size) {
|
XmlRpc::set_size_limit(uint64_t size) {
|
||||||
if (size >= (64 << 20))
|
|
||||||
throw torrent::input_error("Invalid XMLRPC limit size.");
|
|
||||||
|
|
||||||
xmlrpc_limit_set(XMLRPC_XML_SIZE_LIMIT_ID, size);
|
xmlrpc_limit_set(XMLRPC_XML_SIZE_LIMIT_ID, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user