On Wed, Jun 11, 2014 at 11:25:44AM +0900, Hitoshi Mitake wrote:
> New environment variables are used for specifying IP address and port
> number:
> - SHEEPDOG_DOG_ADDR for IP address
> - SHEEPDOG_DOG_PORT for port number
> 
> It is useful when sheep is launched with -b option.
> 
> If both of the variables and -a or -p option are specified, command
> line option is prioritized.
> 
> Related issue:
> https://bugs.launchpad.net/sheepdog-project/+bug/1322633
> 
> Cc: Valerio Pachera <siri...@gmail.com>
> Signed-off-by: Hitoshi Mitake <mitake.hito...@lab.ntt.co.jp>
> ---
>  dog/dog.c |   22 +++++++++++++++++++++-
>  1 files changed, 21 insertions(+), 1 deletions(-)
> 
> diff --git a/dog/dog.c b/dog/dog.c
> index 1eefbdc..7d1153d 100644
> --- a/dog/dog.c
> +++ b/dog/dog.c
> @@ -449,7 +449,7 @@ int main(int argc, char **argv)
>       struct option *long_options;
>       const struct command *commands;
>       const char *short_options;
> -     char *p;
> +     char *p, *env;
>       const struct sd_option *sd_opts;
>       uint8_t sdhost[16];
>       int sdport;
> @@ -471,6 +471,26 @@ int main(int argc, char **argv)
>       long_options = build_long_options(sd_opts);
>       short_options = build_short_options(sd_opts);
>  
> +     env = getenv("SHEEPDOG_DOG_ADDR");
> +     if (env) {
> +             if (!str_to_addr(env, sdhost)) {
> +                     sd_err("Invalid ip address %s", env);
> +                     return EXIT_FAILURE;
> +             }
> +             memcpy(sd_nid.addr, sdhost, sizeof(sdhost));
> +     }
> +
> +     env = getenv("SHEEPDOG_DOG_PORT");
> +     if (env) {
> +             sdport = strtol(env, &p, 10);
> +             if (env == p || sdport < 1 || sdport > UINT16_MAX
> +                 || !is_numeric(env)) {
> +                     sd_err("Invalid port number '%s'", env);
> +                     exit(EXIT_USAGE);
> +             }
> +             sd_nid.port = sdport;
> +     }
> +
>       while ((ch = getopt_long(argc, argv, short_options, long_options,
>                               &longindex)) >= 0) {
>  
> -- 
> 1.7.1
> 
> -- 
> sheepdog mailing list
> sheepdog@lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog

Applied thanks

Yuan
-- 
sheepdog mailing list
sheepdog@lists.wpkg.org
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to