Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Brian Smith wrote: >>> (1) when is the disconnect function supposed to be called (e.g. >>> gserver_disconnect)? It doesn't seem like it is ever getting called. >>> > > On the client or the server? Could you add a little more documentation > to about the protocol_interface structure describing when each of the > functions is supposed to be called, and whether they are called on the > client and/or the server? > In the client. Basically it goes like: destroy - both - class destructor validate_details - client - called during cvsroot parsing connect - client - called after parsing to connect server disconnect - client - (should be) called when the client exits login - client - called by 'cvs login' logout - client - called by 'cvs logout' wrap - both - perform encryption/decryption and signing auth_protocol_connect - server - check if authentication is valid for this library get_port - client - get port number read_data - client - Read data from the server write_data - client - Write data to the server flush_data - client - flush write buffers shutdown - client - shutdown server socket impersonate - server - perform protocol specific impersonation The server side always uses stdin/stdout to communicate so it's a lot simpler to implement. >> Mapping the DLLs is just a matter of deciding search order (calling it >> 'protocol_adgserver.dll' would be enough, as the filenames come in in >> alphabetical order). The AD version would have to be a separate file >> (replacing the gssapi_win32 stuff probably) - The MIT stuff has to >> stay the same for the unix versions. > > > I don't think that will work because I want to be able to support MIT > Kerberos on Windows 2000 too. Instead, I am thinking of having a single > "gserver_protocol" DLL that uses a flag to decide between MIT and > Microsoft implementations (each of which would reside in a different DLL). You can do it that way with a flag as well - just make the first protocol dll return CVSPROTO_NOTME if it's disabled. On NT4 of course the AD DLL won't even load (because it will be linked to Win2k libraries). If you can make it work with a single DLL without getting overly complex (and without breaking the unix version) then go ahead... Tony _______________________________________________ Cvsnt mailing list Cvsnt at cvsnt.org http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt https://www.march-hare.com/cvspro/en.asp#downcvs