diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 831061d3f..7c4e981d4 100644 --- a/lightningd/lightningd.c +++ b/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); diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index 452f96a6a..f1e9ebce9 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include diff --git a/lightningd/test/run-find_my_path.c b/lightningd/test/run-find_my_path.c index 2286eb786..b92a8472e 100644 --- a/lightningd/test/run-find_my_path.c +++ b/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, ...) diff --git a/tests/test_lightningd.py b/tests/test_lightningd.py index 3c8ad9b7b..04016874a 100644 --- a/tests/test_lightningd.py +++ b/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)])