• Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Благодарю, пожалуй именно данный код наиболее близко позволяет реализовать суть, т.е. зависимость от константы времени компиляции. Жаль, что приходится писать очень много. Поскольку мы тут дружно выяснили, что по простому на С++ не получится без операторов ветвления этапа компиляции, пожалуй отмечу именно ваш вариант как решение.
  • Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Да уж, if и switch этапа компиляции давно пора сделать.
  • Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Благодарю, понятное дело, что так можно :) Но это нагромождения лишнего кода. Вот представьте, там в коде около двух десятков разных кусочков, которые надо включать и выключать в зависимости от ситуации. И соответственно для того, что бы оно заработало, придётся написать около 40 дополнительных функций. :)
  • Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Благодарю, по совету abby заюзал __if_exists. В том проекте его точно за глаза хватит, так или иначе, то, что я хотел, на C++ сделать, к сожалению, не получится.
  • Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Благодарю, в данном случае удобней всего оказалось __if_exists. Этот шаблон кусок GUI, со студийным проектом, и там довольно много WinApi.
  • Возможно ли полное выключение части кода метода шаблонного класса на С++?

    ElleSolomina
    @ElleSolomina Автор вопроса
    Так как вы хотите(настолько просто) не получится.

    Благодарю вас, жалко, что так. хотелось напрямую декларировать набор фич в параметре шаблона, при этом не меняя интерфейс класса. Но видимо придётся окольными путями :)

    p.s: странно, что это невозможно, ведь параметр шаблона известен на этапе компиляции, и компилятор мог не разгребая выкинуть этот код… хотя возможно это обратная совместимость с каким нибудь goto. В общем ждём D для такого удобства :)
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Благодарю за полезный сервис :)

    Именно для обхода фильтрации чего уже только не придумали, даже хитрости всякие, вроде antizapret.prostovpn.org
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Написал в ТП, включили модуль. На всякий случай перезагрузился.

    В итоге заработало только вот с такими правилами:

    # cat /etc/rc.local | grep -E "^[a-z]"
    iptables -t nat -I POSTROUTING -s 192.168.50.0/24 -j SNAT --to-source x.x.x.x
    iptables -t nat -I POSTROUTING -s 192.168.60.0/24 -j SNAT --to-source x.x.x.x
    exit 0

    # iptables -t nat -nvL

    Chain PREROUTING (policy ACCEPT 41 packets, 2795 bytes)
    pkts bytes target prot opt in out source destination

    Chain POSTROUTING (policy ACCEPT 6 packets, 456 bytes)
    pkts bytes target prot opt in out source destination
    0 0 SNAT all — * * 192.168.60.0/24 0.0.0.0/0 to:x.x.x.x
    30 2039 SNAT all — * * 192.168.50.0/24 0.0.0.0/0 to:x.x.x.x

    Chain OUTPUT (policy ACCEPT 6 packets, 456 bytes)
    pkts bytes target prot opt in out source destination

    #

    Проконсультируйте пожалуйста почему в данном случае не работает:

    iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o eth0 -j MASQUERADE

    для меня сие загадка.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Понимаете, у меня там уже java не встала с невообразимыми сообщениями при попытке установки… пойду поем!!! :)

    p.s: Сердечно вас благодарю, очень помогли )
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Это добавление в ядро, сработает если модуль уже собран, но он не собран. Как же я хочу придушить хостера, как же я уже устал )))
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    И в будущем — нет. По сути этот сервер — роутер, не более (конфиг у вдски уж очень слабенький, но зато и стоит она копейки, и оплачивается сразу на год). В общем единственное его назначение — резервирование канала в инет.

    Мая через сеть работает. А стало быть если в России опять что нибудь залочат по дури, а у меня Онлайм, т.е. Ростелеком, т.е. заблочит по IP, в общем всё будет всё очень печально, и может обернуться неожиданной проблемой в самый не подходящий момент.

    В прошлый раз, во время проблем с wordpress, восстановил доступ через прокси, теперь, поскольку появилось свободное время, хочу сделать свой нормальный сервер за пределами родины, ибо так надёжнее, да и откровенно удобнее, ибо у меня уже есть домашний шлюз, и в случае чего можно быстренько отправить трафик куда нужно. Ну и иметь американский IP в наше время полезно по разным причинам.
    p.s: на этот сервер я хотел ещё i2p поставить, но не смог, ибо java ни в какую не захотела ставиться.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Простите за глупый вопрос, но не получается:
    # apt-get install nat

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

    # iptables -t nat -nvL
    WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
    FATAL: Module ip_tables not found.
    iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

    прошу прощения, ибо может что то не то делаю.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Доступ к серверу через тоннель нормально заработал сразу. Там проблема в образе VDS ки, как выяснили.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Ааа, благодарю, но данная возможность мне не нужна.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Пожалуйста:

    # ifconfig
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:4 errors:0 dropped:0 overruns:0 frame:0
    TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:200 (200.0 B) TX bytes:200 (200.0 B)

    tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 -00
    inet addr:192.168.60.1 P-t-P:192.168.60.2 Mask:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    tun1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 -00
    inet addr:192.168.50.1 P-t-P:192.168.50.2 Mask:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
    RX packets:246 errors:0 dropped:0 overruns:0 frame:0
    TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:15586 (15.5 KB) TX bytes:678 (678.0 B)

    venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 -00
    inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255. 255
    UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
    RX packets:1234 errors:0 dropped:0 overruns:0 frame:0
    TX packets:800 errors:0 dropped:573 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:203869 (203.8 KB) TX bytes:137790 (137.7 KB)

    venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 -00
    inet addr:74.63.212.243 P-t-P:74.63.212.243 Bcast:0.0.0.0 Mask:255. 255.255.255
    UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1

    # ip r
    192.168.60.2 dev tun0 proto kernel scope link src 192.168.60.1
    192.168.50.2 dev tun1 proto kernel scope link src 192.168.50.1
    192.168.50.0/24 via 192.168.50.2 dev tun1
    192.168.60.0/24 via 192.168.60.2 dev tun0
    default dev venet0 scope link

    # iptables -nvL
    Chain INPUT (policy ACCEPT 1286 packets, 210K bytes)
    pkts bytes target prot opt in out source destination

    Chain FORWARD (policy ACCEPT 602 packets, 37037 bytes)
    pkts bytes target prot opt in out source destination

    Chain OUTPUT (policy ACCEPT 838 packets, 146K bytes)
    pkts bytes target prot opt in out source destination

    # iptables -t nat -nvL
    WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
    FATAL: Module ip_tables not found.
    iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (d o you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

    # cat /proc/sys/net/ipv4/ip_forward
    1

    #

    Интереснененько однако FATAL: Module ip_tables not found…
    p.s: сетка 192.168.60.0/24 это такой же openvpn сервер, только поверх tcp (на случай прокси), он, само собой, так же не работает.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    И эту строку стоит заменить:
    push «route 0.0.0.0 0.0.0.0»
    push «route 192.168.50.1»

    Заменил, в поведении ничего не изменилось, т.е. любой trace route кончается на 192.168.50.1, однако на клиенте изменились маршруты: остался только 0.0.0.0 128.0.0.0 через шлюз 192.168.50.5, и интерфесом 192.168.50.6, а маршрут 0.0.0.0 0.0.0.0 через тоннель исчез.

    p.s: ну точно, убрал строку с маршрутами вообще получил тоже самое, что и со строкой
    push «route 192.168.50.1»
    и поведение никак не изменилось.
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    1) net.ipv4.ip_forward=1

    А после этого был сервер перезагружен?

    да.

    2)
    И эту строку стоит заменить:
    push «route 0.0.0.0 0.0.0.0»
    push «route 192.168.50.1»

    Кхм, попробую, однако на стороне клиента маршруты верно прописаны.
    У меня вообще сомнения, что это правило нужно, ибо уже имеется
    push «redirect-gateway def1 bypass-dhcp»
  • Проблема с настройкой OpenVPN сервера

    ElleSolomina
    @ElleSolomina Автор вопроса
    Или это не проблема, если в логе НЕТ сообщения:
    NOTE: unable to redirect default gateway — Cannot read current default gateway from system