Re: [ptxdist] [RFC] ptxd_make_get_http: Specify the username and password

2017-01-07 Thread Roland Hieber
Hm, curl loads URLs in the form http://user:password@server/path just
fine for me (and ptxd_make_get() doesn't seem to strip that part, so I
guess it should also be usable in the Makefiles). The only disadvantage
in that case is that the username cannot contain a colon, but neither
can it in your implementation :) So I would change it to take a separate
"user" and "password" parameter in order to enhance the usefullness of
this option.

 - Roland

On 07.01.2017 22:58, Ladislav Michl wrote:
> Hi there,
> 
> I need to pass username and password to download mercurial snapshot from
> server, so something like this now works:
> package_URL := 
> https://mercurial.site.com/hg/package/archive/$(package_VERSION).$(package_SUFFIX);user=:
> 
> Is it acceptable to support it in upstream PTXdist?
> (it could be probably rewritten some nicer way, but I'm not too good at shell 
> scripting)
> 
>   ladis
> 
> diff --git a/scripts/lib/ptxd_make_get.sh b/scripts/lib/ptxd_make_get.sh
> index 2bac97817..e392e8b0c 100644
> --- a/scripts/lib/ptxd_make_get.sh
> +++ b/scripts/lib/ptxd_make_get.sh
> @@ -25,6 +25,7 @@ ptxd_make_get_http() {
>   # scan for valid options
>   #
>   while [ ${#} -ne 0 ]; do
> + local cred
>   local opt="${1}"
>   shift
>  
> @@ -45,6 +46,13 @@ ptxd_make_get_http() {
>   curl_opts[${#curl_opts[@]}]="--cookie"
>   curl_opts[${#curl_opts[@]}]="${opt#cookie:}"
>   ;;
> + user=*)
> + cred="${opt#user=}"
> + cred=(${cred//:/ })
> + opts[${#opts[@]}]="--user=${cred[0]}"
> + opts[${#opts[@]}]="--password=${cred[1]}"
> + curl_opts[${#curl_opts[@]}]="${opt#user=}"
> + ;;
>   *)
>   ptxd_bailout "invalid option '${opt}' to 
> ${FUNCNAME}"
>   ;;
> 
> ___
> ptxdist mailing list
> ptxdist@pengutronix.de
> 

___
ptxdist mailing list
ptxdist@pengutronix.de

[ptxdist] [RFC] ptxd_make_get_http: Specify the username and password

2017-01-07 Thread Ladislav Michl
Hi there,

I need to pass username and password to download mercurial snapshot from
server, so something like this now works:
package_URL := 
https://mercurial.site.com/hg/package/archive/$(package_VERSION).$(package_SUFFIX);user=:

Is it acceptable to support it in upstream PTXdist?
(it could be probably rewritten some nicer way, but I'm not too good at shell 
scripting)

ladis

diff --git a/scripts/lib/ptxd_make_get.sh b/scripts/lib/ptxd_make_get.sh
index 2bac97817..e392e8b0c 100644
--- a/scripts/lib/ptxd_make_get.sh
+++ b/scripts/lib/ptxd_make_get.sh
@@ -25,6 +25,7 @@ ptxd_make_get_http() {
# scan for valid options
#
while [ ${#} -ne 0 ]; do
+   local cred
local opt="${1}"
shift
 
@@ -45,6 +46,13 @@ ptxd_make_get_http() {
curl_opts[${#curl_opts[@]}]="--cookie"
curl_opts[${#curl_opts[@]}]="${opt#cookie:}"
;;
+   user=*)
+   cred="${opt#user=}"
+   cred=(${cred//:/ })
+   opts[${#opts[@]}]="--user=${cred[0]}"
+   opts[${#opts[@]}]="--password=${cred[1]}"
+   curl_opts[${#curl_opts[@]}]="${opt#user=}"
+   ;;
*)
ptxd_bailout "invalid option '${opt}' to 
${FUNCNAME}"
;;

___
ptxdist mailing list
ptxdist@pengutronix.de