Jump to content
Local
aaakhm

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

Recommended Posts

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

 

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

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

 

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

index.zip

Share this post


Link to post
Share on other sites

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

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

Share this post


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 с помощью автоинсталлера плюс правки по инструкциям из вики.

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

 

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

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

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

 

 

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

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

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

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

 

 

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

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

Edited by nightfly

Share this post


Link to post
Share on other sites

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

Подозрительная ошибка - вообще странно, что вы ее видите:
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] =>
)

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

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

Edited by nightfly

Share this post


Link to post
Share on other sites

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

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

Ubilling

0.5.8 rev 3790

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

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

Edited by L1ght

Share this post


Link to post
Share on other sites

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

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

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

Share this post


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

Share this post


Link to post
Share on other sites

 

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

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

 

 

 

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

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

 

 

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

 

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

Edited by Serafat

Share this post


Link to post
Share on other sites

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

 

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"

 

Share this post


Link to post
Share on other sites

 

 

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

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

Share this post


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 dimonian
      Не получается настроить SMSPILOT, все сделал по инструкции: включил собаку-посылаку, включил SMSZILLA, установил длину номера и код (раскоментировал строки и установил значение), вставил API-ключ, создал список номеров и у клиентов указал номера телефонов. При попытке отправить сообщение клиентам, номера не извлекаются (фильтр настроен, как "отправить всем"). При попытке отправить на номера из списка возникает ошибка Warning: strpos(): Empty needle in /usr/local/www/apache24/data/billing/api/libs/api.workaround.php on line 2813.
      Пробовал на чистом Биллинге, сообщения ставятся в очередь, но не отсылаются. На сервис смс не приходит запрос от Биллинга. Номера извлекаются из списка номеров но Notice: Undefined index: mobile in /usr/local/www/apache24/data/billing/api/libs/api.smszilla.php on line 3093
    • By vovvw
      Здравствуйте, господа форумчане. Помогите пожалуйста решить проблемку с убилингом:
      У абонов нет интернета на новой подсети. Айпи выдаются, шлюз пингуется, интернета нет.
      Система ubuntu 18.04
    • By dimonian
      при настройке smspilot возникла проблема, smszilla и собакапосылака включены, api указан- (баланс счета в биллинге виден)-однако сообщения ставятся в очередь но не отсылаются, на стороне smspilot запросов api нет. При некоторых манипуляциях с телефонами возникает ошибка: 
      Warning: strpos(): Empty needle in /usr/local/www/apache24/data/billing/api/libs/api.workaround.php on line 2813
      Прошу прощения за возможно глупый вопрос.
    • By DAnEq
      root@nas-bras:~/ubinstaller/nas_preconf # ./autosetup.sh ./autosetup.sh: Permission denied.
      ладно, мы не гордые
      root@nas-bras:~/ubinstaller/nas_preconf # sh autosetup.sh The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: y Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:11:amd64/quarterly, please wait... Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done Installing pkg-1.11.1... Extracting pkg-1.11.1: 100% pkg-1.11.1 Package manager pkgng.installer: pkg2ng: not found NAS_120_64.tar.gz 100% of 99 MB 8287 kBps 00m12s x NAS_120_64/trafshow-5.2.3_2,1.txz далее куча сообщений подобного рода
      и потом
      Installing bandwidthd-2.0.1_11...
      pkg: wrong architecture: FreeBSD:12:amd64 instead of FreeBSD:11:amd64
      и так еще 62 пакета
       
      потом соответственно куча FAIL! not found No such file or directory
       
      но
       
      uname -a
      FreeBSD nas-bras 11.2-RELEASE FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:32:14 UTC 2018     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

      такая же самая на которую на соседней виртуалке без проблем накатил убиллинг

      вопрос.
      что взять для наса ?
      11.0 или 11.1 ?
    • By reductor
      Помогите правильно настроить модуль "По ком звонит колокол" 
      Как правильно сделать запись в Кронтаб asterisk - возможен следующий запрос: /?module=remoteapi&key=[ubserial]&action=asterisk&number=[mobile_number]&param=[login|realname|swstatus]
×