lp:~roadmr/canonical-identity-provider

Owned by Daniel Manrique
Get this repository:
git clone https://git.launchpad.net/~roadmr/canonical-identity-provider
Only Daniel Manrique can upload to this repository. If you are Daniel Manrique please log in for upload directions.

Branches

Name Last Modified Last Commit
webauthn-mega-branch 2023-03-21 20:20:27 UTC
u2f devices are two-factor devices too

Author: Daniel Manrique
Author Date: 2022-07-12 00:23:45 UTC

u2f devices are two-factor devices too

focal-upgrade 2023-02-15 22:05:34 UTC
Excise mentions of focal from readme and ols-vms.conf

Author: Daniel Manrique
Author Date: 2023-02-15 22:05:34 UTC

Excise mentions of focal from readme and ols-vms.conf

focal-explicit-mock 2023-02-14 22:54:38 UTC
Replace implicit mock object creation with explicit

Author: Daniel Manrique
Author Date: 2023-02-14 22:50:50 UTC

Replace implicit mock object creation with explicit

Create MagicMock and pass to patch as explicit replacement
for the mocked object. This works around test failure that happens
with Python 3.8 and cache objects for some reason.

The behavior as described above matches what not passing the
MagicMock explicitly does (i.e. I'm reimplementing default behavior),
but bypasses a section of the code in Python 3.8 which was erroring out:

======================================================================
FAIL: api.v20.tests.test_handlers.AnonymousAccountRegistrationHandlerTestCase.test_throttle_only_by_ip
----------------------------------------------------------------------
Traceback (most recent call last):
  File "src/api/v20/tests/test_handlers.py", line 707, in test_throttle_only_by_ip
    with patch('piston.utils.cache') as mock_cache:
  File "/usr/lib/python3.8/unittest/mock.py", line 1416, in __enter__
    if spec is None and _is_async_obj(original):
  File "/usr/lib/python3.8/unittest/mock.py", line 53, in _is_async_obj
    return asyncio.iscoroutinefunction(obj) or inspect.isawaitable(obj)
  File "/usr/lib/python3.8/inspect.py", line 234, in isawaitable
    isinstance(object, collections.abc.Awaitable))
  File "/usr/lib/python3.8/abc.py", line 98, in __instancecheck__
    return _abc_instancecheck(cls, instance)
  File "/usr/lib/python3.8/abc.py", line 102, in __subclasscheck__
    return _abc_subclasscheck(cls, subclass)
TypeError: issubclass() arg 1 must be a class

refactor-multi-value-saml-tests 2023-02-13 23:02:32 UTC
Refactor a couple of SAML tests

Author: Daniel Manrique
Author Date: 2023-02-13 22:52:36 UTC

Refactor a couple of SAML tests

Ordering-related failures were spotted on Python 3.8.
The changes here are not 3.8-dependent but make the tests more robust.

I only refactored the ones having this problem because it does
make them lengthier; the rest of the tests where I can get away
with just checking for final, rendered XML were left as-is.

flake8-pedantic-fixes 2023-02-10 22:23:20 UTC
Rename ambiguous variable (flake8 E741)

Author: Daniel Manrique
Author Date: 2023-02-10 22:23:20 UTC

Rename ambiguous variable (flake8 E741)

concourse-landing 2022-10-07 14:48:11 UTC
Fix ssh key without comments formatting

Author: John Paraskevopoulos
Author Date: 2022-10-07 14:48:11 UTC

Fix ssh key without comments formatting

Merged from https://code.launchpad.net/~quantifics/canonical-identity-provider/+git/canonical-identity-provider/+merge/431197

saml-teams-csv 2022-09-12 16:42:27 UTC
unhappiness

Author: Daniel Manrique
Author Date: 2022-09-12 16:42:27 UTC

unhappiness

better-bad-bot-explanation 2022-06-02 15:13:34 UTC
"Bad bot" honeypot response page: provide a better explanation.

Author: Daniel Manrique
Author Date: 2022-06-02 13:46:11 UTC

"Bad bot" honeypot response page: provide a better explanation.

In practice humans who have this problem end up filing Launchpad bugs
where we give them this exact response, so the presence of the honeypot
field is not really secret in any way. There's probably no downside to
explaining this right in the page. Humans who get misidentified will see
this and have a chance to get themselves out of trouble.

password-max-length 2022-02-22 21:30:47 UTC
Implement/test max password length at the HTML form level

Author: Daniel Manrique
Author Date: 2022-02-22 18:03:19 UTC

Implement/test max password length at the HTML form level

null-username 2021-10-13 21:31:18 UTC
JSON-encode parameters to Launchpad's API.

Author: Daniel Manrique
Author Date: 2021-10-13 21:31:18 UTC

JSON-encode parameters to Launchpad's API.

lazr.restfulclient has slightly weird parameter encoding rules, but
basically, parameter values other than ws.op, binary parameters, and
option (enumeration) values are meant to be JSON-encoded. Unfortunately
lazr.restful is quite permissive about this so it's easy to get things
wrong and not notice.

Concretely, a username of "null" will be passed in such a way that
lazr.restful deserializes it as a literal null, causing a "name:
Required input is missing." response which confuses SSO.

no-send-invitation-after-password-reset-to-nonexistent 2021-08-09 17:05:30 UTC
Add webui tests for NO_PASSWORD_RESET_EMAIL_IF_NONEXISTENT behavior

Author: Daniel Manrique
Author Date: 2021-08-09 17:05:30 UTC

Add webui tests for NO_PASSWORD_RESET_EMAIL_IF_NONEXISTENT behavior

refactor-saml-teams-person-in-any-team-list 2021-06-22 16:56:02 UTC
Added a couple of new tests for teams_list

Author: Daniel Manrique
Author Date: 2021-06-22 16:56:02 UTC

Added a couple of new tests for teams_list

saml-multi-value-teams 2021-06-21 15:35:32 UTC
Process {{teams}} SAML attribute substitution

Author: Daniel Manrique
Author Date: 2021-06-18 21:48:01 UTC

Process {{teams}} SAML attribute substitution

{{teams}} will be replaced with a SAML multi-value attribute
containing the names of all teams of which the user is a member,
as long as they are also listed in the SAMLConfig's
exposable_teams setting.

It's effectively the intersection of the user's set of teams
and the exposable_teams for the SAMLConfig.

2fa-backup-ux-tweaks 2020-10-27 20:48:47 UTC
separate title from content

Author: Daniel Manrique
Author Date: 2020-10-27 20:48:47 UTC

separate title from content

fix-another-i18n-leaky-test-state 2020-09-04 21:29:26 UTC
Properly reset the thread's translation context to avoid a test depen-fail - ...

Author: Daniel Manrique
Author Date: 2020-09-04 21:29:26 UTC

Properly reset the thread's translation context to avoid a test depen-fail - this tine in test_views_i18n

fix-borked-no-email-test 2020-09-04 19:56:35 UTC
Properly reset the thread's translation context to avoid a test depen-fail

Author: Daniel Manrique
Author Date: 2020-09-04 19:56:35 UTC

Properly reset the thread's translation context to avoid a test depen-fail

nag-time-jitter 2020-08-19 16:49:05 UTC
No randint in models.twofactor anymore

Author: Daniel Manrique
Author Date: 2020-08-19 16:49:05 UTC

No randint in models.twofactor anymore

call-me-saml-sha2-maybe 2020-08-03 20:47:14 UTC
Update sha512 test and key/cert files so it works

Author: Daniel Manrique
Author Date: 2020-08-03 20:40:14 UTC

Update sha512 test and key/cert files so it works

saml-sha2-for-real 2020-07-28 21:06:24 UTC
Test that the proper signing/digest algorithm is used throughout SAML assertion

Author: Daniel Manrique
Author Date: 2020-07-28 20:36:31 UTC

Test that the proper signing/digest algorithm is used throughout SAML assertion

editable-backup-device-last-times 2020-07-27 15:45:49 UTC
Make backup device-related timestamps admin-editable.

Author: Daniel Manrique
Author Date: 2020-07-27 15:45:49 UTC

Make backup device-related timestamps admin-editable.

saml-sha2 2020-07-24 20:20:44 UTC
Processors: actually pass signing_algorithm where needed

Author: Daniel Manrique
Author Date: 2020-07-24 20:20:44 UTC

Processors: actually pass signing_algorithm where needed

we-support-ecdsa-but-not-ed25519 2020-07-20 16:42:56 UTC
flip order dsa/rsa

Author: Daniel Manrique
Author Date: 2020-07-20 16:42:56 UTC

flip order dsa/rsa

2fa-periodic-devices-verify 2020-07-15 21:11:49 UTC
cols

Author: Daniel Manrique
Author Date: 2020-07-15 21:11:49 UTC

cols

better-username-errors 2020-07-07 15:50:38 UTC
Review comments

Author: Daniel Manrique
Author Date: 2020-07-07 15:50:38 UTC

Review comments

tweak-username-instructions-positioning 2020-07-06 20:24:06 UTC
Visual tweaks to username format instructions.

Author: Daniel Manrique
Author Date: 2020-07-06 20:24:06 UTC

Visual tweaks to username format instructions.

* move instructions below the field
* fix css, nesting and styling
* simplify length instructions

better-username-messages 2020-07-06 13:38:04 UTC
periods at end of sentences.

Author: Daniel Manrique
Author Date: 2020-07-06 13:38:04 UTC

periods at end of sentences.

2fa-update-last-nag-paper-only 2020-06-18 21:16:38 UTC
Update last_nag only for codes from paper device

Author: Daniel Manrique
Author Date: 2020-06-18 21:16:25 UTC

Update last_nag only for codes from paper device

gargoyle-1.5-jsonfield-test-fail 2020-06-18 20:16:44 UTC
Faily test for json encoding.

Author: Daniel Manrique
Author Date: 2020-06-18 20:16:44 UTC

Faily test for json encoding.

    return self.render(request, token=token, rpconfig=rpconfig, form=form)
  File "/src/canonical-identity-provider/sso-git/src/webui/views/ui.py", line 128, in render
    context = self.get_context(request, **kwargs)
  File "/src/canonical-identity-provider/sso-git/src/webui/views/ui.py", line 286, in get_context
    if gargoyle.is_active('TWOFACTOR_BACKUP_NAG', request):
  File "/src/canonical-identity-provider/sso-git/env/local/lib/python2.7/site-packages/gargoyle/testutils.py", line 125, in wrapped
    return is_active_func(key, *args, **kwargs)
  File "/src/canonical-identity-provider/sso-git/env/local/lib/python2.7/site-packages/gargoyle/manager.py", line 89, in is_active
    result = switch.has_active_condition(conditions, instances)
  File "/src/canonical-identity-provider/sso-git/env/local/lib/python2.7/site-packages/gargoyle/conditions.py", line 293, in has_active_condition
    result = self.is_active(instance, conditions)
  File "/src/canonical-identity-provider/sso-git/env/local/lib/python2.7/site-packages/gargoyle/conditions.py", line 307, in is_active
    field_conditions = conditions.get(self.get_namespace(), {}).get(name)
AttributeError: 'unicode' object has no attribute 'get'

THis is apparently because something is fucked in JSONField and it's
returning the data as the verbatim string and not the expected de-jsoned
thing (i.e. it's not running the json payload by json.loads())

revert-update-gargoyle-to-1.5.0 2020-06-18 14:57:27 UTC
Revert "Update gargoyle-yplan to 1.5.0"

Author: Daniel Manrique
Author Date: 2020-06-18 14:57:27 UTC

Revert "Update gargoyle-yplan to 1.5.0"

This reverts commit d8bff9ed50ca966e5631eb96abadcc1acb71e163.

Note this reverts only the actual requirements.txt updates, not the
fixed test (since the fixed version still works and should be more
robust)

update-gargoyle-to-1.5.0 2020-06-18 10:37:59 UTC
Fix assertable value scoping

Author: Daniel Manrique
Author Date: 2020-06-18 10:37:59 UTC

Fix assertable value scoping

2fa-periodic-check-in-place 2020-06-17 19:02:14 UTC
Use a notification-style box for 2fa nag 'did you know'

Author: Daniel Manrique
Author Date: 2020-06-17 19:02:14 UTC

Use a notification-style box for 2fa nag 'did you know'

2fa-periodic-check 2020-06-10 21:28:50 UTC
Test tweaks and complete test for redirect_with_next and correct code. Some t...

Author: Daniel Manrique
Author Date: 2020-06-10 21:17:45 UTC

Test tweaks and complete test for redirect_with_next and correct code. Some todos remain.

sso-git-worktree-compat 2020-06-02 19:18:24 UTC
Ensure makefile works with git worktree checkouts.

Author: Daniel Manrique
Author Date: 2020-06-02 16:18:59 UTC

Ensure makefile works with git worktree checkouts.

The way we determined if the SSO checkout was git-hosted was by
checking directoryness of .git, but if the checkout was produced
using git worktree, .git is a file. The proposed solution uses git
itself to determine if the repo is a valid one and should be more
resilient.

versioninfo-for-talisker 2020-06-01 20:09:32 UTC
Ignore version-info.txt

Author: Daniel Manrique
Author Date: 2020-06-01 20:09:32 UTC

Ignore version-info.txt

bug-1880042-2fa-lost-message 2020-05-22 13:04:56 UTC
Update lost device message with current contact info

Author: Daniel Manrique
Author Date: 2020-05-22 13:04:56 UTC

Update lost device message with current contact info

add-2fa-dev-creation-metrics 2020-05-21 21:32:50 UTC
Emit metrics when 2fa devices are added.

Author: Daniel Manrique
Author Date: 2020-05-21 21:31:02 UTC

Emit metrics when 2fa devices are added.

The metric includes the device type (automatically-added backup devices
have the fake "paper_auto" type) and subtype (for OATH devices which
can be TOTP or HOTP)

add-2fa-flow-metrics 2020-05-21 13:15:31 UTC
Add flows.2fa metric.

Author: Daniel Manrique
Author Date: 2020-05-21 13:15:31 UTC

Add flows.2fa metric.

It can have success, error, or requested.

Note a failed 2fa check also emits a flows.login.error metric.

2fa-always-generate-paper-backup 2020-05-08 20:20:07 UTC
test tweaks

Author: Daniel Manrique
Author Date: 2020-05-08 20:09:55 UTC

test tweaks

rename-vcs-header 2020-04-21 15:44:17 UTC
fixed header name

Author: Daniel Manrique
Author Date: 2020-04-21 15:44:17 UTC

fixed header name

readme-typos-1 2020-04-20 15:35:58 UTC
Bad punctuation

Author: Daniel Manrique
Author Date: 2020-04-20 15:35:58 UTC

Bad punctuation

140 of 40 results
This repository contains Public information 
Everyone can see this information.

Subscribers