<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"> <span>Hi,<br></span><br><font size="2" face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><span>I'd rather be able to contribute more constructively to<br>the discussion but as I said my skills as a programmer are limited.<br><br>With regard to the doubts about the security risks of the ability to reuse<br>the same connection after the environment has been released, I would like to<br>understand what further security risks are posed than what is written<br>in this presentation of the connection pooling for unixODBC:<br>http://www.unixodbc.org/doc/conn_pool.html<br><br>In my opinion, if the security risks/concerns are prevalent, the simple answer<br>is to not use connection pooling at all.<br><br>So, may be keeping the connection open and put the environment to NULL could<br>be a acceptable compromise, but perhaps even this choice will not make pooling "work",<br>as we saw it working on windows.<br><br>Anyway, our application is written in php, we are using pdo_odbc, I asked my collegues<br>if they can "mantain" the environment, but they said that they are not aware of a way<br>of keeping the environment outside of the same php script, which they already do.<br><br>May be you know how to do?<br><br>Regards<br><br>Davide Pagnin<br></span></font><br><br><font color="#990099">-----unixodbc-support-bounces@mailman.unixodbc.org ha scritto: -----</font><div class="iNotesHistory" style="padding-left:5px;"><div style="padding-right:0px;padding-left:5px;border-left:solid black 2px;">A: unixodbc-support@mailman.unixodbc.org<br>Da: Nick Gorham <nick@lurcher.org><br>Inviato da: unixodbc-support-bounces@mailman.unixodbc.org<br>Data: 09/01/2017 15:45<br>Oggetto: Re: [unixODBC-support] Rif: Re: Segmentation Fault on Centos 7 when Connection Pooling Enable<br><br>  
    <!--Notes ACF
<meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">-->
  
  
    <div class="moz-cite-prefix">On 09/01/17 14:25, Davide Pagnin wrote:<br>    </div>    <blockquote cite="mid:ca14c372ee348aec95dc22a14b118d13bf2b59e7@localhost" type="cite"><font size="2" face="Default Sans        Serif,Verdana,Arial,Helvetica,sans-serif">Hi, <span><br>        </span><br>        I've recompiled the unixodbc from source taken from ftp as
        2.3.5-pre<br>        <br>        I doesn't dump anymore but it is not pooling the connections
        anymore.<br>        <br>        I'm not a programmer, so I don't know if the fix you have
        introduced is right or not,<br>        but if the fix you introduced is correct (stripping connections
        of released environment),<br>        what programmers should do to enjoy connection pooling
        advantages?<br>        <br>        They have not to release the environment?<br>        <br>        What I'm sure, at the moment, is that on windows environment,
        our application<br>        do benefit from connection pooling, on linux it used to crash
        the httpd daemon<br>        and with your fix it does not benefit from pooling. I expected
        linux behavior to copy windows, <br>        but may be there is a flaw also on windows side that is not
        visible or a memory leak<br>        (which is what I probably introduced with my "quick" fix)<br>        <br>        May be you could try to explain me, what you think is the
        "correct" behaviour?<br>        <br>        Thanks in advance<br>        <br>        Regards<br>        Davide<br>      </font></blockquote>    <br>    <font size="2"><font face="Default Sans        Serif,Verdana,Arial,Helvetica,sans-serif">Hi,<br>        <br>        I expected this. My first aim was to remove the seg fault, at
        least by doing this we have identified that the problem I found
        is the same as the one that was causing you a problem. <br>        <br>        Not sure what the "correct" behaviour is (other than a seg fault
        is rarely correct :-)). It is possible that the orphaned pooled
        connections (those left when the application releases the
        environment) could be allocated to the new environment when its
        allocated and used, but this worries me a little as it allows a
        leakage of information (or at least the connection state)
        between what the application would reasonably expect to be
        isolated connections. The simple solution would be to not
        release the environment. <br>        <br>        Attempting to copy the windows behaviour exactly is problematic
        because of the different way DLL's on windows and shared objects
        on *nix operate.<br>        <br>        It would be a simple task to null the pooled connection
        environment on release of the environment instead of completely
        removing them, and on reuse of the pooled connection reconnecting
        to the new environment, but for the above reasons I feel it
        would be unwise. I will leave the question open to see if any
        others have views on the preferred solution.<br>        <br>        Is it not possible to alter the calling application to maintain
        environments?<br>        <br>        -- <br>        Nick</font></font>  

<div><font size="2" face="Courier New,Courier,monospace">_______________________________________________<br>unixODBC-support mailing list<br>unixODBC-support@mailman.unixodbc.org<br><a href="http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support">http://mailman.unixodbc.org/mailman/listinfo/unixodbc-support</a><br></font></div></nick@lurcher.org></div></div></font><font face="sans-serif"><br> <br>
<FONT face="Arial"> <FONT size=1>
Ai sensi del D.Lgs. 196/2003 si precisa che le informazioni contenute in questo messaggio sono riservate ed a uso esclusivo del destinatario. Qualora il messaggio in parola Le fosse pervenuto per errore, La invitiamo ad eliminarlo senza copiarlo e a non inoltrarlo a terzi, dandocene gentilmente comunicazione. Grazie.
<br><br>
Pursuant to Legislative Decree No. 196/2003, you are hereby informed that this message contains confidential information intended only for the use of the addressee. If you are not the addressee, and have received this message by mistake, please delete it and immediately notify us. You may not copy or disseminate this message to anyone. Thank you. 
</FONT>
<br></font>