KCGI adalah perpustakaan CGI dan FastCGI open source untuk aplikasi web C/C ++. Ini minimal, aman, dapat diaudit, dan cocok dalam tumpukan perangkat lunak BCHS Anda.
Agar tetap up to date dengan rilis stabil KCGI saat ini, kunjungi https://kristaps.bsd.lv/kcgi. Situs web ini juga berisi instalasi kanonik, penyebaran, contoh, dan dokumentasi penggunaan.
Anda membutuhkan kompiler C (GCC atau Clang), Zlib ( Zlib atau Zlib-dev untuk beberapa manajer paket), dan BSD Make ( BMake untuk beberapa manajer) untuk membangun.
Pada beberapa sistem Linux, Anda mungkin juga memerlukan header kernel Linux yang diinstal menggunakan paket Linux-Headers atau serupa.
Mulailah dengan mengkloning atau mengunduh. Kemudian konfigurasikan dengan ./configure , kompilasi dengan make (BSD Make, sehingga mungkin bmake pada sistem Anda), kemudian make install (atau gunakan sudo atau doas , jika berlaku). Untuk menginstal di direktori alternatif ke /usr/local , atur variabel PREFIX saat Anda menjalankan configure .
./configure PREFIX= ~ /.local
make
make installIdiom umum untuk digunakan di Linux adalah dengan menggunakan libbsd sebagaimana dicatat dalam dokumentasi Oconfigure:
CFLAGS=$(pkg-config --cflags libbsd-overlay)
./configure LDFLAGS=$(pkg-config --libs libbsd-overlay)
make
make install
Berguna untuk menjalankan tes regresi terpasang pada sumber tepi pendarahan. bmake
make regress Sistem ini berisi suite regresi penuh dan juga dibangun untuk bekerja dengan AFL. Untuk menjalankan beberapa tes yang dibundel, gunakan binari yang dikompilasi ke dalam direktori afl . (Sekali lagi, ini menggunakan BSD Make, jadi mungkin bmake di sistem Anda.)
make afl
cd afl
afl-fuzz -i in/urlencoded -o out -- ./afl-urlencodedRepositori Repositori GitHub Publik untuk KCGI menggunakan pengujian otomatis pada setiap check-in untuk menjalankan tes regresi. Tes otomatis ini terutama ditujukan pada Linux, yang mekanismenya yang keamanannya membutuhkan pemeliharaan yang konstan. Sistem berikut diperiksa:
Pengembangan terutama di OpenBSD.
Ini juga dijalankan setiap minggu untuk menangkap perubahan apa pun saat fitur sistem operasi baru berperan.
Semua sumber menggunakan lisensi ISC (seperti OpenBSD). Lihat file lisensi.md untuk detailnya.