![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package pgadmin4 for openSUSE:Factory checked in at 2019-03-06 15:49:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pgadmin4 (Old) and /work/SRC/openSUSE:Factory/.pgadmin4.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "pgadmin4" Wed Mar 6 15:49:11 2019 rev:4 rq:681827 version:4.2 Changes: -------- --- /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4.changes 2019-01-21 10:59:00.699379761 +0100 +++ /work/SRC/openSUSE:Factory/.pgadmin4.new.28833/pgadmin4.changes 2019-03-06 15:49:16.320425951 +0100 @@ -1,0 +2,72 @@ +Tue Mar 5 11:26:22 UTC 2019 - ecsos@opensuse.org + +- Update to pgadmin4 4.2 + - Bug fixes + * Replace Bootstrap switch with Bootstrap4 toggle to improve + the performance. + * Replace the PyCrypto module with the cryptography module. + * Fixed SQL for foreign table options. + * Fixed execution time to show Hours part for long running + queries in Query Tool. + * Messages tab of query tool should be clear on subsequent + execution of table/view using View/Edit Data. + * Clear drop-down menu should be disabled for View/Edit Data. + * Fixed Statistics panel hang issue for 1000+ tables. + * Proper error should be thrown when server group is created + with existing name. + * Ensure long string should be wrap in alertify dialogs. + * Ensure that output of the query should be displayed even if + Data Output window is detached from the Query Tool. + * Inline edbspl trigger functions should not be visible in + Grant Wizard. + * Proper SQL should be generated when create function with + return type as custom type argument. + * Ensure that database restriction of server dialog should work + with special characters. + * Ensure that Backup/Restore button should work on single + click. + * Fixed SQL for when clause while creating Trigger. + * Proper SQL should be generated when creating/changing column + with custom type argument. + * Ensure that file format combo box value should be retained + when hidden files checkbox is toggled. + * Proper SQL should be generated when create procedure with + custom type arguments. + * Ensure that browser should warn before close or refresh. + * Fixed EXEC script for procedures. + * Proper SQL should be generated when create domain of type + interval with precision. + * Drop-down should be closed when click on any other toolbar + button. + * Fixed keyboard navigation for dialog tabs. + * Increase frames splitter mouse hover area to make it easier + to resize. + * Fixed alignment of tree arrow icons for Internet Explorer. + * Ensure object names in external process dialogues are + properly escaped. + * Correct order of Save and Cancel button for json/jsonb + editing. + * Data should be updated properly for FTS Configurations, + FTS Dictionaries, FTS Parsers and FTS Templates. + * Fixed unable to drop multiple Rules and Foreign Tables from + properties tab. + * Fixed Query Tool Initialization Error. + * Fixed keyboard navigation for Select2 and Privilege cell in + Backgrid. + * Correct schema should be displayed in Materialized View + dialog. + * Fixed debugger issue for procedure inside package for EPAS + servers. + * Fix alignment of help messages in properties panels. + * Fix alignment of submenu for Internet Explorer. + * Ensure that grant wizard should list down functions for EPAS + server running with no-redwood-compat mode. + * Dashboard graph optimization. + * Remove Python 2.6 code that’s now obsolete. + * Expose the bind address in the Docker container via + PGADMIN_BIND_ADDRESS. + * Exclude HTTPExceptions from the all_exception_handler as they + should be returned as-is. +- Rebase fix-python3-crypto-call.patch + +------------------------------------------------------------------- Old: ---- pgadmin4-4.1.tar.gz New: ---- pgadmin4-4.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pgadmin4.spec ++++++ --- /var/tmp/diff_new_pack.r7MsEq/_old 2019-03-06 15:49:18.968426313 +0100 +++ /var/tmp/diff_new_pack.r7MsEq/_new 2019-03-06 15:49:18.968426313 +0100 @@ -12,13 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # %global pgadmin4instdir %{_libdir}/pgadmin4-%{version} Name: pgadmin4 -Version: 4.1 +Version: 4.2 Release: 0 Summary: Management tool for PostgreSQL License: PostgreSQL ++++++ fix-python3-crypto-call.patch ++++++ --- /var/tmp/diff_new_pack.r7MsEq/_old 2019-03-06 15:49:19.020426320 +0100 +++ /var/tmp/diff_new_pack.r7MsEq/_new 2019-03-06 15:49:19.020426320 +0100 @@ -23,12 +23,12 @@ TypeError: Object type <class 'str'> cannot be passed to C code -Index: pgadmin4-3.3/web/pgadmin/utils/crypto.py +Index: pgadmin4-4.2/web/pgadmin/utils/crypto.py =================================================================== ---- pgadmin4-3.3.orig/web/pgadmin/utils/crypto.py -+++ pgadmin4-3.3/web/pgadmin/utils/crypto.py -@@ -18,6 +18,12 @@ from Crypto.Cipher import AES - padding_string = b'}' +--- pgadmin4-4.2.orig/web/pgadmin/utils/crypto.py ++++ pgadmin4-4.2/web/pgadmin/utils/crypto.py +@@ -26,6 +26,12 @@ padding_string = b'}' + iv_size = AES.block_size // 8 +def to_CStringCompatible(string): @@ -40,38 +40,23 @@ def encrypt(plaintext, key): """ Encrypt the plaintext with AES method. -@@ -27,11 +33,14 @@ def encrypt(plaintext, key): +@@ -35,6 +41,9 @@ def encrypt(plaintext, key): key -- Key for encryption. """ + plaintext = to_CStringCompatible(plaintext) + key = to_CStringCompatible(key) + - iv = Random.new().read(AES.block_size) - cipher = AES.new(pad(key), AES.MODE_CFB, iv) - # If user has entered non ascii password (Python2) - # we have to encode it first -- if hasattr(str, 'decode'): -+ if hasattr(plaintext, 'encode'): - plaintext = plaintext.encode('utf-8') - encrypted = base64.b64encode(iv + cipher.encrypt(plaintext)) - -@@ -49,6 +58,9 @@ def decrypt(ciphertext, key): - - global padding_string + iv = os.urandom(iv_size) + cipher = Cipher(AES(pad(key)), CFB8(iv), default_backend()) + encryptor = cipher.encryptor() +@@ -57,6 +66,9 @@ def decrypt(ciphertext, key): + key -- key to decrypt the encrypted string. + """ + ciphertext = to_CStringCompatible(ciphertext) + key = to_CStringCompatible(key) + ciphertext = base64.b64decode(ciphertext) - iv = ciphertext[:AES.block_size] - cipher = AES.new(pad(key), AES.MODE_CFB, iv) -@@ -72,7 +84,7 @@ def pad(key): - return key - - # Convert bytes to string (python3) -- if not hasattr(str, 'decode'): -+ if hasattr(padding_string, 'decode'): - padding_string = padding_string.decode() + iv = ciphertext[:iv_size] - # Add padding to make key 32 bytes long ++++++ pgadmin4-4.1.tar.gz -> pgadmin4-4.2.tar.gz ++++++ /work/SRC/openSUSE:Factory/pgadmin4/pgadmin4-4.1.tar.gz /work/SRC/openSUSE:Factory/.pgadmin4.new.28833/pgadmin4-4.2.tar.gz differ: char 5, line 1