View Issue Details

IDProjectCategoryView StatusLast Update
0004555GNUnetutil librarypublic2018-06-07 00:58
Reportertg Assigned ToChristian Grothoff  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionno change required 
Product VersionGit master 
Fixed in Version0.11.0pre66 
Summary0004555: config variable expansion not working
DescriptionExpansion of variables defined in the [PATH] section does not always work.

It works in the [arm] section in GLOBAL_POSTFIX:

[arm]
GLOBAL_POSTFIX = -l $GNUNET_CACHE_HOME/{}-%F.%T-[].log

But not in other service sections when used in OPTIONS:

[social]
OPTIONS = -L DEBUG -l $GNUNET_CACHE_HOME/{}-%F.%T-[].log

---

UPDATE: after the fix for either 0004545 or 0004546 it does not work anymore in either case.
TagsNo tags attached.

Activities

Christian Grothoff

2016-06-02 17:28

manager   ~0010850

I've tested it, $-expansion works for me as expected.

tg

2016-06-03 01:27

manager   ~0010853

double-checked with the config above, definitely not working here.
a ~/$GNUNET_CACHE_HOME (literally like this)
directory is created when I put it in either GLOBAL_POSTFIX or OPTIONS

defanor

2016-07-08 21:33

reporter   ~0010981

Doesn't seem to work properly in the [arm] section here, with gnunet 0.10.1:

----gnunet.conf----
[PATHS]
GNUNET_HOME = ~/gnunet_peer2/

[arm]
DEFAULTSERVICES =
UNIXPATH = $GNUNET_USER_RUNTIME_DIR/gnunet-service-armi-p2.sock

GLOBAL_POSTFIX = -L WARNING -l $GNUNET_HOME/gnunet.log
----eof----

This leads to the "-l _HOME/gnunet.log" option.

Christian Grothoff

2017-02-21 18:43

manager   ~0011821

Ah, but note that we do not generally expand all options just because they contain a "$". We ONLY do the $-expansion if the application expects a FILENAME, i.e. if GNUNET_CONFIGURATION_get_value_filename() is used. If the code uses GNUNET_CONFIGURATION_get_value_string(), $-expansion is *intentionally* not applied, as doing so can also break things (TM).

So really the issue here is a missmatch between what you expect (and it is perfectly reasonable to expect $-expansion for GLOBAL_POSTFIX), and what configuration does by definition. I *think* we might revise what configuration does by definition a bit, but it's tricky as $-expansion does more than substituting $PATHs, and so blinding doing it will break more than it fixes.

Issue History

Date Modified Username Field Change
2016-06-02 00:29 tg New Issue
2016-06-02 00:29 tg Assigned To => Christian Grothoff
2016-06-02 00:29 tg Status new => assigned
2016-06-02 17:28 Christian Grothoff Note Added: 0010850
2016-06-02 17:29 Christian Grothoff Assigned To Christian Grothoff => tg
2016-06-02 17:29 Christian Grothoff Status assigned => feedback
2016-06-02 17:29 Christian Grothoff Product Version => Git master
2016-06-02 17:29 Christian Grothoff Target Version => 0.11.0pre66
2016-06-03 01:27 tg Note Added: 0010853
2016-06-03 01:27 tg Status feedback => assigned
2016-07-08 21:33 defanor Note Added: 0010981
2017-02-21 18:43 Christian Grothoff Note Added: 0011821
2017-02-21 18:43 Christian Grothoff Assigned To tg => Christian Grothoff
2017-02-26 01:34 Christian Grothoff Assigned To Christian Grothoff =>
2017-02-26 01:34 Christian Grothoff Status assigned => acknowledged
2017-02-26 01:34 Christian Grothoff Target Version 0.11.0pre66 =>
2018-06-07 00:58 Christian Grothoff Assigned To => Christian Grothoff
2018-06-07 00:58 Christian Grothoff Status acknowledged => closed
2018-06-07 00:58 Christian Grothoff Resolution open => no change required
2018-06-07 00:58 Christian Grothoff Fixed in Version => 0.11.0pre66