User registration fails (when using recaptcha)

111 views
Skip to first unread message

webmas...@gmail.com

unread,
Feb 26, 2022, 2:26:35 PM2/26/22
to Review Board Community
Hi,

I enabled re-captcha in review board, see: https://reviews.melroy.org/account/register/

Register new user fails with:
POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str. Request information.

Are you not forgetting .encode('utf-8') somewhere?


Traceback:

```
    Internal Server Error: /account/register/

    TypeError at /account/register/
    POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.

    Request Method: POST
    Request URL: https://reviews.melroy.org/account/register/
    Django Version: 1.11.29
    Python Executable: /venv/bin/python
    Python Version: 3.8.10
    Python Path: ['/site/conf', '/', '/venv/bin', '/usr/lib/python38.zip', '/usr/lib/python3.8', '/usr/lib/python3.8/lib-dynload', '/venv/lib/python3.8/site-packages']
    Server time: Sat, 26 Feb 2022 20:14:59 +0100
    Installed Applications:
    ['corsheaders',
     'django.contrib.admin',
     'django.contrib.auth',
     'django.contrib.contenttypes',
     'django.contrib.sites',
     'django.contrib.sessions',
     'django.contrib.staticfiles',
     'djblets',
     'djblets.avatars',
     'djblets.configforms',
     'djblets.datagrid',
     'djblets.extensions',
     'djblets.features',
     'djblets.feedview',
     'djblets.forms',
     'djblets.gravatars',
     'djblets.integrations',
     'djblets.log',
     'djblets.pipeline',
     'djblets.privacy',
     'djblets.recaptcha',
     'djblets.siteconfig',
     'djblets.util',
     'haystack',
     'oauth2_provider',
     'pipeline',
     'reviewboard',
     'reviewboard.accounts',
     'reviewboard.admin',
     'reviewboard.attachments',
     'reviewboard.avatars',
     'reviewboard.changedescs',
     'reviewboard.diffviewer',
     'reviewboard.extensions',
     'reviewboard.hostingsvcs',
     'reviewboard.integrations',
     'reviewboard.notifications',
     'reviewboard.oauth',
     'reviewboard.reviews',
     'reviewboard.scmtools',
     'reviewboard.site',
     'reviewboard.webapi',
     'django_evolution',
     'beanbag_licensing',
     'rbpowerpack',
     'rbpowerpack.sshdb',
     'rbintegrations']
    Installed Middleware:
    ['django.middleware.gzip.GZipMiddleware',
     'reviewboard.admin.middleware.InitReviewBoardMiddleware',
     'corsheaders.middleware.CorsMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
     'django.middleware.common.CommonMiddleware',
     'django.middleware.http.ConditionalGetMiddleware',
     'django.middleware.locale.LocaleMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
     'djblets.siteconfig.middleware.SettingsMiddleware',
     'reviewboard.admin.middleware.LoadSettingsMiddleware',
     'djblets.extensions.middleware.ExtensionsMiddleware',
     'djblets.integrations.middleware.IntegrationsMiddleware',
     'djblets.log.middleware.LoggingMiddleware',
     'reviewboard.accounts.middleware.TimezoneMiddleware',
     'reviewboard.accounts.middleware.UpdateLastLoginMiddleware',
     'reviewboard.admin.middleware.CheckUpdatesRequiredMiddleware',
     'reviewboard.accounts.middleware.X509AuthMiddleware',
     'reviewboard.site.middleware.LocalSiteMiddleware',
     'djblets.extensions.middleware.ExtensionsMiddlewareRunner',
     'reviewboard.admin.middleware.ExtraExceptionInfoMiddleware']


    Traceback:

    File "/venv/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner
      41.             response = get_response(request)

    File "/venv/lib/python3.8/site-packages/django/core/handlers/base.py" in _legacy_get_response
      249.             response = self._get_response(request)

    File "/venv/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
      187.                 response = self.process_exception_by_middleware(e, request)

    File "/venv/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
      185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

    File "/venv/lib/python3.8/site-packages/django/utils/decorators.py" in _wrapped_view
      149.                     response = view_func(request, *args, **kwargs)

    File "/venv/lib/python3.8/site-packages/reviewboard/accounts/views.py" in account_register
      208.         response = register(request, next_page=reverse(next_url),

    File "/venv/lib/python3.8/site-packages/django/utils/decorators.py" in _wrapped_view
      149.                     response = view_func(request, *args, **kwargs)

    File "/venv/lib/python3.8/site-packages/djblets/auth/views.py" in register
      93.         form.full_clean()

    File "/venv/lib/python3.8/site-packages/django/forms/forms.py" in full_clean
      385.         self._clean_form()

    File "/venv/lib/python3.8/site-packages/django/forms/forms.py" in _clean_form
      412.             cleaned_data = self.clean()

    File "/venv/lib/python3.8/site-packages/djblets/recaptcha/mixins.py" in clean
      77.                 resp = urlopen(

    File "/usr/lib/python3.8/urllib/request.py" in urlopen
      222.     return opener.open(url, data, timeout)

    File "/usr/lib/python3.8/urllib/request.py" in open
      522.             req = meth(req)

    File "/usr/lib/python3.8/urllib/request.py" in do_request_
      1285.                 raise TypeError(msg)

    Exception Type: TypeError at /account/register/
    Exception Value: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.
    Request information:
    USER: AnonymousUser

    GET: No GET data

    POST:
    csrfmiddlewaretoken = 'Cdat....secret.....'
    username = 'testuser'
    password1 = 'abcdefg'
    password2 = 'abcdefg'
    email = 'te...@mail.com'
    first_name = 'test'
    last_name = 'user'
    g-recaptcha-response = '03AGdBq24rTzCVy....secret.....'

    FILES: No FILES data

    COOKIES:
    logged_out_marketing_header_id = 'eyJfcmFpbHMiO....secret.....'
    rbsessionid = 'm0po7qgsh....secret.....'

    META:
    CONTENT_LENGTH = '707'
    CONTENT_TYPE = 'application/x-www-form-urlencoded'
    CSRF_COOKIE = 'MOpGZ83P....secret.....'
    HTTP_ACCEPT = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8'
    HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
    HTTP_ACCEPT_LANGUAGE = 'en-US,en;q=0.5'
    HTTP_CONNECTION = 'close'
    HTTP_COOKIE = 'logged_out_marketing_header_id=eyJfcmFpbHMiOn....secret.....; csrftoken=MOpGZ....secret.....'
    HTTP_HOST = 'reviews.melroy.org'
    HTTP_ORIGIN = 'https://reviews.melroy.org'
    HTTP_REFERER = 'https://reviews.melroy.org/account/register/'
    HTTP_SEC_FETCH_DEST = 'document'
    HTTP_SEC_FETCH_MODE = 'navigate'
    HTTP_SEC_FETCH_SITE = 'same-origin'
    HTTP_SEC_FETCH_USER = '?1'
    HTTP_UPGRADE_INSECURE_REQUESTS = '1'
    HTTP_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0'
    HTTP_X_FORWARDED_FOR = '192.168.2.166'
    LOCAL_SITE = None
    PATH_INFO = '/account/register/'
    QUERY_STRING = ''
    RAW_URI = '/account/register/'
    REMOTE_ADDR = '172.18.0.1'
    REMOTE_PORT = '57868'
    REQUEST_METHOD = 'POST'
    SCRIPT_NAME = ''
    SERVER_NAME = '0.0.0.0'
    SERVER_PORT = '8080'
    SERVER_PROTOCOL = 'HTTP/1.0'
    SERVER_SOFTWARE = 'gunicorn/20.1.0'
    gunicorn.socket = <socket.socket fd=10, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.18.0.9', 8080), raddr=('172.18.0.1', 57868)>
    wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f527b78b160>
    wsgi.file_wrapper = ''
    wsgi.input = <gunicorn.http.body.Body object at 0x7f527b78b250>
    wsgi.input_terminated = True
    wsgi.multiprocess = True
    wsgi.multithread = True
    wsgi.run_once = False
    wsgi.url_scheme = 'https'
    wsgi.version = '(1, 0)'

    [....]
```

webmas...@gmail.com

unread,
Mar 4, 2022, 6:59:07 PM3/4/22
to Review Board Community
Please? What is going wrong Christian?

Op zaterdag 26 februari 2022 om 20:26:35 UTC+1 schreef webmas...@gmail.com:

Christian Hammond

unread,
Mar 8, 2022, 6:50:31 PM3/8/22
to revie...@googlegroups.com
Hi,

Yeah, probably a string encoding issue. We're looking into what's up here, and can get a release out once we verify a fix.

Christian

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/reviewboard/8a0b40ad-e87d-457a-b1ad-b31e3fd4d318n%40googlegroups.com.


--
Christian Hammond
President/CEO of Beanbag
Makers of Review Board

webmas...@gmail.com

unread,
Mar 21, 2022, 1:23:23 PM3/21/22
to Review Board Community
Thank would be really nice. Since I think recaptcha is important to support.

Hopefully this can be part of 4.0.7 as well.

Regards,
Melroy vd Berg

Op woensdag 9 maart 2022 om 00:50:31 UTC+1 schreef Christian Hammond:
Reply all
Reply to author
Forward
0 new messages