En un mensaje anterior, Alan DeKok escribió:
Fernando Schapachnik <fernando@mecon.gov.ar> wrote:
Any idea on how I can debug it?
Source code mods, and watch what it's doing, and why.
Ok, I found more details. Recalling, I have: postauth_query = "INSERT INTO ${postauth_table} (...) \ VALUES (.... \ '%{check:Auth-NAS:-0.0.0.0}', ...)" which gets translates to garbage or 255.255.255.255 when the attribute wasn't present. Debugging, I found that ':-' was innocent: the attribute was there at the time of the translation, although it was not clear who generated it. Digging further, we instrumented valuepair2str() so after: da = dict_attrbyname(fmt); if (!da) return 0; we added: search = vps; while (search) { printf("name: %s attr: %d value: %s\n", search->name, search->attribute, search->strvalue); search = search->next; } A (now) relevant detail is that the query has other optional (and also non-present) attribute: '%{check:Auth-NAS:-0.0.0.0}', %{check:Used-Port:-0, ...)" So the debug output is: do_xlat for attr Auth-NAS: ... <my other check attributes here, OK> name: Auth-NAS attr: 3005 value: ... do_xlat for attr Used-Port: ... <my other check attributes here, OK> name: Auth-NAS attr: 3005 value: 255.255.255.255 ... Why this is, I don't know, but it is strange enough that the attribute appears first without value and then with some. Thanks. Fernando.