fix: improve looking into submission request for remote ip. (#3720)

This commit is contained in:
Robert Sparks 2022-03-22 13:04:50 -05:00 committed by GitHub
parent a19802260c
commit 902e37d24d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 4 deletions

View file

@ -33,7 +33,7 @@ from ietf.meeting.models import Meeting
from ietf.message.models import Message
from ietf.name.models import FormalLanguageName, GroupTypeName
from ietf.submit.models import Submission, Preapproval
from ietf.submit.utils import validate_submission_name, validate_submission_rev, validate_submission_document_date
from ietf.submit.utils import validate_submission_name, validate_submission_rev, validate_submission_document_date, remote_ip
from ietf.submit.parsers.pdf_parser import PDFParser
from ietf.submit.parsers.plain_parser import PlainParser
from ietf.submit.parsers.xml_parser import XMLParser
@ -47,7 +47,7 @@ class SubmissionBaseUploadForm(forms.Form):
def __init__(self, request, *args, **kwargs):
super(SubmissionBaseUploadForm, self).__init__(*args, **kwargs)
self.remote_ip = request.META.get('REMOTE_ADDR', None)
self.remote_ip = remote_ip(request)
self.request = request
self.in_first_cut_off = False

View file

@ -1019,3 +1019,12 @@ def update_submission_external_resources(submission, new_resources):
for new_res in new_resources:
new_res.submission = submission
new_res.save()
def remote_ip(request):
if 'CF-Connecting-IP' in request.META:
remote_ip = request.META.get('CF-Connecting-IP')
elif 'X-Forwarded-For' in request.META:
remote_ip = request.META.get('X-Forwarded-For').split(',')[0]
else:
remote_ip = request.META.get('REMOTE_ADDR', None)
return remote_ip

View file

@ -39,7 +39,7 @@ from ietf.submit.utils import ( approvable_submissions_for_user, preapprovals_fo
post_submission, cancel_submission, rename_submission_files, remove_submission_files, get_draft_meta,
get_submission, fill_in_submission, apply_checkers, save_files,
check_submission_revision_consistency, accept_submission, accept_submission_requires_group_approval,
accept_submission_requires_prev_auth_approval, update_submission_external_resources )
accept_submission_requires_prev_auth_approval, update_submission_external_resources, remote_ip )
from ietf.stats.utils import clean_country_name
from ietf.utils.accesstoken import generate_access_token
from ietf.utils.log import log
@ -729,7 +729,7 @@ def add_manualpost_email(request, submission_id=None, access_token=None):
submission, submission_email_event = (
add_submission_email(request=request,
remote_ip=request.META.get('REMOTE_ADDR', None),
remote_ip=remote_ip(request),
name = form.draft_name,
rev=form.revision,
submission_pk = submission_pk,