Man pages should mention the libraries that their routines rely on. It is missing from the cipher(3) man page. The obvious entries of -ldes and -lcrypto don't work. A lot of people are having problems with this. They see the libc error messages and think crypto is not available. The search engines show a lot of queries about: /var/tmp/ccO60021.o(.text+0x2c): WARNING! des_cipher(3) not present in the system! ches How-To-Repeat: ches-netmapper:~/map/dev/ches/snk$ cat t.c int main(int argc, char *argv[]) { char buf[1000]; des_setkey("xxx"); des_cipher(buf, buf, 0, 16); setkey("ccc"); encrypt(buf, 1); } ches-netmapper:~/map/dev/ches/snk$ cc t.c /var/tmp/cck60048.o: In function `main': /var/tmp/cck60048.o(.text+0x12): WARNING! des_setkey(3) not present in the system! /var/tmp/cck60048.o(.text+0x2c): WARNING! des_cipher(3) not present in the system! /var/tmp/cck60048.o(.text+0x3c): WARNING! setkey(3) not present in the system! /var/tmp/cck60048.o(.text+0x50): WARNING! encrypt(3) not present in the system!
Responsible Changed From-To: freebsd-doc->ben Committed to -current, I'll MFC it soon.
State Changed From-To: open->closed Committed in -current and MFC'd by ru, thanks!