summaryrefslogtreecommitdiffstats
path: root/discover/pxe-parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'discover/pxe-parser.c')
-rw-r--r--discover/pxe-parser.c14
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);
OpenPOWER on IntegriCloud