Jump to content

Нашел ошибку. Что делать?


Recommended Posts

Всем добрый день.

 

В модуле pl_option82 нашел и исправил ошибку в анализе логов dhcpd.

Хотелось бы, чтобы исправление вошло в следующие релизы системы. Как мне правильно сообщить об ошибке?

 

Во вложении diff файл с исправлением.

index.zip

Link to post
Share on other sites

В dhcpd.log там в норме всюду по одному пробелу. Откуда вы по два материализовали?

Очевидно косяк в global.template

У меня так:

Jul  2 14:56:52 server1 dhcpd: *Leased IP: 10.76.2.5 SWITCH: fcfaf7c59eb5 PORT: 102-0-7-1 (with opt82)
Jul  2 14:57:52 server1 dhcpd: *Leased IP: 10.76.2.10 SWITCH: fcfaf7c59ebf PORT: 102-0-8-3 (with opt82)

Перед двойкой 2 пробела.

FreeBSD 9.2, установка ubilling с помощью автоинсталлера плюс правки по инструкциям из вики.

Link to post
Share on other sites

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

 

Мой вопрос: как правильно оформлять сообщения об ошибках и куда их отправлять?

Link to post
Share on other sites

 

Перед двойкой 2 пробела.

Ага.... вон оно что.

Эти гады значиться там используют sprintf с пробельными префиксами походу.

 

 

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

Я бы сделал как-то так. Дешево и сердито:

 $explodeLine=preg_split('/\s+/', $eachline);

В любом случае спасибо, фикс улетает в 0.5.6 начиная с ревизии 3577.

 

 

Мой вопрос: как правильно оформлять сообщения об ошибках и куда их отправлять?

Да вот сюда либо мылом. Собственно этот форум для того и существует, чтобы на нем страдать :)

Edited by nightfly
Link to post
Share on other sites
  • 3 months later...

Происходит вот такое при попытки редактировать пользователя.

Подозрительная ошибка - вообще странно, что вы ее видите:
EMPTY_DATABASE_USERDATA UserProfile Object
(
[alterCfg:protected] => Array
(
[NMLEASES] => /var/log/dhcpd.log
[NMLEASEMARK] =>
[NMREP_INMACCHG] => 1
[SIMPLENEWMACSELECTOR] => 1
[PROFILE_PLUGINS] => 1
[CITY_DISPLAY] => 1
[ZERO_TOLERANCE] => 1
[DOCSIS_SUPPORT] => 0
[DOCSIS_MODEM_NETID] => 2
[docsis_cm_source] => multinet/cm_source/
[docsis_cm_bin] => multinet/cm_bin/
[AGENTS_ASSIGN] => 0
[EXPORT_ENABLED] => 0
[DEFAULT_ASSIGN_AGENT] => 1
[EXPORT_FROM_TIME] => 00:00:00
[EXPORT_TO_TIME] => 23:59:59
[EXPORT_FORMAT] => xml
[EXPORT_ONLY_POSITIVE] => 1
[EXPORT_TEMPLATE] => config/1c.xml
[EXPORT_TEMPLATE_HEAD] => config/head-1c.xml
[EXPORT_TEMPLATE_END] => config/end-1c.xml
[EXPORT_ENCODING] => utf-8
[IMPORT_ENCODING] => utf-8
[TRAFFSIZE] => float
[TARIFFCHGRESET] => 1
[PASSWORDSHIDE] => 0
[DN_ONLINE_DETECT] => 0
[TRANSLATE_PAYMENTS_NOTES] => 1
[HIGHLIGHT_IMPORTANT] => 1
[NMCHANGE] => 1
[ONLINE_LIGHTER] => 1
[OPENPAYZ_SUPPORT] => 0
[OPENPAYZ_MANUAL] => 1
[OPENPAYZ_CASHTYPEID] => 1
[HIGHLIGHT_TODAY_PAYMENTS] => 1
[ONLINE_FILTERS_EXT] => 1
[STRICT_CONTRACTS_PROTECT] => 1
[STRICT_CONTRACTS_UNIQUE] => 1
[CATV_ENABLED] => 0
[CATV_HP_MODE] => 0
[ONLINE_LAT] => 0
[MASSSEND_ENABLED] => 0
[MASSSEND_SAFE] => 1
[STRICT_CREDIT_LIMIT] => DISABLED
[USER_LINKING_ENABLED] => 0
[USER_LINKING_FIELD] => IP
[USER_LINKING_CFID] => 24
[USER_LINKING_TARIFF] => 1
[USER_LINKING_CASH] => 1
[USER_LINKING_CREDIT] => 1
[STG_LOG_PATH] => /var/log/stargazer.log
[ARPING] => /usr/local/sbin/arping
[ARPING_IFACE] => -i re0
[ARPING_EXTRA_OPTIONS] => -c 10 -w 10000
[ARPDIAG_ENABLED] => 1
[ARPDIAG_LOG] => /var/log/messages
[NOBACKUPTABLESLIKE] => logs_,detailstat,weblogs
[TB_ICONCUSTOMSIZE] => 1
[MACCHANGERANDOMDEFAULT] => 1
[RESETONCFCHANGE] => 0
[RESETONTAGCHANGE] => 0
[TB_NEWTICKETNOTIFY] => 1
[BS_ENABLED] => 0
[BS_INCHARSET] => cp866
[BS_OUTCHARSET] => utf-8
[BS_OPTIONS] => |,13,3,4,5
[BS_CASHTYPE] => 1
[ONLINE_HP_MODE] => 0
[SAFE_REGMODE] => 1
[TICKETS_PERPAGE] => 50
[NDS_ENABLED] => 0
[NDS_TAGID] => 9
[NDS_TAX_PERCENT] => 20
[FAST_CASH_LINK] => 0
[MTSIGMON_ENABLED] => 1
[SIGREQ_ENABLED] => 0
[SW_PINGTIMEOUT] => 20
[TB_SWITCHMON] => 0
[REMOTEAPI_ENABLED] => 1
[RADIUST_ENABLED] => 0
[MASSRESET_ENABLED] => 0
[MACVEN_ENABLED] => 1
[MACVENAPI_KEY] => zXKxPJN
[CREATETASK_IN_PROFILE] => 1
[SUSP_PAYMENTS_NOTIFY] => 0
[TB_LABELED] => 1
[DISCOUNTS_ENABLED] => 0
[DISCOUNT_PERCENT_CFID] => 32
[DISCOUNT_OPERATION] => CORR
[DISCOUNT_CASHTYPEID] => 1
[LOGIN_GENERATION] => DEFAULT
[PASSWORD_GENERATION_LENGHT] => 8
[PASSWORD_TYPE] => 1
[SWYMAP_ENABLED] => 1
[CATV_BACK_FEE] => 1
[CRM_MODE] => 0
[SEARCH_STRICT] => contract
[DEAD_HIDE] => 0
[DEAD_TAGID] => 15
[OPENPAYZ_REALID] => 0
[PASSPDATA_IN_PROFILE] => 0
[TB_UBIM] => 1
[TB_UBIM_REFRESH] => 0
[UBIM_REFRESH] => 60
[GRAVATAR_DEFAULT] => monsterid
[DEVCON_SQL_KEEP] => 0
[DEVCON_VERBOSE_DEBUG] => 1
[FINREP_CONTRACT] => 0
[TARIFFCHGAUTOCREDIT] => 0
[SIGREP_CONTRACT] => 0
[TSMS_ENABLED] => 0
[TSMS_GATEWAY] => 77.120.116.10
[TSMS_DB] => users
[TSMS_LOGIN] => testlogin
[TSMS_PASSWORD] => testpassword
[TSMS_PHONEPREFIX] => +38
[MIKROTIK_SUPPORT] => 1
[SNMPWALK_PATH] => /usr/local/bin/snmpwalk -On -v2c
[SNMPCACHE_TIME] => 60
[CONTRACT_GENERATION_DEFAULT] => 1
[ROUND_PROFILE_CASH] => 0
[SWITCHPORT_IN_PROFILE] => 0
[PAYMENTCARDS_ENABLED] => 1
[SEARCHADDR_AUTOCOMPLETE] => 1
[ASKOZIA_ENABLED] => 0
[SEARCH_CUSTOM_CONTRACT] => 0
[ASTERISK_ENABLED] => 0
[NMAP_PATH] => /usr/local/bin/nmap
[FREERADIUS_ENABLED] => 0
[SETCASH_ONLY_ROOT] => 0
[DSHAPER_ENABLED] => 0
[WATCHDOG_ENABLED] => 0
[AUTOFREEZE_CASH_LIMIT] => -20
[CONTRACT_SAME_AS_LOGIN] => 0
[CAPABDIR_ENABLED] => 0
[SCREP_ENABLED] => 0
[COMPLEX_ENABLED] => 0
[COMPLEX_MASKS] =>
[COMPLEX_CFIDS] =>
[DN_FULLHOSTSCAN] => 0
[DOCX_SUPPORT] => 0
[DOCX_CHECK] => 0
[DOCX_NDS] => 20
[DOCX_SERVICES] =>
[ADDRESS_CACHE_TIME] => 30
[CAN_DELETE_PAYMENTS] =>
[BUILD_EXTENDED] => 0
[BUILD_OWNERS] =>
[BUILD_EXTOPTS] => 16,12
[UKV_ENABLED] => 0
[UKV_BS_PAYID] => 3
[UKV_MONTH_DEBTLIMIT] => 2
[SIGNUP_PAYMENTS] => 0
[SIGNUP_TYPEID] => 7
[SWITCH_PING_CUSTOM_SCRIPT] =>
[ANNOUNCEMENTS] => 0
[AUTO_LOGOUT_IDLE] => 0
[AUTO_LOGOUT_EXCLUDE] =>
[VOLS_ENABLED] => 0
[CORPS_ENABLED] => 0
[FINREP_TARIFF] => 0
[NETWORKS_EXT] => 0
[EASY_CREDIT] => 0
[COLORIZE_PROFILE_CASH] => 0
[PROFILE_LAT] => 0
[ONLINE_SAVE_STATE] => 0
)

[userdata:protected] =>
[alladdress:protected] => Array
(
)

[phonedata:protected] => Array
(
)

[aptdata:protected] => Array
(
)

[highlightStart:protected] =>
[highlightEnd:protected] => 
[plugins:protected] =>
[login:protected] => bap0_se4y
[useraddress:protected] =>
[realname:protected] =>
[phone:protected] =>
[mobile:protected] =>
[contract:protected] =>
[mail:protected] =>
[speedoverride:protected] =>
[mac:protected] =>
[paymentid:protected] =>
)
Link to post
Share on other sites

В мене така хвігня вилітає при SAFE_REG=0, та коли один розумник поставив пробіл перед логіном :facepalm:

Там в будь якому випадку, повинен би був викликатись preg_replace("#[^a-z0-9A-Z_]#Uis",'',$login);

Link to post
Share on other sites

 

В мене така хвігня вилітає при SAFE_REG=0, та коли один розумник поставив пробіл перед логіном :facepalm:

Там в будь якому випадку, повинен би був викликатись preg_replace("#[^a-z0-9A-Z_]#Uis",'',$login);

 

Юзера знайти можна і все нормально.

А от через звіт про підключки на юзера зайти неможна, тому що ссилка виглядає як:

http://billing.isp/?module=userprofile&username=%20login
а не
http://billing.isp/?module=userprofile&username=login
Link to post
Share on other sites

Хм. Дивно. Можливість реєструвати користувачів з пробілами та усіляким іншим лайном в логінах причесана досить давно. Є шанси, що ви або тягаєте за собою api.userreg з якимись стрьомними модифікаціями, або сидите на якомусь сильно мохнатому релізі.

Спробуйте оновитись до 0.5.9 rev 3816 або вище. На всяк випадкок вмазав там додаткове фільтрування в звіті по підключеннях.

Edited by nightfly
Link to post
Share on other sites

Хм. Дивно. Можливість реєструвати користувачів з пробілами та усіляким іншим лайном в логінах причесана досить давно. Є шанси, що ви або тягаєте за собою api.userreg з якимись стрьомними модифікаціями, або сидите на якомусь сильно мохнатому релізі.

Спробуйте оновитись до 0.5.9 rev 3816 або вище. На всяк випадкок вмазав там додаткове фільтрування в звіті по підключеннях.

Ubilling

0.5.8 rev 3790

Оце наразі маю.

Я завжди до карента оновлююсь.

Edited by L1ght
Link to post
Share on other sites

1. Не редактирования, а просмотра профиля.

2. Очевидно пользователя этого не существует, например он удален.

Как удалить такие мёртвые души?

Link to post
Share on other sites

Имеется чем-то схожий вопрос. Предстоит миграция абонбазы. Решил глянуть на существующие таблицы. Не знаю кто как регистрировал (или удалял) пользователей, но обнаружил что имеются дубли в userreg, contracts (несколько одинаковых логинов), и записей в users меньше чем в userreg. Например, ещё в таблице realname id идут: 1, 5, 6, 7 и т.д., в userreg: 1,2,3,4,5,6,7 и т.д.  Догадываюсь что записи с id 2, 3, 4 в userreg - лишние. Есть какой-то стандартный механизм чистки от дублей/лишних записей или чистить вручную, или ничего не трогать? Если вручную - то нужно пересматривать кучу таблиц...

Базу руками не правил.

Edited by kit3
Link to post
Share on other sites

 

Имеется чем-то схожий вопрос. Предстоит миграция абонбазы.

Явно это не на продакшне нужно делать, и очень желательно одним куском.

 

 

 

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

Не трогать. Там много стремных и неочевидных взаимосвязей.

 

 

Как удалить такие мёртвые души?

Никак. Сведения о предыдущих регистрациях пользователей из принципа не удаляются. То что вы грохнули какого-то абонента не означает, что его никогда не было и его никогда не регистрировали.

Link to post
Share on other sites
  • 10 months later...

Обнаружил маленький баг.

При снятии денег за два виртуальных сервиса

post-37410-0-97442100-1439659480_thumb.png

в движении средств показывается только последний

post-37410-0-84917300-1439659479_thumb.png.

В модуле "Деньги" всё как положенно.

post-37410-0-27611700-1439659480_thumb.png

 

И еще, абонплата за месяц не отображается в модуле "Деньги" (на скринах этого нет). Это так задумано?

Edited by Serafat
Link to post
Share on other sites
  • 11 months later...

Не уверен, что баг, но заметил у себя проблему с модулем "Служба ритуальных услуг". На боевом сервере все работает, а на тестовом выходит просто белое окно, хотя теги видит в отчет попадает, но похоронить пользователя по человечески - нельзя)

 

iconvpost-22786-0-25280300-1470005208.png

 

 

На боевом сервере

uname -a
9.2-RELEASE FreeBSD

php -v
PHP 5.3.29

php -m


bcmath
bz2
Core
ctype
curl
date
dom
ereg
filter
ftp
gd
gettext
hash
iconv
imap
json
ldap
libxml
mbstring
mcrypt
mhash
mysql
mysqlnd
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
snmp
sockets
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

apachectl -V
Server version: Apache/2.2.31 (FreeBSD)
Server built: Jul 30 2016 19:43:41
Server's Module Magic Number: 20051115:40
Server loaded: APR 1.5.1, APR-Util 1.5.4
Compiled using: APR 1.5.1, APR-Util 1.5.4
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="/var/run/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/accept.lock"
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log"
-D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types"
-D SERVER_CONFIG_FILE="etc/apache22/httpd.conf"


 
На тестовом
 

uname -a
9.3-RELEASE FreeBSD

php -v
PHP 5.5.37

php -m
[php Modules]
bcmath
bz2
Core
ctype
curl
date
dom
ereg
filter
ftp
gd
gettext
hash
json
libxml
mbstring
mcrypt
memcache
memcached
mhash
mssql
mysql
mysqli
mysqlnd
openssl
pcre
PDFlib
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

apachectl -V
Server version: Apache/2.4.23 (FreeBSD)
Server built: unknown
Server's Module Magic Number: 20120211:61
Server loaded: APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
-D APR_USE_FLOCK_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
-D DEFAULT_PIDLOG="/var/run/httpd.pid"
-D DEFAULT_SCOREBOARD="/var/run/apache_runtime_status"
-D DEFAULT_ERRORLOG="/var/log/httpd-error.log"
-D AP_TYPES_CONFIG_FILE="etc/apache24/mime.types"
-D SERVER_CONFIG_FILE="etc/apache24/httpd.conf"

 

Link to post
Share on other sites

 

 

Не уверен, что баг, но заметил у себя проблему с модулем "Служба ритуальных услуг". На боевом сервере все работает, а на тестовом выходит просто белое окно, хотя теги видит в отчет попадает, но похоронить пользователя по человечески - нельзя)

Спасибо, сегодня обязательно посмотрю.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ProstoName
      Змінювали мережеву карту. Здається все поправив. Працює. Але є невелика проблема - після внесення коштів (коли абонент був відключений), інет в нього не з'являється. Тільки після заміни тарифу на інший (і потім вернувши тариф) в абонента з'являється інет. 
    • By ppv
      Собака-посилака перестала відправляти повідомлення. Підкажіть де шукати.
      Можливо таке після пропадання світла, сервер ребутнувся, але я не впевнений. Візуально все працює, крон працює, а повідомлення висять в черзі, смс така ж картина.

    • By camchatix
      Привіт!
       
      Є багато запитів, щоб інтернет не виключався у північ, а скажімо в день (сигналізації, камери під охороною і тд)
      При щоденній абонплаті - як знімати гроші не у 12:00 у північ, а наприклад у 11 годин дня ?
    • By camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • By grach_witch_cheese
      Вітаю, колеги!
      Маю наступну схему:
      DHCP-сервер: Accel-PPP (IPoE) DHCP-Relay: MikroTik RADIUS: Запущений безпосередньо на сервері uBilling Зараз авторизація абонентів здійснюється за MAC-адресою, але планується перехід на авторизацію через Option 82.
      У документації uBilling наведені приклади конфігурацій, коли DHCP-сервер працює локально (на самому uBilling) і містить відповідні шаблони для обробки Option 82.
      Однак немає чіткої інформації про використання Option 82 при віддаленому DHCP-сервері, зокрема, коли Accel-PPP використовується як DHCP-сервер у режимі remote та налаштований через Купаген.
      Питання:
      Чи можливо використовувати Accel-PPP як віддалений DHCP-сервер з авторизацією через Option 82? Якщо так, то де відбувається парсинг значень Remote-ID і Circuit-ID? Де в цьому випадку мають зберігатися шаблони для Option 82? Буду вдячний за роз'яснення або посилання на відповідні приклади.
×
×
  • Create New...