- Простота:
Предоставить небольшую по размеру монолитную архитектуру, которая
поддерживает основной стандарт и наиболее важные возможности IKEv2.
Под монолитностью мы подразумеваем отсутствие цели запихнуть как
можно больше возможностей в огромное количество динамических библиотек.
- Чистота кода:
Писать читабельный и чистый код, строго следуя правилам
style(9).
- Безопасность:
Писать безопасный код, проводя строгие проверки, в особенности при
использовании операций с динамическими буферами и при разграничении
привелегий, чтобы уменьшить вред от возможных уязвимостей. Использовать
стойкую криптографию. В разумных пределах конечно же, но с как можно
более безопасными параметрами по умолчанию.
- Совместимость:
Обеспечить хорошую совместимость с другими IKEv2 реализациями.
Поддерживать нестандартные расширения, если это необходимо для
совместимости с другими основными реализациями.
- Простая конфигурация:
Сделать настройку простой и удобной при помощи оптимальных настроек по
умолчанию, небольших файлов конфигурации и хорошей документации в
man-страницах. Стараться избегать головной боли прошлого из-за
использования других реализаций IKE.