This function will allow us to check and set defaults for SSL fields Args: data: Response data Returns: Flag and Data
(data)
| 608 | |
| 609 | |
| 610 | def check_ssl_fields(data): |
| 611 | """ |
| 612 | This function will allow us to check and set defaults for |
| 613 | SSL fields |
| 614 | |
| 615 | Args: |
| 616 | data: Response data |
| 617 | |
| 618 | Returns: |
| 619 | Flag and Data |
| 620 | """ |
| 621 | flag = False |
| 622 | |
| 623 | if 'sslmode' in data and data['sslmode'] in SSL_MODES: |
| 624 | flag = True |
| 625 | ssl_fields = [ |
| 626 | 'sslcert', 'sslkey', 'sslrootcert', 'sslcrl', 'sslcompression' |
| 627 | ] |
| 628 | # Required SSL fields for SERVER mode from user |
| 629 | required_ssl_fields_server_mode = ['sslcert', 'sslkey'] |
| 630 | |
| 631 | for field in ssl_fields: |
| 632 | if field in data: |
| 633 | continue |
| 634 | elif config.SERVER_MODE and \ |
| 635 | field in required_ssl_fields_server_mode: |
| 636 | # In Server mode, |
| 637 | # we will set dummy SSL certificate file path which will |
| 638 | # prevent using default SSL certificates from web servers |
| 639 | |
| 640 | # Set file manager directory from preference |
| 641 | import os |
| 642 | file_extn = '.key' if field.endswith('key') else '.crt' |
| 643 | dummy_ssl_file = os.path.join( |
| 644 | '<STORAGE_DIR>', '.postgresql', |
| 645 | 'postgresql' + file_extn |
| 646 | ) |
| 647 | data[field] = dummy_ssl_file |
| 648 | # For Desktop mode, we will allow to default |
| 649 | |
| 650 | return flag, data |
| 651 | |
| 652 | |
| 653 | def disconnect_from_all_servers(): |
no test coverage detected