Commit Graph

59 Commits

Author SHA1 Message Date
Max Erenberg a7c5098b67 Add cloud vhost API (#35)
continuous-integration/drone/push Build is passing Details
Add an API for members to create their own virtual hosts.

Co-authored-by: Max Erenberg <>
Reviewed-on: #35
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-11-27 17:59:21 -05:00
Max Erenberg ac98aaf38d Add API to manage cloud accounts (#34)
continuous-integration/drone/push Build is passing Details
This PR adds API endpoints and a CLI to create cloud accounts and to purge accounts of expired members.

Co-authored-by: Max Erenberg <>
Reviewed-on: #34
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-11-21 11:11:20 -05:00
Max Erenberg ed9893604f fix lint error
continuous-integration/drone/push Build is passing Details
2021-11-03 21:23:16 -04:00
Max Erenberg 620ef8ef8e fix UWLDAP multiple-UID bug 2021-11-02 19:02:07 -04:00
Max Erenberg ae48bcd98a fix bug in email sender address
continuous-integration/drone/push Build is passing Details
2021-11-02 03:05:46 -04:00
Max Erenberg 1f107b0614 use port 465 for smtps
continuous-integration/drone/push Build is passing Details
2021-11-02 02:46:05 -04:00
Max Erenberg 729f443e72 move term check to LDAPService instead of User constructor 2021-11-02 01:30:01 -04:00
Max Erenberg 2493bb1a6b modify CSC schema instead of using inetOrgPerson
continuous-integration/drone/push Build is passing Details
2021-10-28 21:33:32 -04:00
Max Erenberg ac573039da add mailLocalAddress to each record (#30)
continuous-integration/drone/push Build is failing Details
Closes #26.

Co-authored-by: Max Erenberg <>
Reviewed-on: #30
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-10-25 07:36:25 -04:00
Max Erenberg 23f40c74f9 Use inetOrgPerson instead of account (#29)
continuous-integration/drone/push Build is passing Details
Closes #25.

Co-authored-by: Max Erenberg <>
Reviewed-on: #29
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-10-23 23:21:09 -04:00
Max Erenberg e3c50d867a Add isClubRep attribute (#27)
continuous-integration/drone/push Build is passing Details
Closes #24.

Co-authored-by: Max Erenberg <>
Reviewed-on: #27
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-committed-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
2021-10-23 10:23:43 -04:00
Max Erenberg 2a5d903eba add mailman CLI command
continuous-integration/drone/push Build is passing Details
2021-09-25 15:16:22 -04:00
Max Erenberg 3cba9680f5 test that email is sent when user is created 2021-09-25 13:56:23 -04:00
Andrew Wang 33323fd112 Add database CLI (#15)
continuous-integration/drone/push Build is passing Details
Closes #12

Co-authored-by: Andrew Wang <a268wang@csclub.uwaterloo.ca>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #15
Co-authored-by: Andrew Wang <a268wang@localhost>
Co-committed-by: Andrew Wang <a268wang@localhost>
2021-09-11 13:33:43 -04:00
Neil Parikh 6e2b9dee24 Update discord link (#13)
continuous-integration/drone/push Build is passing Details
Co-authored-by: n3parikh <n3parikh@localhost>
Reviewed-on: #13
Co-authored-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
Co-committed-by: n3parikh <n3parikh@csclub.uwaterloo.ca>
2021-09-08 18:23:29 -04:00
Rio Liu 651988bb08 Positions CLI (#11)
continuous-integration/drone/push Build is passing Details
Closes #9

Co-authored-by: Rio6 <rio.liu@r26.me>
Co-authored-by: Rio Liu <rio.liu@r26.me>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #11
Co-authored-by: Rio <r345liu@localhost>
Co-committed-by: Rio <r345liu@localhost>
2021-09-08 09:32:34 -04:00
Max Erenberg df7148940a implement RemoveMemberFromGroupView
continuous-integration/drone/push Build is passing Details
2021-09-08 03:20:51 +00:00
Max Erenberg 21173d1b8c implement AddMemberToGroupView 2021-09-08 02:59:56 +00:00
Andrew Wang c6c01d8720 allow mysql connections from unix socket (#14)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Andrew Wang <someone.zip@gmail.com>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #14
Co-authored-by: Andrew Wang <a268wang@localhost>
Co-committed-by: Andrew Wang <a268wang@localhost>
2021-09-04 22:25:37 -04:00
Andrew Wang eb5d632606 db-api (#10)
continuous-integration/drone/push Build is passing Details
Implement DB endpoints

Co-authored-by: Andrew Wang <someone.zip@gmail.com>
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Reviewed-on: #10
Co-authored-by: Andrew Wang <a268wang@localhost>
Co-committed-by: Andrew Wang <a268wang@localhost>
2021-08-29 13:08:35 -04:00
Max Erenberg 7d23fd690f store GSSAPI token in flask.g
continuous-integration/drone/push Build is passing Details
2021-08-28 05:51:48 +00:00
Max Erenberg e011e98026 use GSSAPI delegation
continuous-integration/drone/push Build was killed Details
2021-08-26 02:19:18 +00:00
Max Erenberg 51737585bd add updateprograms CLI
continuous-integration/drone/push Build is passing Details
2021-08-24 19:37:05 +00:00
Max Erenberg 45192d75bf update social media links in welcome message
continuous-integration/drone/push Build is passing Details
2021-08-23 23:40:52 +00:00
Max Erenberg e851c77e74 include password in welcome email 2021-08-23 23:36:49 +00:00
Max Erenberg 7a8751fd8f Merge branch 'v1' of csclub.uwaterloo.ca:public/pyceo into v1 2021-08-23 13:59:24 +00:00
Max Erenberg 6917247fdd add members CLI 2021-08-23 13:59:01 +00:00
Rio Liu ad937eebeb Positions API (#7)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Max Erenberg <merenber@csclub.uwaterloo.ca>
Co-authored-by: Rio Liu <r345liu@csclub.uwaterloo.ca>
Co-authored-by: Rio6 <rio.liu@r26.me>
Reviewed-on: #7
Co-authored-by: Rio <r345liu@localhost>
Co-committed-by: Rio <r345liu@localhost>
2021-08-22 17:57:36 -04:00
Max Erenberg 0974a7471b ignore UserAlreadySubscribedError
continuous-integration/drone/push Build is passing Details
2021-08-22 06:06:11 +00:00
Max Erenberg 0783588323 announce new user to ceo mailing list
continuous-integration/drone/push Build is passing Details
2021-08-22 05:44:41 +00:00
Max Erenberg 7142659a8c force delete Kerberos test principals
continuous-integration/drone/push Build is passing Details
2021-08-22 04:36:19 +00:00
Max Erenberg 95d083fca1 use our own SPNEGO implementation
continuous-integration/drone/push Build is failing Details
2021-08-21 06:27:33 +00:00
Max Erenberg 2a286579cb Merge branch 'v1' into uwldap_tests 2021-08-19 17:20:47 +00:00
Max Erenberg ecf089c261 Implement Groups API (#6)
This PR implements the /api/groups endpoints.

Closes #2.

Reviewed-on: #6
Co-authored-by: Max Erenberg <merenber@localhost>
Co-committed-by: Max Erenberg <merenber@localhost>
2021-08-19 12:58:59 -04:00
Max Erenberg cc0bc4a638 add tests for Mailman API 2021-08-19 16:14:41 +00:00
Max Erenberg 12a83ce4c0 remove create_sync_response 2021-08-19 05:11:22 +00:00
Max Erenberg 28c55b2fed add tests for UWLDAP API 2021-08-19 04:56:25 +00:00
Max Erenberg 6bf4d75a60 log error message instead of traceback 2021-08-19 00:19:57 +00:00
Max Erenberg 57ab275634 implement /api/groups endpoints 2021-08-18 23:48:17 +00:00
Max Erenberg d78d31eec0 add Kerberos delegation (#5)
This PR adds unconstrained Kerberos delegation to the API.

The client obtains a forwarded TGT and sends it, base64-encoded, in an HTTP header named 'X-KRB5-CRED'. The server reads this credential, creates a new credentials cache for the user, and stores the credential into the new cache. The server can now authenticate to other services (e.g. LDAP) over GSSAPI using the forwarded client's credentials.

Reviewed-on: #5
Co-authored-by: Max Erenberg <merenber@localhost>
Co-committed-by: Max Erenberg <merenber@localhost>
2021-08-18 15:39:14 -04:00
Max Erenberg dd59bea918 add Kerberos delegation 2021-08-18 01:59:24 +00:00
Max Erenberg d82b5a763b use ldap3 instead of python-ldap 2021-08-15 05:04:49 +00:00
Max Erenberg 6cdb41d47b move all tests to top-level folder 2021-08-14 00:11:56 +00:00
Max Erenberg cbf4aa43f8 add tests for uwldap 2021-08-04 20:59:36 +00:00
Max Erenberg 9e4d564a33 move INI file locations 2021-08-04 17:15:06 +00:00
Max Erenberg 3ecf43731f add tests for Group class 2021-08-04 06:33:50 +00:00
Max Erenberg e7bfe36c0b add tests for User class 2021-08-04 05:54:21 +00:00
Max Erenberg 87298e18b3 cast string values in Config 2021-08-04 03:30:19 +00:00
Max Erenberg baeb83b1e2 use ConfigParser 2021-08-03 23:19:33 +00:00
Max Erenberg 4a312378b7 remove mailman transactions 2021-08-03 20:11:13 +00:00