Comments (3)
That could explain it. Since all the tasks in the screenshot ran at the same time, it may be that Domain Monitor
causes the status to "reset" after Release Checked out Domains
flips it.
When the task pulls a queryset or record, those don't update automatically if the record(s) change between the task pulling the record and the end. The sequence might be something like:
- Both tasks start and pull a domain marked as Unavailable
- The
Release Checked out Domains
tasks releases the domain by marking it as Available and saving the record - The
Domain Monitor
task takes longer so it completes after the release task and updates the domain record - The
Domain Monitor
task's copy of the domain record had the status as Unavailable so the status flips back when the task saves the record
The easiest solution is running the tasks at different times, but we can probably do some things to avoid this sort of collision. If you expect a record may have changed, you can call refresh_from_db()
to make sure the record is up-to-date. We can also update on the changed fields instead of calling save()
. We'll look into adjusting the task for that.
from ghostwriter.
Hey there, I'm unable to reproduce this. The domains we have checked out have been releasing as expected. I also tried it with our latest release in my development environment and the task flagged the checked out domains for release and their status flipped to "Available."
Have you made any custom changes to the task or the domain status?
The status change happens between the log message "Releasing back into the pool" and updating the JSON results with 'change': 'released'
for the affected domain. You're seeing the log message and the changed
key set with no errors in-between, so the domain status should be set correctly.
Jut in case, I have to ask to rule it out, did you refresh the page after seeing the task complete? The status won't update on the domain dashboard or in the list of domains until you refresh after the task completes.
from ghostwriter.
Hi @chrismaddalena thank you for your reply.
I have not made any modifications to the tasks apart from modifications to the container for the nmap fix as described here #362.
I have been looking at the logs the past couple of days and the same message appears each day at the scheduled time. I have been refreshing the page when the task runs however I have noticed today that it appears available once the task has run
And then appears checked out again moments later
So I think what is happening is the release task it successfully making the domain available and another task is potentially changing it back to checked-out again
from ghostwriter.
Related Issues (20)
- Oplog start_time and end_time format missing timezone offset. HOT 1
- Report template types are broken HOT 5
- Generate DOCX report broken for existing findings with empty affected entities HOT 4
- Finding with SSTI payload in replication steps (as inline code), prevents report generation HOT 2
- No route found... Username incudes `-` HOT 1
- Cross-references broken when ref includes special characters (e.g., hyphens or underscores) HOT 6
- Extra Fields UI Screen Readability Improvement HOT 2
- Observations Tab HOT 3
- Header bookmarks HOT 2
- Space gets stripped in front of hyperlink
- `modules.reportwriter.richtext.plain_text.py` data-gw-evidence not replaced in output
- Dropdown option for Extra Fields HOT 1
- Select Caption Type for Evidence HOT 3
- WYSIWYG editor evidence ref AutoComplete HOT 1
- Angle brackets stripped out of report extra fields in custom template HOT 2
- Autocomplete options are not available in custom fields
- Template rendering failed unexpectedly HOT 1
- Workflow step "Build environment" fails HOT 1
- KeyError: "no style with name 'ListParagraph'" during export HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ghostwriter.