native messaging on Firefox

This commit is contained in:
antelle 2021-04-11 23:28:24 +02:00
parent bba07bb83a
commit fe86cd6320
No known key found for this signature in database
GPG Key ID: 63C9777AAB7C563C
1 changed files with 11 additions and 5 deletions

View File

@ -26,8 +26,12 @@ constexpr auto kSockName = "keeweb-browser.sock";
constexpr std::array kAllowedOrigins = {
// KeeWeb Connect: Chrome
std::string_view("chrome-extension://enjifmdnhaddmajefhfaoglcfdobkcpj/"),
// KeeWeb Connect: Firefox
std::string_view("keeweb-connect@keeweb.info"),
// KeePassXC-Browser: Chrome
std::string_view("chrome-extension://oboonakemofpalcgghocfoadofidjkkk/"),
// KeePassXC-Browser: Firefox
std::string_view("keepassxc-browser@keepassxc.org"),
// KeePassXC-Browser: Edge
std::string_view("chrome-extension://pdffhmdngciaglkoonimfcmckehcpafo/"),
};
@ -60,12 +64,14 @@ bool check_args(int argc, char *argv[]) {
return false;
}
std::string origin = argv[1];
auto found = std::find(kAllowedOrigins.begin(), kAllowedOrigins.end(), origin);
if (found == kAllowedOrigins.end()) {
std::cerr << "Bad origin: " << origin << std::endl;
return false;
for (int arg = 1; arg < argc; arg++) {
std::string origin = argv[arg];
auto found = std::find(kAllowedOrigins.begin(), kAllowedOrigins.end(), origin);
if (found != kAllowedOrigins.end()) {
return true;
}
}
std::cerr << "Bad origin" << std::endl;
return true;
}