From 088b7f360e8418c01578fac5c0c21230b91381b9 Mon Sep 17 00:00:00 2001 From: "Raphael D. Pinheiro" Date: Thu, 23 Feb 2017 13:25:33 -0300 Subject: [PATCH 1/6] enhance regex to allow multiple dots in file names things like mydomain.com.crt and mydomain.com.key will be better interpreted --- plugins/certs/subcommands/add | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/certs/subcommands/add b/plugins/certs/subcommands/add index c705d1cde..69ba70721 100755 --- a/plugins/certs/subcommands/add +++ b/plugins/certs/subcommands/add @@ -44,7 +44,7 @@ certs_set() { trap 'popd &> /dev/null || true; rm -rf $CERTS_SET_TMP_WORK_DIR > /dev/null' RETURN tar xvf - <&0 - local CRT_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name "*.crt") + local CRT_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name ".crt$") local CRT_FILE_COUNT=$(printf "%s" "$CRT_FILE_SEARCH" | grep -c '^') if [[ $CRT_FILE_COUNT -lt 1 ]]; then dokku_log_fail "Tar archive is missing .crt file" @@ -54,7 +54,7 @@ certs_set() { local CRT_FILE=$CRT_FILE_SEARCH fi - local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name "*.key") + local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name "*.key$") local KEY_FILE_COUNT=$(printf "%s" "$KEY_FILE_SEARCH" | grep -c '^') if [[ $KEY_FILE_COUNT -lt 1 ]]; then dokku_log_fail "Tar archive is missing .key file" From 0c98a340949cac1fcc7d7091fba2763335c29bbc Mon Sep 17 00:00:00 2001 From: "Raphael D. Pinheiro" Date: Thu, 23 Feb 2017 13:27:50 -0300 Subject: [PATCH 2/6] enhance regex to allow multiple dots in file names removed remaining * --- plugins/certs/subcommands/add | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/certs/subcommands/add b/plugins/certs/subcommands/add index 69ba70721..2cd29fe06 100755 --- a/plugins/certs/subcommands/add +++ b/plugins/certs/subcommands/add @@ -54,7 +54,7 @@ certs_set() { local CRT_FILE=$CRT_FILE_SEARCH fi - local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name "*.key$") + local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name ".key$") local KEY_FILE_COUNT=$(printf "%s" "$KEY_FILE_SEARCH" | grep -c '^') if [[ $KEY_FILE_COUNT -lt 1 ]]; then dokku_log_fail "Tar archive is missing .key file" From b0777a44cb7e1a4d8d30934798f95cd500a9d7ba Mon Sep 17 00:00:00 2001 From: "Raphael D. Pinheiro" Date: Thu, 23 Feb 2017 13:44:28 -0300 Subject: [PATCH 3/6] add test to certs:add with multiple dots Add test to certs:add command to allow multiple dots in file name --- tests/unit/10_certs.bats | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/unit/10_certs.bats b/tests/unit/10_certs.bats index e7978ab13..94f9a0d0f 100644 --- a/tests/unit/10_certs.bats +++ b/tests/unit/10_certs.bats @@ -33,6 +33,13 @@ teardown() { assert_success } +@test "(certs) certs:add with multiple dots in the filename" { + run bash -c "dokku certs:add $TEST_APP $BATS_TMPDIR/tls/domain.com.crt $BATS_TMPDIR/tls/domain.com.key" + echo "output: "$output + echo "status: "$status + assert_success +} + @test "(certs) certs:add < tar" { run bash -c "dokku certs:add $TEST_APP < $BATS_TEST_DIRNAME/server_ssl.tar" echo "output: "$output From 8a6bce37459771d95e13a142b0a6af564eb7c7d8 Mon Sep 17 00:00:00 2001 From: "Raphael D. Pinheiro" Date: Thu, 23 Feb 2017 16:33:36 -0300 Subject: [PATCH 4/6] add multiple dots tar for testing --- tests/unit/10_certs.bats | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/10_certs.bats b/tests/unit/10_certs.bats index 94f9a0d0f..9b2003b88 100644 --- a/tests/unit/10_certs.bats +++ b/tests/unit/10_certs.bats @@ -6,6 +6,7 @@ setup_local_tls() { TLS=$BATS_TMPDIR/tls mkdir -p $TLS tar xf $BATS_TEST_DIRNAME/server_ssl.tar -C $TLS + tar xf $BATS_TEST_DIRNAME/domain_ssl.tar -C $TLS sudo chown -R dokku:dokku $TLS } From adf0a9ee742796ac59c5d8e521b17882b1354757 Mon Sep 17 00:00:00 2001 From: raphaklaus Date: Fri, 24 Feb 2017 12:41:12 -0300 Subject: [PATCH 5/6] add domain_ssl tar for testing --- tests/unit/domain_ssl.tar | Bin 0 -> 10240 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/unit/domain_ssl.tar diff --git a/tests/unit/domain_ssl.tar b/tests/unit/domain_ssl.tar new file mode 100644 index 0000000000000000000000000000000000000000..b10121314427a48c21b823c5488e1d943e8ba378 GIT binary patch literal 10240 zcmeH~Ne`nq7RT$%r>HxcW)E%E_`-{0BL#kc;abm)F+^6kqXQt)><(DavgMX(J1%ley%A_?jXLDDpJVDR_-3r zRRiI73j$RY42voXf+h(T5ayC*Nh?;Fp7DXHQC2oNk{Deb@wv&@JYA^P?!GXQXqK}iB!>eL`_W4&p?%{e*o_QZ@@Q)LdtfN%#WSJssC=}KmVujXtk*eLK#0sT z^0p+4&;#Dmd4Shw^5qs`FPf9erH|kyrkpZd*;jEfxO84i+IcUAPP9GKcLPM;wf%yg zj+!me`el;M2oI<}nUx~Yua_+qmWynRyMY(?;lj~*nFw6qDY!b#V=NcJf+%rQiQ2Asv?EEU}auGv!{ zL4Sgg$#7zr!gDn`eMV_F)(ZCGWGIx)@ky^|G?>h0geR6n4EreHK{-6imp2rTG8cJg z#@J1)^6Vxm{)m&wx})ilG11UV;sdo_?d!;R>(L47+Y6a8v|IUt)ZMVmYVmdI#0 zmed}G$Mj;Fd{RY9B7-^@uS%w`#oA)pW!rq!s)q*gqo(AgdI1`YkJ{YFcRb(KgEpS( zS067_`KfxyFOnxp>1!P&)XvTZSR-SEuFIJy zXFSp246MTZRh5@wNWRoo ztZIhAAEQE=T~tjS{JY1?T{|QA<=hBzJla#T^AF*X-?ZQl;V$ zo&wWxvBBP~Cws{UuegN~B7~xQ8b`zH9%o#SMNi&@dc8}Qd@o2Jl@og4Xx;8n`P|y= z*;?g0c{&v=liV~fzAcE+N|%+0HrparVcvY=8i1{TqhMKdjPhPMIo!1^rPCE_wrMFPjMIY5{?Pmk1wMmn5 z6wkm|56IX?&dYbXqC*c`P>8{wk@qk3A4xIH5Bnw!EexcJ_MkAf`n(3%#>3T4l-6tJ8<#NB}d--8Q; z3nUS07I~b$>9@3F?x6#GC|cib;tF+_JkBbJw$NwlIMC~42RZ_U>F3TB1a?rpx2#_b zxI)dL#5V1Yc%R#L`MtRQo3N1Ii|e0-RhHle1zeG?qjFUfO16NAyr)MH zXjPOKVR<*uzAH>iI>_}adZ*H^XhVy8WFomj_1K=FLaF+h+2!0*!s9Mi$dFL=F!j=P z+C&CmC_H%!P1L|}L@Xn)=W`wo`@*Z+$gJQOCu?s$6h&iy!?gQ_LzRdP={A`8%yk^D#MOy;Q$5?g>q))sj6zU=F?< z@s(=_Qsg@LqmFr-zoh_O>UDeO>TzG<>N4}(#I75w$dzHUZ`E-;x_o4(CVapbow|2$ zDe-xMd~X+dHq#NG66))`$if5<56IeRcf+1XTosK<(DYl6G;e$T*L-wTDXzr^MV zTdNw;cA%H#F_m>)a>pk+*pk)AV4u_z>7a9{g^?y8N*-M?QezSoXr)0+P35Z1VdQWz z>Y}V6u&dEc?CltlPm;#i*>!JqdV+UvtmZ=6S46DwGeu!}MnT;nXGXorTKAHZ_cf1r`)75ht}^{T${F@1Xyew*(@JwE%(p}Z(Vdg^k`>aha*1|M+@*=P6(p*318o4C z`)#_64l`+S!D=bQvLKXB^4*dgP1E#Z=MjkveWi;hT%Q`^)Ycd3J|sb1q_s07F;#kG z1AUF+P4+=`!O||Ey(KL?8nQQ7(N-fcSK3|40#rVf&%v_9+fD5Q;2JC$m>BOvKK<(t zmGPSm?LXWTKg~V_J_J4lJ_J4lJ_J4lJ_J4lJ_J4lJ_J4lJ_J4lJ_J4lJ_J4lJ_J4l I{_F()2Ihj_O#lD@ literal 0 HcmV?d00001 From a3989aafaa47f079f889488db468083e6a373542 Mon Sep 17 00:00:00 2001 From: raphaklaus Date: Thu, 2 Mar 2017 16:38:25 -0300 Subject: [PATCH 6/6] add grep to find crt and key files --- plugins/certs/subcommands/add | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/certs/subcommands/add b/plugins/certs/subcommands/add index 2cd29fe06..8ba096a93 100755 --- a/plugins/certs/subcommands/add +++ b/plugins/certs/subcommands/add @@ -44,7 +44,7 @@ certs_set() { trap 'popd &> /dev/null || true; rm -rf $CERTS_SET_TMP_WORK_DIR > /dev/null' RETURN tar xvf - <&0 - local CRT_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name ".crt$") + local CRT_FILE_SEARCH=$(find . -not -path '*/\.*' -type f | grep ".crt$") local CRT_FILE_COUNT=$(printf "%s" "$CRT_FILE_SEARCH" | grep -c '^') if [[ $CRT_FILE_COUNT -lt 1 ]]; then dokku_log_fail "Tar archive is missing .crt file" @@ -54,7 +54,7 @@ certs_set() { local CRT_FILE=$CRT_FILE_SEARCH fi - local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f -name ".key$") + local KEY_FILE_SEARCH=$(find . -not -path '*/\.*' -type f | grep ".key$") local KEY_FILE_COUNT=$(printf "%s" "$KEY_FILE_SEARCH" | grep -c '^') if [[ $KEY_FILE_COUNT -lt 1 ]]; then dokku_log_fail "Tar archive is missing .key file"