Skip to content

Commit 915908c

Browse files
committed
Add HTTP auth to IANA sync, password is supposed to be saved in settings_local.py
- Legacy-Id: 4875
1 parent 2415ae8 commit 915908c

3 files changed

Lines changed: 11 additions & 4 deletions

File tree

ietf/bin/iana-changes-updates

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ CLOCK_SKEW_COMPENSATION = 5 # seconds
3333
MAX_INTERVAL_ACCEPTED_BY_IANA = datetime.timedelta(hours=23)
3434

3535

36-
start = datetime.datetime.now() - datetime.timedelta(hours=23) + CLOCK_SKEW_COMPENSATION
36+
start = datetime.datetime.now() - datetime.timedelta(hours=23) + datetime.timedelta(seconds=CLOCK_SKEW_COMPENSATION)
3737
if options.start:
3838
start = datetime.datetime.strptime(options.start, "%Y-%m-%d %H:%M:%S")
3939

ietf/settings.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,8 @@
244244
IPR_EMAIL_TO = ['ietf-ipr@ietf.org', ]
245245
DOC_APPROVAL_EMAIL_CC = ["RFC Editor <rfc-editor@rfc-editor.org>", ]
246246

247-
247+
# Put real password in settings_local.py
248+
IANA_SYNC_PASSWORD = "secret"
248249

249250
# Liaison Statement Tool settings
250251
LIAISON_UNIVERSAL_FROM = 'Liaison Statement Management Tool <lsmt@' + IETF_DOMAIN + '>'

ietf/sync/iana.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import re, urllib2, json, email
1+
import re, urllib2, json, email, base64
22

33
from django.utils.http import urlquote
4+
from django.conf import settings
45

56
from ietf.doc.models import *
67
from ietf.doc.utils import add_state_change_event
@@ -56,7 +57,12 @@ def update_rfc_log_from_protocol_page(rfc_names, rfc_must_published_later_than):
5657
def fetch_changes_json(url, start, end):
5758
url += "?start=%s&end=%s" % (urlquote(local_timezone_to_utc(start).strftime("%Y-%m-%d %H:%M:%S")),
5859
urlquote(local_timezone_to_utc(end).strftime("%Y-%m-%d %H:%M:%S")))
59-
f = urllib2.urlopen(url)
60+
request = urllib2.Request(url)
61+
# HTTP basic auth
62+
username = "ietfsync"
63+
password = settings.IANA_SYNC_PASSWORD
64+
request.add_header("Authorization", "Basic %s" % base64.encodestring("%s:%s" % (username, password)).replace("\n", ""))
65+
f = urllib2.urlopen(request)
6066
text = f.read()
6167
f.close()
6268
return text

0 commit comments

Comments
 (0)