diff options
Diffstat (limited to 'discover/pxe-parser.c')
-rw-r--r-- | discover/pxe-parser.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/discover/pxe-parser.c b/discover/pxe-parser.c index aef43b8..7183ecf 100644 --- a/discover/pxe-parser.c +++ b/discover/pxe-parser.c @@ -31,13 +31,17 @@ struct pxe_parser_info { char **pxe_conf_files; struct pb_url *pxe_base_url; int current; + char *proxy; }; static void pxe_finish(struct conf_context *conf) { struct pxe_parser_info *info = conf->parser_info; - if (info->opt) + if (info->opt) { + if (info->proxy) + info->opt->proxy = talloc_strdup(info->opt, info->proxy); discover_context_add_boot_option(conf->dc, info->opt); + } } /* We need a slightly modified version of pb_url_join, to allow for the @@ -148,6 +152,14 @@ static void pxe_process_pair(struct conf_context *ctx, return; } + if (streq(name, "PROXY")) { + if (parser_info->proxy) + talloc_free(parser_info->proxy); + + parser_info->proxy = talloc_strdup(parser_info, value); + return; + } + if (streq(name, "LABEL") || streq(name, "PLUGIN")) { if (opt) pxe_finish(ctx); |