1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00

77 Commits

Author SHA1 Message Date
5aff840e39 #1231 IX-F consistency (#1588) 2024-04-15 10:42:10 -05:00
0187e99377 Support 202403 (#1594)
* Support 202403 prepare

* refactor peeringdb_server/management/commands/pdb_delete_outdated_pending_affil_request.py for improved code structure
fix tests/test_settings.py::TestAutoApproveAffiliation::test_setting by using rdap mocking

* db schema docs and api docs regen

* rir should be RIR

---------

Co-authored-by: 20C <code@20c.com>
2024-04-15 09:03:24 -05:00
c3b70ce09f Expose authentication methods on outbound federation (#1565)
* Expose authentication methods on outbound federation

* relock

* docs

* linting

* docs

* webauthn instead of u2f

* use swk

* docs

* remove cruft

* remove unused import

* add amr claim for JWT ID token as well

fix tests

add test key

* fix oidc validator tests

* fix merge cruft

---------

Co-authored-by: 20C <code@20c.com>
2024-03-12 20:59:15 -05:00
d50ee5f90e Support 202401 (#1551)
* Add field ixf_ixp_import_enabled to object ixlan #1229
pdb_load_data no longer creates necessary org usergroups #1480
API list net documentation says "org" is a string, but it actually contains a dictionary #1438
Allow users to edit their objects Geocode #1464

* escape lat lng input

* only notify for `ok` facilities

linting

---------

Co-authored-by: 20C <code@20c.com>
2024-02-20 14:37:44 -06:00
04a6d8f071 operations changes (#1508)
* remove listening env vars from docker file
* allow env override of STATIC and MEDIA root
* add uwsgi file to tester target
* add output_dir to kmz gen, kmz-gen-only
2024-01-16 14:37:44 -06:00
398ff357b1 Support 202311 (#1506)
Add a "flag bad data" button on various places #170
Add a "last synced at $date" to beta.peeringdb.com #410
Improve RIR Update Procedure #1303
Only indicate availability of DC voltage for facilities #1341
Clarifying the Network Type field #1357
Changing ASN field on "Add Network" to be numbers only #1430
Update website to take advantage of wider screen and improve mobile device support #1463
v2 search - not able to find IX participant based on IP #1469
v2 search not able to find organization and network - Marconi Solutions Srls #1476
Improve RIR Update Procedure #1280

Co-authored-by: 20C <code@20c.com>
2024-01-15 14:12:00 -06:00
4848d620a0 Support 202310 (#1474)
* Make dates ISO 8601 compliant everywhere in PeeringDB (#1432).
Timestamps should be consistent (#1433).
Display dates consistently (#1252).
Show connected networks, exchanges, and carriers on campus results pages (#1362).
Improve visibility of contact data settings (#1327).
Keep the list of IRR up to date (#1385).
Store language preference in the user's profile instead of cookies (#1247).

* linting

* Cache changes

* final linting and tests

* fix kmz export test to read from the correct location

---------

Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
2023-11-28 08:21:06 -06:00
36489e2921 use debug print (#1460)
* use debug print

* suppress python warnings during whois
2023-10-25 09:48:52 -05:00
be9deaf2f8 Support 202309 (#1458)
* fixes #1260 - playwright tests
fixes #1394 - v2 search failing to find some names
fixes #1374 - Search to include new objects: Campus & Carrier
fixes #1164 - better rdap error reporting
fixes #1368 - Facility data export into Google Earth KMZ
fixes #1328 - Support web updates from a source of truth
fixes #1257 - Help text covers non-compliant email addresses
fixes #1313 - Improve email confirmation control - add 3 month option & maybe set new default value
fixes #1380 - Reset 'Social Media' to '[]' if field has no value

* linting

* remove target=_blank

* bump ES version to 8.10

* Cache and ES updates (#1459)

* elasticsearch major version pin and relock

* set decimal fields to python value on client save for load_data

* force use of redis password

* add default_meta to render

* add generated, clean up var names

* run pre-commit

* update ES for https and password

* rm cruft

* isort

---------

Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
2023-10-24 12:17:03 -05:00
0784265f80 Support 202308 test performance (#1440)
* Sorting icon from google material icons #1419
Manual IX-F import request queue can get stuck #1182
IX Object Creation Per Policy #1364
Creating a new network not possible #1401
IX-F Importer: Cosmetic issue with "resolved" emails and double-slashes in URLs after the FQDN #1334
Add a "Delete Affiliation" button/option to the profile #1226
Redis and negative caching #1431

* linting

* update gen_docs to use py3.11

* fix issue with api docs schema regen

* regen apidoc schema and db schema graph

* fix username validation for social media

* Add test case for social media validation

* linting

* tests shouldnt use redis

* also fix session cache setup (although not used atm)

* linting

* all caches to localmemcache during testing

---------

Co-authored-by: 20C <code@20c.com>
Co-authored-by: Matt Griswold <grizz@20c.com>
2023-09-12 20:54:04 -05:00
3167679b3c Support 202307 (#1426)
* Support 202307

Add hover tip to describe meaning of routeserver icon #1381

Add Campus and Carrier Tooltips #1361

Display website URL on all non-org objects #1300

Make the search field on cp/peeringdb_server/network/ aware of leading AS/ASN #1027

Add search field to `/cp/peeringdb_server/` AC views (#1239)

IX-F Importer: IX-F Member Data not being nullified after IX stops/changes import #1360

Include carrier and campus objects in the API #1352

* fixes to website propagation

* fix tests

* django-security-keys to 1.1.0 and relock

* poetry relock

* linting

* comment django-peeringdb dev mount

* add org website field to admin forms

* fix templatetag name collision between django-security-keys and peeringdb

* linting

* django-peeringdb to 3.2.0 and poetry relock

* remove debug message

---------

Co-authored-by: 20C <code@20c.com>
2023-08-15 18:40:18 +00:00
020b267886 Support 202306 (#1411)
* Support 202306

fixes #997
fixes #1219
fixes #1299
fixes #1344
fixes #1370
fixes #1404

* fix PEERINGDB_SYNC_CACHE_URL
2023-07-11 13:20:46 +00:00
c736e60910 Support 202305 (#1402)
* dependency updates #1311

* poetry relock

* linting

* fix global stats cache test and remove timed test

* pin django-peeringdb 3.1.0

* remove deprecated cors test

---------

Co-authored-by: 20C <code@20c.com>
2023-06-20 00:26:06 +00:00
ef187b7cef prep 2.47.0 (#1389)
* prep 2.47.0-beta1

* Elasticsearch fixes (#1388)

* silent ES auto update failure
search_index command that support incremental update through --max-age period

* reftag search case-insensitive

* case insensitive reftag search

* prep 2.47.0

---------

Co-authored-by: Stefan Pratter <stefan@20c.com>
2023-05-23 22:02:15 -05:00
4b10b8e41d Support 202304 (#1383)
* Don't allow the first and last addresses being assigned #1241

Show all e-mail addresses associated with a username #1291

Add permission 'manage peering sessions' #1290

Put an Icon next to user name on https://www.peeringdb.com/org/nnnn#users if the user is using U2F #1238

Tie TOTP devices and Webauthn Security Keys to the user account #1339

v2 Search (#1204)

pin django peeringdb 3.0.1 and poetry relock

linting

* fix codeql warning: DOM text reinterpreted as HTML

* fix global stats tests

---------

Co-authored-by: 20C <code@20c.com>
2023-05-16 18:04:05 +00:00
9b19492fee Support 202303 (#1371)
* add social media fields

Clearly show when a facility is part of a campus #1336

fix get carrier with parameter

Duplicate address(es) should result in rejection of JSON export and notification of IXP

linting

move style to css file

social media field fixes

fix tests

remove social media fields from entity creation

change label to "+ Social Media"

poetry relock

fix migration hierarchy

fix missing template tag

pin django-peeringdb to support_202303 branch

django-cors-headers to 3.13 as 3.14 breaks stuff

fix pdb_load issues

PEERINGDB_SYNC_USERNAME

linting

django-peeringdb 3.0.0

* use .text() to set social media label content

---------

Co-authored-by: 20C <code@20c.com>
2023-04-11 21:04:36 +00:00
c1b13c5d53 fix/improve ix-f stale netixlan deletion process and add additional tests (#1356)
* fix/improve ix-f stale netixlan deletion process and add additional tests

* linting

* remove debug messages

* remove redundant test
2023-03-20 12:34:56 +00:00
b108e7a8e9 Update prefix limits (#1348)
* update default objects

* update prefix limits in defaults

* Revert "update prefix limits in defaults"

This reverts commit 2e8131aeb6b535b093d8313795dd47545ce7e9ff.

* Revert "Revert "update prefix limits in defaults""

This reverts commit d8a71e185a367f6d5a191f15b9a7f71b8c81c200.

* Revert "update default objects"

This reverts commit 741d37ff8d0dff7bc8d15cac711a59eb6c6623bb.
2023-03-14 01:24:09 +00:00
5641510139 update default objects (#1347) 2023-03-14 00:58:49 +00:00
5b1d19528d better title tags #1281 (#1345)
It should be impossible to save an active entity under an entity that is marked as deleted. #389

Implement auto-removal of stale networks according to DOTF recommendations #1271

Rename Private Peering Facilities to Interconnection Facilities in the UI #749

poetry relock

linting
2023-03-13 18:22:22 +00:00
ae41216263 Site Header: Add anonymous user language select (#1319)
Currently, users must log in before they can set a language preference
on PeeringDB. This change allows anonymous users to change the language
of any page without logging in, by setting the Django language cookie.
2023-03-13 18:22:08 +00:00
5eb925e319 Support 202301 (#1329)
* fix next redirect when using U2F 2FA auth (#1191)

* Added self identifier to API

* fix migrations hierarchy after merging in previous support branch

* campus object

Co-authored-by: Stefan Pratter <stefan@20c.com>

* fix out of bound error message
add city / country to campus view

* fix tests

* relock poetry

* linting

* linting

* fix docs regen

* regen docs

* linting

* refactor self entity view to support carrier and campus object types and also make it easier to support additional object types in the future

* remove debug message

---------

Co-authored-by: Gajanan Patil <dipaksavaliya.python@gmail.com>
2023-02-15 07:55:01 +00:00
a0f1970fec Support 202211 (#1304)
* Carrier object implementation #909

* API keys: disabling of user account by a PeeringDB admin does not disable access via a User API key. Also no disable mech, only revoke. #1140

* Ops: django needs lightweight healthcheck route that confirms database connectivity #1284

* Ops: various indexes are needed #1285

* API requests with invalid Authentication headers should notify users in some way. #1220

* Allow user to change account username #1130

* UX to remove carriers from facilities more inline the other similar UX

* more UX fixes for removing carriers from facilities

* Cache hints are needed for optimal CDN use #970

* fixes Commandline tool "Run command" button gone #1278

* RIR status gets deleted when changes are made to the network #1279

* Improve MTU field #658

* CSRF cookie not set error from email confirmation view #1296

* expose CSP_CONNECT_SRC

* fix confirm email path checking in session middleware

* Ops: Emails to OPERATIONS_EMAIL need to be rate-limited #1282

* add website field to carrier ux

* website field on carrier optional with org fallback

* linting

* add *.google-analytics.com to CSP_CONNECT_SRC

* poetry relock

* fix issues with confirm-email reverse during session creation validation

* fix tests

* fix tests

* pin django-peeringdb to support_202211

* linting

* django ratelimit to <4

* regen docs

* fix automated net stats to only include networks with status `ok` #1283

* linting

* poetry lock

Co-authored-by: Matt Griswold <grizz@20c.com>
2023-01-18 10:32:46 -06:00
4c5312fcc0 fix non www url (#1305)
* postgres compose volume to named volume

* update unused non www URLs, #1292

* black format
2023-01-18 10:12:23 -06:00
2e8788b595 Support 202210 (#1286)
* Allow REALPEER to overwrite GHOSTPEER netixlan entry, if asn and IPv6/v4 addresses matches the IX-F Members Export information #983

* Lightweight user notification mechanism #758

* do not allow affiliation with a deleted organisation #953

* Improve readability when users have special permissions #659

* fix advanced search export when api-cache exist and no filters were supplied #1153

* Ops: Throttle strings with "Response size" should be renamed "Repeated request" #1168

* allow ixlan prefix to be changed / deleted regardless of existence of netixlans in the address space #924

* linting

* poetry relock

* remove debug code

* linting

* fixed Reset IX-F suggestions link non-functional #1253

* solved UI shows own email when viewing affiliation requests for an organization #1250

* Adjust "Add Facility" menu to include newly defined fields #1091

* Footer "Global System Statistics" should be cached within django instance, not updated with every page load #1283

* linting

* django-handleref to 1.1.0 and relock poetry

* GLOBAL_STATS_CACHE_DURATION default to 900 seconds

* remove vscode and idea

* remove Ctl/dev/docker-compose.debug.yml

* remove unsused variable

* rename STATS to __STATS

* linting

* regen docs
2022-11-08 11:25:32 -06:00
8861320ad5 Google analytics (#1287)
* google analytics

* linting
2022-11-08 13:42:17 +02:00
75817dea05 Add missing allowed sources for scripts (#1276)
* add missing allowed sources to content policy
change redoc cdn to redoc.ly

* set_option for CSP settings

* linting
2022-10-26 10:42:04 -05:00
7a02f3275b Introduce a separate OAuth Session Cookie (#1208)
* Enforce Session Timeouts

* Make Oauth cookie setting configurable

* Run Isort on views.py

Co-authored-by: Prithvi Nath Manikonda <manikop@amazon.com>
2022-10-11 07:47:54 -05:00
e2ff9ed8f8 Set secure header (#1242)
* Use set options to set settings for secure header

Co-authored-by: Prithvi Nath Manikonda <manikop@amazon.com>
2022-10-11 07:46:49 -05:00
2ee1220c58 Support 202209 (#1259)
* Add export tool to https://peeringdb.com/cp/peeringdb_server #586

* IX-F importer fails on nulled ipv4 / ipv6 properties in vlan_list entries #1244

* Adding a POC must require an email address or phone number #1044

* Selenium tests

* ping django-peeringdb and rdap and poetry relock

* linting

* linting

* remove selenium tests cruft

* comment out django-peeringdb and search data mounts

* regen docs
2022-10-11 07:45:07 -05:00
2f87ccfb95 User Profile: Sort language select input with user's locale (#1227)
* User Profile: Sort language select input with user's locale

* Languages Data View: Send local and translated language option names

* Locale Settings: Add Occitan language info
2022-09-12 16:34:19 +03:00
b7bfd631a3 Support 202208 (#1240)
* Make it possible to display the TOTP secret in text form instead of QR code only #947

* Show username *and* email address when user is logged in #484

* fix asn auto tool #959

* Trigger IX-F import when network sets allow_ixp_update to "yes" #499

* Ops: Log Melissa payload in django.log #1150

* Error-handling of failed creation of DeskPRO ticket #981

* email management changes #267 #736 #737 #738 #907

* block api write operations when using basic-auth to authenticate an MFA enabled account

* add robots txt #1213

* DB clean-up of elderly ophaned user accounts #380

* linting

* fix migrations

* fix tests

* dont flag new users for deletion

* linting

* docs

Co-authored-by: dpoarch <dpoarch@20c.com>
2022-09-12 16:29:28 +03:00
d5c3429254 Support 202206 (#1207)
* Organization Merging Tool only offers the first 10 matches #941

* AC Change User Permission broken #1043

* change rs peer icon and move to policy column (#727)

* An account with admin status can not have permissions #1157

* add rir_* fields to keep track of ASN status #473

* poetry relock for rdap 1.3.0

* Ops: Limit Django session creation for unauthenticated requests (#1205)

* refactor 941 changes to honor grappelli field configuration and also fix broken end anchors

* check term has a value

* fix tests

* poetry reloc and pin django-peeringdb to 2.14.0

* fix middleware test

* linting

* set more reasonable default RIR_ALLOCATION_DATA_CACHE_DAYS

* better default dir for RIR_ALLOCATION_DATA_PATH

* fix csv export for advanced search

* fix issues with tests failing on CSRF_USE_SESSIONS when they are using RequestFactory

* tox.ini for flake8 options

* regen docs

* regen docs

Co-authored-by: David Poarch <dpoarch@20c.com>
2022-07-15 13:47:59 -05:00
3ee0d1ea5e Support 202205 (#1188)
* Add "Last login" to https://peeringdb.com/cp/peeringdb_server/user/ #879

* Bug in renumbering tool #660

* Add the IX name and id to IX-F Import Emails #963

* Use username to create deskpro person when no first-name / last-name data exists #1057

* Organization merge tool usergroup issues #930

* Exempt superusers (PeeringDB Admin Committee & Operations Committee admins) from throttling #1172

* add missing migration for #1172

* linting

* poetry relock

* adapt to django-two-factor-auth template-tag renaming changes

* increase default for DATA_QUALITY_MAX_SPEED to 5Tb

* regenerate docs

* fix api test for netixlan max speed validation

* pdb_api_cache command needs to disable CSRF_USE_SESSIONS before it runs

Co-authored-by: David Poarch <dpoarch@20c.com>
2022-06-15 07:23:26 -05:00
e2164394e8 Tie CSRF token to session Id (#1183)
* Tie CSRF token to session Id

* Fix CSRF token acquisition before POST/PUT/DELETE requests

Co-authored-by: Prithvi Nath Manikonda <manikop@amazon.com>
2022-06-15 07:23:01 -05:00
1109acbd1a Upgrade Dependencies to its secure versions for bootstrap, jquery and DOMPurify (#1175)
* Upgrade Dependencies to its secure versions for bootstrap, jquery and DOMPurify

* Enforce Session Timeouts

* Revert "Enforce Session Timeouts"

This reverts commit ff82ea91b289e4bf115e2909ee7b6da09878ce92.

Co-authored-by: Prithvi Nath Manikonda <manikop@amazon.com>
2022-06-14 14:03:45 -05:00
de531889f9 Support 202204 (#1163)
* Organization oauth apps #960

* data change notifications (#403)

* handle sponsorships during org merge (#942)

* linting

* fix migrations

* fix network view no longer working for anonymous user

* code quality pass

* linting

* poetry relock

* poetry relock

* missing migrations

* linting

* regenerate docs
2022-05-10 16:56:30 +03:00
a69441a7a0 Support 202203 fixes 2 (#1158)
* fix internal error when adjusting rate limits downwards were the new limit would result in negative available requests for already tracked clients (#1126)

* remove debug output and unused variable

* expose CACHE_MAX_ENTRIES to be set via env, also implement lower limit sanity check for it (#1151)

* auth-id changes

* fix test data failure

Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-28 07:01:07 -05:00
505760aa8d Support 202203 (#1144)
* Do not show objects in status "pending" on the UI #784

* Fix peeringdb.js bug introduced in #784

* 500 Error during login for 2FA enabled accounts with unverified email address #996

* Django-Admin: adding a network with existing asn fails with internal error #1035

* Some command-line-tool executions are not logged #1119

* Ops: API throttling of repeated requests #1126

* Ops: response header X-Auth-ID to augment logging #1120

* Allow rate-limiting of melissa enabled api functionality. #1124

* State / Province normalization #1079

* Log melissa requests #1122

* remove debug messages

* bump django-handleref to 1.0.2

* Need consolidated app logs #845

* pin django peeringdb to 2.13 and relock poetry

* pin django-restframework-apikey to 2.1.0

* linting

* migrations

* docs regenerate

* docs

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-04-12 15:39:19 -05:00
c7dc2ea2aa Support 202202 patch 1 (#1129)
* remove survey notifications

* fixing old reference of IXF_IMPORTER_DAYS_UNTIL_TICKET through EnvironmentSettings, this setting is no longer controlled through that and should come straight from settings

* Bad API keys need to return 401 just like a bad user/pass. Presently they return 200. #1117

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-03-17 17:38:50 -05:00
57a4175c00 Support 202202 (#1125)
* New Field "Health Check" #512

* Add status_dashboard to fields #512

* RS Peer Checkbox also visible on IX Site #727

* Add "Management" search field to Advanced Search of Exchanges #506

* wrap correctly on mobile #881

* missing delete button for user #653

* Removed cruft from IX view template #881

* To force or not to force www, that is a question #916

* add health check fields to entity creation forms (fac, ix, net) (#512)

* status_dashboard should accept null values #512

* Sort usergroup names in https://peeringdb.com/cp/peeringdb_server/userpermission/xxxxx numerically #656

* fix issue with deleted entities showing up in search results #1042

* 2FA Backup Tokens language doesn't seem correct #908

* linting

* poetry relock

* fix user permission save trying to create a user

* add status_dashboard to mock data

* docs

* add api doc regen to gen_docs call
fix issue with run_tests if BASE_URL env var is set

* fix generate_schema typo

* linting

Co-authored-by: David Poarch <dpoarch@20c.com>
Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-03-08 07:27:45 -06:00
9f5daba77e Fix 1106 (#1114)
* Allow ops to set multiple origins for WEBAUTHN_ORIGIN through the env variable (#1106)
2022-02-15 08:50:13 -06:00
e2619a001f Support 202201 (#1111)
* remove survey notifications

* substantially rate limit unauthenticated /api/ queries to encourage authenticated queries #853

* move api throttle class configuration to settings (#853)

* #722 with a more generic validation approach

* Add organisations and registered users to "Global System Statistics" in footer #620

* poetry relock

* linting

* regen docs

* fix test data

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-02-08 13:14:27 -06:00
de92f823d4 Default settings tweaks (#1103)
* remove survey notifications

* tweak default settings for WEBAUTHN, SESSION_COOKIE_DOMAIN and OIDC_RSA_PRIVATE_KEY_ACTIVE_PATH

Co-authored-by: Stefan Pratter <stefan@20c.com>
2022-01-12 12:33:32 -06:00
677f94f550 Support 202111 (#1101)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* Add sales email and phone contact to ix object #949

* Increase timeout timer for IX-F JSON importer to 30s #962

* IX-F manually triggered import bugs #1054

* remove survey notifications

* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807

* performance fix for net view

* api documentation generate broken #956

* fix poc set missing from net view

* Auto focus cursor on search field on main website #695

* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748

* Delete childless org objects #838

* linting

* poetry lock

* re-add mistakingly dropped translation to email template

* fix template variables

* regen docs

* regen api docs

* add u2f api

* fix merge cruft

* fido u2f webauthn first steps

* dont need this

* typo

* first ux steps for security key management, u2f views

* u2f auth

* linting

* Cascade delete when performed by superuser in django-admin #735

* security key passwordless login

* reset webauthn migrations

* security key 2fa

* linting

* ux cleanup

* cleanup

* Add IXP to AS record / dropdown limited #469

* ignore orgs that have pre-dated or finished sponsorships attached

* split out to django_security_keys

* default to 90 days

* make URL required for new objects #374

* move CONN_MAX_AGE to proper location and expose as env var (#1060)

* Error message for invalid password on email change

* Registering a new facility or exchange organization is broken #1062

* Creating a facility that matches the name of a soft-deleted facility will cause the entry to bypass the verification queue #901

* irr source validator doesn't allow for hyphens in source #921

* split out javascript

* split out js

* Clicking "Add" to add a user api-key without providing a name for the key raises Internal Error #1033

* remove security key admin views

* global stats don't show up at login screen #284

* Possible for "pending" exchange to have "deleted" ixlan (#1077)

* webauthn finalizations

* oidc support for oauth provider #1070

* Revert "Merge branch 'gh_1070' into 'support_202111'"

* remove unused dev mounts

* linting

* add django-security-key and relock poetry

* re-add imports removed through linting

* docs regen

* oauth toolkit pinned to 1.6.1
django-security-keys pinned to 1.0.1

* remove debug message

* linting

* linting

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2022-01-11 08:56:47 -06:00
1c314cdf1f Enable OIDC support (#1070) (#1098)
Enable OIDC and RS256 JWT signing from django-oauth-toolkit with a
single RSA key. Key rotation is not yet enabled and will be introduced
on the first rotation.

The JWT signed token contains the previous claims exposed in profile/v1
endpoint but compatible with the OIDC standard claims.

https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims
2022-01-10 07:34:16 -06:00
c9108741cf fix atomicity (#1087)
* remove survey notifications

* fixes #1086 atomicity issues

Co-authored-by: Stefan Pratter <stefan@20c.com>
2021-11-12 11:16:25 -06:00
8ef76dc5ab Support 202110 (#1085)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* Add sales email and phone contact to ix object #949

* Increase timeout timer for IX-F JSON importer to 30s #962

* IX-F manually triggered import bugs #1054

* remove survey notifications

* IX-F importer: manual add followed by IX-F prompted add can result in "The server rejected your data" #807

* performance fix for net view

* api documentation generate broken #956

* fix poc set missing from net view

* Auto focus cursor on search field on main website #695

* PeeringDB website has a poor choice of line-breaks for IPv6 addresses. #748

* Delete childless org objects #838

* linting

* poetry lock

* re-add mistakingly dropped translation to email template

* fix template variables

* regen docs

* regen api docs

* fix merge cruft

* django-peeringdb to 2.11 and poetry relock

* linting

* comment out django-peeringdb volume mount

* add missing declaration

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2021-11-09 09:47:38 -06:00
c21130eed9 Docs 202109 (#1067)
* module docstrings

* db schema graph

* dev docs first pass

* dev docs pass 2

* add generated notification to top of generated docs files

* linting

* regen docs

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: Sunshine Buchholz <sunshine@20c.com>
2021-10-15 03:25:38 -05:00
0c4ff0b2de Support 202109 (#1064)
* Block registering private ASN ranges

* Add a continental region field for facilities #1007

* Incorrect order of search results #232

* Allow users to upload a small logo to their record #346

* Sponsor badge CSS and text translation issues #453

* IXP and Facility summary #18

* poetry relock

* linting

* add libgcc

* lint

* bump version to 2.31.0-beta

Co-authored-by: Stefan Pratter <stefan@20c.com>
Co-authored-by: David Poarch <dpoarch@20c.com>
2021-10-12 11:05:25 -05:00