diff options
author | Vijay Raghavan Aravamudhan <vraravam@users.noreply.github.com> | 2021-09-08 22:57:46 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-08 22:57:46 +0530 |
commit | cc48de52195366408d9eb93b1d5782ee60ebcc9d (patch) | |
tree | 99049530f9e20096465a15b983a4dc22c698565b /src/index.js | |
parent | chore: proxy feature is always turned on: remove 'enabled' flag (diff) | |
download | ferdium-app-cc48de52195366408d9eb93b1d5782ee60ebcc9d.tar.gz ferdium-app-cc48de52195366408d9eb93b1d5782ee60ebcc9d.tar.zst ferdium-app-cc48de52195366408d9eb93b1d5782ee60ebcc9d.zip |
Ability for service recipe to expose known certificate hosts (#1890)
Diffstat (limited to 'src/index.js')
-rw-r--r-- | src/index.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/index.js b/src/index.js index 55f58bb56..ae75865c6 100644 --- a/src/index.js +++ b/src/index.js | |||
@@ -470,7 +470,7 @@ ipcMain.on('open-browser-window', (e, { url, serviceId }) => { | |||
470 | ipcMain.on( | 470 | ipcMain.on( |
471 | 'modifyRequestHeaders', | 471 | 'modifyRequestHeaders', |
472 | (e, { modifiedRequestHeaders, serviceId }) => { | 472 | (e, { modifiedRequestHeaders, serviceId }) => { |
473 | debug('Received modifyRequestHeaders', modifiedRequestHeaders, serviceId); | 473 | debug(`Received modifyRequestHeaders ${modifiedRequestHeaders} for serviceId ${serviceId}`); |
474 | modifiedRequestHeaders.forEach(headerFilterSet => { | 474 | modifiedRequestHeaders.forEach(headerFilterSet => { |
475 | const { headers, requestFilters } = headerFilterSet; | 475 | const { headers, requestFilters } = headerFilterSet; |
476 | session | 476 | session |
@@ -488,6 +488,24 @@ ipcMain.on( | |||
488 | }, | 488 | }, |
489 | ); | 489 | ); |
490 | 490 | ||
491 | ipcMain.on( | ||
492 | 'knownCertificateHosts', | ||
493 | (e, { knownHosts, serviceId }) => { | ||
494 | debug(`Received knownCertificateHosts ${knownHosts} for serviceId ${serviceId}`); | ||
495 | session | ||
496 | .fromPartition(`persist:service-${serviceId}`) | ||
497 | .setCertificateVerifyProc((request, callback) => { | ||
498 | // To know more about these callbacks: https://www.electronjs.org/docs/api/session#sessetcertificateverifyprocproc | ||
499 | const { hostname } = request; | ||
500 | if (knownHosts.find(item => item.includes(hostname)).length > 0) { | ||
501 | callback(0); | ||
502 | } else { | ||
503 | callback(-2); | ||
504 | } | ||
505 | }); | ||
506 | }, | ||
507 | ); | ||
508 | |||
491 | ipcMain.on('feature-basic-auth-cancel', () => { | 509 | ipcMain.on('feature-basic-auth-cancel', () => { |
492 | debug('Cancel basic auth'); | 510 | debug('Cancel basic auth'); |
493 | 511 | ||