O KCGI é uma biblioteca CGI de código aberto e FastCGI para aplicativos da Web C/C ++. É mínimo, seguro, auditável e se encaixa na pilha de software BCHS.
Para manter -se atualizado com a versão estável atual do KCGI , visite https://kristaps.bsd.lv/kcgi. O site também contém instalação canônica, implantação, exemplos e documentação de uso.
Você precisará de um compilador C (GCC ou CLANG), ZLIB ( ZLIB ou ZLIB-DEV para alguns gerentes de pacotes) e BSD Make ( BMake para alguns gerentes) para construção.
Em alguns sistemas Linux, você também pode precisar dos cabeçalhos do kernel do Linux instalados usando o pacote Linux-Headers ou similares.
Comece clonando ou download. Em seguida, configure com ./configure , compile com make (BSD Make, para que possa ser bmake no seu sistema) e make install (ou usar sudo ou doas , se aplicável). Para instalar em um diretório alternativo para /usr/local , defina a variável PREFIX quando executar configure .
./configure PREFIX= ~ /.local
make
make installUm idioma comum para implantar no Linux é usar o libbsd, conforme observado na documentação da OCONFIGURE:
CFLAGS=$(pkg-config --cflags libbsd-overlay)
./configure LDFLAGS=$(pkg-config --libs libbsd-overlay)
make
make install
É útil executar os testes de regressão instalados nas fontes de borda de sangramento. (Novamente, isso usa o BSD Make, para que possa ser bmake no seu sistema.) Você precisará de instalação do libcurl ( Curl-dev , libcurl-dev ou libcurl4-onssl-dev com alguns gerentes de pacotes).
make regress O sistema contém um conjunto de regressão completo e também é construído para trabalhar com a AFL. Para executar alguns dos testes agrupados, use os binários compilados no diretório afl . (Novamente, isso usa o BSD Make, para que possa ser bmake no seu sistema.)
make afl
cd afl
afl-fuzz -i in/urlencoded -o out -- ./afl-urlencodedO repositório público do repositório GitHub para KCGI usa testes automatizados em cada check-in para executar os testes de regressão. Esses testes automatizados são direcionados principalmente ao Linux, cujo mecanismo de segurança requer manutenção constante. Os seguintes sistemas são verificados:
O desenvolvimento está principalmente no OpenBSD.
Eles também são executados semanalmente para capturar quaisquer alterações à medida que novos recursos do sistema operacional entram em jogo.
Todas as fontes usam a licença ISC (como o OpenBSD). Consulte o arquivo License.md para obter detalhes.