Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: AttributeError after first login #1466

Closed
1 task done
r4ttle5nak3 opened this issue Nov 21, 2024 · 4 comments
Closed
1 task done

bug: AttributeError after first login #1466

r4ttle5nak3 opened this issue Nov 21, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@r4ttle5nak3
Copy link

r4ttle5nak3 commented Nov 21, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

I installed rengine 2.2.0 using sudo ./install.sh on Ubuntu 24.04.1 VirtualBox machine. During the installation process I did not notice any errors.

Now, after logging in as a user created during installation process server throws an error"

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/src/app/dashboard/views.py", line 420, in onboarding
    context['hackerone_key'] = HackerOneAPIKey.objects.first().key
Exception Type: AttributeError at /
Exception Value: 'NoneType' object has no attribute 'key'

Full HTML bodyof the debug response:

<body>
<div id="summary">
  <h1>AttributeError
       at /</h1>
  <pre class="exception_value">'NoneType' object has no attribute 'key'</pre>
  <table class="meta">
    <tbody><tr>
      <th>Request Method:</th>
      <td>GET</td>
    </tr>
    <tr>
      <th>Request URL:</th>
      <td>http://127.0.0.1/</td>
    </tr>
    <tr>
      <th>Django Version:</th>
      <td>3.2.23</td>
    </tr>
    <tr>
      <th>Exception Type:</th>
      <td>AttributeError</td>
    </tr>
    <tr>
      <th>Exception Value:</th>
      <td><pre>'NoneType' object has no attribute 'key'</pre></td>
    </tr>
    <tr>
      <th>Exception Location:</th>
      <td><span class="fname">/usr/src/app/dashboard/views.py</span>, line 420, in onboarding</td>
    </tr>
    <tr>
      <th>Python Executable:</th>
      <td>/usr/bin/python3</td>
    </tr>
    <tr>
      <th>Python Version:</th>
      <td>3.10.12</td>
    </tr>
    <tr>
      <th>Python Path:</th>
      <td><pre>['/usr/src/app',
 '/usr/src/app',
 '/usr/lib/python310.zip',
 '/usr/lib/python3.10',
 '/usr/lib/python3.10/lib-dynload',
 '/usr/local/lib/python3.10/dist-packages',
 '/usr/lib/python3/dist-packages',
 '/usr/local/lib/python3.10/dist-packages/setuptools/_vendor']</pre></td>
    </tr>
    <tr>
      <th>Server time:</th>
      <td>Thu, 21 Nov 2024 16:26:05 +0000</td>
    </tr>
  </tbody></table>
</div>
<div id="traceback">
  <h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">
    Switch to copy-and-paste view</a></span></h2>
  <div id="browserTraceback">
    <ul class="traceback">
        <li class="frame django">
            <code class="fname">/usr/local/lib/python3.10/dist-packages/django/core/handlers/exception.py</code>, line 47, in inner
            <div class="context" id="c139000785843200">
                <ol start="40" class="pre-context" id="pre139000785843200" style="display: none;">
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>                response = await sync_to_async(response_for_exception, thread_sensitive=False)(request, exc)</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>            return response</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>        return inner</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>    else:</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>        @wraps(get_response)</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>        def inner(request):</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>            try:</pre></li>
                </ol>
              <ol start="47" class="context-line">
                <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>                response = get_response(request)</pre> <span></span></li>
              </ol>
                <ol start="48" class="post-context" id="post139000785843200" style="display: none;">
                  
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>            except Exception as exc:</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>                response = response_for_exception(request, exc)</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>            return response</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre>        return inner</pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre></pre></li>
                  <li onclick="toggle('pre139000785843200', 'post139000785843200')"><pre></pre></li>
              </ol>
            </div>
            <div class="commands">
                    <a href="#" onclick="return varToggle(this, '139000785843200')"><span></span> Local vars</a>
            </div>
            <table class="vars" id="v139000785843200" style="display: none;">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>exc</td>
                    <td class="code"><pre>AttributeError("'NoneType' object has no attribute 'key'")</pre></td>
                  </tr>
                
                  <tr>
                    <td>get_response</td>
                    <td class="code"><pre>&lt;bound method BaseHandler._get_response of &lt;django.core.handlers.wsgi.WSGIHandler object at 0x7e6ba81c0cd0&gt;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: GET '/'&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame django">
          
            <code class="fname">/usr/local/lib/python3.10/dist-packages/django/core/handlers/base.py</code>, line 181, in _get_response
          

          
            <div class="context" id="c139000784729344">
              
                <ol start="174" class="pre-context" id="pre139000784729344" style="display: none;">
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre></pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>        if response is None:</pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>            wrapped_callback = self.make_view_atomic(callback)</pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>            # If it is an asynchronous view, run it in a subthread.</pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>            if asyncio.iscoroutinefunction(wrapped_callback):</pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>                wrapped_callback = async_to_sync(wrapped_callback)</pre></li>
                
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>            try:</pre></li>
                
                </ol>
              
              <ol start="181" class="context-line">
                <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>                response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span></span></li>
              </ol>
              
                <ol start="182" class="post-context" id="post139000784729344" style="display: none;">
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>            except Exception as e:</pre></li>
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>                response = self.process_exception_by_middleware(e, request)</pre></li>
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>                if response is None:</pre></li>
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>                    raise</pre></li>
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre></pre></li>
                  
                  <li onclick="toggle('pre139000784729344', 'post139000784729344')"><pre>        # Complain if the view returned None (a common error).</pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '139000784729344')"><span></span> Local vars</a>
                
            </div>
            <table class="vars" id="v139000784729344" style="display: none;">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>callback</td>
                    <td class="code"><pre>&lt;function onboarding at 0x7e6bb53d80d0&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_args</td>
                    <td class="code"><pre>()</pre></td>
                  </tr>
                
                  <tr>
                    <td>callback_kwargs</td>
                    <td class="code"><pre>{}</pre></td>
                  </tr>
                
                  <tr>
                    <td>middleware_method</td>
                    <td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7e6ba5485540&gt;&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: GET '/'&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>response</td>
                    <td class="code"><pre>None</pre></td>
                  </tr>
                
                  <tr>
                    <td>self</td>
                    <td class="code"><pre>&lt;django.core.handlers.wsgi.WSGIHandler object at 0x7e6ba81c0cd0&gt;</pre></td>
                  </tr>
                
                  <tr>
                    <td>wrapped_callback</td>
                    <td class="code"><pre>&lt;function onboarding at 0x7e6bb53d80d0&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
        
        <li class="frame user">
          
            <code class="fname">/usr/src/app/dashboard/views.py</code>, line 420, in onboarding
          

          
            <div class="context" id="c139000798964928">
              
                <ol start="413" class="pre-context" id="pre139000798964928" style="display: none;">
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre></pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['error'] = error</pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    </pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre></pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['openai_key'] = OpenAiAPIKey.objects.first()</pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['netlas_key'] = NetlasAPIKey.objects.first()</pre></li>
                
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['chaos_key'] = ChaosAPIKey.objects.first()</pre></li>
                
                </ol>
              
              <ol start="420" class="context-line">
                <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['hackerone_key'] = HackerOneAPIKey.objects.first().key</pre> <span></span></li>
              </ol>
              
                <ol start="421" class="post-context" id="post139000798964928" style="display: none;">
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['hackerone_username'] = HackerOneAPIKey.objects.first().username</pre></li>
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre></pre></li>
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    context['user_preferences'], _ = UserPreferences.objects.get_or_create(</pre></li>
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>        user=request.user</pre></li>
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre>    )</pre></li>
                  
                  <li onclick="toggle('pre139000798964928', 'post139000798964928')"><pre></pre></li>
                  
              </ol>
              
            </div>
          

          
            <div class="commands">
                
                    <a href="#" onclick="return varToggle(this, '139000798964928')"><span></span> Local vars</a>
                
            </div>
            <table class="vars" id="v139000798964928" style="display: none;">
              <thead>
                <tr>
                  <th>Variable</th>
                  <th>Value</th>
                </tr>
              </thead>
              <tbody>
                
                  <tr>
                    <td>context</td>
                    <td class="code"><pre>{'chaos_key': None, 'error': '', 'netlas_key': None, 'openai_key': None}</pre></td>
                  </tr>
                
                  <tr>
                    <td>error</td>
                    <td class="code"><pre>''</pre></td>
                  </tr>
                
                  <tr>
                    <td>project</td>
                    <td class="code"><pre>None</pre></td>
                  </tr>
                
                  <tr>
                    <td>request</td>
                    <td class="code"><pre>&lt;WSGIRequest: GET '/'&gt;</pre></td>
                  </tr>
                
              </tbody>
            </table>
          
        </li>
      
    </ul>
  </div>
  <form action="https://dpaste.com/" name="pasteform" id="pasteform" method="post">

  <div id="pastebinTraceback" class="pastebin" style="display: none;">
    <input type="hidden" name="language" value="PythonConsole">
    <input type="hidden" name="title" value="AttributeError at /">
    <input type="hidden" name="source" value="Django Dpaste Agent">
    <input type="hidden" name="poster" value="Django">
    <textarea name="content" id="traceback_area" cols="140" rows="25">Environment:


Request Method: GET
Request URL: http://127.0.0.1/

Django Version: 3.2.23
Python Version: 3.10.12
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'rest_framework',
 'rest_framework_datatables',
 'dashboard.apps.DashboardConfig',
 'targetApp.apps.TargetappConfig',
 'scanEngine.apps.ScanengineConfig',
 'startScan.apps.StartscanConfig',
 'recon_note.apps.ReconNoteConfig',
 'django_ace',
 'django_celery_beat',
 'mathfilters',
 'drf_yasg',
 'rolepermissions']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'login_required.middleware.LoginRequiredMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'reNgine.middleware.UserPreferencesMiddleware']



Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.10/dist-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/src/app/dashboard/views.py", line 420, in onboarding
    context['hackerone_key'] = HackerOneAPIKey.objects.first().key

Exception Type: AttributeError at /
Exception Value: 'NoneType' object has no attribute 'key'
</textarea>
  <br><br>
  <input type="submit" value="Share this traceback on a public website">
  </div>
</form>
</div>



<div id="requestinfo">
  <h2>Request information</h2>


  
    <h3 id="user-info">USER</h3>
    <p>root2</p>
  

  <h3 id="get-info">GET</h3>
  
    <p>No GET data</p>
  

  <h3 id="post-info">POST</h3>
  
    <p>No POST data</p>
  
  <h3 id="files-info">FILES</h3>
  
    <p>No FILES data</p>
  


  <h3 id="cookie-info">COOKIES</h3>
  
    <table class="req">
      <thead>
        <tr>
          <th>Variable</th>
          <th>Value</th>
        </tr>
      </thead>
      <tbody>
        
          <tr>
            <td>csrftoken</td>
            <td class="code"><pre>'3KbOHR8LvcOPWyh8WfGtkpZhO3vnllfRzKZ8Coxm1oD7f8i2J0fvj9rKd8m3xWQA'</pre></td>
          </tr>
        
          <tr>
            <td>sessionid</td>
            <td class="code"><pre>'7hnm5g58x8jgtnh2qzklhcvit65a7rgx'</pre></td>
          </tr>
        
          <tr>
            <td>messages</td>
            <td class="code"><pre>'W1siX19qc29uX21lc3NhZ2UiLDAsMjAsIkhpIEByb290MiB3ZWxjb21lIGJhY2shIl1d:1tEA0L:3j4vo6BvALI3vNyOq-Gsvp8FTD3qq1fhNPAQLg55xk0'</pre></td>
          </tr>
        
      </tbody>
    </table>
  

  <h3 id="meta-info">META</h3>
  <table class="req">
    <thead>
      <tr>
        <th>Variable</th>
        <th>Value</th>
      </tr>
    </thead>
    <tbody>
      
        <tr>
          <td>CELERY_BACKEND</td>
          <td class="code"><pre>'redis://redis:6379/0'</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_BROKER</td>
          <td class="code"><pre>'redis://redis:6379/0'</pre></td>
        </tr>
      
        <tr>
          <td>CONTENT_LENGTH</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>CONTENT_TYPE</td>
          <td class="code"><pre>'text/plain'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE</td>
          <td class="code"><pre>'3KbOHR8LvcOPWyh8WfGtkpZhO3vnllfRzKZ8Coxm1oD7f8i2J0fvj9rKd8m3xWQA'</pre></td>
        </tr>
      
        <tr>
          <td>DATABASE</td>
          <td class="code"><pre>'postgres'</pre></td>
        </tr>
      
        <tr>
          <td>DEBIAN_FRONTEND</td>
          <td class="code"><pre>'noninteractive'</pre></td>
        </tr>
      
        <tr>
          <td>DEBUG</td>
          <td class="code"><pre>'1'</pre></td>
        </tr>
      
        <tr>
          <td>DJANGO_SETTINGS_MODULE</td>
          <td class="code"><pre>'reNgine.settings'</pre></td>
        </tr>
      
        <tr>
          <td>DJANGO_SUPERUSER_PASSWORD</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>DOMAIN_NAME</td>
          <td class="code"><pre>'rengine.example.com'</pre></td>
        </tr>
      
        <tr>
          <td>GATEWAY_INTERFACE</td>
          <td class="code"><pre>'CGI/1.1'</pre></td>
        </tr>
      
        <tr>
          <td>GO111MODULE</td>
          <td class="code"><pre>'on'</pre></td>
        </tr>
      
        <tr>
          <td>GOPATH</td>
          <td class="code"><pre>'/go'</pre></td>
        </tr>
      
        <tr>
          <td>GOROOT</td>
          <td class="code"><pre>'/usr/local/go'</pre></td>
        </tr>
      
        <tr>
          <td>HOME</td>
          <td class="code"><pre>'/root'</pre></td>
        </tr>
      
        <tr>
          <td>HOSTNAME</td>
          <td class="code"><pre>'df02480a7331'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_ACCEPT</td>
          <td class="code"><pre>'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_ACCEPT_ENCODING</td>
          <td class="code"><pre>'gzip, deflate, br, zstd'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_ACCEPT_LANGUAGE</td>
          <td class="code"><pre>'en-US,en;q=0.5'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_CONNECTION</td>
          <td class="code"><pre>'close'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_COOKIE</td>
          <td class="code"><pre>('csrftoken=3KbOHR8LvcOPWyh8WfGtkpZhO3vnllfRzKZ8Coxm1oD7f8i2J0fvj9rKd8m3xWQA; '
 'sessionid=7hnm5g58x8jgtnh2qzklhcvit65a7rgx; '
 'messages=W1siX19qc29uX21lc3NhZ2UiLDAsMjAsIkhpIEByb290MiB3ZWxjb21lIGJhY2shIl1d:1tEA0L:3j4vo6BvALI3vNyOq-Gsvp8FTD3qq1fhNPAQLg55xk0')</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_HOST</td>
          <td class="code"><pre>'127.0.0.1'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_PRIORITY</td>
          <td class="code"><pre>'u=0, i'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_REFERER</td>
          <td class="code"><pre>'https://127.0.0.1/login/?next=/'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_SEC_FETCH_DEST</td>
          <td class="code"><pre>'document'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_SEC_FETCH_MODE</td>
          <td class="code"><pre>'navigate'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_SEC_FETCH_SITE</td>
          <td class="code"><pre>'same-origin'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_SEC_FETCH_USER</td>
          <td class="code"><pre>'?1'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_UPGRADE_INSECURE_REQUESTS</td>
          <td class="code"><pre>'1'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_USER_AGENT</td>
          <td class="code"><pre>'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:129.0) Gecko/20100101 Firefox/129.0'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_X_FORWARDED_FOR</td>
          <td class="code"><pre>'172.19.0.1'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_X_FORWARDED_PROTO</td>
          <td class="code"><pre>'https'</pre></td>
        </tr>
      
        <tr>
          <td>HTTP_X_REAL_IP</td>
          <td class="code"><pre>'172.19.0.1'</pre></td>
        </tr>
      
        <tr>
          <td>LC_CTYPE</td>
          <td class="code"><pre>'C.UTF-8'</pre></td>
        </tr>
      
        <tr>
          <td>PATH</td>
          <td class="code"><pre>'/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/go/bin:/go/bin'</pre></td>
        </tr>
      
        <tr>
          <td>PATH_INFO</td>
          <td class="code"><pre>'/'</pre></td>
        </tr>
      
        <tr>
          <td>POSTGRES_DB</td>
          <td class="code"><pre>'rengine'</pre></td>
        </tr>
      
        <tr>
          <td>POSTGRES_HOST</td>
          <td class="code"><pre>'db'</pre></td>
        </tr>
      
        <tr>
          <td>POSTGRES_PASSWORD</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>POSTGRES_PORT</td>
          <td class="code"><pre>'5432'</pre></td>
        </tr>
      
        <tr>
          <td>POSTGRES_USER</td>
          <td class="code"><pre>'rengine'</pre></td>
        </tr>
      
        <tr>
          <td>PWD</td>
          <td class="code"><pre>'/usr/src/app'</pre></td>
        </tr>
      
        <tr>
          <td>PYTHONDONTWRITEBYTECODE</td>
          <td class="code"><pre>'1'</pre></td>
        </tr>
      
        <tr>
          <td>PYTHONUNBUFFERED</td>
          <td class="code"><pre>'1'</pre></td>
        </tr>
      
        <tr>
          <td>QUERY_STRING</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>REMOTE_ADDR</td>
          <td class="code"><pre>'172.19.0.3'</pre></td>
        </tr>
      
        <tr>
          <td>REMOTE_HOST</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>REQUEST_METHOD</td>
          <td class="code"><pre>'GET'</pre></td>
        </tr>
      
        <tr>
          <td>RUN_MAIN</td>
          <td class="code"><pre>'true'</pre></td>
        </tr>
      
        <tr>
          <td>SCRIPT_NAME</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_NAME</td>
          <td class="code"><pre>'df02480a7331'</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_PORT</td>
          <td class="code"><pre>'8000'</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_PROTOCOL</td>
          <td class="code"><pre>'HTTP/1.0'</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_SOFTWARE</td>
          <td class="code"><pre>'WSGIServer/0.2'</pre></td>
        </tr>
      
        <tr>
          <td>SHLVL</td>
          <td class="code"><pre>'1'</pre></td>
        </tr>
      
        <tr>
          <td>TZ</td>
          <td class="code"><pre>'UTC'</pre></td>
        </tr>
      
        <tr>
          <td>_</td>
          <td class="code"><pre>'/usr/bin/python3'</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.errors</td>
          <td class="code"><pre>&lt;_io.TextIOWrapper name='&lt;stderr&gt;' mode='w' encoding='utf-8'&gt;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.file_wrapper</td>
          <td class="code"><pre>&lt;class 'wsgiref.util.FileWrapper'&gt;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.input</td>
          <td class="code"><pre>&lt;django.core.handlers.wsgi.LimitedStream object at 0x7e6ba48e05e0&gt;</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.multiprocess</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.multithread</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.run_once</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.url_scheme</td>
          <td class="code"><pre>'http'</pre></td>
        </tr>
      
        <tr>
          <td>wsgi.version</td>
          <td class="code"><pre>(1, 0)</pre></td>
        </tr>
      
    </tbody>
  </table>


  <h3 id="settings-info">Settings</h3>
  <h4>Using settings module <code>reNgine.settings</code></h4>
  <table class="req">
    <thead>
      <tr>
        <th>Setting</th>
        <th>Value</th>
      </tr>
    </thead>
    <tbody>
      
        <tr>
          <td>ABSOLUTE_URL_OVERRIDES</td>
          <td class="code"><pre>{}</pre></td>
        </tr>
      
        <tr>
          <td>ADMINS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>ALLOWED_HOSTS</td>
          <td class="code"><pre>['*']</pre></td>
        </tr>
      
        <tr>
          <td>APPEND_SLASH</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>AUTHENTICATION_BACKENDS</td>
          <td class="code"><pre>['django.contrib.auth.backends.ModelBackend']</pre></td>
        </tr>
      
        <tr>
          <td>AUTH_PASSWORD_VALIDATORS</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>AUTH_USER_MODEL</td>
          <td class="code"><pre>'auth.User'</pre></td>
        </tr>
      
        <tr>
          <td>BASE_DIR</td>
          <td class="code"><pre>'/usr/src/app'</pre></td>
        </tr>
      
        <tr>
          <td>CACHES</td>
          <td class="code"><pre>{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
             'TIMEOUT': 1800}}</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_ALIAS</td>
          <td class="code"><pre>'default'</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_KEY_PREFIX</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>CACHE_MIDDLEWARE_SECONDS</td>
          <td class="code"><pre>600</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_BROKER_CONNECTION_RETRY_ON_STARTUP</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_BROKER_URL</td>
          <td class="code"><pre>'redis://redis:6379/0'</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_EAGER_PROPAGATES_EXCEPTIONS</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_ENABLE_UTC</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_IGNORE_RESULTS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_RESULT_BACKEND</td>
          <td class="code"><pre>'redis://redis:6379/0'</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_TIMEZONE</td>
          <td class="code"><pre>'UTC'</pre></td>
        </tr>
      
        <tr>
          <td>CELERY_TRACK_STARTED</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_AGE</td>
          <td class="code"><pre>31449600</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_HTTPONLY</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_NAME</td>
          <td class="code"><pre>'csrftoken'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_PATH</td>
          <td class="code"><pre>'/'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_SAMESITE</td>
          <td class="code"><pre>'Lax'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_COOKIE_SECURE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_FAILURE_VIEW</td>
          <td class="code"><pre>'django.views.csrf.csrf_failure'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_HEADER_NAME</td>
          <td class="code"><pre>'HTTP_X_CSRFTOKEN'</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_TRUSTED_ORIGINS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>CSRF_USE_SESSIONS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>DATABASES</td>
          <td class="code"><pre>{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.postgresql',
             'HOST': 'db',
             'NAME': 'rengine',
             'OPTIONS': {},
             'PASSWORD': '********************',
             'PORT': '5432',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'rengine'}}</pre></td>
        </tr>
      
        <tr>
          <td>DATABASE_ROUTERS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>
          <td class="code"><pre>2621440</pre></td>
        </tr>
      
        <tr>
          <td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>DATA_UPLOAD_MAX_NUMBER_FILES</td>
          <td class="code"><pre>100</pre></td>
        </tr>
      
        <tr>
          <td>DATETIME_FORMAT</td>
          <td class="code"><pre>'N j, Y, P'</pre></td>
        </tr>
      
        <tr>
          <td>DATETIME_INPUT_FORMATS</td>
          <td class="code"><pre>['%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M']</pre></td>
        </tr>
      
        <tr>
          <td>DATE_FORMAT</td>
          <td class="code"><pre>'N j, Y'</pre></td>
        </tr>
      
        <tr>
          <td>DATE_INPUT_FORMATS</td>
          <td class="code"><pre>['%Y-%m-%d',
 '%m/%d/%Y',
 '%m/%d/%y',
 '%b %d %Y',
 '%b %d, %Y',
 '%d %b %Y',
 '%d %b, %Y',
 '%B %d %Y',
 '%B %d, %Y',
 '%d %B %Y',
 '%d %B, %Y']</pre></td>
        </tr>
      
        <tr>
          <td>DEBUG</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>DEBUG_PROPAGATE_EXCEPTIONS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>DECIMAL_SEPARATOR</td>
          <td class="code"><pre>'.'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_AUTO_FIELD</td>
          <td class="code"><pre>'django.db.models.BigAutoField'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_CHARSET</td>
          <td class="code"><pre>'utf-8'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_ENABLE_HTTP_CRAWL</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_EXCEPTION_REPORTER</td>
          <td class="code"><pre>'django.views.debug.ExceptionReporter'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>
          <td class="code"><pre>'django.views.debug.SafeExceptionReporterFilter'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_FILE_STORAGE</td>
          <td class="code"><pre>'django.core.files.storage.FileSystemStorage'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_FROM_EMAIL</td>
          <td class="code"><pre>'webmaster@localhost'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_GET_GPT_REPORT</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_HASHING_ALGORITHM</td>
          <td class="code"><pre>'sha256'</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_HTTP_TIMEOUT</td>
          <td class="code"><pre>5</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_INDEX_TABLESPACE</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_RATE_LIMIT</td>
          <td class="code"><pre>150</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_RETRIES</td>
          <td class="code"><pre>1</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_TABLESPACE</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>DEFAULT_THREADS</td>
          <td class="code"><pre>30</pre></td>
        </tr>
      
        <tr>
          <td>DELETE_DUPLICATES_THRESHOLD</td>
          <td class="code"><pre>10</pre></td>
        </tr>
      
        <tr>
          <td>DISALLOWED_USER_AGENTS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>DOMAIN_NAME</td>
          <td class="code"><pre>'rengine.example.com'</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_BACKEND</td>
          <td class="code"><pre>'django.core.mail.backends.smtp.EmailBackend'</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST</td>
          <td class="code"><pre>'localhost'</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST_PASSWORD</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_HOST_USER</td>
          <td class="code"><pre>''</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_PORT</td>
          <td class="code"><pre>25</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SSL_CERTFILE</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SSL_KEYFILE</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_SUBJECT_PREFIX</td>
          <td class="code"><pre>'[Django] '</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_TIMEOUT</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_LOCALTIME</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_SSL</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>EMAIL_USE_TLS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_HANDLERS</td>
          <td class="code"><pre>['django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler']</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>
          <td class="code"><pre>100000000</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_PERMISSIONS</td>
          <td class="code"><pre>420</pre></td>
        </tr>
      
        <tr>
          <td>FILE_UPLOAD_TEMP_DIR</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FIRST_DAY_OF_WEEK</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>FIXTURE_DIRS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>FORCE_SCRIPT_NAME</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FORMAT_MODULE_PATH</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>FORM_RENDERER</td>
          <td class="code"><pre>'django.forms.renderers.DjangoTemplates'</pre></td>
        </tr>
      
        <tr>
          <td>IGNORABLE_404_URLS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>INSTALLED_APPS</td>
          <td class="code"><pre>['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'rest_framework',
 'rest_framework_datatables',
 'dashboard.apps.DashboardConfig',
 'targetApp.apps.TargetappConfig',
 'scanEngine.apps.ScanengineConfig',
 'startScan.apps.StartscanConfig',
 'recon_note.apps.ReconNoteConfig',
 'django_ace',
 'django_celery_beat',
 'mathfilters',
 'drf_yasg',
 'rolepermissions']</pre></td>
        </tr>
      
        <tr>
          <td>INTERNAL_IPS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGES</td>
          <td class="code"><pre>[('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ar-dz', 'Algerian Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('dsb', 'Lower Sorbian'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-co', 'Colombian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gd', 'Scottish Gaelic'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hsb', 'Upper Sorbian'),
 ('hu', 'Hungarian'),
 ('hy', 'Armenian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('ig', 'Igbo'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kab', 'Kabyle'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('ky', 'Kyrgyz'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmål'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('tg', 'Tajik'),
 ('th', 'Thai'),
 ('tk', 'Turkmen'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('uz', 'Uzbek'),
 ('vi', 'Vietnamese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese')]</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGES_BIDI</td>
          <td class="code"><pre>['he', 'ar', 'ar-dz', 'fa', 'ur']</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_CODE</td>
          <td class="code"><pre>'en-us'</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_AGE</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_HTTPONLY</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_NAME</td>
          <td class="code"><pre>'django_language'</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_PATH</td>
          <td class="code"><pre>'/'</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_SAMESITE</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>LANGUAGE_COOKIE_SECURE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>LOCALE_PATHS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>LOGGING</td>
          <td class="code"><pre>{'disable_existing_loggers': True,
 'formatters': {'brief': {'format': '%(name)-10s | %(message)s'},
                'default': {'format': '%(message)s'},
                'simple': {'datefmt': '%y %b %d, %H:%M:%S',
                           'format': '%(levelname)s %(message)s'},
                'task': {'()': &lt;function &lt;lambda&gt; at 0x7e6bb89e1360&gt;}},
 'handlers': {'brief': {'class': 'logging.StreamHandler', 'formatter': 'brief'},
              'celery': {'class': 'logging.handlers.RotatingFileHandler',
                         'filename': 'celery.log',
                         'formatter': 'simple',
                         'maxBytes': 104857600},
              'console': {'class': 'logging.StreamHandler',
                          'formatter': 'brief'},
              'db': {'backupCount': 3,
                     'class': 'logging.handlers.RotatingFileHandler',
                     'filename': 'db.log',
                     'formatter': 'brief',
                     'maxBytes': 1024},
              'default': {'class': 'logging.StreamHandler',
                          'formatter': 'default'},
              'file': {'class': 'logging.FileHandler',
                       'filename': 'errors.log',
                       'level': 'ERROR'},
              'null': {'class': 'logging.NullHandler'},
              'task': {'class': 'logging.StreamHandler', 'formatter': 'task'}},
 'loggers': {'': {'handlers': ['brief'], 'level': 'DEBUG', 'propagate': False},
             'api.views': '********************',
             'celery': {'handlers': ['celery'], 'level': 'DEBUG'},
             'celery.app.trace': {'handlers': ['null'], 'propagate': False},
             'celery.task': {'handlers': ['task'], 'propagate': False},
             'celery.worker': {'handlers': ['null'], 'propagate': False},
             'django': {'handlers': ['file'],
                        'level': 'ERROR',
                        'propagate': True},
             'django.db.backends': {'handlers': ['db'],
                                    'level': 'INFO',
                                    'propagate': False},
             'django.server': {'handlers': ['console'], 'propagate': False},
             'reNgine.tasks': {'handlers': ['task'],
                               'level': 'DEBUG',
                               'propagate': False}},
 'version': 1}</pre></td>
        </tr>
      
        <tr>
          <td>LOGGING_CONFIG</td>
          <td class="code"><pre>'logging.config.dictConfig'</pre></td>
        </tr>
      
        <tr>
          <td>LOGIN_REDIRECT_URL</td>
          <td class="code"><pre>'onboarding'</pre></td>
        </tr>
      
        <tr>
          <td>LOGIN_REQUIRED_IGNORE_VIEW_NAMES</td>
          <td class="code"><pre>['login']</pre></td>
        </tr>
      
        <tr>
          <td>LOGIN_URL</td>
          <td class="code"><pre>'login'</pre></td>
        </tr>
      
        <tr>
          <td>LOGOUT_REDIRECT_URL</td>
          <td class="code"><pre>'login'</pre></td>
        </tr>
      
        <tr>
          <td>MANAGERS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>MEDIA_ROOT</td>
          <td class="code"><pre>'/usr/src/scan_results/'</pre></td>
        </tr>
      
        <tr>
          <td>MEDIA_URL</td>
          <td class="code"><pre>'/media/'</pre></td>
        </tr>
      
        <tr>
          <td>MESSAGE_STORAGE</td>
          <td class="code"><pre>'django.contrib.messages.storage.fallback.FallbackStorage'</pre></td>
        </tr>
      
        <tr>
          <td>MIDDLEWARE</td>
          <td class="code"><pre>['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'login_required.middleware.LoginRequiredMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'reNgine.middleware.UserPreferencesMiddleware']</pre></td>
        </tr>
      
        <tr>
          <td>MIGRATION_MODULES</td>
          <td class="code"><pre>{}</pre></td>
        </tr>
      
        <tr>
          <td>MONTH_DAY_FORMAT</td>
          <td class="code"><pre>'F j'</pre></td>
        </tr>
      
        <tr>
          <td>NUMBER_GROUPING</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>PASSWORD_HASHERS</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>PASSWORD_RESET_TIMEOUT</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>PASSWORD_RESET_TIMEOUT_DAYS</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>PREPEND_WWW</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_CACHE_ENABLED</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_CURRENT_VERSION</td>
          <td class="code"><pre>'2.2.0'</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_HOME</td>
          <td class="code"><pre>'/usr/src/app'</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_RAISE_ON_ERROR</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_RECORD_ENABLED</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_RESULTS</td>
          <td class="code"><pre>'/usr/src/app/scan_results'</pre></td>
        </tr>
      
        <tr>
          <td>RENGINE_TASK_IGNORE_CACHE_KWARGS</td>
          <td class="code"><pre>['ctx']</pre></td>
        </tr>
      
        <tr>
          <td>REST_FRAMEWORK</td>
          <td class="code"><pre>{'DEFAULT_FILTER_BACKENDS': ('rest_framework_datatables.filters.DatatablesFilterBackend',),
 'DEFAULT_PAGINATION_CLASS': 'rest_framework_datatables.pagination.DatatablesPageNumberPagination',
 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
                              'rest_framework.renderers.BrowsableAPIRenderer',
                              'rest_framework_datatables.renderers.DatatablesRenderer'),
 'PAGE_SIZE': 500}</pre></td>
        </tr>
      
        <tr>
          <td>ROLEPERMISSIONS_MODULE</td>
          <td class="code"><pre>'reNgine.roles'</pre></td>
        </tr>
      
        <tr>
          <td>ROLEPERMISSIONS_REDIRECT_TO_LOGIN</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>ROOT_URLCONF</td>
          <td class="code"><pre>'reNgine.urls'</pre></td>
        </tr>
      
        <tr>
          <td>SECRET_FILE</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>SECRET_KEY</td>
          <td class="code"><pre>'********************'</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_BROWSER_XSS_FILTER</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_CONTENT_TYPE_NOSNIFF</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_PRELOAD</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_HSTS_SECONDS</td>
          <td class="code"><pre>0</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_PROXY_SSL_HEADER</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_REDIRECT_EXEMPT</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_REFERRER_POLICY</td>
          <td class="code"><pre>'same-origin'</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_SSL_HOST</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SECURE_SSL_REDIRECT</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SERVER_EMAIL</td>
          <td class="code"><pre>'root@localhost'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_CACHE_ALIAS</td>
          <td class="code"><pre>'default'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_AGE</td>
          <td class="code"><pre>1209600</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_DOMAIN</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_HTTPONLY</td>
          <td class="code"><pre>True</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_NAME</td>
          <td class="code"><pre>'sessionid'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_PATH</td>
          <td class="code"><pre>'/'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_SAMESITE</td>
          <td class="code"><pre>'Lax'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_COOKIE_SECURE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_ENGINE</td>
          <td class="code"><pre>'django.contrib.sessions.backends.db'</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_FILE_PATH</td>
          <td class="code"><pre>None</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_SAVE_EVERY_REQUEST</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>SESSION_SERIALIZER</td>
          <td class="code"><pre>'django.contrib.sessions.serializers.JSONSerializer'</pre></td>
        </tr>
      
        <tr>
          <td>SETTINGS_MODULE</td>
          <td class="code"><pre>'reNgine.settings'</pre></td>
        </tr>
      
        <tr>
          <td>SHORT_DATETIME_FORMAT</td>
          <td class="code"><pre>'m/d/Y P'</pre></td>
        </tr>
      
        <tr>
          <td>SHORT_DATE_FORMAT</td>
          <td class="code"><pre>'m/d/Y'</pre></td>
        </tr>
      
        <tr>
          <td>SIGNING_BACKEND</td>
          <td class="code"><pre>'django.core.signing.TimestampSigner'</pre></td>
        </tr>
      
        <tr>
          <td>SILENCED_SYSTEM_CHECKS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_DIRS</td>
          <td class="code"><pre>['/usr/src/app/static']</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_FINDERS</td>
          <td class="code"><pre>['django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder']</pre></td>
        </tr>
      
        <tr>
          <td>STATICFILES_STORAGE</td>
          <td class="code"><pre>'django.contrib.staticfiles.storage.StaticFilesStorage'</pre></td>
        </tr>
      
        <tr>
          <td>STATIC_ROOT</td>
          <td class="code"><pre>'/usr/src/app/staticfiles'</pre></td>
        </tr>
      
        <tr>
          <td>STATIC_URL</td>
          <td class="code"><pre>'/staticfiles/'</pre></td>
        </tr>
      
        <tr>
          <td>TEMPLATES</td>
          <td class="code"><pre>[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['/usr/src/app/templates'],
  'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages',
                                     'reNgine.context_processors.projects',
                                     'reNgine.context_processors.version_context',
                                     'reNgine.context_processors.user_preferences']}}]</pre></td>
        </tr>
      
        <tr>
          <td>TEMPLATE_DEBUG</td>
          <td class="code"><pre>False</pre></td>
        </tr>
      
        <tr>
          <td>TEST_NON_SERIALIZED_APPS</td>
          <td class="code"><pre>[]</pre></td>
        </tr>
      
        <tr>
          <td>TEST_RUNNER</td>
          <td class="code"><pre>'django.test.runner.DiscoverRunner'</pre></td>
        </tr>
      
        <tr>
          <td>THOUSAND_SEPARATOR</td>
          <td class="code"><pre>','</pre></td>
        </tr>
        <tr>
          <td>TIME_FORMAT</td>
          <td class="code"><pre>'P'</pre></td>
        </tr>
        <tr>
          <td>TIME_INPUT_FORMATS</td>
          <td class="code"><pre>['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']</pre></td>
        </tr>
        <tr>
          <td>TIME_ZONE</td>
          <td class="code"><pre>'UTC'</pre></td>
        </tr>
        <tr>
          <td>TOOL_LOCATION</td>
          <td class="code"><pre>'/usr/src/app/tools/'</pre></td>
        </tr>
        <tr>
          <td>USE_I18N</td>
          <td class="code"><pre>True</pre></td>
        </tr>
        <tr>
          <td>USE_L10N</td>
          <td class="code"><pre>True</pre></td>
        </tr>
        <tr>
          <td>USE_THOUSAND_SEPARATOR</td>
          <td class="code"><pre>False</pre></td>
        </tr>
        <tr>
          <td>USE_TZ</td>
          <td class="code"><pre>True</pre></td>
        </tr>
        <tr>
          <td>USE_X_FORWARDED_HOST</td>
          <td class="code"><pre>False</pre></td>
        </tr>
        <tr>
          <td>USE_X_FORWARDED_PORT</td>
          <td class="code"><pre>False</pre></td>
        </tr>
        <tr>
          <td>VERSION_FILE</td>
          <td class="code"><pre>'/usr/src/app/.version'</pre></td>
        </tr>
        <tr>
          <td>WSGI_APPLICATION</td>
          <td class="code"><pre>'reNgine.wsgi.application'</pre></td>
        </tr>
        <tr>
          <td>X_FRAME_OPTIONS</td>
          <td class="code"><pre>'DENY'</pre></td>
        </tr>
        <tr>
          <td>YEAR_MONTH_FORMAT</td>
          <td class="code"><pre>'F Y'</pre></td>
        </tr>
    </tbody>
  </table>
</div>
  <div id="explanation">
    <p>
      You’re seeing this error because you have <code>DEBUG = True</code> in your
      Django settings file. Change that to <code>False</code>, and Django will
      display a standard page generated by the handler for this status code.
    </p>
  </div>
</body>

Expected Behavior

I expect application to log me in and work without errors.

Steps To Reproduce

  1. Install rengine on fresh Ubuntu Desktop 24.04.1 machine
  2. Open rengine in Firefox browser
  3. Log in

Environment

- reNgine: 2.2.0
- OS: Ubuntu 24.04.1
- Python: 3.10.12
- Django Version: 3.2.23
- Docker Engine: Docker version 27.3.1, build ce12230
- Docker Compose: Docker Compose version v2.29.7
- Browser: Mozilla Firefox 129.0.2

Anything else?

No response

@r4ttle5nak3 r4ttle5nak3 added the bug Something isn't working label Nov 21, 2024
Copy link
Contributor

Hey @r4ttle5nak3! 👋 Thanks for flagging this bug! 🐛🔍

You're our superhero bug hunter! 🦸‍♂️🦸‍♀️ Before we suit up to squash this bug, could you please:

📚 Double-check our documentation: https://rengine.wiki
🕵️ Make sure it's not a known issue
📝 Provide all the juicy details about this sneaky bug

Once again - thanks for your vigilance! 🛠️🚀

@shubhamvpandey
Copy link

I was getting same error, But I was using kali linux after 20-11-2024 update I was able to install

first run ./install.sh, after that run make migrate command check if you still getting error then try down grading Python.

@r4ttle5nak3
Copy link
Author

The problem is not with installing. Error is being thrown after "successful" login while the app is already installed. If I saw correctly, you had problem with Python package during install.

@r4ttle5nak3
Copy link
Author

@shubhamvpandey I tried this time using Podman and WSL and it works after upgrading python for web to 3.11. Thanks for pointing me to the right direction. :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants