Hi

On Mon, Jun 14, 2021 at 3:18 PM Nikhil Mohite <
nikhil.moh...@enterprisedb.com> wrote:

> Hi Akshay,
>
> I have added the following commands for invalid command check:
>
>    1. \lo_import
>    2. \lo_export
>    3. \w or write
>    4. \o or \output
>    5. \g
>
> \qecho? \ev?

I'm very concerned we're missing more here, and will continue to miss new
commands that are added to psql in the future.

I think we need to disable the feature entirely in server mode by default,
and probably remove the code that attempts to filter out commands.

Then it just becomes a case of "this can be dangerous in server mode, as
your user will be able to run arbitrary commands on the server. Enable at
your own risk".


> I am referring to the https://www.postgresql.org/docs/12/app-psql.html
> link for finding the commands.
> PFA patch V10.
>
>
> On Mon, Jun 14, 2021 at 6:48 PM Dave Page <dp...@pgadmin.org> wrote:
>
>> Hi
>>
>> On Mon, Jun 14, 2021 at 2:13 PM Nikhil Mohite <
>> nikhil.moh...@enterprisedb.com> wrote:
>>
>>> Hi Akshay,
>>>
>>> Please find the updated patch for psql, Updated invalid command logic
>>> added 3 more commands in it.
>>> 1. \copy or \COPY
>>> 2. \e or \E
>>> 3. \ef or \EF
>>>
>>
>> Should they just be case insensitive?
>>
> \ commands are case sensitive.
>

So what are \E and \EF? I can't see them in the pg13 docs.


>
>>
>>>
>>> Now user can't execute these commands if allow shell commands is set to
>>> False.
>>>
>>
>> What about \lo_import and \lo_export? I think those are potentially
>> dangerous too. Also, \echo.
>>
> added this as well.
>
>>
>>
>>>
>>> If required any changes please let me know.
>>>
>>> Regards,
>>> Nikhil Mohite
>>>
>>> On Mon, Jun 14, 2021 at 11:48 AM Akshay Joshi <
>>> akshay.jo...@enterprisedb.com> wrote:
>>>
>>>> Thanks, the patch applied.
>>>>
>>>> On Mon, Jun 14, 2021 at 10:55 AM Nikhil Mohite <
>>>> nikhil.moh...@enterprisedb.com> wrote:
>>>>
>>>>> Hi Team,
>>>>>
>>>>> PFA patch v8
>>>>>
>>>>> On Mon, Jun 14, 2021 at 10:25 AM Nikhil Mohite <
>>>>> nikhil.moh...@enterprisedb.com> wrote:
>>>>>
>>>>>> Hi Team,
>>>>>>
>>>>>> Please find the updated patch for the PSQL tool, Added check if the
>>>>>> Windows version is not supporting the ConPty or WinPty disable the PSQL 
>>>>>> for
>>>>>> that version. (PSQL option will not visible to the user).
>>>>>>
>>>>>> I have raised the issue with "pywinpty"
>>>>>> https://github.com/spyder-ide/pywinpty/issues/161
>>>>>>
>>>>>> Regards,
>>>>>> Nikhil Mohite
>>>>>>
>>>>>> On Fri, Jun 11, 2021 at 6:25 PM Dave Page <dp...@pgadmin.org> wrote:
>>>>>>
>>>>>>> Hi
>>>>>>>
>>>>>>> On Fri, Jun 11, 2021 at 1:45 PM Fahar Abbas <
>>>>>>> fahar.ab...@enterprisedb.com> wrote:
>>>>>>>
>>>>>>>> Hi Dave,
>>>>>>>>
>>>>>>>> On Fri, Jun 11, 2021 at 1:39 PM Dave Page <dp...@pgadmin.org>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, Jun 11, 2021 at 9:35 AM Fahar Abbas <
>>>>>>>>> fahar.ab...@enterprisedb.com> wrote:
>>>>>>>>>
>>>>>>>>>> Sure Dave, I will create a new VM with the latest iso.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Not the latest. 1809 please. And if that doesn't work, 1909. We
>>>>>>>>> need to understand exactly what versions work and which don't.
>>>>>>>>>
>>>>>>>>> pgadmin4 is working fine on Windows 10 x64(1809).
>>>>>>>>
>>>>>>>
>>>>>>> Great, thanks!
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Do I also need to test pgadmin4 on 1909  iso?
>>>>>>>>
>>>>>>>
>>>>>>> I don't think so. I'm 99% certain that what we're seeing is that it
>>>>>>> works on the versions of Windows that support conpty, but not the older
>>>>>>> ones where the pywinpty library is *supposed* to fall back to using 
>>>>>>> winpty.
>>>>>>>
>>>>>>> Hopefully Nikhil can get to the bottom of the problem with the
>>>>>>> pywinpty folks.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Nikhil is not able to reproduce the issue on Windows 10 with the
>>>>>>>>>> latest version. So the issue is reproducible with older versions.
>>>>>>>>>>
>>>>>>>>>> Kind Regards,
>>>>>>>>>> On Fri, Jun 11, 2021 at 1:28 PM Dave Page <dp...@pgadmin.org>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, Jun 11, 2021 at 9:25 AM Fahar Abbas <
>>>>>>>>>>> fahar.ab...@enterprisedb.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Windows 10 Enterprise 2016 LTSB.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Hmm, I assume that is version 1607. Can you test with 1809
>>>>>>>>>>> please? And if that doesn't work, try 1909.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Fri, Jun 11, 2021 at 1:12 PM Dave Page <dp...@pgadmin.org>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Jun 11, 2021 at 7:44 AM Fahar Abbas <
>>>>>>>>>>>>> fahar.ab...@enterprisedb.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> pgadmin4 is failing on following operating systems :
>>>>>>>>>>>>>> Windows 2016
>>>>>>>>>>>>>> Windows 2012
>>>>>>>>>>>>>> Windows 07
>>>>>>>>>>>>>> Windows 2008R2
>>>>>>>>>>>>>> Windows 10 64
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> What version of Windows 10? I *think* conpty was introduced in
>>>>>>>>>>>>> 1809.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> pgadmin4 is working fine in following operating system:
>>>>>>>>>>>>>> Windows 2019
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 7:51 PM Dave Page <dp...@pgadmin.org>
>>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 2:22 PM Nikhil Mohite <
>>>>>>>>>>>>>>> nikhil.moh...@enterprisedb.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi Dave,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 6:37 PM Dave Page <
>>>>>>>>>>>>>>>> dp...@pgadmin.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 2:00 PM Nikhil Mohite <
>>>>>>>>>>>>>>>>> nikhil.moh...@enterprisedb.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hi Dave,
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 5:22 PM Dave Page <
>>>>>>>>>>>>>>>>>> dp...@pgadmin.org> wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Hi
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Thu, Jun 10, 2021 at 11:08 AM Nikhil Mohite <
>>>>>>>>>>>>>>>>>>> nikhil.moh...@enterprisedb.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Hi Dave/ Team,
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> We are facing an issue with winpty.dll on Windows
>>>>>>>>>>>>>>>>>>>> server 2016 and Windows 7(these are platforms on which we 
>>>>>>>>>>>>>>>>>>>> have tested).
>>>>>>>>>>>>>>>>>>>> Files required for winpty are present in the
>>>>>>>>>>>>>>>>>>>> site-packages but still, it is unable to load the 
>>>>>>>>>>>>>>>>>>>> winpty.dll file on these
>>>>>>>>>>>>>>>>>>>> specific platforms. We have tested it on Windows 10 pro 
>>>>>>>>>>>>>>>>>>>> and Windows server
>>>>>>>>>>>>>>>>>>>> 2019 and it is working fine. (Also tried building the 
>>>>>>>>>>>>>>>>>>>> local pywinpty but
>>>>>>>>>>>>>>>>>>>> unable to build it.)  ref link for winPty
>>>>>>>>>>>>>>>>>>>> https://github.com/rprichard/winpty#:~:text=winpty%20is%20a%20Windows%20software,in%20a%20Cygwin%2FMSYS%20pty.
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Does winpty.exe run, if executed from the command line
>>>>>>>>>>>>>>>>>>> instead of pgAdmin? If not, does dependency walker show any 
>>>>>>>>>>>>>>>>>>> missing
>>>>>>>>>>>>>>>>>>> libraries that are required?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Not found the winpty.exe in site packages, but as per the
>>>>>>>>>>>>>>>>>> winpty documents "winpty-agent.exe" will start the process 
>>>>>>>>>>>>>>>>>> with a new,
>>>>>>>>>>>>>>>>>> hidden console window. It is not showing any error while 
>>>>>>>>>>>>>>>>>> installing the
>>>>>>>>>>>>>>>>>> package. I tried to use it outside the pgAdmin but still 
>>>>>>>>>>>>>>>>>> facing the same
>>>>>>>>>>>>>>>>>> error "Exception in import winpty DLL load failed while 
>>>>>>>>>>>>>>>>>> importing winpty:
>>>>>>>>>>>>>>>>>> The specified procedure could not be found."(created a 
>>>>>>>>>>>>>>>>>> separate python
>>>>>>>>>>>>>>>>>> environment for this)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 1. if try to run winpty-agent.exe from the command line,
>>>>>>>>>>>>>>>>>> it shows the user entered inputs on the same terminal, not 
>>>>>>>>>>>>>>>>>> showing any
>>>>>>>>>>>>>>>>>> errors.
>>>>>>>>>>>>>>>>>> [image: image.png]
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 2. I found winpty.exe in the other installed app (Git
>>>>>>>>>>>>>>>>>> command line: C:\Program Files (x86)\Git\usr\bin) if try to 
>>>>>>>>>>>>>>>>>> run it through
>>>>>>>>>>>>>>>>>> the command line not getting any error, it is showing user 
>>>>>>>>>>>>>>>>>> entered inputs
>>>>>>>>>>>>>>>>>> on the same terminal. (It is not related to pgAdmin but just 
>>>>>>>>>>>>>>>>>> tried to check
>>>>>>>>>>>>>>>>>> winpty.exe throwing any error or not)
>>>>>>>>>>>>>>>>>> [image: image.png]
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Hmmm, that sounds oddly similar to an issue I had with
>>>>>>>>>>>>>>>>> Kerberos on Windows when I was mucking around with that. I 
>>>>>>>>>>>>>>>>> can't remember
>>>>>>>>>>>>>>>>> the exact details, but as a test, does the problem go away if 
>>>>>>>>>>>>>>>>> winpty.dll is
>>>>>>>>>>>>>>>>> copied into the Windows system32 directory?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Tried it but still facing the same issue.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> OK, I had a fiddle around, and see the same thing. I can't
>>>>>>>>>>>>>>> do a simple import of winpty. On 2019 it's fine. I tried 
>>>>>>>>>>>>>>> various tricks
>>>>>>>>>>>>>>> that I've used in the past to make sure libraries are found etc.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Could this be because it's trying to use the
>>>>>>>>>>>>>>> conpty interface in Windows 10 and above?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> If we can't get this to work tomorrow, I think it's fine to
>>>>>>>>>>>>>>> simply hide the menu options and button if the server detects 
>>>>>>>>>>>>>>> it's running
>>>>>>>>>>>>>>> on an unsupported version of Windows. Of course, this should be 
>>>>>>>>>>>>>>> documented.
>>>>>>>>>>>>>>> We also need to make sure we know *exactly* what versions it 
>>>>>>>>>>>>>>> does and does
>>>>>>>>>>>>>>> not work on.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Dave Page
>>>>>>>>>>>>>>> Blog: https://pgsnake.blogspot.com
>>>>>>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> EDB: https://www.enterprisedb.com
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Fahar Abbas
>>>>>>>>>>>>>> EnterpriseDB Corporation
>>>>>>>>>>>>>> Phone Office: +92-51-835-8874
>>>>>>>>>>>>>> Phone Direct: +92-51-8466803
>>>>>>>>>>>>>> Mobile: +92-333-5409707
>>>>>>>>>>>>>> Skype ID: *live:fahar.abbas*
>>>>>>>>>>>>>> Website: www.enterprisedb.com
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Dave Page
>>>>>>>>>>>>> Blog: https://pgsnake.blogspot.com
>>>>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>>>>
>>>>>>>>>>>>> EDB: https://www.enterprisedb.com
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>>> Fahar Abbas
>>>>>>>>>>>> EnterpriseDB Corporation
>>>>>>>>>>>> Phone Office: +92-51-835-8874
>>>>>>>>>>>> Phone Direct: +92-51-8466803
>>>>>>>>>>>> Mobile: +92-333-5409707
>>>>>>>>>>>> Skype ID: *live:fahar.abbas*
>>>>>>>>>>>> Website: www.enterprisedb.com
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Dave Page
>>>>>>>>>>> Blog: https://pgsnake.blogspot.com
>>>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>>>
>>>>>>>>>>> EDB: https://www.enterprisedb.com
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Fahar Abbas
>>>>>>>>>> EnterpriseDB Corporation
>>>>>>>>>> Phone Office: +92-51-835-8874
>>>>>>>>>> Phone Direct: +92-51-8466803
>>>>>>>>>> Mobile: +92-333-5409707
>>>>>>>>>> Skype ID: *live:fahar.abbas*
>>>>>>>>>> Website: www.enterprisedb.com
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Dave Page
>>>>>>>>> Blog: https://pgsnake.blogspot.com
>>>>>>>>> Twitter: @pgsnake
>>>>>>>>>
>>>>>>>>> EDB: https://www.enterprisedb.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Fahar Abbas
>>>>>>>> EnterpriseDB Corporation
>>>>>>>> Phone Office: +92-51-835-8874
>>>>>>>> Phone Direct: +92-51-8466803
>>>>>>>> Mobile: +92-333-5409707
>>>>>>>> Skype ID: *live:fahar.abbas*
>>>>>>>> Website: www.enterprisedb.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dave Page
>>>>>>> Blog: https://pgsnake.blogspot.com
>>>>>>> Twitter: @pgsnake
>>>>>>>
>>>>>>> EDB: https://www.enterprisedb.com
>>>>>>>
>>>>>>>
>>>>
>>>> --
>>>> *Thanks & Regards*
>>>> *Akshay Joshi*
>>>> *pgAdmin Hacker | Principal Software Architect*
>>>> *EDB Postgres <http://edbpostgres.com>*
>>>>
>>>> *Mobile: +91 976-788-8246*
>>>>
>>>
>>
>> --
>> Dave Page
>> Blog: https://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EDB: https://www.enterprisedb.com
>>
>> Regards,
> Nikhil Mohite
>


-- 
Dave Page
Blog: https://pgsnake.blogspot.com
Twitter: @pgsnake

EDB: https://www.enterprisedb.com

Reply via email to