Commit Graph

22 Commits

Author SHA1 Message Date
bf6ca4a381 Update references for NOTIFICATION_EMAIL
This updates various references to use NOTIFICATION_EMAIL, since that's
what we actually send the emails too.

Also change the moderators group to be 'pgweb moderators'.
2018-09-24 10:04:49 -04:00
fd37389a3b Replace NavContext and render_to_response with render_pgweb
render_to_response does not work on newer django, so it needs to be
replaced. And using a speicfic context actually overcomplicates things,
it's easier to just use a wrapper function. For those cases where we
don't need NavContext, just use render() (the new shortcut function from
django), which also removes the need to use RequestContext.
2018-03-10 10:38:11 -05:00
6df2043e4d Remove community authentication 1.0
Community authentication 1.0 relied on PostgreSQL connections between
all servers, and hasn't been used for years.

This includes removing the code that migrates users from the old
community authentication system to the new one. This means that any user
who has not logged in since 2011 will no longer be able to user their
oan account, and have to create a new one.
2017-12-10 16:46:43 +01:00
7688716575 Fix Django version requirement. 2016-10-18 09:56:34 +01:00
3c089cd09a Remove SSL decorators and middleware
The site is now served regardless of SSL, and assumes that the webserver
or web cache ensures that things rae always SSL.
2016-05-24 21:13:00 +02:00
8058accee0 Get rid of PgModel, replacing it with simple signals
We were already using signals for everything except delete, and even
in our old version of django the delete signal exists (it didn't exist
when this code was first written).

Django doesn't really like models to be OOP like this, so keeping PgModel
would cause issues with upcoming changes in django 1.8. Using simple functions
is easier, and the actual functionality is replicated straight off.
2016-03-07 21:41:45 +01:00
c6c43c1689 Implement user searching in the community auth system
This lets downstream systems securely search for users that are in
the system, so they can populate their local database with users
before they have logged in if necessary. This can be used for example
for the commitfest management system to be able to flag users as
authors and reviewers even before they have logged in.
2014-07-19 15:12:27 +02:00
b3c83d7452 Correct which version of django is used (and is in Wheezy)
Vik Fearing
2014-02-18 19:52:28 +01:00
8f0b7e6b50 Switch email sending go through a queue table in the database
Import the code from the PostgreSQL Europe website to handle this, since it's
well proven by now.

Any points that send email now just write them to the database using the
functions in queuedmail.util. This means we can now submit notification
emails and such things within transactions and have them properly roll bcak
if something goes wrong (so no more incorrect notifications when there is
a database error).

These emails are picked up by a cronjob that runs frequently (typically
once per minute or once every 2 minutes) that submits them to the local
mailserver. By doing it out of line, this gives us a much better way of
dealing with cases where mail delivery is really slow.

The submission from the cronjob is now done with smtp to localhost instead
of opening a pipe to the sendmail command - though this should have no
major effects on anything.

This also removes the setting SUPPRESS_NOTIFICATIONS, as no notifications
are actually ever sent unless the cronjob is run. On development systems
they will just go into the queuedmail table, and can be deleted from there.
2014-01-11 12:33:06 +01:00
78de94d17c Update community authentication to pass an arbitrary datablock instead of url
This makes it possible to pass URLs that will fail when they end up being double
escaped in some cases, since they contain non-url-safe characters. Instead, they'd
be base64-encoded, and thus safe.

Also update the django community auth provider to do just this, including encrypting
the data with the site secret key to make sure it can't be changed/injected by
tricking the user to go directly to the wrong URL.
2013-06-20 15:16:47 +02:00
68b9e96ad9 Update docs 2013-06-16 16:35:21 +02:00
48d6511186 Fixes in developer install instructions and scripts
Per Josh Kupershmidt
2012-05-23 15:26:33 +02:00
03df19d7d7 Fix typo. 2011-12-27 18:39:41 +00:00
88d0b6148d Implement single sign-out for community login 2.0
In order to provide a consistent user experience, we must sign the
user out from the main website if the community site provides a logout
button - else that button will appear not to work...
2011-12-27 19:35:51 +01:00
6db6283401 Include a timestamp in the authentication token
This way we can expire a token after e.g. 10 or 30 seconds, making
it impossible to do a replay attack later.
2011-12-22 19:25:32 +01:00
1f78460779 Implement community authentication 2.0
This system relies on http redirects and signing in to the main website
instead of using cross-internet pgsql connections and signing in individually
to each website.
2011-12-22 19:25:32 +01:00
437557acd3 Make our session cookie secure by default, and locked to www.postgresql.org
This increases session security, obviously... It will also break local development
installs, which will have to add the two rows that this patch adds to the
documentation.
2011-12-17 19:40:33 +01:00
f76d9baec2 Update documentation with latest versions and information
Fixes #102
2011-12-11 14:17:06 +01:00
84ba10f1ca Concept of mastersite is no longer used, remove all references 2011-11-27 12:35:02 +01:00
0dbd47b3df A couple of wording fixes suggested by Bruce 2010-06-15 21:11:20 +02:00
1a8251e015 Add a whole bunch of basic documentation. I'm sure there's more to do,
but this is at least a start.
2010-06-14 21:40:15 +02:00
834126800f Add instructions for how to set up a development enviroment, based on
a readme file from Selena
2010-06-14 21:37:06 +02:00