Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Обсуждение программы редиректора
ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

С передачей параметров какая то проблема в squid, вывел отладку sprintf("Redirector %i 1-%s 2-%s 3-%s \n",argc, argv[0], argv[1], argv[2]); и получил только запускаемый файл, параметры пустые :( это решил перекомпилировав режик под свои пути.
Так же убрал в режике:
// Run make-cahe
// if (argc!=2) {run_make_cache(DEFAULT_CONFIG);}
// else {run_make_cache(argv[1]);}
Скомпилировал, запустил и получил:
2018/08/09 13:17:46 kid1| Starting new helpers
2018/08/09 13:17:46 kid1| helperOpenServers: Starting 1/20 'redirector.exe' processes
2018/08/09 13:17:46 kid1| WARNING: no_suid: setuid(0): (22) Invalid argument
2018/08/09 13:17:46 kid1| ERROR: URL rewrite helper returned invalid result code. Wrong helper? {result=Unknown}
2018/08/09 13:17:46 kid1| WARNING: redirector #Hlpr30 exited
2018/08/09 13:17:46 kid1| Too few redirector processes are running (need 1/20)
2018/08/09 13:17:46 kid1| Starting new helpers
2018/08/09 13:17:46 kid1| helperOpenServers: Starting 1/20 'redirector.exe' processes
2018/08/09 13:17:46 kid1| WARNING: no_suid: setuid(0): (22) Invalid argument
2018/08/09 13:17:47 kid1| WARNING: redirector #Hlpr32 exited
2018/08/09 13:17:47 kid1| Too few redirector processes are running (need 1/20)
2018/08/09 13:17:48 kid1| Starting new helpers
2018/08/09 13:17:48 kid1| helperOpenServers: Starting 1/20 'redirector.exe' processes
2018/08/09 13:17:48 kid1| WARNING: no_suid: setuid(0): (22) Invalid argument
2018/08/09 13:17:48 kid1| assertion failed: Write.cc:38: "fd_table[conn->fd].flags.open"
2018/08/09 13:17:57 kid1| Set Current Directory to /var/cache/squid
2018/08/09 13:17:57 kid1| Starting Squid Cache version 3.5.27 for x86_64-unknown-cygwin...
сквид упал ...
В логе режика все Ок!
2018-08-09 13:17:48 [13292] Load 31 rules from /cygdrive/d/rejik/banlists/adobe/allow_urls.cache
2018-08-09 13:17:48 [13292] Load 2 rules from /cygdrive/d/rejik/banlists/adobe/urls.cache
2018-08-09 13:17:49 [13292] Load 18 rules from /cygdrive/d/rejik/banlists/html/urls.cache
2018-08-09 13:17:49 [13292] Load 47 pattern from HTML pcre
2018-08-09 13:17:49 [13292] Load 253 rules from /cygdrive/d/rejik/banlists/anonymizer/urls.cache
2018-08-09 13:17:49 [13292] Load 184 rules from /cygdrive/d/rejik/banlists/love/urls.cache
2018-08-09 13:17:49 [13292] Load 36879 rules from /cygdrive/d/rejik/banlists/porno/urls.cache
2018-08-09 13:17:49 [13292] Load 23 rules from /cygdrive/d/rejik/banlists/js/urls.cache
2018-08-09 13:17:49 [13292] Load 89 pattern from JS pcre
2018-08-09 13:17:49 [13292] Load 21 rules from /cygdrive/d/rejik/banlists/swf/urls.cache
2018-08-09 13:17:49 [13292] Load 45 pattern from SWF pcre
2018-08-09 13:17:49 [13292] Load 815 rules from /cygdrive/d/rejik/banlists/banners/urls.cache
2018-08-09 13:17:49 [13292] Load 45 pattern from BANNER pcre
2018-08-09 13:17:49 [13292] Load 1011 pattern from MUNCH pcre
2018-08-09 13:17:49 [13292] Redirector start and working (3.2.12)
2018-08-09 13:18:08 [7024] Load 31 rules from /cygdrive/d/rejik/banlists/adobe/allow_urls.cache
2018-08-09 13:18:08 [7024] Load 2 rules from /cygdrive/d/rejik/banlists/adobe/urls.cache
2018-08-09 13:18:08 [7024] Load 18 rules from /cygdrive/d/rejik/banlists/html/urls.cache
2018-08-09 13:18:08 [7024] Load 47 pattern from HTML pcre
2018-08-09 13:18:08 [7024] Load 253 rules from /cygdrive/d/rejik/banlists/anonymizer/urls.cache
2018-08-09 13:18:08 [7024] Load 184 rules from /cygdrive/d/rejik/banlists/love/urls.cache
2018-08-09 13:18:08 [7024] Load 36879 rules from /cygdrive/d/rejik/banlists/porno/urls.cache
2018-08-09 13:18:08 [7024] Load 23 rules from /cygdrive/d/rejik/banlists/js/urls.cache
2018-08-09 13:18:08 [7024] Load 89 pattern from JS pcre
2018-08-09 13:18:08 [7024] Load 21 rules from /cygdrive/d/rejik/banlists/swf/urls.cache
2018-08-09 13:18:08 [7024] Load 45 pattern from SWF pcre
2018-08-09 13:18:08 [7024] Load 815 rules from /cygdrive/d/rejik/banlists/banners/urls.cache
2018-08-09 13:18:08 [7024] Load 45 pattern from BANNER pcre
2018-08-09 13:18:08 [7024] Load 1011 pattern from MUNCH pcre
2018-08-09 13:18:08 [7024] Redirector start and working (3.2.12)

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

Все равно не понятно, нужен вывод логгера.

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

На время экспериментов можно включить дебаг в режике, в vars.h, должен писать в лог сквида.

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Включил, посмотрел, ничего не понял ... Сейчас попробую подключить логгер и выключить отладку ...
Вот лог с отладкой - https://drive.google.com/file/d/1KQ52oF ... sp=sharing

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

С логгером почему то не выходит так же :( даже не знаю что думать ...

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

Делите пополам:
1. Попробуйте запустить тоже самое, но под линуксом
или
2. Попробуйте другой редиректор

Результат этих тестов поможет сузить круг поиска проблемы.

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Ну Линукса нет, поднимать времени нет. Другой редиректор под Виндовс я не знаю :(

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Начал по одному включать отладочную информацию и получил:
2018/08/10 17:51:29 kid1| helperOpenServers: Starting 1/20 'redirector.exe' processes
2018/08/10 17:51:29 kid1| WARNING: no_suid: setuid(0): (22) Invalid argument
1 [main] redirector 6004 cygwin_exception::open_stackdumpfile: Dumping stack trace to redirector.exe.stackdump
2018/08/10 17:51:38 kid1| WARNING: redirector #Hlpr3 exited

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Не может это быть что тот же squid собран для х64 а Режик для х32?

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

ajs писал(а):
Пт авг 10, 2018 19:24
Не может это быть что тот же squid собран для х64 а Режик для х32?
Мало вероятно.
Если запуск редиректора из консоли не приводит к падению, а из под сквида приводит, то нужен логгер, чтобы понять, что ему сквид такого передал, что он упал, чтобы повторить проблему.

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

С логгером вообще не стартует, но пока с помощью отладочных включений дошел до ...
sprintf(etmp,"Redirector start and working (%s)",VERSION);
err_mes(etmp);

/***********************
****** Work cycle *****/
// Get input string
while (fgets(str,ML_URL,stdin)!=NULL)
{
#ifdef DEBUG_CYCLE
sprintf(etmp,"Input string: %s",str);
#endif
в логе:
2018-08-11 12:11:10 [15068] Redirector start and working (3.2.12)
2018/08/11 12:11:10 kid1| helperDispatch: Helper redirector #Hlpr1 has crashed
Т.е. падает или на err_mes(etmp); или на while (fgets(str,ML_URL,stdin)!=NULL)

Сейчас обновлю cygwin, обновлю squid, и попробую еще ... если не выйдет попробую собрать squid на cygwim, и вопрос, режик можно собрать в х64? Я не сильно шарю в cygwin ...

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

Вы можете добавить строчек вида:

Код: Выделить всё

sprintf(etmp,"line1");
err_mes(etmp);
чтобы понять, в каком месте падает.
ajs писал(а):
Сб авг 11, 2018 13:21
режик можно собрать в х64? Я не сильно шарю в cygwin ...
Режик работает в x86, как обрать под нужную архитектуру в cygwin не подскажу.

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Все руки не доходят, но пытаюсь пока в теории понять что не так ... Нашел похожую проблему, но пока не понял можно ли это как то применить в моей ситуации, squid тот же ...
https://serverfault.com/questions/93751 ... ws-10?rq=1

ajs
Сообщения: 30
Зарегистрирован: Пн май 29, 2017 12:22

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение ajs »

Полная загадка для меня :(
Добавил немного отладки в виде:

Код: Выделить всё

    fprintf (stderr," --> %d - %s\n",argc,argv[0]);
При старте получаю:
--> 1 - /rejik/redirector
при том не важно что я прописываю в конфиге кальмара:
# url_rewrite_program d:/rejik/redirector.exe D:\Rejik\redirector.conf
# url_rewrite_program /cygdrive/d/Rejik/redirector.exe /cygdrive/d/Rejik/redirector.conf
# url_rewrite_program d:\rejik\redirector.exe d:\rejik\redirector.conf
# url_rewrite_program d:/rejik/redirector.exe /cygdrive/d/Rejik/redirector.conf
# url_rewrite_program /cygdrive/d/Rejik/redirector.exe /cygdrive/d/Rejik/redirector.conf
Результат один, ну и ничего не работает, если подкинуть конфиг в путь по умолчанию, то все подхватывается, но вот этот код не работает:

Код: Выделить всё

    while (fgets(str,ML_URL,stdin)!=NULL)
    {   
      sprintf(etmp,"Redirector read from stdin (%s)",str);
      err_mes(etmp);
Сразу получает NULL и поэтому не работает :(
2019-01-31 23:09:14 [8080] Redirector start and working (3.2.12)
2019-01-31 23:09:14 [8080] Redirector start wait for stdin...
2019-01-31 23:09:14 [8080] Redirector read NULL from stdin.
Куда копать даже не представляю :(

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Re: Редиректор 3.2.12 для squid версии 3.4 и старше для Win32

Сообщение Slava »

Попробуйте на другом сервере и на другой версии squid.

Ответить