rpcsec_gss_if.c has: - rpcgss_calls_init(), which tries to dlopen("rpcsec.so.1", RTLD_LAZY) and, if successful, tries to dlsym() a variety of symbols and places them in a global variable.
- Stubs for rpc_gss_*() that call rpcgss_calls_init() and then call the corresponding function pointer saved by rpcgss_calls_init(). The function names in rpcsec.so.1 are the same as in rpcsec_gss_if.c, but prefixed with "__". It seems to me that the Right Thing to do here is to use auxiliary filters. Or even to just fold "rpcsec.so.1" into libnsl (unless we think this filter approach is desirable for minimization). Comments? Nico --