Commit Graph

182 Commits

Author SHA1 Message Date
Akshay Joshi
7d07770244 Reverting 'Two-factor authentication' support as it cause OSX and docker build failures.
This reverts commit 787a441343.
2021-09-29 13:24:18 +05:30
Ashesh Vashi
787a441343 Added support for Two-factor authentication for improving security. Fixes #6543 2021-09-28 17:47:00 +05:30
Khushboo Vashi
48ca83f31d Added support for OAuth 2 authentication. Fixes #5940
Initial patch sent by: Florian Sabonchi
2021-07-06 13:22:58 +05:30
Nikhil Mohite
9f12747d9b Added PSQL tool support for the Windows platform.
Fixed following issues:
1. If the database name contains escape characters then PSQL unable to connect.
2. If the user terminates the connection by typing the 'exit' command, PSQL
   will show the connection termination msg.

Fixes #2341
2021-06-08 14:58:43 +05:30
Aditya Toshniwal
065a3aa2f5 Updated Flask-Security-Too to the latest v4. Fixes #6225 2021-06-06 13:58:06 +05:30
Akshay Joshi
2aa2d79de2 Fixed Jenkins build, added 'user-agents' in requirements.txt which was missing in the last patch. 2021-06-04 18:49:19 +05:30
Pradip Parkale
a0deab901d Fixed OS detail issue for Linux and MacOS Big Sur. Fixes #6231. 2021-06-04 17:57:58 +05:30
Pradip Parkale
2c51925638 Added OS, Browser, Configuration details in the About dialog. Fixes #6231 2021-06-01 20:18:24 +05:30
Nikhil Mohite
3ddf941cd7 Added support to launch PSQL for the connected database server. Fixes #2341 2021-05-25 20:12:57 +05:30
Akshay Joshi
0a95550fc0 Hardcoded 'itsdangerous' version to <=1.1.0, as the latest version not working correctly for pgAdmin. 2021-05-18 13:41:14 +05:30
Dave Page
5e40f9904d Make 'kerberos' an optional feature in the Python wheel, to avoid the need to install MIT Kerberos on the system by default. Tidy up the Python versioning a little whilst passing. Fixes #6268 2021-03-08 11:33:08 +00:00
Aditya Toshniwal
18f055fa5e 1) Ensure that all the python packages will take the latest until a major version.
2) Removed few packages which were dependencies of some other package.
2021-02-03 12:29:57 +05:30
Akshay Joshi
102ffd141c Implemented runtime using NWjs to open pgAdmin4 in a standalone window
instead of the system tray and web browser. Used NWjs to get rid of QT
and C++. Fixes #5967

Use cheroot as the default production server for pgAdmin4. Fixes #5017
2021-01-29 13:38:27 +05:30
Akshay Joshi
b563040cf3 Ensure that the Flask-Security-Too version should be less than 4.0.0 2021-01-27 16:39:19 +05:30
Akshay Joshi
459c6ab796 1) Handle the version conflict exception in dependency inventory.
2) Update Dependencies.
2021-01-19 16:18:09 +05:30
Khushboo Vashi
c0ef0a893d 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-18 16:32:10 +05:30
Akshay Joshi
f0debdd513 Revert "1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457"
This reverts commit 6ead597b43.
2021-01-14 14:46:59 +05:30
Khushboo Vashi
6ead597b43 1) Added support for Kerberos authentication, using SPNEGO to forward the Kerberos tickets through a browser. Fixes #5457
2) Fixed incorrect log information for AUTHENTICATION_SOURCES. Fixes #5829
2021-01-14 13:46:48 +05:30
Nikhil Mohite
6fce58f2ad Updated Flask-BabelEx to the latest. Fixes #5997 2020-12-31 13:48:35 +05:30
Akshay Joshi
296d22ad83 Updated version of 'sqlparse' as pgcli updated and tested it. 2020-12-14 11:39:50 +05:30
Akshay Joshi
f403e61b66 Fixed Windows issue with the combination of Python 3.8, bcrypt 3.1.7, and Cryptography 3.0 2020-12-09 13:03:28 +05:30
Akshay Joshi
86fb879a0e No success by lowering down the Cryptography version, so reverting back to the last changes. 2020-12-08 19:13:04 +05:30
Akshay Joshi
ab5632d5eb One more attempt to fix Windows build by lower down the version of Cryptography. 2020-12-08 18:17:09 +05:30
Akshay Joshi
eee23aa642 Fixed DLL load failed while importing bcrypt. Fixes #6072 2020-12-08 14:40:37 +05:30
Aditya Toshniwal
55e50144f3 Update the cryptography python package for Python 3.5 and above. Fixes #6033 2020-11-26 11:43:08 +05:30
Akshay Joshi
9e2127b2a5 Removed ALLOWED_HOSTS support as it requires 'netaddr' which doesn't support Python 3.5 2020-11-05 12:43:11 +05:30
Ganesh Jaybhay
08c4deba5a Added following security enhancements:
1) Added ALLOWED_HOSTS list to limit the host address.
  2) Added CSP and HSTS security header.
  3) Hide the webserver/ development framework version.

Fixes #5919
2020-10-20 17:14:45 +05:30
Akshay Joshi
558d25fabc Updated 'sqlparse' and 'pytz' module to the latest version. 2020-10-01 16:02:30 +05:30
Akshay Joshi
3b9e8e47ec Modified 'cryptography' version to less than or equal to 3.0 to fix the
pgAdmin4 launch issue on Windows.

Cryptography's new version may be creating a problem. This is a temporary
fix and will have to investigate the proper fix.
2020-09-01 16:05:41 +05:30
Akshay Joshi
89e2f09b84 Ensure that 'bcrypt' version should be less than or equal to 3.1.7 as the new version supports Python 3.6 and above. 2020-08-18 17:59:06 +05:30
Akshay Joshi
48ec4085d2 Update the sshtunnel version to v0.1.5.
refs #4361
2020-08-06 17:17:27 +05:30
Khushboo Vashi
f77aa3284f Added LDAP authentication support. Fixes #2186 2020-04-06 15:57:05 +05:30
Akshay Joshi
a09ada18ee Updated psutil to the latest version 5.7.0 to fix vulnerability issue. 2020-04-01 18:12:38 +05:30
Aditya Toshniwal
6a90f7c2e1 Update Flask-SQLAlchemy and SQLAlchemy package which is not working on Windows with Python 3.8 Fixes #5214 2020-02-26 11:41:33 +05:30
Aditya Toshniwal
915b09255c Added Python 3.8 support. Fixes #5179
1) Upgraded passlib==1.7.1 to passlib==1.7.2
2) Replace unmaintained Flask-Security with maintained Flask-Security-Too package, which is also compatible with python 3.8
3) Other compatibility code changes.
2020-02-18 12:10:38 +05:30
Akshay Joshi
3db961cb0f Fixed ImportError: cannot import name ImmutableDict from werkzeug.
Updated the Flask-WTF version to the latest to fix the above error.
2020-02-10 11:45:11 +05:30
Aditya Toshniwal
093d7af748 Remove cheroot server for now until we find a way to shutdown cheroot using REST call. Fixes #5069. 2020-01-07 18:45:07 +05:30
Aditya Toshniwal
15c518f0f1 Use cheroot as default production server for pgAdmin4. Fixes #5017
If DEBUG is true then we used the default flask server.
2019-12-20 11:32:02 +05:30
Aditya Toshniwal
f16498a8a7 Optimize Webpack to improve overall performance.
Changes include:
1) Remove underscore-string and sprintf-js packages as we were using only %s. Instead, added a function to do the same. Also changed gettext to behave like sprintf directly.
2) backgrid.sizeable.columns was not used anywhere, removed. @babel/polyfill is deprecated, replaced it with core-js.
3) Moved few css to make sure they get minified and bundled.
4) Added Flask-Compress to send static files as compressed gzip. This will reduce network traffic and improve initial load time for pgAdmin.
5) Split few JS files to make code reusable.
6) Lazy load few modules like leaflet, wkx is required only if geometry viewer is opened. snapsvg loaded only when explain plan is executed. This will improve sqleditor initial opening time.

Reviewed By: Khushboo Vashi
Fixes #4701
2019-10-10 12:05:28 +05:30
Aditya Toshniwal
245a6e6f57 Added backward compatible code for reverse proxy in case werkzeug is older.
Make werkzeug greater than equal to 0.15.0
2019-10-01 17:55:43 +05:30
Dave Page
3cb02bcdc3 Add a warning to notify packagers of dependency updates. 2019-07-29 11:24:54 +01:00
Khushboo Vashi
c21ea3c342 Ensure that pgAdmin4 should work properly with psycopg2 v2.8. Fixes #4143 2019-04-08 17:49:50 +05:30
Dave Page
48c3763e95 Remove the dependency on importlib for Python <= 2.7. It's not actually required. 2019-03-20 11:58:09 +00:00
Khushboo Vashi
e4417229aa Update all Python and JS dependencies. Fixes #4019 2019-03-14 15:11:16 +00:00
Cyril Jouve
28ce485cd2 requirements.txt simplifications. 2019-02-07 10:34:07 +00:00
Cyril Jouve
b786c4c140 Replace the PyCrypto module with the cryptography module. Fixes #3272 2019-01-31 15:57:27 +01:00
Cyril Jouve
cbd8f8236a Remove Python 2.6 code that's now obsolete. Fixes #3935 2019-01-31 13:47:56 +01:00
Akshay Joshi
41c028f944 Ensure that null values handled properly in CSV download. Fixes #3780 2019-01-01 15:15:36 +05:30
Akshay Joshi
b58f288eec Fixed fatal error while launching the pgAdmin4 3.5. Update the version of the Flask to 0.12.4 for release. Fixes #3730 2018-10-31 13:36:43 +05:30
Dave Page
4ff0fcdd82 Update to latest Flask, to avoid a security issue. 2018-10-29 14:17:30 +00:00
Akshay Joshi
6bc6bc7f60 Ensure that Utilities(Backup/Restore/Maintenence/Import-Export) should not be started
if binary path is wrong and also added 'Stop Process' button to cancel the process.
2018-10-22 12:35:53 +05:30
Akshay Joshi
b7fb01ab04 Add support for SSH tunneled connections. Fixes #1447 2018-05-04 11:27:27 +01:00
Dave Page
8f90b801bd Fix typo 2018-04-17 09:15:17 +01:00
Dave Page
bb49d69293 Add required HTMLmin version - the Flask-htmlmin package doesn't seem to pull in the right version. 2018-04-17 08:58:47 +01:00
Dave Page
051fd645d7 Don't use pycryptodome at the moment, as it doesn't play well on Windows. 2018-04-10 09:27:59 +01:00
Dave Page
1617d003cd Cleanup some duplication in the requirements. 2018-04-04 14:17:47 +01:00
Murtuza Zabuawala
a95775ae49 Another attempt to fix the Python 2.6 deps. 2018-04-04 13:42:38 +01:00
Dave Page
33890da57e Typo fix. 2018-04-04 13:16:19 +01:00
Murtuza Zabuawala
c0cfc9f29b SQLAlchemy stopped supporting Python 2.6. 2018-04-04 12:59:05 +01:00
Murtuza Zabuawala
b7c86da586 Fix requirements for Python 2.6. 2018-04-04 12:26:44 +01:00
Murtuza Zabuawala
be055ce57d Update Python and JS modules. Fixes #3154 2018-04-04 10:47:01 +01:00
Murtuza Zabuawala
1a958a3951 Fix Python 2.6 support. 2018-02-19 10:22:23 +00:00
Murtuza Zabuawala
714a429879 Update psycopg2 requirement to ensure 10.x+ features work. 2017-11-01 12:45:00 +00:00
Khushboo Vashi
91406d2879 Ensure HTMLMIN is only used with Python 2.7+ 2017-10-10 09:14:23 +01:00
Dave Page
8b1aeadaf0 Stick with the older Flask-Script module for Python 2.6 2017-09-11 09:09:49 +01:00
Murtuza Zabuawala
64f3a559ab Add the Flask-Paranoid module for a little extra, well, paranoia in web mode. Fixes #2584 2017-07-20 18:04:33 +01:00
Ashesh Vashi
467825c2d1 Package 'mock' is required for testing, and for Python < 3.3 only. 2017-06-13 15:57:56 +05:30
Ashesh Vashi
903389d7b7 Required mock package for python < 3.3.
It was required for the commit:
1208206bc0

Also, do not fetch the scenario-name, when it is not avaiable (but - use
default vaule as the stringified test-case itself).
2017-06-13 15:43:31 +05:30
Akshay Joshi
1f903ba231 Updated psycopg2 version for PostgreSQL 10 compatibility. Fixes #2377 2017-05-12 15:43:03 +05:30
Magnus Hagander
29217946c3 Relax version dependency on psycopg2
Right now psycopg2 is required to be exactly version 2.6.2, which makes it mostly impossible to install pgadmin4 without having the postgresql C development packages installed (since you need to rebuild psycopg2 from source to make that work, given that few platforms ship *exactly* that version).
2017-05-09 12:32:20 +01:00
Murtuza Zabuawala
63d42745ef Fix various issues in CSV file download feature:
1) To handle non-ascii filenames which we set from table name. Fixes #2314

2) To handle non-ascii query data. Fixes #2253

3) To dump JSON type columns properly in csv. Fixes #2360
2017-05-08 13:36:11 +01:00
Ashesh Vashi
139a10e8f9 Added dependency on Flask-Migrate added by previous commit:
6283ef7f5e
2017-04-24 16:26:50 +05:30
Dave Page
c7fc21e3bb Update Babel version. 2017-03-31 17:03:36 -04:00
Dave Page
af29eac6ba Move another test-only dependency to web/regression/requirements.txt 2017-03-02 09:18:45 +00:00
Dave Page
074f7a805e Build a universal Python wheel instead of per-python-version ones. Fixes #2210 2017-02-26 10:01:23 +00:00
Dave Page
1e5de7e66e Merge the Python 2 & 3 requirements files, and break out test requirements into a separate file. 2017-02-26 09:06:17 +00:00
Murtuza Zabuawala
da6043e7a5 Include PIP requirements files for both Python 2 and Python 3. 2015-11-03 14:13:49 +00:00
Ashesh Vashi
e27e39a8f3 Added support for the infrastructure for on demand access/create the
server connection.

The BaseDriver and BaseConnection are two abstract classes, which allows
us to replace the existing driver with the currently used. The current
implementation supports to connect the PostgreSQL and Postgres Plus
Advanced Server using the psycopg2 driver.
2015-10-20 12:33:29 +05:30
Dave Page
83cbe87040 i18n support. 2015-02-25 17:06:00 +00:00
Dave Page
bb6a3f9b5b Use minified output when not in debug mode, and non-minified when debugging.
Update jQuery while we're at it.
2015-02-12 10:28:15 +00:00
Dave Page
10515431c7 Add authentication and the basis of the browser module.
A user authentication module based on flask-security is added, which
allows users to login and change/recover passwords etc. Custom templates
are included for the user/password UIs.

A new setup script will initialise the user (and later settings) DB,
adding the first user and granting them an Administrator role.

A redirects blueprint module is added to handle simple URL redirects.

A browser module is added and currently renders a skeleton page with
a menu bar, gravatar and jumbotron.

NOTE FOR LATER: Currently this code might make the nice basis for any
web app that needs user management and plugins. Hmmm....
2015-01-22 15:56:23 +00:00
Dave Page
cd9d005c49 Remove CherryPy from the source tree, and change references to Flask
instead. Add support to the runtime to allow the user to specify the
Python path. This needs to be more automated for release, but will be
useful for debugging and development.
2014-12-16 12:53:09 +00:00