Browse Source

lightningd: escape our own alias when we print it in logs.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 7 years ago
parent
commit
54431d2b08
  1. 3
      lightningd/lightningd.c
  2. 1
      lightningd/lightningd.h
  3. 3
      lightningd/test/run-find_my_path.c
  4. 3
      tests/test_lightningd.py

3
lightningd/lightningd.c

@ -390,7 +390,8 @@ int main(int argc, char *argv[])
/* Mark ourselves live. */
log_info(ld->log, "Server started with public key %s, alias %s (color #%s) and lightningd %s",
type_to_string(tmpctx, struct pubkey, &ld->id),
ld->alias, tal_hex(tmpctx, ld->rgb), version());
json_escape(tmpctx, (const char *)ld->alias)->s,
tal_hex(tmpctx, ld->rgb), version());
/* Start the peers. */
activate_peers(ld);

1
lightningd/lightningd.h

@ -6,6 +6,7 @@
#include <ccan/container_of/container_of.h>
#include <ccan/time/time.h>
#include <ccan/timer/timer.h>
#include <common/json_escaped.h>
#include <lightningd/htlc_end.h>
#include <stdio.h>
#include <wallet/txfilter.h>

3
lightningd/test/run-find_my_path.c

@ -49,6 +49,9 @@ size_t hash_htlc_key(const struct htlc_key *htlc_key UNNEEDED)
/* Generated stub for hsm_init */
void hsm_init(struct lightningd *ld UNNEEDED, bool newdir UNNEEDED)
{ fprintf(stderr, "hsm_init called!\n"); abort(); }
/* Generated stub for json_escape */
struct json_escaped *json_escape(const tal_t *ctx UNNEEDED, const char *str TAKES UNNEEDED)
{ fprintf(stderr, "json_escape called!\n"); abort(); }
/* Generated stub for log_ */
void log_(struct log *log UNNEEDED, enum log_level level UNNEEDED, const char *fmt UNNEEDED, ...)

3
tests/test_lightningd.py

@ -2108,8 +2108,7 @@ class LightningDTests(BaseLightningDTests):
.format(weird_name)])
weird_name_json = json.encoder.JSONEncoder().encode(weird_name)[1:-1].replace('\\', '\\\\')
aliasline = l1.daemon.is_in_log('Server started with public key .* alias')
# FIXME: alias needs json escaping.
assert weird_name_json not in str(aliasline)
assert weird_name_json in str(aliasline)
normal_name = 'Normal name'
l2 = self.node_factory.get_node(options=['--alias={}'
.format(normal_name)])

Loading…
Cancel
Save