Skip to content

Commit fba303d

Browse files
author
dkraus
committed
Merge branch 'white/staging' into white/master
2 parents 41c899a + 1707546 commit fba303d

25 files changed

+962
-70
lines changed

.gitlab/ci/testing/.pretesting-gitlab-ci.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ merge_conflict_check:
33
- faradaytests
44
image: python:3.11
55
stage: pre_testing
6-
allow_failure: true
76
script:
87
- git config --global user.email "you@example.com"
98
- git config --global user.name "Mergerbot"
109
- python3 scripts/merge-conflict-detector.py
1110
rules:
12-
- !reference [ .dev-staging-master, rules ]
1311
- !reference [ .ignore-on-tag, rules ]
14-
- when: never
12+
- when: on_success
1513

1614
sanity_check:
1715
tags:

CHANGELOG/5.8.0/community.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
* [ADD] Added support for CVSS 4.0. #7753
2+
* [ADD] Improved filtering for better notification links. #7655
3+
* [ADD] Added new operator ANY_IN for pipeline job conditions. #7804
4+
* [FIX] Updated nginx config template for socketio. #7629
5+
* [ADD] Added contains conditional for pipelines conditions. #7805
6+
* [ADD] Add custom fields as conditions. #7721

CHANGELOG/5.8.0/date.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Oct 24th, 2024

RELEASE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
New features in the latest update
22
=====================================
33

4+
5.8.0 [Oct 24th, 2024]:
5+
---
6+
* [ADD] Added support for CVSS 4.0. #7753
7+
* [ADD] Improved filtering for better notification links. #7655
8+
* [ADD] Added new operator ANY_IN for pipeline job conditions. #7804
9+
* [ADD] Added contains conditional for pipelines conditions. #7805
10+
* [ADD] Added custom fields as conditions. #7721
11+
* [FIX] Updated nginx config template for socketio. #7629
12+
413
5.7.0 [Sep 20th, 2024]:
514
---
615
* [ADD] Added bulk update feature for custom attributes. #7716

faraday/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
See the file 'doc/LICENSE' for the license information
55
"""
66

7-
__version__ = '5.7.0'
7+
__version__ = '5.8.0'
88
__license_version__ = __version__
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""clear preferences
2+
3+
Revision ID: 4423dd3f90be
4+
Revises: e9a3ba96ea46
5+
Create Date: 2024-10-17 14:18:03.830337+00:00
6+
7+
"""
8+
from alembic import op
9+
10+
11+
# revision identifiers, used by Alembic.
12+
revision = '4423dd3f90be'
13+
down_revision = 'e9a3ba96ea46'
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade():
19+
op.execute("UPDATE faraday_user SET preferences = NULL;")
20+
21+
22+
def downgrade():
23+
pass
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
"""add cvss4 columns
2+
3+
Revision ID: 47e0c8f9856d
4+
Revises: 907c72c8d391
5+
Create Date: 2024-08-17 21:43:12.666824+00:00
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
11+
12+
# revision identifiers, used by Alembic.
13+
revision = '47e0c8f9856d'
14+
down_revision = '907c72c8d391'
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.add_column('vulnerability', sa.Column('_cvss4_vector_string', sa.Text(), nullable=True))
22+
op.add_column('vulnerability', sa.Column('cvss4_base_score', sa.Float(), nullable=True))
23+
op.add_column('vulnerability', sa.Column('cvss4_base_severity', sa.Text(), nullable=True))
24+
op.add_column('vulnerability', sa.Column('cvss4_attack_vector', sa.Text(), nullable=True))
25+
op.add_column('vulnerability', sa.Column('cvss4_attack_complexity', sa.Text(), nullable=True))
26+
op.add_column('vulnerability', sa.Column('cvss4_attack_requirements', sa.Text(), nullable=True))
27+
op.add_column('vulnerability', sa.Column('cvss4_privileges_required', sa.Text(), nullable=True))
28+
op.add_column('vulnerability', sa.Column('cvss4_user_interaction', sa.Text(), nullable=True))
29+
op.add_column('vulnerability', sa.Column('cvss4_vulnerable_system_confidentiality_impact', sa.Text(), nullable=True))
30+
op.add_column('vulnerability', sa.Column('cvss4_subsequent_system_confidentiality_impact', sa.Text(), nullable=True))
31+
op.add_column('vulnerability', sa.Column('cvss4_vulnerable_system_integrity_impact', sa.Text(), nullable=True))
32+
op.add_column('vulnerability', sa.Column('cvss4_subsequent_system_integrity_impact', sa.Text(), nullable=True))
33+
op.add_column('vulnerability', sa.Column('cvss4_vulnerable_system_availability_impact', sa.Text(), nullable=True))
34+
op.add_column('vulnerability', sa.Column('cvss4_subsequent_system_availability_impact', sa.Text(), nullable=True))
35+
op.add_column('vulnerability', sa.Column('cvss4_safety', sa.Text(), nullable=True))
36+
op.add_column('vulnerability', sa.Column('cvss4_automatable', sa.Text(), nullable=True))
37+
op.add_column('vulnerability', sa.Column('cvss4_recovery', sa.Text(), nullable=True))
38+
op.add_column('vulnerability', sa.Column('cvss4_value_density', sa.Text(), nullable=True))
39+
op.add_column('vulnerability', sa.Column('cvss4_vulnerability_response_effort', sa.Text(), nullable=True))
40+
op.add_column('vulnerability', sa.Column('cvss4_provider_urgency', sa.Text(), nullable=True))
41+
op.add_column('vulnerability', sa.Column('cvss4_modified_attack_vector', sa.Text(), nullable=True))
42+
op.add_column('vulnerability', sa.Column('cvss4_modified_attack_complexity', sa.Text(), nullable=True))
43+
op.add_column('vulnerability', sa.Column('cvss4_modified_attack_requirements', sa.Text(), nullable=True))
44+
op.add_column('vulnerability', sa.Column('cvss4_modified_privileges_required', sa.Text(), nullable=True))
45+
op.add_column('vulnerability', sa.Column('cvss4_modified_user_interaction', sa.Text(), nullable=True))
46+
op.add_column('vulnerability', sa.Column('cvss4_modified_vulnerable_system_confidentiality_impact', sa.Text(), nullable=True))
47+
op.add_column('vulnerability', sa.Column('cvss4_modified_subsequent_system_confidentiality_impact', sa.Text(), nullable=True))
48+
op.add_column('vulnerability', sa.Column('cvss4_modified_vulnerable_system_integrity_impact', sa.Text(), nullable=True))
49+
op.add_column('vulnerability', sa.Column('cvss4_modified_subsequent_system_integrity_impact', sa.Text(), nullable=True))
50+
op.add_column('vulnerability', sa.Column('cvss4_modified_vulnerable_system_availability_impact', sa.Text(), nullable=True))
51+
op.add_column('vulnerability', sa.Column('cvss4_modified_subsequent_system_availability_impact', sa.Text(), nullable=True))
52+
op.add_column('vulnerability', sa.Column('cvss4_confidentiality_requirement', sa.Text(), nullable=True))
53+
op.add_column('vulnerability', sa.Column('cvss4_integrity_requirement', sa.Text(), nullable=True))
54+
op.add_column('vulnerability', sa.Column('cvss4_availability_requirement', sa.Text(), nullable=True))
55+
op.add_column('vulnerability', sa.Column('cvss4_exploit_maturity', sa.Text(), nullable=True))
56+
# ### end Alembic commands ###
57+
58+
59+
def downgrade():
60+
# ### commands auto generated by Alembic - please adjust! ###
61+
op.drop_column('vulnerability', 'cvss4_exploit_maturity')
62+
op.drop_column('vulnerability', 'cvss4_availability_requirement')
63+
op.drop_column('vulnerability', 'cvss4_integrity_requirement')
64+
op.drop_column('vulnerability', 'cvss4_confidentiality_requirement')
65+
op.drop_column('vulnerability', 'cvss4_modified_subsequent_system_availability_impact')
66+
op.drop_column('vulnerability', 'cvss4_modified_vulnerable_system_availability_impact')
67+
op.drop_column('vulnerability', 'cvss4_modified_subsequent_system_integrity_impact')
68+
op.drop_column('vulnerability', 'cvss4_modified_vulnerable_system_integrity_impact')
69+
op.drop_column('vulnerability', 'cvss4_modified_subsequent_system_confidentiality_impact')
70+
op.drop_column('vulnerability', 'cvss4_modified_vulnerable_system_confidentiality_impact')
71+
op.drop_column('vulnerability', 'cvss4_modified_user_interaction')
72+
op.drop_column('vulnerability', 'cvss4_modified_privileges_required')
73+
op.drop_column('vulnerability', 'cvss4_modified_attack_requirements')
74+
op.drop_column('vulnerability', 'cvss4_modified_attack_complexity')
75+
op.drop_column('vulnerability', 'cvss4_modified_attack_vector')
76+
op.drop_column('vulnerability', 'cvss4_provider_urgency')
77+
op.drop_column('vulnerability', 'cvss4_vulnerability_response_effort')
78+
op.drop_column('vulnerability', 'cvss4_value_density')
79+
op.drop_column('vulnerability', 'cvss4_recovery')
80+
op.drop_column('vulnerability', 'cvss4_automatable')
81+
op.drop_column('vulnerability', 'cvss4_safety')
82+
op.drop_column('vulnerability', 'cvss4_subsequent_system_availability_impact')
83+
op.drop_column('vulnerability', 'cvss4_vulnerable_system_availability_impact')
84+
op.drop_column('vulnerability', 'cvss4_subsequent_system_integrity_impact')
85+
op.drop_column('vulnerability', 'cvss4_vulnerable_system_integrity_impact')
86+
op.drop_column('vulnerability', 'cvss4_subsequent_system_confidentiality_impact')
87+
op.drop_column('vulnerability', 'cvss4_vulnerable_system_confidentiality_impact')
88+
op.drop_column('vulnerability', 'cvss4_user_interaction')
89+
op.drop_column('vulnerability', 'cvss4_privileges_required')
90+
op.drop_column('vulnerability', 'cvss4_attack_requirements')
91+
op.drop_column('vulnerability', 'cvss4_attack_complexity')
92+
op.drop_column('vulnerability', 'cvss4_attack_vector')
93+
op.drop_column('vulnerability', 'cvss4_base_severity')
94+
op.drop_column('vulnerability', 'cvss4_base_score')
95+
op.drop_column('vulnerability', '_cvss4_vector_string')
96+
# ### end Alembic commands ###
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
"""user session_id
2+
3+
Revision ID: 907c72c8d391
4+
Revises: ad29e4bcf2cf
5+
Create Date: 2024-09-18 13:34:52.883133+00:00
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
11+
# revision identifiers, used by Alembic.
12+
revision = '907c72c8d391'
13+
down_revision = 'ad29e4bcf2cf'
14+
branch_labels = None
15+
depends_on = None
16+
17+
18+
def upgrade():
19+
op.add_column('faraday_user', sa.Column('session_id', sa.String(length=64), nullable=True))
20+
21+
22+
def downgrade():
23+
op.drop_column('faraday_user', 'session_id')
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
"""cloud_agent_scheduler_and_scheduler_token
2+
3+
Revision ID: e9a3ba96ea46
4+
Revises: 47e0c8f9856d
5+
Create Date: 2024-09-17 18:54:47.529304+00:00
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
from faraday.server.models import UserToken
11+
12+
# revision identifiers, used by Alembic.
13+
revision = 'e9a3ba96ea46'
14+
down_revision = '47e0c8f9856d'
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
scheduler_types_enum = sa.Enum('cloud_agent', 'agent', name='scheduler_types')
22+
scheduler_types_enum.create(op.get_bind(), checkfirst=True)
23+
op.add_column('agent_schedule', sa.Column('type', sa.Enum('cloud_agent', 'agent', name='scheduler_types'), nullable=False, server_default='agent'))
24+
op.add_column('agent_schedule', sa.Column('cloud_agent_id', sa.Integer(), nullable=True))
25+
op.alter_column('agent_schedule', 'executor_id',
26+
existing_type=sa.INTEGER(),
27+
nullable=True)
28+
op.create_index(op.f('ix_agent_schedule_cloud_agent_id'), 'agent_schedule', ['cloud_agent_id'], unique=False)
29+
op.create_foreign_key('agent_schedule_cloud_agent_id_fkey', 'agent_schedule', 'cloud_agent', ['cloud_agent_id'], ['id'])
30+
with op.get_context().autocommit_block():
31+
op.execute("ALTER TYPE token_scopes ADD VALUE IF NOT EXISTS 'scheduler'")
32+
# ### end Alembic commands ###
33+
34+
35+
def downgrade():
36+
# ### commands auto generated by Alembic - please adjust! ###
37+
op.drop_constraint('agent_schedule_cloud_agent_id_fkey', 'agent_schedule', type_='foreignkey')
38+
op.drop_index(op.f('ix_agent_schedule_cloud_agent_id'), table_name='agent_schedule')
39+
op.alter_column('agent_schedule', 'executor_id',
40+
existing_type=sa.INTEGER(),
41+
nullable=False)
42+
op.drop_column('agent_schedule', 'cloud_agent_id')
43+
op.drop_column('agent_schedule', 'type')
44+
scheduler_types_enum = sa.Enum('cloud_agent', 'agent', name='scheduler_types')
45+
scheduler_types_enum.drop(op.get_bind(), checkfirst=True)
46+
47+
# Step 1: Create a new enum type without the 'scheduler' value
48+
49+
scopes = [scope for scope in UserToken.SCOPES if scope != UserToken.SCHEDULER_SCOPE]
50+
51+
scopes_str = ', '.join(f"'{scope}'" for scope in scopes)
52+
53+
op.execute(f"CREATE TYPE token_scopes_tmp AS ENUM({scopes_str})")
54+
55+
# Step 2: Alter the table to use the new enum type
56+
op.execute("""
57+
ALTER TABLE user_token
58+
ALTER COLUMN scope
59+
SET DATA TYPE token_scopes_tmp
60+
USING scope::text::token_scopes_tmp
61+
""")
62+
63+
# Step 3: Drop the old enum type
64+
op.execute("DROP TYPE token_scopes")
65+
66+
# Step 4: Rename the new enum type to the original one
67+
op.execute("ALTER TYPE token_scopes_tmp RENAME TO token_scopes")
68+
# ### end Alembic commands ###

faraday/openapi/faraday_swagger.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"info": {
33
"description": "The Faraday REST API enables you to interact with [our server](https://github.com/infobyte/faraday).\nUse this API to interact or integrate with Faraday server. This page documents the REST API, with HTTP response codes and example requests and responses.",
4-
"title": "Faraday 5.7.0 API",
4+
"title": "Faraday 5.8.0 API",
55
"version": "v3"
66
},
77
"security": [
@@ -7446,6 +7446,7 @@
74467446
},
74477447
"cvss2": {},
74487448
"cvss3": {},
7449+
"cvss4": {},
74497450
"refs": {
74507451
"type": "array",
74517452
"items": {
@@ -8090,6 +8091,7 @@
80908091
},
80918092
"cvss2": {},
80928093
"cvss3": {},
8094+
"cvss4": {},
80938095
"cwe": {
80948096
"type": "array",
80958097
"items": {
@@ -8372,7 +8374,10 @@
83728374
">=",
83738375
"<=",
83748376
"in",
8375-
"not_in"
8377+
"not_in",
8378+
"any_in",
8379+
"contains",
8380+
"inverted_in"
83768381
],
83778382
"nullable": true
83788383
},

0 commit comments

Comments
 (0)