WSAStartup is called from assuan_sock_init.
And I believe that an application should call assuan_sock_init (when it uses assuan sock API afterwards), instead of calling WSAStartup by itself.
But IIUC, I found discrepancies in:
- dirmngr-client:
- dirmngr/dirmngr-client.c: Calling WSAStartup
- dirmngr
- dirmngr/http.c: Calling WSAStartup
- gpg, gpgsm, tools/*
- No call of assuan_sock_init
I think that calling WSAStartup from _init_common_subsystem should be removed and an application should call assuan_sock_init.
I think that correct executable does:
- gpg-agent
- agent/gpg-agent.c: Call init_common_subsystems and assuan_sock_init
- keyboxd
- kbx/keyboxd.c: Call init_common_subsystems and assuan_sock_init
- scdaemon:
- scd/scdaemon.c: Call init_common_subsystems and assuan_sock_init