I found a bug.
ProtocolFilters supports generating debug logs.
To generate the log replace ProtocolFilters.dll with a version from
Release_c_api_logs or Release_logs (depending on C or C++ API is used)
and reproduce the problem.
C# and Delphi wrappers use ProtocolFilters with C API.
The debug log will be written to ProtocolFiltersLog.txt in the same folder with executable. Send it with a description of the issue to firstname.lastname@example.org.
The debug build starts writing log automatically. It is possible to start and stop writing the logs using API functions pf_startLog/pf_stopLog,
for example to save several log files and control their size.
Unable to link with the static build of protocolfilters.lib, the linker shows "unresolved external symbol" errors.
Define a symbol _PF_STATIC_LIB in project configuration or insert the following string before including protocolfilters.h:
#define _PF_STATIC_LIB 1
Firefox doesn't open HTTPS pages and displays a warning.
The root certificate must be imported to certificate storages of all
browsers to avoid errors. Chrome and IE use system storage, where the
certificate is always imported automatically. For Firefox and other
Mozilla products SSL filter requires the following:
- It is necessary to copy nss subfolder with certutil.exe and all
dependent libraries to a folder with your application. This tool is
used to import certificates to Mozilla storages.
- The filtering process must have elevated administrative privileges
to access all user profile folders.
- It is necessary to call pf_setRootSSLCertSubject after pf_init to
start importing root certificate to all supported storages. The
process can take up to several minutes depending on the number of
files in user profile folders.
- The filter must be started before Firefox and other Mozilla
products, because they overwrite the certificate storage in profile
folder (cert8.db, cert9.db).
- The latest versions of Firefox (58.x) use a different storage format
for the certificate database. It is supported in latest builds of
ProtocolFilters (126.96.36.199), with included nss tools version 3.35.