Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.BINKD
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.BINKD с датами от 14 Jul 13 17:53:22 до 25 Aug 24 19:42:02, всего сообщений: 1947
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 1746 из 1947 ========================================= RU.BINKD =
От   : Sergey Zabolotny                 2:469/122.1        07 Jun 22 16:31:16
Кому : Pavel Gulchouck                                     07 Jun 22 16:31:16
Тема : .try
FGHI : area://RU.BINKD?msgid=2:469/122.1+629f53dc
На   : area://RU.BINKD?msgid=2:469/122.1+629f4dae
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
 Hello *Pavel.*

Tuesday 07 June 2022 16:07, Sergey Zabolotny wrote to Pavel Gulchouck:

PG>>> В общем, да, там есть счётчик последовательных успешных попролов
PG>>> ноды, и этот счётчик никак не используется. Сделано это было до
PG>>> 1998, в версии 0.8.8. Пожалуй, можно и удалять после успешной
PG>>> сессии, если мешают. Это функция good_try() в ftnq.c.
SZ>> я не специалист в сях, так что не судите слишком строго. у меня
SZ>> получилось примерно так: $ git diff diff --git a/ftnq.c b/ftnq.c
SZ>> index f1a78a2..3e2dfdd 100644 -+- a/ftnq.c
SZ> поспешил я с выводами на счет косяков. есть как минимум один -
SZ> пытается удалять файл, которого не существует. надо добавить проверку
SZ> на существование файла.
так правильнее будет:

diff --git a/ftnq.c b/ftnq.c
index f1a78a2..022f2ea 100644
-+- a/ftnq.c
+++ b/ftnq.c
@@ -1120,13 +1120,16 @@ void bad_try (FTN_ADDR *fa, const char *error, const int where, BINKD_CONFIG *co
   write_try (fa, &nok, &nbad, (char *) error, config);
 }

-void good_try (FTN_ADDR *fa, char *comment, BINKD_CONFIG *config)
+void remove_try (FTN_ADDR *fa, BINKD_CONFIG *config)
 {
-  unsigned nok, nbad;
-
   if (config->tries == 0) return;
-  read_try (fa, &nok, &nbad, config);
-  nbad = 0;
-  ++nok;
-  write_try (fa, &nok, &nbad, comment, config);
+  char buf[MAXPATHLEN + 1];
+  ftnaddress_to_filename (buf, fa, config);
+  if (*buf)
+  {
+    strnzcat (buf, ".try", sizeof (buf));
+    struct stat sb;
+    if (stat(buf, &sb) == -1) return;
+    delete (buf);
+  }
 }
diff --git a/ftnq.h b/ftnq.h
index e399d91..cceb77d 100644
-+- a/ftnq.h
+++ b/ftnq.h
@@ -110,8 +110,8 @@ enum bad_try_type { BAD_NA, BAD_CALL, BAD_MERR, BAD_MBSY, BAD_IO, BAD_TIMEOUT,
                     BAD_AKA, BAD_AUTH };

 void bad_try (FTN_ADDR *fa, const char *error, const int where, BINKD_CONFIG *config);
-void good_try (FTN_ADDR *fa, char *comment, BINKD_CONFIG *config);
 void read_try (FTN_ADDR *fa, unsigned *nok, unsigned *nbad, BINKD_CONFIG *config);
 void write_try (FTN_ADDR *fa, unsigned *nok, unsigned *nbad, char *comment, BINKD_CONFIG *config);
+void remove_try (FTN_ADDR *fa, BINKD_CONFIG *config);

 #endif
diff --git a/protocol.c b/protocol.c
index 677cb44..6d40bea 100644
-+- a/protocol.c
+++ b/protocol.c
@@ -3440,7 +3440,7 @@ void protocol (SOCKET socket_in, SOCKET socket_out, FTN_NODE *to, FTN_ADDR *fa,
     process_killlist (state.killlist, state.n_killlist, 's');
     inb_remove_partial (&state, config);
     if (to)
-      good_try (&to->fa, "CONNECT/BND", config);
+      remove_try (&to->fa, config);
   }
   else
   {


--- GoldED+ 1.1.5-031023 (WinNT 5.1.2600-Service_Pack_3 i1586)
* Origin: [icq:122018120] [mailto:zabolotny[at]hotbox.ru] (2:469/122.1)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.107068 секунды