[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: PATCH against meta redirect
From: Daniel Naber <daniel.naber () t-online ! de>
Date: 2000-12-23 0:05:15
[Download RAW message or body]
Hi,
can someone please check if this patch is okay? We need it so that KMail
doesn't just blindly follow <meta> redirects (for security reasons). I
will commit this if nobody objects (*adding* public functions shouldn't be
a problem, right?).
Regards
Daniel
--
Daniel Naber, Paul-Gerhardt-Str. 2, 33332 Guetersloh, Germany
Tel. 05241-59371, Mobil 0170-4819674
["no-redirect.diff" (text/x-c++)]
Index: html_headimpl.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/html/html_headimpl.cpp,v
retrieving revision 1.42
diff -u -r1.42 html_headimpl.cpp
--- html_headimpl.cpp 2000/12/09 07:36:08 1.42
+++ html_headimpl.cpp 2000/12/22 23:59:59
@@ -234,7 +234,7 @@
{
m_style = document->styleSelector()->styleForElement(this);
// kdDebug( 6030 ) << "meta::attach() equiv=" << _equiv.string() << \
", content=" << _content.string() << endl;
- if(strcasecmp(_equiv, "refresh") == 0 && !_content.isNull())
+ if(strcasecmp(_equiv, "refresh") == 0 && !_content.isNull() && \
v->part()->metaRefreshEnabled()) {
// get delay and url
QString str = _content.string();
Index: khtml_part.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.h,v
retrieving revision 1.105
diff -u -r1.105 khtml_part.h
--- khtml_part.h 2000/12/09 18:15:02 1.105
+++ khtml_part.h 2000/12/23 00:00:38
@@ -209,6 +209,16 @@
bool jScriptEnabled() const;
/**
+ * Enable/disable the automatic forwarding by <meta http-equiv="refresh" \
....> + */
+ void enableMetaRefresh( bool enable );
+
+ /**
+ * Returns @p true if automtaic forwarding is enabled.
+ */
+ bool metaRefreshEnabled() const;
+
+ /**
* Execute the specified snippet of JavaScript code.
*
* Returns @p true if JavaScript was enabled, no error occured
Index: khtml_part.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.cpp,v
retrieving revision 1.343
diff -u -r1.343 khtml_part.cpp
--- khtml_part.cpp 2000/12/17 03:33:13 1.343
+++ khtml_part.cpp 2000/12/23 00:02:06
@@ -163,7 +163,9 @@
m_bJavaOverride = false;
m_bPluginsForce = false;
m_bPluginsOverride = false;
-
+
+ m_metaRefreshEnabled = true;
+
m_bFirstData = true;
// inherit security settings from parent
@@ -217,6 +219,7 @@
bool m_bJavaForce :1;
bool m_bJavaOverride :1;
bool m_bPluginsForce :1;
+ bool m_metaRefreshEnabled :1;
bool m_bPluginsOverride :1;
int m_frameNameId;
KJavaAppletContext *m_javaContext;
@@ -700,6 +703,16 @@
if ( d->m_bJScriptOverride )
return d->m_bJScriptForce;
return d->m_bJScriptEnabled;
+}
+
+void KHTMLPart::enableMetaRefresh( bool enable )
+{
+ d->m_metaRefreshEnabled = enable;
+}
+
+bool KHTMLPart::metaRefreshEnabled() const
+{
+ return d->m_metaRefreshEnabled;
}
KJSProxy *KHTMLPart::jScript()
Index: kmreaderwin.cpp
===================================================================
RCS file: /home/kde/kdenetwork/kmail/kmreaderwin.cpp,v
retrieving revision 1.229
diff -u -r1.229 kmreaderwin.cpp
--- kmreaderwin.cpp 2000/12/17 19:37:41 1.229
+++ kmreaderwin.cpp 2000/12/23 00:04:35
@@ -336,6 +336,7 @@
mViewer = new KHTMLPart(this, "khtml");
// Let's better be paranoid and disable plugins (it defaults to \
enabled): mViewer->enablePlugins(false);
+ mViewer->enableMetaRefresh(false);
mViewer->widget()->resize(width()-16, height()-110);
mViewer->setURLCursor(KCursor::handCursor());
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic