LINUX.ORG.RU

Сообщения seryoga

 

DHT. Инфа. Что почитать?

 , ,

Приветствую!

Скажите, что интересного можно почитать за тему распределенных хеш таблиц (DHT)? От самых основ и, если есть, с примерами реализации «на пальцах», то совсем отлично. Занимался кто таким?

seryoga
()

Уникальный ID для класса.

 

Приветствую.

Вот какая фигня. Есть интерфейс, например

struct A {
    virtual ~A() { }
    virtual void somecall( ) = 0;
};
и есть несколько его релизаций, которые хранятся в мапе. в коде получение определенного объекта выглядит как-то так
class B: public A {} 
.....

mumap.getinst<B>( ).somecall( );

вызов getinst находит в мапе объект, приводит его к требуемому классу (static_cast) и возвращает ссылку нужного типа. колючем в мапе сейчас обертка над std::type_info, что не очень хорошо, поскольку можно сделать -fno-rtti и typeid будет недоступен.

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

рассматриваю пока варианты:

- некое имя, которое прописывать к каждому классу (плохо)
- хеш от имени файла (макрос __FILE__). Да, каждый наследник реализован в отдельном. Не переносимо (?)
- случайное число, сгенеряченое при старте и лежащее в статическом члене + проверка на то, что такое уже, возможно попадалось и перегенерячивание заново при заполнении мапы. (хм, даже не знаю).

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

seryoga
()

Безопасность в децентрализованных сетях. Как?

 , ,

Приветсвую.

Собственно сабж. Как в децентрализованных сетях достигается безопасность? Если каждый узел может принадлежать кому угодно.

Вот ситуация. Узлу А нужно установить безопасное «соединение» с узлом Б. На пути есть несколько других узлов. DH тут не вариант. DSA, вроде бы, тоже. Потому как один из узлов на пути может оказаться «товарищем майором». Остается приватный/публичный ключ. И тут возникает вопрос в выдаче, проверке подлинности/нескомпрометированности ключа. если будет какой-то общий CA сети, то она получится не совсем децентрализованной. Может кто на пальцах объяснить, как в этом случае 2 человека из любой точки сети могут безопасно обменяться сообщениями? Или куда на эту тему можно почитать?

Спасибо.

Перемещено leave из development

seryoga
()

Зачем нужен FIPS?

 

hi.

Скажите, зачем нужен FIPS в OpenSSL? и что будет если его не будет?

Спасибо.

////////

а, все нашел. https://www.opennet.ru/opennews/art.shtml?num=34261 для американских гос организаций. ТО есть в моей поделке не нужен от слова совсем, верно?

seryoga
()

Как подцепить статическую нативную либу в Android Studio?

 ,

Hi

Есть проект для андроида, который должен использовать нативную либу. Проект — простой hello-jni, в который я хочу подключить свою testlib.a

либa уже собрана NDK и лежит там, где лежит

открываю build.gradle и добавляю в него:

def lib_path = "/home/data/android/libs/testlib"

module {
    repositories {
        libs(PrebuiltLibraries) {
            testlib {
                headers.srcDir "${lib_path}/include"
                binaries.withType(StaticLibraryBinary) {
                    staticLibraryFile = file("${lib_path}/lib/${targetPlatform.getName()}/testlib.a")
                }
            }
        }
    }
....
/// добавляю зависимость в jni
    android.sources {
        main {
            jni {
                dependencies {
                    library "testlib" linkage "static"
                }
            }
        }
    }
}

И вот тут получаю факап, потому что такой грейдл нихера не валиден, потому как

Error:Attempt to mutate closed view of model of type 'java.lang.Object' given to rule 'model.android.sources'

если заремарить строчку library "testlib" linkage "static" то все собирается..ну кроме того что я получаю unresolved symbol

гугление ничего не дало. Подобные ошибки находил, но на других моментах, и они были поправлены уже.

нашел доку по gradle http://tools.android.com/tech-docs/new-build-system/gradle-experimental и там вижу похожий пример, который у меня приводит к ошибке.

Куда еще смотреть?

seryoga
()

SLL/TLS клиент и сервер наобарот

 

Hi.

Есть некий прожект, который юзает OpenSSL, сервер, сертификаты, это все. Теперь я хочу, чтобы не сервер владел приватным ключом, а клиент сертификатом, а наоборот.

Нужно это для того, чтоб сервер понял, что к нему пришел именно тот, на кого у него есть сертификат, но никто другой. То есть как в OpenSSL выполнить хендшейк наоборот и возможно ли это? Я даже не знаю как такое загуглить. С openSSL дело имел, но не много.

В какую сторону копать?

seryoga
()

RSS подписка на новые темы