Перейти до

один из пользователей не может подключиться


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

  • Відповіді 124
  • Створено
  • Остання відповідь

Top Posters In This Topic

та же фигня, в базе 350 чел, онлайн обычно около 100 чел. Вроде не такая уж и крупная сеть. И некоторые клиенты не могут подключиться ао несколько суток уже, и перезагрузка уже не помогает!

Если не помогает перезагрузка - это к другому доктору. Который патологоанатом :)

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

mysql_store v.0.67

 

так было тока с одним ip.

клиенту пришлось менять ip, а так периодически то у одного то у другого не подключается.

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

Хм, ладно, ссылку с файлом кинул в личку

Пользователь vinil

Лог большой, глюк произошел вчера гдето в 15.00, так что смотреть лучше с конца

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

Патч №1:

Index: projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp
===================================================================
RCS file: /cvsroot/stargazer/stargazer/plugins/authorization/inetaccess/inetaccess.cpp,v
retrieving revision 1.57
diff -u -B -u -8 -p -r1.57 inetaccess.cpp
--- projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp	30 Mar 2008 13:51:31 -0000	1.57
+++ projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp	14 Aug 2008 13:43:20 -0000
@@ -195,17 +195,18 @@ FREEMB AUTH_IA_SETTINGS::GetFreeMbShowTy
return freeMbShowType;
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
IA_PHASE::IA_PHASE()
{
phase	 = 1;
-phaseTime = 0;
+//phaseTime = 0;
+gettimeofday(&phaseTime, NULL);
}
//-----------------------------------------------------------------------------
IA_PHASE::~IA_PHASE()
{
#ifdef IA_PHASE_DEBUG
flog = fopen(log.c_str(), "at");
if (flog)
 {
@@ -226,27 +227,29 @@ void IA_PHASE::SetUserLogin(const string
IA_PHASE::login = login;
}
//-----------------------------------------------------------------------------
void IA_PHASE::WritePhaseChange(int newPhase)
{
UTIME newPhaseTime;
gettimeofday(&newPhaseTime, NULL);
flog = fopen(log.c_str(), "at");
-int64_t tn = newPhaseTime.GetSec()*1000000 + newPhaseTime.GetUSec();
-int64_t to = phaseTime.GetSec()*1000000 + phaseTime.GetUSec();
+/*int64_t tn = newPhaseTime.GetSec()*1000000 + newPhaseTime.GetUSec();
+int64_t to = phaseTime.GetSec()*1000000 + phaseTime.GetUSec();*/
if (flog)
 {
 string action = newPhase == phase ? "U" : "C";
+	double delta = newPhaseTime.GetSec() - phaseTime.GetSec();
+	delta += (newPhaseTime.GetUSec() - phaseTime.GetUSec()) * 1.0e-6;
 fprintf(flog, "IA %s %s oldPhase = %d, newPhase = %d. dt = %.6f\n",
		 login.c_str(),
		 action.c_str(),
		 phase,
		 newPhase,
-			(tn - to)/1e6);
+			delta);
 fclose(flog);
 }
}
#endif
//-----------------------------------------------------------------------------
void IA_PHASE::SetPhase1()
{
#ifdef IA_PHASE_DEBUG

Патч №2:

Index: include/utime.h
===================================================================
RCS file: /cvsroot/stgincludes/include/utime.h,v
retrieving revision 1.4
diff -u -B -u -8 -p -r1.4 utime.h
--- include/utime.h	28 Mar 2008 08:42:19 -0000	1.4
+++ include/utime.h	14 Aug 2008 13:43:56 -0000
@@ -108,28 +108,60 @@ struct UTIME: public timeval
 //cout << (tv_sec == rhs.tv_sec) << " " << (tv_usec == rhs.tv_usec) << endl;
 return (tv_sec == rhs.tv_sec) && (tv_usec == rhs.tv_usec);
 }

 UTIME operator+(const UTIME & rhs)
 {
 // TODO optimize
 long long a, b;
-	a = tv_sec * 1000000 + tv_usec;
+	/*a = tv_sec * 1000000 + tv_usec;
 b = rhs.tv_sec * 1000000 + rhs.tv_usec;
-	return UTIME((a + b) / 1000000, (a + b) % 1000000);
+	return UTIME((a + b) / 1000000, (a + b) % 1000000);*/
+	a = tv_sec + rhs.tv_sec;
+	b = tv_usec + rhs.tv_usec;
+	if (b > 1000000)
+		{
+		++a;
+		b -= 1000000;
+		}
+	return UTIME(a, b);
 }

 UTIME operator-(const UTIME & rhs)
 {
 // TODO optimize
 long long a, b;
-	a = tv_sec * 1000000 + tv_usec;
+	/*a = tv_sec * 1000000 + tv_usec;
 b = rhs.tv_sec * 1000000 + rhs.tv_usec;
-	return UTIME((a - b) / 1000000, (a - b) % 1000000);
+	return UTIME((a - b) / 1000000, (a - b) % 1000000);*/
+	a = tv_sec - rhs.tv_sec;
+	b = tv_usec - rhs.tv_usec;
+	if (a >= 0)
+		{
+		if (b >= 0)
+			{
+			return UTIME(a, b);
+			}
+		else
+			{
+			return UTIME(--a, b + 1000000);
+			}
+		}
+	else
+		{
+		if (b >= 0)
+			{
+			return UTIME(++a, 1000000 - b);
+			}
+		else
+			{
+			return UTIME(a, b);
+			}
+		}
 }

 time_t GetSec() const
 {
 return tv_sec;
 }

 suseconds_t GetUSec() const

 

Надеюсь, это оно. По крайней мере тут было арифметическое переполнение.

Ссылка на сообщение
Поделиться на других сайтах
Поставили патч, наблюдаем...

 

отпишитесь о результатах плз.

патч помог?

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

Привет всем. После моего костыля наблюдаю что абонент не может теперь отключиться. В конфигураторе подключен, в фаерволе открыт, а подключить авторизатор не может.

 

Блин, я уже готов 2.405 попробовать, а патч не становится, грит

# patch < patch1

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

The text leading up to this was:

--------------------------

|Index: projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp

|===================================================================

|RCS file: /cvsroot/stargazer/stargazer/plugins/authorization/inetaccess/inetaccess.cpp,v

|retrieving revision 1.57

|diff -u -B -u -8 -p -r1.57 inetaccess.cpp

|--- projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp 30 Mar 2008 13:51:31 -0000 1.57

|+++ projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp 14 Aug 2008 13:43:20 -0000

--------------------------

Patching file projects/stargazer/plugins/authorization/inetaccess/inetaccess.cpp using Plan A...

patch: **** malformed patch at line 9: return freeMbShowType;

 

пропатчил вручную...

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

Для 404 попробуй. Но не факт.

 

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

Ссылка на сообщение
Поделиться на других сайтах
у меня сегодня с одим юзером тоже проблема, стг говорит что подключен а правила для него не добавляются

Патчи ставил?

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

patch -p0 < patch1.diff
patch -p0 < patch2.diff

Если не получится - говори почту. Зашлю туда патчи, а то форум их покоцал слегка.

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

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

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

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

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

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

Вхід

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

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

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


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