<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Hello all,</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I am happy that this project is getting more and more attention.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">And before the comments on the thread.<br><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">I would like to ask Manas, in the final report he makes to quote the statements found in this thread about the cons of using plppythonu3.<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br>Regards<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Now onto the comments:<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Aug 7, 2022 at 1:56 PM Regina Obe <<a href="mailto:lr@pcorp.us">lr@pcorp.us</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">I concur with Imre Samu.  Most systems do not have plpythonu installed, and adding that extra dependency to test pgRouting would not be acceptable.  So it has to be an optional dependency if it is one at all.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> </span></p></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">There might be a misunderstanding, although Manas's GSoC project is for pgRouting, he is doing it for the spinoff vrpRouting.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">vrpRouting was created because not all software for solving vehicle routing problems that is available its been packaged for the different operative systems.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">VROOM [1] was the first one that is not packaged, and it needs C++14 at least whereas pgRouting needs C++11 which is the one available on CENTOS 7 for example.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Also in vrpRouting the min version of postgreSQL is 12, whereas for pgRouting it supports all versions that are not in the EOL.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div>[<span class="gmail_default" style="font-family:arial,helvetica,sans-serif">1]</span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"> </span><span class="gmail_default" style="font-family:arial,helvetica,sans-serif"><a href="http://vroom-project.org/">http://vroom-project.org/</a></span><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">If it is required for your testing then just don’t run the tests that require it if plpython3u is not installed.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u></span></p></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Right now the testing level is on how to execute the following example of or-tools [2]:</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><font size="2"><span style="font-family:arial,sans-serif"><pre style="top: -99999px; left: -99999px;" class="gmail-clear-for-copy"><div>[2] <a href="https://developers.google.com/optimization/introduction/python#complete-program">https://developers.google.com/optimization/introduction/python#complete-program</a></div></pre></span></font></div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">Reasons why plpython3u might not want to be installed:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">1) Is a untrusted language so could allow damage to the operating system if used in the wrong hands.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">e.g. one could overwrite the operating system completely with such a function.  Far beyond mere SQL injection.</span></p></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">plpython3u was actually my suggestion.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">and I have the same question Manas has about alternatives:<br>"Do you have any ideas/suggestions on how I could achieve this?"</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">2) Has an extra dependency on python3 (and a specific minor), which is sometimes difficult to get the right version or configuration especially on older systems.  On a system heavily using python3, it might not even be the right version that plpython3u was compiled with.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> </span></p></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Currently for the GSoC program, the scope of his project does not include the merge to the main repository of vrpRouting.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">His work will allow the PSC to evaluate:<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">- possibility</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">- simplicity</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">- doability</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">- security<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">etc</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)">As a windows packager, I do not install plpython3u as it’s too messy, requires downloading extra stuff setting certain env variables etc. I still need to be able to test pgRouting proper before packaging for windows users.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u> </span></p></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Thanks for letting us know.<br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">We will certainly put this comment on the doability section.<br></div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:"Calibri",sans-serif;color:rgb(31,73,125)"><u></u></span></p><div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0in 0in 0in 4pt"><div><div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11pt;font-family:"Calibri",sans-serif"> pgrouting-dev [mailto:<a href="mailto:pgrouting-dev-bounces@lists.osgeo.org" target="_blank">pgrouting-dev-bounces@lists.osgeo.org</a>] <b>On Behalf Of </b>Manas Sivakumar<br><b>Sent:</b> Sunday, August 7, 2022 1:46 PM<br><b>To:</b> pgRouting developers mailing list <<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a>><br><b>Subject:</b> Re: [pgrouting-dev] GSoC 2022 Week 7 Report : Add Google Or tools functionality to pgrouting<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">I'm extremely sorry for the late reply. I don't use this mail id frequently. For now, I made install plpython3u as a dependency (I wasn't aware of your concern). I'll see if there is a way to make it optional because the functions that I have written right now need the plpython3u extension for testing. May I know how exactly the plpythonu extension is dangerous in your case? I mean the users can create their own function and run it, this might be a problem as it makes us susceptible to SQL injection attacks of sorts. Do you have any ideas/suggestions on how I could achieve this?<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Regards<u></u><u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Mon, Aug 1, 2022 at 2:00 AM Imre Samu <<a href="mailto:pella.samu@gmail.com" target="_blank">pella.samu@gmail.com</a>> wrote:<u></u><u></u></p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><p class="MsoNormal">Hi Manas, <u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Thank you for working on this topic.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">> figure out how to add python ortools to pgrouting requirements<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I don't know all the details, so apologies if my comment is too early or already known.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">if it can be done, it would be ideal for me ( as a user )  if the plpython3u system requirement was optional and not mandatory.<u></u><u></u></p></div><div><p class="MsoNormal">Now the plpythonu is an “untrusted” language[1] <u></u><u></u></p></div><div><p class="MsoNormal">  and is not allowed to be installed in many places;  ( ~ strict security policy ) <u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">[1] <a href="https://www.postgresql.org/docs/14/plpython.html" target="_blank">https://www.postgresql.org/docs/14/plpython.html</a> <u></u><u></u></p></div><div><p class="MsoNormal"><i>"The writer of a function in untrusted PL/Python must take care that the function cannot be used to do anything unwanted, since it will be able to do anything that could be done by a user logged in as the database administrator.  Only superusers can create functions in untrusted languages such as <span class="gmail_default" style="font-family:arial,helvetica,sans-serif"></span>plpythonu."   </i><u></u><u></u></p></div><div><p class="MsoNormal"><u></u> </p></div></div></div></blockquote></div></div></div></div></blockquote><div><br></div><div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default">Be certain that the statement will go to the security section of the list I mentioned before.</div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><br></div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"> </div><div style="font-family:arial,helvetica,sans-serif" class="gmail_default"><code class="gmail-literal"></code></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_5617022802720399045WordSection1"><div style="border-color:currentcolor currentcolor currentcolor blue;border-style:none none none solid;border-width:medium medium medium 1.5pt;padding:0in 0in 0in 4pt"><div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><div><p class="MsoNormal"><u></u></p></div><div><p class="MsoNormal">Regards,<u></u><u></u></p></div><div><p class="MsoNormal"> Imre<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">Manas Sivakumar <<a href="mailto:callmehero350@gmail.com" target="_blank">callmehero350@gmail.com</a>> ezt írta (időpont: 2022. júl. 31., V, 21:09):<u></u><u></u></p></div><blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><div><div><div><div style="margin-top:6pt;font-size:0.875rem" id="gmail-m_5617022802720399045gmail-m_2099248061469309524gmail-m_-4642724860630536361gmail-:2i"><div id="gmail-m_5617022802720399045gmail-m_2099248061469309524gmail-m_-4642724860630536361gmail-:mt"><div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif">Hello Everyone,<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif">This is my week 7 report of the official coding period July 25th - July 31th.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif">This also marks my first report for the second coding period.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><b><span style="font-family:"Arial",sans-serif">What have I done this week?</span></b><span style="font-family:"Arial",sans-serif"><u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:47.25pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">         </span></span></span><u></u><span style="font-family:"Arial",sans-serif">Implemented multiple_knapsack in PL/Python<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:47.25pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">         </span></span></span><u></u><span style="font-family:"Arial",sans-serif">Implemented bin_packing in PL/Python<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:47.25pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">         </span></span></span><u></u><span style="font-family:"Arial",sans-serif">Converted knapsack from c++ to PL/Python<u></u><u></u></span></p><div><p class="MsoNormal"><b><span style="font-family:"Arial",sans-serif">What do I plan to do next week?</span></b><span style="font-family:"Arial",sans-serif"><u></u><u></u></span></p></div></div><div><p class="MsoNormal" style="margin-left:47.25pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">         </span></span></span><u></u><span style="font-family:"Arial",sans-serif">figure out how to add python ortools to pgrouting requirements<u></u><u></u></span></p><div><p class="MsoNormal"><b><span style="font-family:"Arial",sans-serif">Am I blocked on anything?</span></b><span style="font-family:"Arial",sans-serif"><u></u><u></u></span></p></div></div><div><p class="MsoNormal" style="margin-left:47.25pt"><u></u><span style="font-size:10pt;font-family:Symbol"><span>·<span style="font:7pt "Times New Roman"">         </span></span></span><u></u><span style="font-family:"Arial",sans-serif">No<u></u><u></u></span></p><div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif">Any feedback, comments and suggestions are welcome.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style="font-family:"Arial",sans-serif">Pull Request : <a href="https://github.com/pgRouting/GSoC-pgRouting/pull/241" target="_blank">https://github.com/pgRouting/GSoC-pgRouting/pull/241</a><u></u><u></u></span></p></div></div></div></div></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p></div><p class="MsoNormal">_______________________________________________<br>pgrouting-dev mailing list<br><a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br><a href="https://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">https://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><u></u><u></u></p></blockquote></div><p class="MsoNormal">_______________________________________________<br>pgrouting-dev mailing list<br><a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br><a href="https://lists.osgeo.org/mailman/listinfo/pgrouting-dev" target="_blank">https://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><u></u><u></u></p></blockquote></div></div></div></div>_______________________________________________<br>
pgrouting-dev mailing list<br>
<a href="mailto:pgrouting-dev@lists.osgeo.org" target="_blank">pgrouting-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/pgrouting-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/pgrouting-dev</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><pre>Georepublic UG (haftungsbeschränkt)
Salzmannstraße 44, 
81739 München, Germany

Vicky Vergara
Operations Research

eMail: vicky@<a href="http://georepublic.de" target="_blank">georepublic.de</a>
Web: <a href="https://georepublic.info" target="_blank">https://georepublic.info</a>

Tel: +49 (089) 4161 7698-1
Fax: +49 (089) 4161 7698-9

Commercial register: Amtsgericht München, HRB 181428
CEO: Daniel Kastl

<span></span></pre></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>