Да, '\0' учитываю. PSK для хоста должен ведь быть длиной 28?
UserSpace отрабатывает в случае с PSK нормально, но там у вас чистый C++, а у меня приходится использовать C++ из C, возможно на этом и валится.
При попытке использовать vblob1/vblob3 и, соответственно gcc вместо g++, наэинают лезть ошибки компиляции sadb.h/ike_gost.h:
gcc -pipe -Wall -ggdb3 -Wall -I. -I/opt/cprocsp/ipsec/include -I/opt/cprocsp/include/cpcsp -I/opt/cprocsp/include -DUNIX -DLINUX -DSIZEOF_VOID_P=4 -c -o initialize.o initialize.c
In file included from ike_gost.h:39:0,
from initialize.c:8:
sadb.h:39:16: error: expected ';', ',' or ')' before '&' token
sadb.h:53:12: error: expected ';', ',' or ')' before '&' token
sadb.h:95:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CreateProvFn'
sadb.h:96:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CreatePSKFn'
sadb.h:110:5: error: expected specifier-qualifier-list before 'CreateProvDecl'
In file included from initialize.c:8:0:
ike_gost.h:74:12: error: expected ';', ',' or ')' before '&' token
ike_gost.h:85:12: error: expected ';', ',' or ')' before '&' token
ike_gost.h:96:12: error: expected ';', ',' or ')' before '&' token
ike_gost.h:109:12: error: expected ';', ',' or ')' before '&' token
ike_gost.h:124:12: error: expected ';', ',' or ')' before '&' token
ike_gost.h:138:17: error: expected ';', ',' or ')' before '&' token
ike_gost.h:283:5: error: expected specifier-qualifier-list before 'getPSKnotAfterDecl'
ike_gost.h:347:46: warning: type defaults to 'int' in declaration of 'ike_gost_in'
ike_gost.h:347:57: error: expected ';', ',' or ')' before '*' token
...
Как быть в данном случае?