- New upstream release 2024.11.0

* Security update for generating passphrases
  * Enable email verification for account creation

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=79
This commit is contained in:
Bruno Pitrus 2024-11-15 10:01:26 +00:00 committed by Git OBS Bridge
parent 06de2b2e21
commit 4395097d0a
12 changed files with 181 additions and 90 deletions

View File

@ -2,8 +2,8 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/bitwarden/clients.git</param>
<param name="revision">desktop-v2024.10.0</param>
<param name="version">2024.10.0</param>
<param name="revision">desktop-v2024.11.0</param>
<param name="version">2024.11.0</param>
<param name="filename">bitwarden</param>
<param name="exclude">bitwarden_license/*</param>
<!-- The code in bitwarden_license MUST NOT be included in published tarballs as it is non-redistributable! -->

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26b5c39cde7b9bc25a503ec8ef9fcfde7e262b00ebd01a2c9967a3c1e3ff3172
size 43877901

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:318644bcf9ad44bc5d4d89cbb957c520142b387eb6cdaae35c51a9451d4006b7
size 45144077

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Nov 15 05:34:33 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.11.0
* Security update for generating passphrases
* Enable email verification for account creation
-------------------------------------------------------------------
Fri Oct 25 20:27:27 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>

View File

@ -1,4 +1,4 @@
name: bitwarden
version: 2024.10.0
mtime: 1729194341
commit: 0074d2f49ef4712920a13755ab07217ea1e57fd6
version: 2024.11.0
mtime: 1730912469
commit: c084592449e9765d7cb75e32ef034df4d9ccf274

View File

@ -22,7 +22,7 @@
Name: bitwarden
Version: 2024.10.0
Version: 2024.11.0
Release: 0
Summary: A secure and free password manager for all of your devices
Group: Productivity/Security

View File

@ -1,6 +1,6 @@
--- bitwarden-2024.10.0/apps/desktop/src/main/native-messaging.main.ts.orig 2024-10-17 21:45:41.000000000 +0200
+++ bitwarden-2024.10.0/apps/desktop/src/main/native-messaging.main.ts 2024-10-25 22:25:27.180541673 +0200
@@ -328,26 +328,7 @@ export class NativeMessagingMain {
--- clients-desktop-v2024.11.0/apps/desktop/src/main/native-messaging.main.ts.orig 2024-11-14 21:24:39.217775953 +0100
+++ clients-desktop-v2024.11.0/apps/desktop/src/main/native-messaging.main.ts 2024-11-14 21:37:48.932452741 +0100
@@ -399,26 +399,7 @@ export class NativeMessagingMain {
}
private binaryPath() {
@ -27,4 +27,4 @@
+ return 'XXXLIBDIRXXX/bitwarden/desktop_proxy'
}
private getRegeditInstance() {
private homedir() {

View File

@ -9,3 +9,14 @@
throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);
}
}
--- bitwarden/node_modules/vite/node_modules/esbuild/install.js.old 2023-02-18 17:54:51.928231193 +0100
+++ bitwarden/node_modules/vite/node_modules/esbuild/install.js 2023-02-18 18:18:42.659268572 +0100
@@ -85,7 +85,7 @@
}
throw err;
}
- if (stdout !== versionFromPackageJSON) {
+ if (0) {
throw new Error(`Expected ${JSON.stringify(versionFromPackageJSON)} but got ${JSON.stringify(stdout)}`);
}
}

View File

@ -12,9 +12,9 @@ This patch will be removed once some _actual_ JS functionality gets migrated to
},
"devFlags": {}
}
--- bitwarden-2024.10.0/apps/desktop/src/app/services/services.module.ts.orig 2024-10-17 21:45:41.000000000 +0200
+++ bitwarden-2024.10.0/apps/desktop/src/app/services/services.module.ts 2024-10-25 18:50:26.084318326 +0200
@@ -61,7 +61,6 @@ import { Message, MessageListener, Messa
--- clients-desktop-v2024.11.0/apps/desktop/src/app/services/services.module.ts.orig 2024-11-14 21:24:33.955145852 +0100
+++ clients-desktop-v2024.11.0/apps/desktop/src/app/services/services.module.ts 2024-11-14 21:39:37.686804726 +0100
@@ -72,7 +72,6 @@ import { Message, MessageListener, Messa
import { SubjectMessageSender } from "@bitwarden/common/platform/messaging/internal";
import { TaskSchedulerService } from "@bitwarden/common/platform/scheduling";
import { MemoryStorageService } from "@bitwarden/common/platform/services/memory-storage.service";
@ -22,7 +22,7 @@ This patch will be removed once some _actual_ JS functionality gets migrated to
import { NoopSdkClientFactory } from "@bitwarden/common/platform/services/sdk/noop-sdk-client-factory";
import { SystemService } from "@bitwarden/common/platform/services/system.service";
import { GlobalStateProvider, StateProvider } from "@bitwarden/common/platform/state";
@@ -308,7 +307,7 @@ const safeProviders: SafeProvider[] = [
@@ -344,7 +343,7 @@ const safeProviders: SafeProvider[] = [
}),
safeProvider({
provide: SdkClientFactory,
@ -30,20 +30,34 @@ This patch will be removed once some _actual_ JS functionality gets migrated to
+ useClass: NoopSdkClientFactory,
deps: [],
}),
];
--- bitwarden-2024.10.0/libs/common/src/platform/abstractions/sdk/sdk.service.ts.orig 2024-10-17 21:45:41.000000000 +0200
+++ bitwarden-2024.10.0/libs/common/src/platform/abstractions/sdk/sdk.service.ts 2024-10-25 21:29:50.614089204 +0200
@@ -1,9 +1,8 @@
safeProvider({
--- clients-desktop-v2024.11.0/libs/common/src/platform/abstractions/sdk/sdk.service.ts.orig 2024-11-14 21:24:34.402035860 +0100
+++ clients-desktop-v2024.11.0/libs/common/src/platform/abstractions/sdk/sdk.service.ts 2024-11-14 21:40:54.838696107 +0100
@@ -1,6 +1,5 @@
import { Observable } from "rxjs";
-import { BitwardenClient } from "@bitwarden/sdk-internal";
export abstract class SdkService {
- client$: Observable<BitwardenClient>;
+ client$: Observable<any>;
supported$: Observable<boolean>;
import { UserId } from "../../../types/guid";
abstract failedToInitialize(): Promise<void>;
@@ -14,7 +13,7 @@ export abstract class SdkService {
* Retrieve a client initialized without a user.
* This client can only be used for operations that don't require a user context.
*/
- client$: Observable<BitwardenClient | undefined>;
+ client$: Observable<any>;
/**
* Retrieve a client initialized for a specific user.
@@ -27,7 +26,7 @@ export abstract class SdkService {
*
* @param userId
*/
- abstract userClient$(userId: UserId): Observable<BitwardenClient>;
+ abstract userClient$(userId: UserId): Observable<any>;
abstract failedToInitialize(category: string, error?: Error): Promise<void>;
}
--- bitwarden-2024.10.0/libs/common/src/platform/abstractions/sdk/sdk-client-factory.ts.orig 2024-10-17 21:45:41.000000000 +0200
+++ bitwarden-2024.10.0/libs/common/src/platform/abstractions/sdk/sdk-client-factory.ts 2024-10-25 21:32:14.591461794 +0200
@@ -1,10 +1,9 @@
@ -77,28 +91,87 @@ This patch will be removed once some _actual_ JS functionality gets migrated to
return Promise.reject(new Error("SDK not available"));
}
}
--- bitwarden-2024.10.0/libs/common/src/platform/services/sdk/default-sdk.service.ts.orig 2024-10-17 21:45:41.000000000 +0200
+++ bitwarden-2024.10.0/libs/common/src/platform/services/sdk/default-sdk.service.ts 2024-10-25 22:08:02.781934761 +0200
@@ -1,6 +1,5 @@
import { concatMap, firstValueFrom, shareReplay } from "rxjs";
--- clients-desktop-v2024.11.0/libs/common/src/platform/services/sdk/default-sdk.service.ts.orig 2024-11-14 21:24:34.418710861 +0100
+++ clients-desktop-v2024.11.0/libs/common/src/platform/services/sdk/default-sdk.service.ts 2024-11-14 21:43:13.174498626 +0100
@@ -11,12 +11,6 @@ import {
} from "rxjs";
-import { LogLevel, DeviceType as SdkDeviceType } from "@bitwarden/sdk-internal";
import { KeyService } from "@bitwarden/key-management";
-import {
- BitwardenClient,
- ClientSettings,
- LogLevel,
- DeviceType as SdkDeviceType,
-} from "@bitwarden/sdk-internal";
import { ApiService } from "../../../abstractions/api.service";
import { DeviceType } from "../../../enums/device-type.enum";
@@ -19,7 +18,7 @@ export class DefaultSdkService implement
userAgent: this.userAgent ?? navigator.userAgent,
};
import { EncryptedOrganizationKeyData } from "../../../admin-console/models/data/encrypted-organization-key.data";
@@ -35,12 +29,12 @@ import { compareValues } from "../../mis
import { EncryptedString } from "../../models/domain/enc-string";
export class DefaultSdkService implements SdkService {
- private sdkClientCache = new Map<UserId, Observable<BitwardenClient>>();
+ private sdkClientCache = new Map<UserId, Observable<any>>();
client$ = this.environmentService.environment$.pipe(
concatMap(async (env) => {
const settings = this.toSettings(env);
- return await this.sdkClientFactory.createSdkClient(settings, LogLevel.Info);
+ return await this.sdkClientFactory.createSdkClient(settings, 'unused');
}),
shareReplay({ refCount: true, bufferSize: 1 }),
);
@@ -52,7 +51,7 @@ export class DefaultSdkService implement
@@ -62,7 +56,7 @@ export class DefaultSdkService implement
private userAgent: string = null,
) {}
- userClient$(userId: UserId): Observable<BitwardenClient | undefined> {
+ userClient$(userId: UserId): Observable<any> {
// TODO: Figure out what happens when the user logs out
if (this.sdkClientCache.has(userId)) {
return this.sdkClientCache.get(userId);
@@ -92,8 +86,8 @@ export class DefaultSdkService implement
// switchMap is required to allow the clean-up logic to be executed when `combineLatest` emits a new value.
switchMap(([env, account, kdfParams, privateKey, userKey, orgKeys]) => {
// Create our own observable to be able to implement clean-up logic
- return new Observable<BitwardenClient>((subscriber) => {
- let client: BitwardenClient;
+ return new Observable<any>((subscriber) => {
+ let client: any;
const createAndInitializeClient = async () => {
if (privateKey == null || userKey == null) {
@@ -101,7 +95,7 @@ export class DefaultSdkService implement
}
const settings = this.toSettings(env);
- client = await this.sdkClientFactory.createSdkClient(settings, LogLevel.Info);
+ client = await this.sdkClientFactory.createSdkClient(settings, 'unused');
await this.initializeClient(client, account, kdfParams, privateKey, userKey, orgKeys);
@@ -156,7 +150,7 @@ export class DefaultSdkService implement
}
private async initializeClient(
- client: BitwardenClient,
+ client: any,
account: AccountInfo,
kdfParams: KdfConfig,
privateKey: EncryptedString,
@@ -192,7 +186,7 @@ export class DefaultSdkService implement
});
}
- private toSettings(env: Environment): ClientSettings {
+ private toSettings(env: Environment): any {
return {
apiUrl: env.getApiUrl(),
identityUrl: env.getIdentityUrl(),
@@ -201,7 +195,7 @@ export class DefaultSdkService implement
};
}
- private toDevice(device: DeviceType): SdkDeviceType {
+ private toDevice(device: DeviceType): any {
switch (device) {

View File

@ -1,7 +1,7 @@
@types/semver and path-browserify is normally included transitively by storybook which we delete, adding it here explicitely because it is needed for build
--- clients-desktop-v2024.10.0/package.json.orig 2024-10-17 19:25:36.768284926 +0200
+++ clients-desktop-v2024.10.0/package.json 2024-10-17 19:42:05.732483029 +0200
--- clients-desktop-v2024.11.0/package.json.orig 2024-11-14 21:24:39.344505956 +0100
+++ clients-desktop-v2024.11.0/package.json 2024-11-14 21:30:01.698941768 +0100
@@ -13,7 +13,6 @@
},
"homepage": "https://bitwarden.com",
@ -10,31 +10,32 @@
"lint": "eslint . --cache --cache-strategy content && prettier --check .",
"lint:fix": "eslint . --cache --cache-strategy content --fix",
"lint:clear": "rimraf .eslintcache",
@@ -26,7 +25,7 @@
@@ -27,7 +26,7 @@
"storybook": "ng run components:storybook",
"build-storybook": "ng run components:build-storybook",
"build-storybook:ci": "ng run components:build-storybook --webpack-stats-json",
- "postinstall": "patch-package"
+ "postinstall": "true"
- "postinstall": "patch-package && rimraf ./node_modules/@types/glob && rimraf ./node_modules/@types/minimatch"
+ "postinstall": "rimraf ./node_modules/@types/glob && rimraf ./node_modules/@types/minimatch"
},
"workspaces": [
"apps/*",
@@ -35,117 +34,45 @@
@@ -36,117 +35,45 @@
],
"devDependencies": {
"@angular-devkit/build-angular": "16.2.14",
- "@angular-eslint/eslint-plugin": "16.3.1",
- "@angular-eslint/eslint-plugin-template": "16.3.1",
- "@angular-eslint/template-parser": "16.3.1",
- "@angular/cli": "16.2.14",
"@angular/compiler-cli": "16.2.12",
- "@angular/elements": "16.2.12",
"@angular-devkit/build-angular": "17.3.9",
- "@angular-eslint/eslint-plugin": "17.5.3",
- "@angular-eslint/eslint-plugin-template": "17.5.3",
- "@angular-eslint/schematics": "17.5.3",
- "@angular-eslint/template-parser": "17.5.3",
- "@angular/cli": "17.3.9",
"@angular/compiler-cli": "17.3.12",
- "@angular/elements": "17.3.12",
"@babel/core": "7.24.9",
"@babel/preset-env": "7.24.8",
- "@compodoc/compodoc": "1.1.25",
- "@electron/notarize": "2.5.0",
- "@electron/rebuild": "3.6.0",
"@ngtools/webpack": "16.2.14",
- "@electron/rebuild": "3.7.0",
"@ngtools/webpack": "17.3.9",
- "@storybook/addon-a11y": "8.2.9",
- "@storybook/addon-actions": "8.2.9",
- "@storybook/addon-designs": "8.0.3",
@ -45,24 +46,24 @@
- "@storybook/manager-api": "8.2.9",
- "@storybook/theming": "8.2.9",
- "@types/argon2-browser": "1.18.4",
- "@types/chrome": "0.0.272",
- "@types/chrome": "0.0.280",
- "@types/firefox-webext-browser": "120.0.4",
- "@types/inquirer": "8.2.10",
"@types/jest": "29.5.12",
- "@types/jquery": "3.5.30",
- "@types/jquery": "3.5.32",
- "@types/jsdom": "21.1.7",
- "@types/koa": "2.14.0",
- "@types/koa": "2.15.0",
- "@types/koa__multer": "2.0.7",
- "@types/koa__router": "12.0.4",
- "@types/koa-bodyparser": "4.3.7",
- "@types/koa-json": "2.0.23",
- "@types/lowdb": "1.0.15",
"@types/lunr": "2.3.7",
"@types/node": "20.16.10",
"@types/node": "20.17.1",
- "@types/node-fetch": "2.6.4",
"@types/node-forge": "1.3.11",
"@types/node-ipc": "9.2.3",
"@types/papaparse": "5.3.14",
"@types/papaparse": "5.3.15",
- "@types/proper-lockfile": "4.1.4",
- "@types/retry": "0.12.5",
+ "@types/semver": "^7.3.4",
@ -70,7 +71,7 @@
- "@typescript-eslint/eslint-plugin": "7.16.1",
- "@typescript-eslint/parser": "7.16.1",
- "@webcomponents/custom-elements": "1.6.0",
- "@yao-pkg/pkg": "5.14.0",
- "@yao-pkg/pkg": "5.16.1",
"autoprefixer": "10.4.20",
- "babel-loader": "9.1.3",
- "base64-loader": "1.0.0",
@ -85,7 +86,7 @@
"electron-log": "5.0.1",
- "electron-reload": "2.0.0-alpha.1",
"electron-store": "8.2.0",
"electron-updater": "6.3.4",
"electron-updater": "6.3.9",
- "eslint": "8.57.0",
- "eslint-config-prettier": "9.1.0",
- "eslint-import-resolver-typescript": "3.6.1",
@ -95,15 +96,15 @@
- "eslint-plugin-storybook": "0.8.0",
- "eslint-plugin-tailwindcss": "3.17.4",
- "gulp": "4.0.2",
- "gulp-filter": "9.0.1",
- "gulp-if": "3.0.0",
- "gulp-json-editor": "2.6.0",
- "gulp-replace": "1.1.4",
- "gulp-zip": "6.0.0",
"html-loader": "5.0.0",
- "html-webpack-injector": "1.1.4",
"html-webpack-plugin": "5.6.0",
"html-webpack-plugin": "5.6.3",
- "husky": "9.1.4",
"jest-extended": "^4.0.2",
- "jest-junit": "16.0.0",
"jest-mock-extended": "3.0.7",
- "jest-preset-angular": "14.1.1",
@ -116,19 +117,18 @@
- "prettier": "3.3.3",
- "prettier-plugin-tailwindcss": "0.6.8",
- "process": "0.11.10",
"regedit": "3.0.3",
- "remark-gfm": "4.0.0",
"rimraf": "6.0.1",
"sass": "1.74.1",
"sass-loader": "16.0.1",
- "storybook": "8.2.9",
- "style-loader": "3.3.4",
- "tailwindcss": "3.4.11",
- "tailwindcss": "3.4.14",
- "ts-jest": "29.2.2",
"ts-loader": "9.5.1",
"tsconfig-paths-webpack-plugin": "4.1.0",
- "type-fest": "2.19.0",
"typescript": "5.1.6",
"typescript": "5.4.2",
"url": "0.11.4",
- "util": "0.12.5",
- "wait-on": "8.0.1",
@ -139,19 +139,19 @@
+ "webpack-cli": "5.1.4"
},
"dependencies": {
"@angular/animations": "16.2.12",
@@ -157,57 +84,28 @@
"@angular/platform-browser": "16.2.12",
"@angular/platform-browser-dynamic": "16.2.12",
"@angular/router": "16.2.12",
- "@bitwarden/sdk-internal": "0.1.3",
"@angular/animations": "17.3.12",
@@ -158,57 +84,28 @@
"@angular/platform-browser": "17.3.12",
"@angular/platform-browser-dynamic": "17.3.12",
"@angular/router": "17.3.12",
- "@bitwarden/sdk-internal": "0.2.0-main.3",
- "@electron/fuses": "1.8.0",
- "@koa/multer": "3.0.2",
- "@koa/router": "12.0.1",
- "@koa/router": "13.1.0",
"@microsoft/signalr": "8.0.7",
"@microsoft/signalr-protocol-msgpack": "8.0.7",
"@ng-select/ng-select": "11.2.0",
"argon2": "0.40.1",
"@ng-select/ng-select": "12.0.7",
"argon2": "0.41.1",
- "argon2-browser": "1.18.0",
"big-integer": "1.6.52",
- "bootstrap": "4.6.0",
@ -167,18 +167,18 @@
- "jquery": "3.7.1",
- "jsdom": "25.0.1",
"jszip": "3.10.1",
- "koa": "2.15.0",
- "koa": "2.15.3",
- "koa-bodyparser": "4.4.1",
- "koa-json": "2.0.2",
- "lowdb": "1.0.0",
"lunr": "2.3.9",
- "multer": "1.4.5-lts.1",
- "ngx-infinite-scroll": "16.0.0",
"ngx-toastr": "17.0.2",
- "ngx-infinite-scroll": "17.0.1",
"ngx-toastr": "18.0.0",
"node-fetch": "2.6.12",
"node-forge": "1.3.1",
"nord": "0.2.1",
"oidc-client-ts": "2.4.0",
"oidc-client-ts": "2.4.1",
- "open": "8.4.2",
"papaparse": "5.4.1",
- "patch-package": "8.0.0",
@ -188,9 +188,9 @@
- "qrious": "4.0.2",
"rxjs": "7.8.1",
- "tabbable": "6.2.0",
"tldts": "6.1.48",
"tldts": "6.1.58",
"utf-8-validate": "6.0.4",
"zone.js": "0.13.3",
"zone.js": "0.14.10",
"zxcvbn": "4.4.2"
},
"overrides": {

View File

@ -1,10 +1,10 @@
--- clients/node_modules/argon2/binding.gyp.orig 2024-07-15 19:27:24.157408387 +0200
+++ clients/node_modules/argon2/binding.gyp 2024-07-15 19:40:42.806528404 +0200
--- vendor/node_modules/argon2/binding.gyp.orig 2024-11-14 21:31:38.677408520 +0100
+++ vendor/node_modules/argon2/binding.gyp 2024-11-14 21:51:57.719983077 +0100
@@ -20,7 +20,7 @@
"Release": {
"target_conditions": [
["OS != 'win'", {
- "cflags+": ["-fdata-sections", "-ffunction-sections", "-flto", "-fvisibility=hidden"],
- "cflags+": ["-fdata-sections", "-ffunction-sections", "-fvisibility=hidden"],
+ "cflags+": ["-fvisibility=hidden"],
"ldflags+": ["-Wl,--gc-sections"]
}]
@ -39,10 +39,10 @@
"NAPI_VERSION=<(napi_build_version)",
@@ -58,10 +39,15 @@
"sources": [
"argon2_node.cpp"
"argon2.cpp"
],
- "cflags_cc+": ["-Wall", "-Wextra", "-Wconversion", "-Wformat", "-Wnon-virtual-dtor", "-pedantic", "-Werror"],
+ "cflags_cc+": ["-Wall", "-Wextra", "-Wconversion", "-Wformat", "-Wnon-virtual-dtor", "-pedantic"],
- "cflags_cc+": ["-Wall", "-Wextra", "-Wformat", "-Wnon-virtual-dtor", "-pedantic", "-Werror"],
+ "cflags_cc+": ["-Wall", "-Wextra", "-Wformat", "-Wnon-virtual-dtor", "-pedantic"],
"cflags_cc!": ["-fno-exceptions"],
"include_dirs": ["<!(node -p \"require('node-addon-api').include_dir\")"],
- "dependencies": ["libargon2"],
@ -55,11 +55,11 @@
"configurations": {
"Debug": {
"conditions": [
--- clients/node_modules/argon2/argon2_node.cpp.orig 2024-07-15 19:27:24.130728388 +0200
+++ clients/node_modules/argon2/argon2_node.cpp 2024-07-15 19:42:24.944237666 +0200
--- vendor/node_modules/argon2/argon2.cpp.orig 2024-11-14 21:31:38.537338517 +0100
+++ vendor/node_modules/argon2/argon2.cpp 2024-11-14 21:56:26.220837915 +0100
@@ -1,4 +1,4 @@
-#include "argon2/include/argon2.h"
+#include <argon2.h>
#include <cassert>
#include <cstdint>
#include <napi.h>
#include <string>

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7d9a45904752aa44bff0ad0f79f1d055b9b264ec6ee72e14a1bbe334ea6119e
size 43653045
oid sha256:8017cac9e3bef90d06c8b591b543f064caf8201416bc2452eee30e7ca5259561
size 41302614