MCPcopy Create free account
hub / github.com/ElementsProject/lightning / fromwire_wireaddr_internal

Function fromwire_wireaddr_internal

common/wireaddr.c:118–157  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

116}
117
118bool fromwire_wireaddr_internal(const u8 **cursor, size_t *max,
119 struct wireaddr_internal *addr)
120{
121 addr->itype = fromwire_u8(cursor, max);
122 switch (addr->itype) {
123 case ADDR_INTERNAL_SOCKNAME:
124 fromwire_u8_array(cursor, max, (u8 *)addr->u.sockname,
125 sizeof(addr->u.sockname));
126 /* Must be NUL terminated */
127 if (!memchr(addr->u.sockname, 0, sizeof(addr->u.sockname)))
128 fromwire_fail(cursor, max);
129 return *cursor != NULL;
130 case ADDR_INTERNAL_ALLPROTO:
131 addr->u.port = fromwire_u16(cursor, max);
132 return *cursor != NULL;
133 case ADDR_INTERNAL_AUTOTOR:
134 fromwire_wireaddr(cursor, max, &addr->u.torservice.address);
135 addr->u.torservice.port = fromwire_u16(cursor, max);
136 return *cursor != NULL;
137 case ADDR_INTERNAL_STATICTOR:
138 fromwire_wireaddr(cursor, max, &addr->u.torservice.address);
139 fromwire_u8_array(cursor, max, (u8 *)addr->u.torservice.blob,
140 sizeof(addr->u.torservice.blob));
141 addr->u.torservice.port = fromwire_u16(cursor, max);
142 return *cursor != NULL;
143 case ADDR_INTERNAL_WIREADDR:
144 return fromwire_wireaddr(cursor, max, &addr->u.wireaddr);
145 case ADDR_INTERNAL_FORPROXY:
146 fromwire_u8_array(cursor, max, (u8 *)addr->u.unresolved.name,
147 sizeof(addr->u.unresolved.name));
148 /* Must be NUL terminated */
149 if (!memchr(addr->u.unresolved.name, 0,
150 sizeof(addr->u.unresolved.name)))
151 fromwire_fail(cursor, max);
152 addr->u.unresolved.port = fromwire_u16(cursor, max);
153 return *cursor != NULL;
154 }
155 fromwire_fail(cursor, max);
156 return false;
157}
158
159void wireaddr_from_ipv4(struct wireaddr *addr,
160 const struct in_addr *ip4,

Callers

nothing calls this directly

Calls 5

fromwire_wireaddrFunction · 0.85
fromwire_u8Function · 0.50
fromwire_u8_arrayFunction · 0.50
fromwire_failFunction · 0.50
fromwire_u16Function · 0.50

Tested by

no test coverage detected