Skip to content

Commit 902e37d

Browse files
authored
fix: improve looking into submission request for remote ip. (ietf-tools#3720)
1 parent a198022 commit 902e37d

3 files changed

Lines changed: 13 additions & 4 deletions

File tree

ietf/submit/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
from ietf.message.models import Message
3434
from ietf.name.models import FormalLanguageName, GroupTypeName
3535
from ietf.submit.models import Submission, Preapproval
36-
from ietf.submit.utils import validate_submission_name, validate_submission_rev, validate_submission_document_date
36+
from ietf.submit.utils import validate_submission_name, validate_submission_rev, validate_submission_document_date, remote_ip
3737
from ietf.submit.parsers.pdf_parser import PDFParser
3838
from ietf.submit.parsers.plain_parser import PlainParser
3939
from ietf.submit.parsers.xml_parser import XMLParser
@@ -47,7 +47,7 @@ class SubmissionBaseUploadForm(forms.Form):
4747
def __init__(self, request, *args, **kwargs):
4848
super(SubmissionBaseUploadForm, self).__init__(*args, **kwargs)
4949

50-
self.remote_ip = request.META.get('REMOTE_ADDR', None)
50+
self.remote_ip = remote_ip(request)
5151

5252
self.request = request
5353
self.in_first_cut_off = False

ietf/submit/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,3 +1019,12 @@ def update_submission_external_resources(submission, new_resources):
10191019
for new_res in new_resources:
10201020
new_res.submission = submission
10211021
new_res.save()
1022+
1023+
def remote_ip(request):
1024+
if 'CF-Connecting-IP' in request.META:
1025+
remote_ip = request.META.get('CF-Connecting-IP')
1026+
elif 'X-Forwarded-For' in request.META:
1027+
remote_ip = request.META.get('X-Forwarded-For').split(',')[0]
1028+
else:
1029+
remote_ip = request.META.get('REMOTE_ADDR', None)
1030+
return remote_ip

ietf/submit/views.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
post_submission, cancel_submission, rename_submission_files, remove_submission_files, get_draft_meta,
4040
get_submission, fill_in_submission, apply_checkers, save_files,
4141
check_submission_revision_consistency, accept_submission, accept_submission_requires_group_approval,
42-
accept_submission_requires_prev_auth_approval, update_submission_external_resources )
42+
accept_submission_requires_prev_auth_approval, update_submission_external_resources, remote_ip )
4343
from ietf.stats.utils import clean_country_name
4444
from ietf.utils.accesstoken import generate_access_token
4545
from ietf.utils.log import log
@@ -729,7 +729,7 @@ def add_manualpost_email(request, submission_id=None, access_token=None):
729729

730730
submission, submission_email_event = (
731731
add_submission_email(request=request,
732-
remote_ip=request.META.get('REMOTE_ADDR', None),
732+
remote_ip=remote_ip(request),
733733
name = form.draft_name,
734734
rev=form.revision,
735735
submission_pk = submission_pk,

0 commit comments

Comments
 (0)