From 8636aab44b6cf9b71126cf206dae46e4231d6037 Mon Sep 17 00:00:00 2001 From: Mikhail Novosyolov Date: Sun, 22 May 2022 21:42:26 +0300 Subject: [PATCH] timeout curl --- student-connect/doskast-student-connect.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/student-connect/doskast-student-connect.sh b/student-connect/doskast-student-connect.sh index b21c8cd..108f3d7 100755 --- a/student-connect/doskast-student-connect.sh +++ b/student-connect/doskast-student-connect.sh @@ -30,7 +30,11 @@ if [ -z "$width" ] || [ -z "$height" ]; then exit 1 fi -if ! curl --fail "http://${board}/cgi-bin/doskast-trigger-connect.cgi?width=${width}&height=${height}"; then +# На серверной стороне может быть ограничено кол-во одновременных соединений с одного IP-адреса +# для защиты от DDoS-атак. Имеет смысл установить ограничение в 1 запрос. Однако, если curl +# или серверный обработчик по каким-то причинам зависнут, то соединение будет открыто, +# способа его прибить кнопкой не будет,а новые соединения сервер не примет, пока это не будет закрыто. +if ! timeout 5 curl --fail "http://${board}/cgi-bin/doskast-trigger-connect.cgi?width=${width}&height=${height}"; then _zenity --error --text="Ошибка отправки запроса на доску." || : exit 1 fi