Re: TMPL_TYPE_LITERAL has non-zero bytes in its data union
+FDev ML Il giorno mer 31 lug 2019 alle ore 20:52 Geaaru <geaaru@gmail.com> ha scritto:
(gdb) p *map.lhs $4 = { type = TMPL_TYPE_ATTR, name = 0x555555adff40 "&control:Framed-IP-Netmask", len = 26, quote = 0 '\000', auto_converted = false, iflag = false, mflag = false, data = { attribute = { request = REQUEST_CURRENT, list = PAIR_LIST_CONTROL, da = 0x555555614df8, unknown = { da = '\000' <repeats 147 times>, name = '\000' <repeats 147 times> }, num = -2147483648, tag = -128 '\200' }, literal = { type = PW_TYPE_INTEGER, length = 93824993021432, data = { strvalue = 0x0, octets = 0x0, integer = 0, ipaddr = { s_addr = 0 }, date = 0, filter = {0, 0, 0, 0}, ifid = "\000\000\000\000\000\000\000", ipv6addr = { __in6_u = { __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, --Type <RET> for more, q to quit, c to continue without paging-- __u6_addr32 = {0, 0, 0, 0} } }, ipv6prefix = '\000' <repeats 17 times>, byte = 0 '\000', ushort = 0, ether = "\000\000\000\000\000", sinteger = 0, integer64 = 0, ipv4prefix = "\000\000\000\000\000", ptr = 0x0 } }, xlat = 0x300000002, preg = 0x300000002 } }
(gdb) p *map->rhs $9 = { type = TMPL_TYPE_ATTR_UNDEFINED, name = 0x555555ae0110 "&control:Framed-IP-Network", len = 26, quote = 0 '\000', auto_converted = false, iflag = false, mflag = false, data = { attribute = { request = REQUEST_CURRENT, list = PAIR_LIST_CONTROL, da = 0x0, unknown = { da = "Framed-IP-Network", '\000' <repeats 130 times>, name = "Framed-IP-Network", '\000' <repeats 130 times> }, num = -2147483648, tag = -128 '\200' }, literal = { type = PW_TYPE_INTEGER, length = 0, data = { strvalue = 0x492d64656d617246 <error: Cannot access memory at address 0x492d64656d617246>, octets = 0x492d64656d617246 <error: Cannot access memory at address 0x492d64656d617246>, integer = 1835102790, ipaddr = { s_addr = 1835102790 }, date = 1835102790, filter = {5272981125510296134, 8245940784538201424, 107, 0}, ifid = "Framed-I", ipv6addr = { __in6_u = { __u6_addr8 = "Framed-IP-Networ", __u6_addr16 = {29254, 28001, 25701, 18733, 11600, 25934, 30580, 29295}, --Type <RET> for more, q to quit, c to continue without paging-- __u6_addr32 = {1835102790, 1227711589, 1699622224, 1919907700} } }, ipv6prefix = "Framed-IP-Network", byte = 70 'F', ushort = 29254, ether = "Framed", sinteger = 1835102790, integer64 = 5272981125510296134, ipv4prefix = "Framed", ptr = 0x492d64656d617246 } }, xlat = 0x300000002, preg = 0x300000002 } }
(gdb) p *map->next->rhs $12 = { type = TMPL_TYPE_ATTR, name = 0x555555ae0540 "&control:Framed-Protocol", len = 24, quote = 0 '\000', auto_converted = false, iflag = false, mflag = false, data = { attribute = { request = REQUEST_CURRENT, list = PAIR_LIST_CONTROL, da = 0x555555614da8, unknown = { da = '\000' <repeats 147 times>, name = '\000' <repeats 147 times> }, num = -2147483648, tag = -128 '\200' }, literal = { type = PW_TYPE_INTEGER, length = 93824993021352, data = { strvalue = 0x0, octets = 0x0, integer = 0, ipaddr = { s_addr = 0 }, date = 0, filter = {0, 0, 0, 0}, ifid = "\000\000\000\000\000\000\000", ipv6addr = { __in6_u = { __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, --Type <RET> for more, q to quit, c to continue without paging-- __u6_addr32 = {0, 0, 0, 0} } }, ipv6prefix = '\000' <repeats 17 times>, byte = 0 '\000', ushort = 0, ether = "\000\000\000\000\000", sinteger = 0, integer64 = 0, ipv4prefix = "\000\000\000\000\000", ptr = 0x0 } }, xlat = 0x300000002, preg = 0x300000002 } }
(gdb) p *map->next->next->rhs $14 = { type = TMPL_TYPE_ATTR, name = 0x555555ae0960 "&control:Pool-Name", len = 18, quote = 0 '\000', auto_converted = false, iflag = false, mflag = false, data = { attribute = { request = REQUEST_CURRENT, list = PAIR_LIST_CONTROL, da = 0x55555579e678, unknown = { da = '\000' <repeats 147 times>, name = '\000' <repeats 147 times> }, num = -2147483648, tag = -128 '\200' }, literal = { type = PW_TYPE_INTEGER, length = 93824994633336, data = { strvalue = 0x0, octets = 0x0, integer = 0, ipaddr = { s_addr = 0 }, date = 0, filter = {0, 0, 0, 0}, ifid = "\000\000\000\000\000\000\000", ipv6addr = { __in6_u = { __u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, --Type <RET> for more, q to quit, c to continue without paging-- __u6_addr32 = {0, 0, 0, 0} } }, ipv6prefix = '\000' <repeats 17 times>, byte = 0 '\000', ushort = 0, ether = "\000\000\000\000\000", sinteger = 0, integer64 = 0, ipv4prefix = "\000\000\000\000\000", ptr = 0x0 } }, xlat = 0x300000002, preg = 0x300000002 } }
p *map->next->next $15 = { lhs = 0x555555ae0660, rhs = 0x555555ae0820, op = T_OP_SET, ci = 0x5555557f26f0, next = 0x0 }
(gdb) p *map->next->next->next Cannot access memory at address 0x0
It seems that list doesn't contain AVP with data but only AVP not available on control list (Pool-Name, Framed-Ip-Address, Framed-Protocol).
Il giorno mer 31 lug 2019 alle ore 20:45 Alan DeKok < aland@deployingradius.com> ha scritto:
On Jul 31, 2019, at 2:37 PM, Geaaru <geaaru@gmail.com> wrote:
(gdb) p *map $1 = { lhs = 0x555555adfe00, rhs = 0x555555adffd0, op = T_OP_SET, ci = 0x5555557f2230, next = 0x555555ae01a0 }
Hmm.. and what's the output of this:
(gdb) p *map->lhs (gdb) p *map->res
That should give a bit more information.
I'm sure that is a regression because the same code now is in production with 3.0.17.
OK.
# Cache for store authentication data cache cache_auth { ... }
Yeah, nothing weird there.
Could be related to setting of control:My-User when is not present?
Maybe. It's hard to say.
Alan DeKok.
-- -- -- Geaaru
-- -- -- Geaaru
participants (1)
-
Geaaru