Size: a a a

2021 June 06

VM

Vadim Misbakh-Solovi... in pro.lua
ну, да, я чуть оговорился, я не совсем про операторы, а про что-то типа вышеописанного
источник

VM

Vadim Misbakh-Solovi... in pro.lua
типа

Function arg
источник

VM

Vadim Misbakh-Solovi... in pro.lua
по умолчанию интерпретатор Lua посылает нахер с такими вызовами
источник

S

Snusmumriken in pro.lua
А откуда инфа что это чисто луа? Есть шанс что у них своя функция loader'а, например, которая сначала вытаскивает всё своё говно из строки со скриптом, а потом loadstring'ает оставшийся кусок кода.
источник

VM

Vadim Misbakh-Solovi... in pro.lua
ну, возможно, да, переопределён loader
источник

VM

Vadim Misbakh-Solovi... in pro.lua
потому что конфиг прекрасно "сорсится" через модуль "админской консоли"
источник

VM

Vadim Misbakh-Solovi... in pro.lua
я просто такое не только там видел
источник

VM

Vadim Misbakh-Solovi... in pro.lua
вот и подумал, что они как-то читерят и имплементируют свои сущности
источник

S

Snusmumriken in pro.lua
Практика показывает, что подобные экстеншны как правило реализуются тупо и в лоб, если не требуется обратное ))
источник

VM

Vadim Misbakh-Solovi... in pro.lua
(и да, мне просто было лень анализировать сотни тысяч строк кода)
источник

f

fgntfg in pro.lua
источник

S

Snusmumriken in pro.lua
Но я всё ещё плохо понимаю зачем это, когда можно просто экспортировать функцию, и делать примерно так:
Virtualhost {
 param1, param2,
 modules = {1, 2, 3}
}

И потенциальных ошибок гораздо меньше. Хотя возможно тот конфиг грузится ДО интерпретатора.
источник

VM

Vadim Misbakh-Solovi... in pro.lua
🤷‍♂️
источник

VM

Vadim Misbakh-Solovi... in pro.lua
там, вообще, можно и таблицей его объявлять
источник

VM

Vadim Misbakh-Solovi... in pro.lua
я так в цикле делал
источник

S

Snusmumriken in pro.lua
Тогда совсем не понятно )
источник

S

Snusmumriken in pro.lua
У рести вон тоже смешанные блоки. И оно просто лоадстрингает.
источник

VM

Vadim Misbakh-Solovi... in pro.lua
впрочем, кстати, там вроде и цикл, но...
источник

VM

Vadim Misbakh-Solovi... in pro.lua
local hs = {
       ["mva.name"] = "mva's server";
...
       ["alpha-llc.org"] = "Alpha LLC";
}
for h,n in pairs(hs) do
   VirtualHost (h)
       name = n
       ssl = {
           key = "/etc/shared/certificates/"..h.."/"..h..".key";
           certificate = "/etc/shared/certificates/"..h.."/fullchain.cer";
           capath = "/etc/ssl/certs";
           options = { "no_sslv2", "no_sslv3", "no_compression", "no_ticket" };
       }
   Component ("conference."..h) "muc"
       name = "Конференции"
       modules_enabled = { "pastebin", "muc_log", "muc_log_http" };
       ...
   Component ("proxy."..h) "proxy65"
       name = "Прокси"
   ...
end
источник

VM

Vadim Misbakh-Solovi... in pro.lua
т.е., похоже, оно и правда, как-то разворачивается каким-то лодером, а потом выполняется loadstring'ом
источник