I pushed the code to enclose the value in between quotes. Can you test and see if works now?
Cheers, Daniel On 08.12.21 19:07, Daniel-Constantin Mierla wrote: > > I expected the quoted mode parameter does the work -- I will check and > push the update. > > Regarding support for undefined env values, maybe add something like > #!trydefenv, because I find #!defenv useful at is it, to be used when > the env variable must be set for proper working of kamailio (e.g., DB > url) and fail to start if not set. > > Cheers, > Daniel > > On 08.12.21 17:17, Ben Kaufman wrote: >> >> Daniel, >> >> >> >> Is the #!defenvs feature still a work in progress? I wrote a change >> to add #!defenvn and #!defenvns to allow for undefined environmental >> variables, and noticed that the string quoting on #!defenvs doesn’t >> do anything except log the quoting mode in /src/core/ pp_define_set(). >> >> *Ben Kaufman* >> >> /Sr. VoIP Engineer/ >> >> >> P: >> >> E: [email protected] >> >> 24 hour client support: 855.639.6300 <tel:+18556396300> >> >> >> >> >> *From:* sr-users <[email protected]> *On Behalf Of >> *Ben Kaufman >> *Sent:* Tuesday, December 7, 2021 9:12 AM >> *To:* Kamailio (SER) - Users Mailing List <[email protected]> >> *Subject:* Re: [SR-Users] Unquoted values from #!defenv >> >> >> >> Thank you. I’ve been using -A to set values thus far as CMD >> arguments to the container’s ENTRYPOINT. If submitting a pull >> request, would it be preferrable to allow #!defenv/#!defenvs to >> accept undefined values, or to add new keywords like >> #!ifdefenv/#!ifdefenvs ? >> >> >> >> *Ben Kaufman* >> >> >> >> >> *From:* Daniel-Constantin Mierla <[email protected]> >> *Sent:* Tuesday, December 7, 2021 2:22 AM >> *To:* Ben Kaufman <[email protected]>; Kamailio (SER) - Users >> Mailing List <[email protected]> >> *Subject:* Re: [SR-Users] Unquoted values from #!defenv >> >> >> >> The current behaviour targets the use of existing values from the >> environment variables. If you need other kind of features, you can >> propose pull requests. Or you can eventually have a start script that >> sets defines with -A cli parameter based on env variables. >> >> Cheers, >> Daniel >> >> On 06.12.21 21:56, Ben Kaufman wrote: >> >> Thank you :) >> >> >> >> A follow up question would be on the usability of the #!defenv >> (and probably #!defenvs) usability with #!ifdef. In the scenario >> below, if the environmental variable WITH_DEBUGGER is not >> defined, then Kamailio will fail to start, thus the #!ifdef is >> somewhat limited. It makes sense for scenarios where someone >> might toggle the setting editing the config file, but it would be >> very convenient to toggle the environmental variable instead, >> particularly in containerized environments. Any thoughts on how >> best to control this? >> >> >> >> #!defenv WITH_DEBUGGER >> >> >> >> #!ifdef WITH_DEBUGGER >> >> loadmodule "debugger" >> >> . . . >> >> #!endif >> >> >> >> >> >> >> >> >> >> *Ben Kaufman* >> >> >> >> >> *From:* Daniel-Constantin Mierla <[email protected]> >> <mailto:[email protected]> >> *Sent:* Monday, December 6, 2021 3:55 AM >> *To:* Kamailio (SER) - Users Mailing List >> <[email protected]> >> <mailto:[email protected]>; Ben Kaufman >> <[email protected]> <mailto:[email protected]> >> *Subject:* Re: [SR-Users] Unquoted values from #!defenv >> >> >> >> Hello, >> >> #!substdef does not set the value inside quoted string, it >> replaces inside a string value, so it does not put quotes around >> replacement part. So it does it it is written in the docs. There >> is #!substdefs witch can create a define with quoted value. >> >> Note that defines are standalone-token replacement, you can >> define an ID to a number, to a keyword (e.g., src_ip), to a >> quoted string or even a multi-line script snippet, like: >> >> #!define IDLOOP $var(i) = 0; \ >> while($var(i)<5) { \ >> xlog("++++ $var(i)\n"); \ >> $var(i) = $var(i) + 1; \ >> } >> >> See the core cookbook for more details. >> >> Anyhow, as using env variable values as quoted string is useful >> and setting them with quotes might look odd, I added #!defenvs: >> >> * https://www.kamailio.org/wiki/cookbooks/devel/core#defenvs >> >> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.kamailio.org%2Fwiki%2Fcookbooks%2Fdevel%2Fcore%23defenvs&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075326626%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=nIrsUUO%2Bn8zUzUxCfm9T%2BqLC6HzHPIxDTS80bKGq95w%3D&reserved=0> >> >> Cheers, >> Daniel >> >> On 30.11.21 22:40, Ben Kaufman wrote: >> >> Hello all, >> >> >> >> Looking for some clarification regarding quoting and !#defenv >> . I understand that the example below fails because the >> environmental variable HOME is not quoted, thus when used in >> the xlog() call it fails. How is it possible to evaluate >> and/or use the value of the environmental variable if defined >> as a preprocessor variable? Looking at the documentation the >> reason for this directive is “It is a simplified alternative >> of using *#!substdef* with *$env(NAME)* in the replacement >> part.” But #!substdef would allow setting the value inside of >> a quoted string, so does it really meet that requirement? >> >> >> >> I’m aware that I could use $env(HOME) rather than a >> preprocessor directive of HOME. I’m just trying to >> understand the usage of the #!defenv feature. >> >> >> >> >> >> #!KAMAILIO >> >> ## Tested in 5.5.2 >> >> loadmodule "xlog" >> >> loadmodule "pv" >> >> loadmodule "evrexec" >> >> >> >> modparam("evrexec", "exec", >> "name=evrexec:timer;wait=1000;workers=1;") >> >> >> >> #!defenv HOME >> >> >> >> request_route{ >> >> forward(); >> >> } >> >> >> >> event_route[evrexec:timer] { >> >> xlog("L_N", "HOME: " + HOME + "\n"); >> >> } >> >> >> >> >> >> *Ben Kaufman* >> >> >> >> >> >> >> >> >> __________________________________________________________ >> >> Kamailio - Users Mailing List - Non Commercial Discussions >> >> * [email protected] >> >> Important: keep the mailing list in the recipients, do not reply >> only to the sender! >> >> Edit mailing list options or unsubscribe: >> >> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.kamailio.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fsr-users&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075336581%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=tl%2Fk0oCQduWOvBdvH0C2qrxw6I7yXIedBiS8Hf7%2B1f0%3D&reserved=0> >> >> -- >> >> Daniel-Constantin Mierla -- www.asipto.com >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075336581%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=CFCz9vV5ZCrh1S%2FY7sKBCQnQThMy1H0IdTutAz8Hpxo%3D&reserved=0> >> >> www.twitter.com/miconda >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075336581%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=QdFDXyCLTvKg9Us3eTMPknGYNfEnmDsvu4%2FGuSbb0aE%3D&reserved=0> >> -- www.linkedin.com/in/miconda >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075346539%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=y70uIREpgVVhHUbroEgWJDt1wLSvEhcOVEamALZQZ%2FY%3D&reserved=0> >> >> Kamailio Advanced Training - Online >> >> Feb 21-24, 2022 (America Timezone) >> >> * https://www.asipto.com/sw/kamailio-advanced-training-online/ >> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075346539%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=djC3bOEHvHDsIhlYvTQclAF8UmvMmoChVQebVESpRyE%3D&reserved=0> >> >> -- >> Daniel-Constantin Mierla -- www.asipto.com >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.asipto.com%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075356493%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=uV38pnwyW4qvqgBhUvb2MMBQCgFSOpR4Kvf7jtunJJc%3D&reserved=0> >> www.twitter.com/miconda >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.twitter.com%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075356493%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kPowGpbkXXlkChx6hkjBnLgOWOlFYUQe4%2Fyx7l7mfrk%3D&reserved=0> >> -- www.linkedin.com/in/miconda >> <https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linkedin.com%2Fin%2Fmiconda&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075366462%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=kpktAHVWC7m6pVL9tXQMA2D4DaomCkja7%2FDrzS4xX8s%3D&reserved=0> >> Kamailio Advanced Training - Online >> Feb 21-24, 2022 (America Timezone) >> * https://www.asipto.com/sw/kamailio-advanced-training-online/ >> <https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.asipto.com%2Fsw%2Fkamailio-advanced-training-online%2F&data=04%7C01%7Cbkaufman%40bcmone.com%7C1aca7b0156bf4d96bc9508d9b9941bbd%7Cafc1818e7b6848568913201b9396c4fc%7C1%7C0%7C637744868075366462%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=ji3uac4U67Gsdj4%2BOpYPWR762fo1qlPNVtrADJDBCMY%3D&reserved=0> >> >> __________________________________________________________ >> Kamailio - Users Mailing List - Non Commercial Discussions >> * [email protected] >> Important: keep the mailing list in the recipients, do not reply only to the >> sender! >> Edit mailing list options or unsubscribe: >> * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > -- > Daniel-Constantin Mierla -- www.asipto.com > www.twitter.com/miconda -- www.linkedin.com/in/miconda > Kamailio Advanced Training - Online > Feb 21-24, 2022 (America Timezone) > * https://www.asipto.com/sw/kamailio-advanced-training-online/ -- Daniel-Constantin Mierla -- www.asipto.com www.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - Online Feb 21-24, 2022 (America Timezone) * https://www.asipto.com/sw/kamailio-advanced-training-online/
__________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
