И это всё МОЁ

Никак не могу найти, есть ли возможность в amavis+postfix исключить проверку на спам писем, направляемых в определенный почтовый ящик.


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


Есть идеи?









 , ,








И это всё МОЁ

Собственно сабж.

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

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

Вариант софтового норм, но под линь их как-то не шибко много, да и страшно в ноут такое тыкать, вдруг 220 случайно щупом ткну.








 , ,








И это всё МОЁ
folder-hook '[email protected]' 'source ~/.mutt/[email protected]'
folder-hook '[email protected]' 'source ~/.mutt/[email protected]'

Конф. «[email protected]»

#~/.mutt/[email protected]
set ssl_starttls = yes
set ssl_force_tls = yes

Конф. «[email protected]»

#~/.mutt/[email protected]
set ssl_starttls = ""
set ssl_force_tls = yes

потом

macro index <f2> '<change-folder>imaps://[email protected]:993<enter>'
macro index <f3> '<change-folder>imaps://[email protected]:993<enter>'

Жмем <f2> или <f3> и подключаем разные конфигурационные файлы.
А если забыть затереть ранее (первым) подключенный параметр («set ssl_starttls»;), не нужный во втором файле, то он продолжает существовать от первого source.

Вопрос! Есть варианты unsource.








 , ,








И это всё МОЁ

После восьми месяцев разработки стала доступна новая версия 3.0.0 продвинутого редактора для LaTeX документов TeXstudio. Среди нововведений можно отметить следующие:



  • yскорен разбор документов, что должно сократить время на их открытие;

  • проверка правописания теперь выполняется асинхронно;

  • от кастомной подсветки синтаксиса для математических и \verbatim окружений отказались в пользу подхода, основанного на cwl;

  • улучшена поддержка «тёмного» режима;

  • сборка с Qt4 больше не поддерживается.









 , ,








И это всё МОЁ

Здравствуйте. Я включаю ноутбук с Archlinux KDE. И вижу ЭТО… https://i.imgur.com/Yso9wXj_d.webp?maxwidth=640&shape=thumb&fidelity=medium


Переход в консоль работает, килляю SDDM, ставлю Lightdm Kde greeter. Там то же самое. Куда копать?









 ,








И это всё МОЁ

Доброго времени суток,изучаю vfs,знаю что это не хороший тон, с кода ядра создавать писать читать и удалять файлы,но я хочу научиться это делать


я написал код,когда я в onload() открывал файл и делал set_fs(),то файл создавался ,но ругался supervisor,но когда я это сделал в kernel thread ,то файл не создаётся хотя есть его структура file :)


я не могу понять почему callback функции могут,а потоки ядра не могут?


Я даже начал думать может поток имеет uid не рута или gid не рута и из за этого он не может создать файл с правами ,но когда я вывел в лог креденшелы потока то там был всё в ноль(в рут)


Потом я начал думать может поток не имеет fs или files в task_struct ,но и они есть ,указатели не нулевые.


вот моё логирование:


[ 173.839495] kmodule: onload
[ 173.839496] before run main
[ 173.839615] kmodule: Complete init module
[ 173.839698] 1
[ 173.839700] 2
[ 173.839701] 3
[ 173.839702] 4
[ 173.839707] kmodule: struct file:00000000f6821bf4, s8 *buf:0000000004d4437e,size_t size_buf:1024,*f_pos:00000000005817e6
[ 173.839708] 5
[ 173.840182] 6
[ 173.840185] 7
[ 173.840186] 8


Мой код:


#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/sched.h>
#include <linux/sched/signal.h>
#include <linux/types.h>
#include <linux/kthread.h>
#include <linux/slab.h>
//#include <linux/kallsyms.h>


MODULE_LICENSE(«GPL»;);


struct module_struct
{
s8 *buf;
size_t size_buf;
struct file *f;
mm_segment_t oldfs;
} module_data;


void strrev(unsigned char *str)
{
int i;
int j;
unsigned char a;
unsigned len = strlen((const char *)str);
for (i = 0, j = len - 1; i < j; i++, j&ndash;)
{
a = str[i];
str[i] = str[j];
str[j] = a;
}
}


int itoa(int num, unsigned char* str, int len, int base)
{
int sum = num;
int i = 0;
int digit;
if (len == 0)
return -1;
do
{
digit = sum % base;
if (digit < 0xA)
str[i++] = ‘0’ + digit;
else
str[i++] = ‘A’ + digit - 0xA;
sum /= base;
}while (sum && (i < (len - 1)));
if (i == (len - 1) && sum)
return -1;
str[i] = ‘\0’;
strrev(str);
return 0;
}


static int module_main(void *local_data)
{
module_data.oldfs = get_fs();
set_fs(KERNEL_DS);


module_data.f = filp_open("kernel_log.dump",O_RDWR | O_CREAT,0);

if(IS_ERR(module_data.f))
{
printk(KERN_ALERT "kmodule: cannot create kernel file log\n";);
set_fs(module_data.oldfs);
kfree(module_data.buf);
return -EPERM;
}

printk(KERN_INFO "1\n";);
struct task_struct *task;

printk(KERN_INFO «2\n»;);


s8 *pnum = kmalloc(256,GFP_KERNEL);

printk(KERN_INFO «3\n»;);


if(pnum == NULL) 
{
printk(KERN_ALERT "kmodule: cannot alloc kern mem\n";);
filp_close(module_data.f,NULL);
kfree(module_data.buf);
set_fs(module_data.oldfs);
return -ENOMEM;
}

printk(KERN_INFO «4\n»;);


strcat(module_data.buf,
"kernel dump,dumped by kmodule kernel process\n";);

/*
for_each_process(task)
{
strcat(module_data.buf,«process_name: «;);
strcat(module_data.buf,task->comm);
strcat(module_data.buf,» pid: «;);
itoa(task->pid,pnum,256,10);
strcat(module_data.buf,pnum);
strcat(module_data.buf,» \n»;);
vfs_write(module_data.f,module_data.buf,module_data.size_buf,&module_data.f->f_pos);
memset(module_data.buf,0,module_data.size_buf);
}
*/


printk(KERN_INFO "kmodule: struct file:%p, s8 *buf:%p,size_t size_buf:%lld,*f_pos:%p\n",module_data.f,module_data.buf,module_data.size_buf,&module_data.f->f_pos);

printk(KERN_INFO "5\n";);

if(vfs_write(module_data.f,module_data.buf,module_data.size_buf,&module_data.f->f_pos) < 0)
{
printk(KERN_ALERT "kmodule: cannot write data\n";);
kfree(pnum);
set_fs(module_data.oldfs);
return -EPERM;
}

printk(KERN_INFO «6\n»;);


if(filp_close(module_data.f,NULL) < 0)
{


    kfree(pnum);
set_fs(module_data.oldfs);
printk(KERN_ALERT "kmodule cannot close file\n";);
return -EAGAIN;

}


kfree(pnum);

printk(KERN_INFO «7\n»;);


set_fs(module_data.oldfs);

printk(KERN_INFO «8\n»;);


return 0;

}


static int __init onload(void)
{


printk(KERN_INFO "kmodule: onload\n";);

module_data.buf = kmalloc(1024,GFP_KERNEL);
module_data.size_buf = 1024;

if(module_data.buf == NULL)
{
printk(KERN_ALERT "kmodule: cannot alloc kernel mem\n";);
return -ENOMEM;
}



printk(KERN_INFO "before run main\n";);

if(kthread_run(module_main,NULL,"module_main";) == NULL)
{
printk(KERN_ALERT "kmodule: cannot create main thread\n";);

// filp_close(module_data.f,NULL);
// set_fs(module_data.oldfs);
kfree(module_data.buf);
return -EPERM;
}


printk(KERN_INFO "kmodule: Complete init module\n";);

return 0;

}


static void __exit unload(void)
{
printk(KERN_INFO «kmodule: unload\n»;);
kfree(module_data.buf);
}


module_init(onload);
module_exit(unload);









 








И это всё МОЁ

Хочется иметь на столе одну клаву (можно со встроенным тачпадом или чем таким) подключенную к стационару, хочется чтобы если я принес (регулярно) свой ноут он «подхватился» клавой и по какому-нибудь колесику или кнопке позволял с одной клавы печатать или там, или там









 , ,








И это всё МОЁ

Привет, лор!


После обновления арча не могу залогиниться ни рутом, ни обычным пользователем: sddm ругается, виртуальная консоль (ctrl+alt+f*) тоже. Символы 100% верные.
При загрузке с параметром single, логин у рута и пользователя работает. Права у /etc/passwd, /etc/securetty 644. В /etc/shells zsh прописан.


Не знаю, куда копать. Прошу помощи.









 








И это всё МОЁ
Компания Google представила релиз web-браузера Chrome 85. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается использованием логотипов Google, наличием системы отправки уведомлений в случае краха, возможностью загрузки модуля Flash по запросу, модулями для воспроизведения защищённого видеоконтента (DRM), системой автоматической установки обновлений и передачей при поиске RLZ-параметров. Следующий выпуск Chrome 86 запланирован на 6 октября.



И это всё МОЁ

Сравнил недавно разные планировщики на своем слабеньком по современным меркам процессоре, правда только в одной игре, но все же. Может кому интересно будет.


Разница огромная, но, судя по всему, это только на процессорах с малым количеством ядер так, по крайней в комментариях так пишут.


https://flightlessmango.com/games/11785/logs/764


https://www.reddit.com/r/linux_gaming/comments/ifnrp9/cpu_schedulers_benchmark_cfs_vs_tweaked_cfs_vs/









 , , , ,








И это всё МОЁ

Всем привет. Возник следующий вопрос.
Имеется домашний Web сервер на Windows (уйти от Windows него не могу потому что там крутится программа под Windows которая взаимодействует с сайтом ради которого сервер и поднимался).


Ну и раз уж имеется круглосуточный Web сервер дома, я организовал на нем хостинг для своих сайтов.


Сейчас задумался поднять на нем Proxmox, перенести туда свой Web сервер на Windows и дополнительно установить Web сервер на CeonOS.


Вопрос - как сделать так, чтобы часть сайтов так же находилась на Windows, а часть на Linux и всё это работало ? IP адреса виртуальных машин то будут разные. На роутере настроено переназначение с 80 порта на внутренний IP с Windows сервером.









 








И это всё МОЁ

Начало тут Более современный аналог t540p ,
Что думаете насчет Ноутов на AMD типа t495 и вообще стоит переходить с thinkpadов ?


P.S Бюджет до 950$ с ebay , можно и бу









 ,








И это всё МОЁ

1.48 версия
только когда в .html файле редактирую js то они вылазят.
А конда в файилах .js то как блокнот ни подсветки не подсказок
для полного нуба еси можно








 








И это всё МОЁ

Доброго Времени суток!


Задача: Настроить SIP-телефонию:


Имеется 10 удаленных SIP телефонов с ip 192.168.. за роутерами со статическими IP 68.41..


Шлюз OpenWRT 19.07.3 с двумя интерфейсами, wan ip статический 41.78..


АТС с ip 192.168.0.101 за OpenWRT 19.07.3


Пробовал правила iptables на OpenWRT:
iptables -I FORWARD -m conntrack –ctstate NEW,ESTABLISHED,RELATED -j ACCEPT


iptables -t nat -I PREROUTING -p udp -d 41.78.. –dport 5060 -j DNAT –to-destination 192.168.0.101:5060


iptables -t nat -A POSTROUTING -p udp –dst 192.168.0.101 –dport 5060 -j SNAT –to-source 41.78..:5060


iptables -A FORWARD -p udp –dport 5060 -j ACCEPT


iptables -A FORWARD -p udp -m multiport –dports 10000:20000 -j ACCEPT


Один телефон подключился остальные не подключаются, со временем и этот стал недоступен! подскажите что не так? читал на форумах SIP не особо дружит с NAT.


Какие еще есть варианты?









 , , , ,








И это всё МОЁ

А есть какая-нибудь утилита, с помощью которой можно отправить список экспортированных писем на определённый сервер? Например так:


send 1.eml 8.8.8.8 25 user:password









 , ,








И это всё МОЁ

Хочется получить информацию за некоторое время для одного процесса какие файлы он читал/писал и сколько данных прочитано/записано для каждого файла.

Есть уточнение: процесс - php-fpm.

Теоретически strace подходит, но нужно парсить его вывод.

А есть ли что-то готовое?








 ,








И это всё МОЁ

Тут вот старенький сервер нужно оживить. Все время имели дело только с HP серверами и у них все более менее понятно. А тут что то нет :(


Собственно вопрос : если залепить хардварный раид, чем потом мониторить состояние hdd ? Что за утилита из linux может это делать ?









 ,








И это всё МОЁ

привет!


использую девайс ROCKPro64(https://www.pine64.org/rockpro64/) и ОС rock64(https://github.com/ayufan-rock64/linux-build).


иногда, в следствии некорректного завершения работы девайса ОС отказывается загружаться, потому что не сброшен dirty-bit. приходится извлекать флешку и сбрасывать вручную.


мой вопрос заключается в том, почему ОС сама при старте не проверяет этот бит, и если он установлен - почему сама не запускает проверку ФС?


вроде как это должно работать по-умолчанию?


что проверить, и что нужно сделать, чтоб это заработало?


спасибо!









 , ,








И это всё МОЁ

Вот мои правила в uwf. Не пойму почему блокировка на elasticsearch не работает


22/tcp                     ALLOW IN    Anywhere
22 ALLOW IN Anywhere
80 ALLOW IN Anywhere
443 ALLOW IN Anywhere
10050 ALLOW IN Anywhere
8080 ALLOW IN Anywhere
9200 on ens3 DENY IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
22 (v6) ALLOW IN Anywhere (v6)
80 (v6) ALLOW IN Anywhere (v6)
443 (v6) ALLOW IN Anywhere (v6)
10050 (v6) ALLOW IN Anywhere (v6)
8080 (v6) ALLOW IN Anywhere (v6)
9200 (v6) on ens3 DENY IN Anywhere (v6)









 ,








И это всё МОЁ

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








 , , , ,