Muehlenhoff has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/351608 )

Change subject: 0.1.1-wmf6: force jenkins queries to use POST
......................................................................


0.1.1-wmf6: force jenkins queries to use POST

Antoine Musso (1):
      WMF: force Jenkins queries to use POST

Bug: T144106
Change-Id: I063f1f009f8a75948491e866a246c1cf0e9ddb00
---
M debian/changelog
A debian/patches/0009-WMF-force-Jenkins-queries-to-use-POST.patch
M debian/patches/series
3 files changed, 61 insertions(+), 0 deletions(-)

Approvals:
  Muehlenhoff: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/debian/changelog b/debian/changelog
index 2365efd..2e53812 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+nodepool (0.1.1-wmf6) jessie-wikimedia; urgency=medium
+
+  * Jenkins 2.46.2 that requires POST for some operations
+
+    0009-WMF-force-Jenkins-queries-to-use-POST.patch
+        [3e7da57] WMF: force Jenkins queries to use POST
+        Antoine Musso <[email protected]>
+    Fix https://phabricator.wikimedia.org/T144106
+
+ -- Antoine Musso <[email protected]>  Wed, 03 May 2017 11:56:39 +0200
+
 nodepool (0.1.1-wmf5) jessie-wikimedia; urgency=medium
 
   * debian/gbp.conf upstream-tag = %(version)s
diff --git a/debian/patches/0009-WMF-force-Jenkins-queries-to-use-POST.patch 
b/debian/patches/0009-WMF-force-Jenkins-queries-to-use-POST.patch
new file mode 100644
index 0000000..e9f8549
--- /dev/null
+++ b/debian/patches/0009-WMF-force-Jenkins-queries-to-use-POST.patch
@@ -0,0 +1,49 @@
+From: Antoine Musso <[email protected]>
+Date: Wed, 3 May 2017 11:48:07 +0200
+Subject: WMF: force Jenkins queries to use POST
+
+To protect against Cross-Site Request Forgery vulnerabilities, Jenkins
+2.46.2 now requires requests to be POST when creating/deleting nodes:
+https://jenkins.io/security/advisory/2017-04-26/
+
+That can be done by passing some empty data to a Request() which trick
+urlopen in using a POST instead of a GET.  Since Nodepool extends
+Jenkins class, do it in myjenkins.py instead of python-jenkins.
+
+Bug: T144106
+Change-Id: I62b18d856b7a61e6a301f233848a9c4d620a9ab3
+---
+ nodepool/myjenkins.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/nodepool/myjenkins.py b/nodepool/myjenkins.py
+index 5434614..0f5d7c5 100644
+--- a/nodepool/myjenkins.py
++++ b/nodepool/myjenkins.py
+@@ -39,7 +39,7 @@ class Jenkins(jenkins.Jenkins):
+         if info['offline']:
+             return
+         self.jenkins_open(
+-            urlrequest.Request(self.server + TOGGLE_OFFLINE % locals()))
++            urlrequest.Request(self.server + TOGGLE_OFFLINE % locals(), b''))
+ 
+     def enable_node(self, name):
+         '''
+@@ -53,7 +53,7 @@ class Jenkins(jenkins.Jenkins):
+             return
+         msg = ''
+         self.jenkins_open(
+-            urlrequest.Request(self.server + TOGGLE_OFFLINE % locals()))
++            urlrequest.Request(self.server + TOGGLE_OFFLINE % locals(), b''))
+ 
+     def get_node_config(self, name):
+         '''
+@@ -130,7 +130,7 @@ class Jenkins(jenkins.Jenkins):
+         }
+ 
+         self.jenkins_open(urlrequest.Request(
+-            self.server + CREATE_NODE % urlparse.urlencode(params)))
++            self.server + CREATE_NODE % urlparse.urlencode(params), b''))
+ 
+         if not self.node_exists(name):
+             raise JenkinsException('create[%s] failed' % (name))
diff --git a/debian/patches/series b/debian/patches/series
index 77bd0b7..8ce45db 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@
 0006-Continue-image-refresh-if-etc-nodepool-exists.patch
 0007-node-deletion-delay-is-now-configurable.patch
 0008-WMF-stop-triggering-ListFloatingIPsTask-entirely.patch
+0009-WMF-force-Jenkins-queries-to-use-POST.patch

-- 
To view, visit https://gerrit.wikimedia.org/r/351608
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I063f1f009f8a75948491e866a246c1cf0e9ddb00
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/nodepool
Gerrit-Branch: debian
Gerrit-Owner: Hashar <[email protected]>
Gerrit-Reviewer: Muehlenhoff <[email protected]>
Gerrit-Reviewer: Paladox <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to