Перейти до

Решение проблемы с исполнением скриптов


Рекомендованные сообщения

Просьба всем кто потестит данный патч, отписаться в эту тему.

 

Описание ошибки:

полное/неполное неисполнение скриптов сервера биллинга

 

Решение:

Патч для сервера версии 2.016.7.6 :

 

260,321c260
< int p, i = 1;
< #ifdef linux
< int fd;
< #endif
< char *s;
< char *ca[20];
< char str[FN_STR_LEN];
< 
< strncpy(str, c, FN_STR_LEN);
< 
< s = strtok(str, " \t");
< if (s)
<  {
<  ca[0] = s;
<  }
< 
< while ((s = strtok(NULL, " \t")))
<  {
<  ca[i] = s;
<  i++;
<  }
< ca[i] = NULL;
< 
< switch ((p = fork()))
<  {
<  case -1:	// мБЦБ
<  	WriteServLog("fork failed.");
<  	return -1;
<  	break;
< 
<     case 0:  // рПФПНПЛ
<         #ifdef linux
<  	fd = open("/dev/null", O_WRONLY, 0600);
<         if (fd == -1)
<    {
<             WriteServLog("exit(1)");
<    exit(1);
<    }
<         if (dup2(fd, STDOUT_FILENO) == -1)
<    {
<             exit(1);
<    }
<         if (execvp(ca[0], ca) == -1)
<    {
<    if (fd != -1) 
<                 close(fd);
<             WriteServLog("exit(1)");
<    exit(1);
<             }
<  	if (fd != -1) 
<             close(fd);
<         #else
<         system(c);
<         #endif
<         //WriteServLog("exit(0) %s %s", __FILE__, __LINE__);
<  	exit(0);
<  	break;
< 
<     default:	// пУОПЧОПК РТПГЕУУ
<         return 0;
<  }
< 
---
> system(c);

 

1. Архив с патчем разархивировать

2. Положить diff-файл в директорию с исходниками, там где common.cpp

3. patch common.cpp common.cpp.diff

4. make clean

5. make

 

 

РЕКОМЕНДУЕТСЯ применять данный патч для новых установок.

 

файл патча можно слить отсюда http://www.stargazer.dp.ua/download/common...16.7.6.diff.tgz

Ссылка на сообщение
Поделиться на других сайтах

скинул в папку с НЕУСТАНОВЛЕННОЙ ПРОГРАММОЙ уже скомпиленый бинарник ранее...

kievlanin# patch common.cpp common.cpp.diff

Hmm... Looks like a normal diff to me...

Patching file common.cpp using Plan A...

Hunk #1 succeeded at 260.

done

 

make bsd5

 

в этой-же папке изменяется размер бинарнки... 1550873 был меньше 215196

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

А что этот патч патчит?

Визуальное сравнение того что было и того что в пачте различий не обнаружило.

Если я что-то пропустил, тникте, плиз.

А вообще там явно не хватает еще одной проверки. я еще от себя добавил такую проверку (с 302-строки):

 

if (dup2(fd, STDERR_FILENO) == -1)

{

exit(1);

}

Ссылка на сообщение
Поделиться на других сайтах
А что этот патч патчит?

Визуальное сравнение того что было и того что в пачте различий не обнаружило.

Визуальное сравнение должно было показать что функция Exec сократилась до одной строчки:

system( с );

Ссылка на сообщение
Поделиться на других сайтах

Mandrake 10.2

При запуске стг2 в автозагрузке или кроном, скрипт OnConnect не выполняется, даже после патча. А когда вручную сказать "service stargazer restart" всё начинает работать. Почему так?

Ссылка на сообщение
Поделиться на других сайтах
Mandrake 10.2

При запуске стг2 в автозагрузке или кроном, скрипт OnConnect не выполняется, даже после патча. А когда вручную сказать "service stargazer restart" всё начинает работать. Почему так?

подобная тема подымалась уже

глянь в поиске

ключевое "service stargazer restart" =)

Ссылка на сообщение
Поделиться на других сайтах
  • 8 months later...
подобная тема подымалась уже

глянь в поиске

ключевое "service stargazer restart" =)

а вот я ничего не нашел по данному ключевому слову. можно ссылку? а то после перебоев с электричеством надо руками поднимать. надоело уже.

Ссылка на сообщение
Поделиться на других сайтах

нужно поставить безперебойник для начала.... уж сейчас это уже совсем не проблема.... от 180 грн и вы счастливы...

 

а по поводу не выполнения онконнект - очень странно.. .у меня все выполняет. может в rc.local последним дописать service stargazer restart ?

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...