Когда настраивал сетку дома, допустил оплошность выделив 192.168.1.0.
Не подумал про то, что буду иногда подключаться к VPN. Самое простое (хоть и лениво всё настраивать) перейти, например, на подсеть 192.168.67.0. Но вдруг в VPN'е та же подсеть?
Как с этим борется среднестатистический ЛОРовец? Не NAT же настраивать?
windres -i Subtotal_resource.rc -o build/Release_Win32/MinGW-Qt5.5.1-Linux/Subtotal_resource_res.o --include-dir=. -DUNICODE -DQT_NO_DEBUG -DQT_AXCONTAINER_LIB -DQT_AXBASE_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN
Subtotal_resource.rc:5:0: fatal error: when writing output to : No such file or directory
# endif
^
compilation terminated.
windres: can't open file `page:': Invalid argument
windres: preprocessing failed.
nbproject/qt-Release_Win32.mk:416: recipe for target 'build/Release_Win32/MinGW-Qt5.5.1-Linux/Subtotal_resource_res.o' failed
Вот сам файл (генерируется автоматом при сборке):
$ cat -n Subtotal_resource.rc
1 # if defined(UNDER_CE)
2 # include <winbase.h>
3 # else
4 # include <windows.h>
5 # endif
6
7 IDI_ICON1 ICON DISCARDABLE "C:/cygwin64/home/windev/.netbeans/remote/***.cloudapp.net/sabo-laptop-hp-Linux-x86_64/home/sabo/workspace/Other/Subtotal/images/subtotal.ico"
8
9 VS_VERSION_INFO VERSIONINFO
10 FILEVERSION 2,1,0,0
11 PRODUCTVERSION 2,1,0,0
12 FILEFLAGSMASK 0x3fL
13 #ifdef _DEBUG
14 FILEFLAGS VS_FF_DEBUG
15 #else
16 FILEFLAGS 0x0L
17 #endif
18 FILEOS VOS__WINDOWS32
19 FILETYPE VFT_DLL
20 FILESUBTYPE 0x0L
21 BEGIN
22 BLOCK "StringFileInfo"
23 BEGIN
24 BLOCK "040904b0"
25 BEGIN
26 VALUE "CompanyName", "\0"
27 VALUE "FileDescription", "\0"
28 VALUE "FileVersion", "2.1.0.0\0"
29 VALUE "LegalCopyright", "\0"
30 VALUE "OriginalFilename", "Subtotal.exe\0"
31 VALUE "ProductName", "Subtotal\0"
32 VALUE "ProductVersion", "2.1.0.0\0"
33 END
34 END
35 BLOCK "VarFileInfo"
36 BEGIN
37 VALUE "Translation", 0x0409, 1200
38 END
39 END
40 /* End of Version info */
41
если написать include <winbase.h> или include <windows.h> в любой файл cpp, то include успешно проходит (т.е. файлы winbase.h и windows.h в системе есть).
Qt 5.5.1 с mingw492_32. ОС: Windows Server 2008. На другой машине (с теми же Qt и Mingw), но с Win7 компилирует без ошибок (файлы Subtotal_resource.rc идентичны).
Есть sqlite БД с множественными подключениями (один поток - одно подключение). Но при активном использовании часто вылетает ошибка
database is locked Unable to fetch row
при попытке insert'а. Пробовал ставить
PRAGMA journal_mode=WAL;
не помогло.
Проблема в том, что в соседнем потоке может выполняться select по этой же таблице. Insert'ы разделены по потокам - insert в одну таблицу может выполняться только в одном потоке.
Сломалось разрешение в самом grub'е, отвалился Plymouth. Т.к. домашний раздел зашифрован, а я не смог осилить запрос на ввод пароля без Plymouth'а, система не грузится. Как можно так относиться к важным настройкам системы? Это, кстати, не первый раз, когда в Ubuntu прилетают настройки Grub'а, которые всё ломают.
> host smtp.gmail.com
smtp.gmail.com is an alias for gmail-smtp-msa.l.google.com.
gmail-smtp-msa.l.google.com has address 74.125.136.108
gmail-smtp-msa.l.google.com has address 74.125.136.109
gmail-smtp-msa.l.google.com has IPv6 address 2a00:1450:4013:c01::6d
> telnet 74.125.136.108 465
Trying 74.125.136.108...
Connected to 74.125.136.108.
Escape character is '^]'.
^C
Connection closed by foreign host.
> telnet 74.125.136.109 465
Trying 74.125.136.109...
Connected to 74.125.136.109.
Escape character is '^]'.
^C
Connection closed by foreign host.
> telnet 2a00:1450:4013:c01::6d 465
Trying 2a00:1450:4013:c01::6d...
^C
В windows в приложении на Qt5 вылетает такая ошибка:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 3960.0xca0]
0x77052ace in ntdll!RtlFreeHeap () from C:\Windows\SYSTEM32\ntdll.dll
Появляется после создания относительно большого количества тредов (десятки штук).
Может ли эта ошибка быть связана с исчерпанием лимита тредов на процесс?
Порекомендуйте, пожалуйста, реализацию http сервера для Qt (с поддержкой https). Использовал qhttpserver, но там есть проблемы с утечками, а их фиксы в апстрим до сих пор не приняты.
Работаю с COM-объектом через qaxobject.
COM-объект это OPOS драйвер для ККМ (просто для справки).
Вот так вызвываю метод:
printer->PrintRecItem(QString::fromUtf8("123 тест test"), ...);
Вот сам метод:
inline int IOPOSFiscalPrinter::PrintRecItem(const QString& Description, qlonglong Price, int Quantity, int VatInfo, qlonglong UnitPrice, const QString& UnitName)
{
int qax_result;
void *_a[] = {(void*)&qax_result, (void*)&Description, (void*)&Price, (void*)&Quantity, (void*)&VatInfo, (void*)&UnitPrice, (void*)&UnitName};
qt_metacall(QMetaObject::InvokeMetaMethod, 43, _a);
return qax_result;
}
В результате получается такая строка:
123 ?xe? test
Уже голову сломал, пытаясь определить, какую необходимо передать кодировку. По идее, драйвер поддерживает UTF-8, но, судя по результату, что-то где-то ломается.
KMail работает по IMAP с Gmail.
Если прочитать сообщение в интерфейсе Gmail'а, то в KMail оно висит как непрочитанное.
Актуально для сообщений, которые были перемещены непрочитанными из входящих в другую папку.
Что можно подкрутить?
Есть, например, роутер с OpenWrt на борту и внешний IP.
Все порты снаружи закрыты. Исключение - проброс портов во внутреннюю сеть (не рассматриваем) и OpenVPN с DH (тоже не рассматриваем). Заботливо оставленные бэкдоры не рассматриваем (считаем, что их нет).
Как можно сломать такую систему снаружи?
Именно залезть внутрь роутера, а не провести атаку на отказ в обслуживании (например, забить канал). Мне кажется, что это не реально.
Google Chrome 46.0.2490 (WebKit 537.36)
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
BrowserBase: Chromium
BrowserBaseVersion: 46.0.2490.71
BrowserEngine: WebKit
BrowserEngineVersion: 537.36
BrowserName: Chrome
BrowserVersion: 46.0.2490
OSFamily: Linux
isBrowser: да
isMobile: нет
x64: да
normalizedBrowserName: Google Chrome
vendorSub:
productSub: 20030107
vendor: Google Inc.
appCodeName: Mozilla
appName: Netscape
appVersion: 5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
platform: Linux x86_64
product: Gecko
userAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
language: ru
Пытаюсь собрать обновлённый nut 2.7.3. Есть оригинальный пакет nut 2.7.2. Всё что я изменил, это убрал лишние патчи (которые уже есть в апстриме) - 0007-killpower-path.patch, 0009-fix-favorites-permissions.patch.
Получаю ошибки:
configure.ac:1259: error: required file 'scripts/augeas/nutupsconf.aug.in' not found
configure.ac:1259: error: required file 'scripts/devd/nut-usb.conf.in' not found
configure.ac:1259: error: required file 'scripts/udev/nut-usbups.rules.in' not found
Фиксится созданием не найденных файлов (что, наверно, не правильно).
Но дальше получаю следующую:
# Move daemons and install wrappers
mv /tmp/777/nut-2.7.3/debian/tmp/sbin/upsmon /tmp/777/nut-2.7.3/debian/tmp/lib/nut/upsmon
mv /tmp/777/nut-2.7.3/debian/tmp/sbin/upsd /tmp/777/nut-2.7.3/debian/tmp/lib/nut/upsd
install -m 0755 debian/local/upsmon /tmp/777/nut-2.7.3/debian/tmp/sbin/upsmon
install -m 0755 debian/local/upsd /tmp/777/nut-2.7.3/debian/tmp/sbin/upsd
# Install systemd files only on systems where it's supported
install -m 644 -D /tmp/777/nut-2.7.3/debian/tmp/lib/x86_64-linux-gnu/systemd/system/nut-monitor.service \
/tmp/777/nut-2.7.3/debian/nut-client/lib/systemd/system/nut-monitor.service
install: cannot stat '/tmp/777/nut-2.7.3/debian/tmp/lib/x86_64-linux-gnu/systemd/system/nut-monitor.service': No such file or directory
debian/rules:50: recipe for target 'common-install-arch' failed
make: *** [common-install-arch] Error 1
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
debuild: fatal error at line 1376:
dpkg-buildpackage -rfakeroot -D -us -uc -i failed