commit
2ca7c1448a
@ -0,0 +1 @@
|
|||||||
|
SOURCES/seahorse-43.0.tar.xz
|
@ -0,0 +1 @@
|
|||||||
|
9c7f63cdf07275c8f7d45ad1904e06e8fa002c0b SOURCES/seahorse-43.0.tar.xz
|
@ -0,0 +1,25 @@
|
|||||||
|
From 9260c74779be3d7a378db0671af862ffa3573d42 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Xi Ruoyao <xry111@xry111.site>
|
||||||
|
Date: Wed, 21 Dec 2022 20:58:26 +0800
|
||||||
|
Subject: [PATCH] Allow building with GnuPG-2.4.x
|
||||||
|
|
||||||
|
---
|
||||||
|
meson.build | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/meson.build b/meson.build
|
||||||
|
index e29b5322..23d0b54f 100644
|
||||||
|
--- a/meson.build
|
||||||
|
+++ b/meson.build
|
||||||
|
@@ -26,7 +26,7 @@ endif
|
||||||
|
# Dependencies
|
||||||
|
min_glib_version = '2.66'
|
||||||
|
min_gcr_version = '3.38'
|
||||||
|
-accepted_gpg_versions = [ '2.2.0', '2.3.0' ]
|
||||||
|
+accepted_gpg_versions = [ '2.2.0', '2.3.0', '2.4.0' ]
|
||||||
|
gpg_check_version = find_program('build-aux' / 'gpg_check_version.py')
|
||||||
|
|
||||||
|
glib_deps = [
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
@ -0,0 +1,515 @@
|
|||||||
|
From 87a5e5312beac6cbe3b39f72cf0f120f1ed00473 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Niels De Graef <ndegraef@redhat.com>
|
||||||
|
Date: Sat, 21 Oct 2023 15:43:04 +0200
|
||||||
|
Subject: [PATCH] ssh: Refactor SSH key parsing
|
||||||
|
|
||||||
|
Fix several issues in the SSH Key parsing code, and directly use a
|
||||||
|
`GInputStream` we can (asynchronously) read from. Take the opportunity
|
||||||
|
also to add some unit tests that we can run to make sure we're not
|
||||||
|
regressing on anything.
|
||||||
|
---
|
||||||
|
ssh/key-data.vala | 59 +++++-----
|
||||||
|
ssh/key.vala | 58 +++++-----
|
||||||
|
ssh/meson.build | 20 ++++
|
||||||
|
ssh/source.vala | 9 +-
|
||||||
|
ssh/test-key-parse.vala | 231 ++++++++++++++++++++++++++++++++++++++++
|
||||||
|
5 files changed, 316 insertions(+), 61 deletions(-)
|
||||||
|
create mode 100644 ssh/test-key-parse.vala
|
||||||
|
|
||||||
|
diff --git a/ssh/key-data.vala b/ssh/key-data.vala
|
||||||
|
index 1fdb1e6a8..8843bff84 100644
|
||||||
|
--- a/ssh/key-data.vala
|
||||||
|
+++ b/ssh/key-data.vala
|
||||||
|
@@ -101,12 +101,12 @@ public class Seahorse.Ssh.KeyData : GLib.Object {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
- internal static string parse_key_blob (uchar[] bytes) throws GLib.Error {
|
||||||
|
+ internal static string parse_key_blob(uchar[] bytes) throws GLib.Error {
|
||||||
|
string digest = Checksum.compute_for_data(ChecksumType.MD5, bytes);
|
||||||
|
if (digest == null)
|
||||||
|
throw new Error.GENERAL("Can't calculate fingerprint from key.");
|
||||||
|
|
||||||
|
- StringBuilder fingerprint = new StringBuilder.sized((digest.length * 3) / 2);
|
||||||
|
+ var fingerprint = new StringBuilder.sized((digest.length * 3) / 2);
|
||||||
|
for (size_t i = 0; i < digest.length; i += 2) {
|
||||||
|
if (i > 0)
|
||||||
|
fingerprint.append_c(':');
|
||||||
|
@@ -147,7 +147,7 @@ public class Seahorse.Ssh.KeyData : GLib.Object {
|
||||||
|
string contents;
|
||||||
|
FileUtils.get_contents(filename, out contents);
|
||||||
|
|
||||||
|
- StringBuilder results = new StringBuilder();
|
||||||
|
+ var results = new StringBuilder();
|
||||||
|
|
||||||
|
// Load each line
|
||||||
|
bool first = true;
|
||||||
|
@@ -204,54 +204,65 @@ public class Seahorse.Ssh.SecData : GLib.Object {
|
||||||
|
*
|
||||||
|
* @param data The data that contains a private key.
|
||||||
|
*/
|
||||||
|
- public static SecData parse_data(StringBuilder data) throws GLib.Error {
|
||||||
|
- SecData secdata = new SecData();
|
||||||
|
+ public static SecData parse_data(DataInputStream data, string initial_line) throws GLib.Error {
|
||||||
|
+ var secdata = new SecData();
|
||||||
|
|
||||||
|
// Get the comment
|
||||||
|
- if (data.str.has_prefix(SSH_KEY_SECRET_SIG)) {
|
||||||
|
- string comment = data.str.split("\n", 2)[0];
|
||||||
|
- secdata.comment = comment.substring(SSH_KEY_SECRET_SIG.length).strip();
|
||||||
|
+ if (initial_line.has_prefix(SSH_KEY_SECRET_SIG)) {
|
||||||
|
+ secdata.comment = initial_line.substring(SSH_KEY_SECRET_SIG.length).strip();
|
||||||
|
}
|
||||||
|
|
||||||
|
// First get our raw data (if there is none, don't bother)
|
||||||
|
- string rawdata = parse_lines_block(data, SSH_PRIVATE_BEGIN, SSH_PRIVATE_END);
|
||||||
|
+ string rawdata = parse_lines_block(data, initial_line, SSH_PRIVATE_BEGIN, SSH_PRIVATE_END);
|
||||||
|
if (rawdata == null || rawdata == "")
|
||||||
|
throw new Error.GENERAL("Private key contains no data.");
|
||||||
|
|
||||||
|
secdata.rawdata = rawdata;
|
||||||
|
|
||||||
|
- // Guess at the algorithm type
|
||||||
|
- secdata.algo = Algorithm.guess_from_string(rawdata);
|
||||||
|
+ // Guess the algorithm type by searching the base64 decoded data. (we
|
||||||
|
+ // should properly exclude the start/end line, but it shouldn't harm
|
||||||
|
+ // too much though afaik). Note that it's definitely not ideal though;
|
||||||
|
+ // but the openssh format isn't exactly obvious
|
||||||
|
+ var decoded = Base64.decode(rawdata.offset(initial_line.length));
|
||||||
|
+ for (uint i = 0; i < decoded.length - 3; i++) {
|
||||||
|
+ unowned var str = ((string) decoded).offset(i);
|
||||||
|
+ var algo = Algorithm.from_string(str);
|
||||||
|
+ if (algo != Algorithm.UNKNOWN) {
|
||||||
|
+ secdata.algo = algo;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
return secdata;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /**
|
||||||
|
- * Takes everything between the start and end pattern and returns it.
|
||||||
|
- * NOTE: The string (if found will) be removed from the argument.
|
||||||
|
- */
|
||||||
|
- private static string parse_lines_block(StringBuilder data, string start, string end) {
|
||||||
|
- StringBuilder result = new StringBuilder();
|
||||||
|
+ /** Reads all lines from start until the end pattern and returns it */
|
||||||
|
+ private static string parse_lines_block(DataInputStream data,
|
||||||
|
+ string initial_line,
|
||||||
|
+ string start, string end)
|
||||||
|
+ throws GLib.Error {
|
||||||
|
+ var result = new StringBuilder();
|
||||||
|
+
|
||||||
|
+ string? line = initial_line;
|
||||||
|
|
||||||
|
bool start_found = false;
|
||||||
|
- string[] lines = data.str.split("\n");
|
||||||
|
- foreach (string line in lines) {
|
||||||
|
+ do {
|
||||||
|
// Look for the beginning
|
||||||
|
if (!start_found) {
|
||||||
|
if (start in line) {
|
||||||
|
- result.append_printf("%s\n", line);
|
||||||
|
- result.erase(0, line.length + 1);
|
||||||
|
+ result.append(line);
|
||||||
|
+ result.append_c('\n');
|
||||||
|
start_found = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Look for the end
|
||||||
|
- result.append_printf("%s\n", line);
|
||||||
|
- result.erase(0, line.length + 1);
|
||||||
|
+ result.append(line);
|
||||||
|
+ result.append_c('\n');
|
||||||
|
if (end in line)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
- }
|
||||||
|
+ } while ((line = data.read_line_utf8()) != null);
|
||||||
|
|
||||||
|
return result.str;
|
||||||
|
}
|
||||||
|
diff --git a/ssh/key.vala b/ssh/key.vala
|
||||||
|
index e2ebc30b3..453f8dd2c 100644
|
||||||
|
--- a/ssh/key.vala
|
||||||
|
+++ b/ssh/key.vala
|
||||||
|
@@ -223,24 +223,36 @@ public class Seahorse.Ssh.Key : Seahorse.Object, Seahorse.Exportable, Seahorse.D
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
- * Parses a string into public/private keys.
|
||||||
|
+ * Parses an input stream into public/private keys.
|
||||||
|
*
|
||||||
|
- * @param data The string that needs to be parsed.
|
||||||
|
+ * @param input The input stream that needs to be parsed.
|
||||||
|
* @param cancellable Can be used to cancel the parsing.
|
||||||
|
*/
|
||||||
|
- public static async KeyParseResult parse(string data,
|
||||||
|
- Cancellable? cancellable = null) throws GLib.Error {
|
||||||
|
- return_if_fail (data != null || data != "");
|
||||||
|
-
|
||||||
|
+ public static async KeyParseResult parse(GLib.InputStream input,
|
||||||
|
+ Cancellable? cancellable = null)
|
||||||
|
+ throws GLib.Error {
|
||||||
|
var pubkeys = new GenericArray<KeyData>();
|
||||||
|
var seckeys = new GenericArray<SecData>();
|
||||||
|
|
||||||
|
- StringBuilder toParse = new StringBuilder(data.chug());
|
||||||
|
- while (toParse.str.length > 0) {
|
||||||
|
+ // Fetch the data into a string
|
||||||
|
+ var data = new DataInputStream(input);
|
||||||
|
+
|
||||||
|
+ while (true) {
|
||||||
|
+ // Read the next line, and remove leading whitespace
|
||||||
|
+ var raw_line = yield data.read_line_utf8_async(Priority.DEFAULT, cancellable, null);
|
||||||
|
+ if (raw_line == null)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ string line = raw_line.chug();
|
||||||
|
+
|
||||||
|
+ // Ignore comments and empty lines (not a parse error, but no data)
|
||||||
|
+ if (line == "" || line.has_prefix("#"))
|
||||||
|
+ continue;
|
||||||
|
+
|
||||||
|
// First of all, check for a private key, as it can span several lines
|
||||||
|
- if (SecData.contains_private_key(toParse.str)) {
|
||||||
|
+ if (SecData.contains_private_key(line)) {
|
||||||
|
try {
|
||||||
|
- var secdata = SecData.parse_data(toParse);
|
||||||
|
+ var secdata = SecData.parse_data(data, line);
|
||||||
|
seckeys.add(secdata);
|
||||||
|
continue;
|
||||||
|
} catch (GLib.Error e) {
|
||||||
|
@@ -248,24 +260,9 @@ public class Seahorse.Ssh.Key : Seahorse.Object, Seahorse.Exportable, Seahorse.D
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- // We're sure we'll have at least 1 element
|
||||||
|
- string[] lines = toParse.str.split("\n", 2);
|
||||||
|
- string line = lines[0];
|
||||||
|
- toParse.erase(0, line.length);
|
||||||
|
- if (lines.length == 2) // There was a \n, so don't forget to erase it as well
|
||||||
|
- toParse.erase(0, 1);
|
||||||
|
-
|
||||||
|
- // Comments and empty lines, not a parse error, but no data
|
||||||
|
- if (line.strip() == "" || line.has_prefix("#"))
|
||||||
|
- continue;
|
||||||
|
-
|
||||||
|
// See if we have a public key
|
||||||
|
- try {
|
||||||
|
- KeyData keydata = KeyData.parse_line(line);
|
||||||
|
- pubkeys.add(keydata);
|
||||||
|
- } catch (GLib.Error e) {
|
||||||
|
- warning(e.message);
|
||||||
|
- }
|
||||||
|
+ var keydata = KeyData.parse_line(line);
|
||||||
|
+ pubkeys.add(keydata);
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = KeyParseResult();
|
||||||
|
@@ -282,9 +279,8 @@ public class Seahorse.Ssh.Key : Seahorse.Object, Seahorse.Exportable, Seahorse.D
|
||||||
|
*/
|
||||||
|
public static async KeyParseResult parse_file(string filename,
|
||||||
|
Cancellable? cancellable = null) throws GLib.Error {
|
||||||
|
- string contents;
|
||||||
|
- FileUtils.get_contents(filename, out contents);
|
||||||
|
-
|
||||||
|
- return yield parse(contents, cancellable);
|
||||||
|
+ var file = GLib.File.new_for_path(filename);
|
||||||
|
+ var file_stream = yield file.read_async();
|
||||||
|
+ return yield parse(file_stream, cancellable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/ssh/meson.build b/ssh/meson.build
|
||||||
|
index 15418772e..c2c81a6a9 100644
|
||||||
|
--- a/ssh/meson.build
|
||||||
|
+++ b/ssh/meson.build
|
||||||
|
@@ -58,3 +58,23 @@ ssh_askpass = executable('ssh-askpass',
|
||||||
|
install: true,
|
||||||
|
install_dir: libexecbindir,
|
||||||
|
)
|
||||||
|
+
|
||||||
|
+# Tests
|
||||||
|
+ssh_test_names = [
|
||||||
|
+ 'key-parse',
|
||||||
|
+]
|
||||||
|
+
|
||||||
|
+foreach _test : ssh_test_names
|
||||||
|
+ test_bin = executable(_test,
|
||||||
|
+ files('test-@0@.vala'.format(_test)),
|
||||||
|
+ dependencies: [
|
||||||
|
+ ssh_dep,
|
||||||
|
+ ssh_dependencies,
|
||||||
|
+ ],
|
||||||
|
+ include_directories: include_directories('..'),
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
+ test(_test, test_bin,
|
||||||
|
+ suite: 'ssh',
|
||||||
|
+ )
|
||||||
|
+endforeach
|
||||||
|
diff --git a/ssh/source.vala b/ssh/source.vala
|
||||||
|
index c4646c9fb..43b4a1ab0 100644
|
||||||
|
--- a/ssh/source.vala
|
||||||
|
+++ b/ssh/source.vala
|
||||||
|
@@ -333,15 +333,12 @@ public class Seahorse.Ssh.Source : GLib.Object, Gcr.Collection, Seahorse.Place {
|
||||||
|
/**
|
||||||
|
* Parse an inputstream into a list of keys and import those keys.
|
||||||
|
*/
|
||||||
|
- public async List<Key>? import_async(InputStream input, Gtk.Window transient_for,
|
||||||
|
+ public async List<Key>? import_async(InputStream input,
|
||||||
|
+ Gtk.Window? transient_for,
|
||||||
|
Cancellable? cancellable = null) throws GLib.Error {
|
||||||
|
- uint8[] buffer = new uint8[4096];
|
||||||
|
- size_t bytes_read;
|
||||||
|
- input.read_all(buffer, out bytes_read, cancellable);
|
||||||
|
+ var result = yield Key.parse(input, cancellable);
|
||||||
|
|
||||||
|
string fullpath = other_keys_path();
|
||||||
|
-
|
||||||
|
- var result = yield Key.parse((string) buffer, cancellable);
|
||||||
|
foreach (unowned var keydata in result.public_keys) {
|
||||||
|
yield import_public_async(keydata, fullpath, cancellable);
|
||||||
|
}
|
||||||
|
diff --git a/ssh/test-key-parse.vala b/ssh/test-key-parse.vala
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..ef9404790
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/ssh/test-key-parse.vala
|
||||||
|
@@ -0,0 +1,231 @@
|
||||||
|
+/*
|
||||||
|
+ * Seahorse
|
||||||
|
+ *
|
||||||
|
+ * Copyright (C) 2023 Niels De Graef
|
||||||
|
+ *
|
||||||
|
+ * This program is free software; you can redistribute it and/or modify
|
||||||
|
+ * it under the terms of the GNU General Public License as published by
|
||||||
|
+ * the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+ * (at your option) any later version.
|
||||||
|
+ *
|
||||||
|
+ * This program is distributed in the hope that it will be useful,
|
||||||
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
+ * See the GNU General Public License for more details.
|
||||||
|
+ * You should have received a copy of the GNU General Public License
|
||||||
|
+ * along with this program; if not, see
|
||||||
|
+ * <http://www.gnu.org/licenses/>.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+void main(string[] args) {
|
||||||
|
+ Test.init(ref args);
|
||||||
|
+
|
||||||
|
+ Test.add_func("/ssh/key-parse/pubkey-simple", test_key_parse_pubkey_simple);
|
||||||
|
+ Test.add_func("/ssh/key-parse/pubkey-bad-algo", test_key_parse_pubkey_bad_algo);
|
||||||
|
+ Test.add_func("/ssh/key-parse/pubkey-multple", test_key_parse_pubkey_multiple);
|
||||||
|
+
|
||||||
|
+ Test.add_func("/ssh/key-parse/private-key-simple", test_key_parse_private_key_simple);
|
||||||
|
+ Test.add_func("/ssh/key-parse/private-key-pw-protected", test_key_parse_private_key_pw_protected);
|
||||||
|
+
|
||||||
|
+ Test.run();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+const string PUBKEY_SIMPLE = """
|
||||||
|
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCi9ZNp78OzcMpR9QeSKKCybNxTR+ailXs3cwizr1R9Dlx/EobQBXOwE2Ed5PqSU5HEgtYRoKqlTxMogMXMX508dedC0ADTzM09B3OBqpZ7YnMuyLbtk1MNP8xcvVmHwwfw3Y79xxZZeqjUTI7cSE6jcNyz/k/Dl+6RYI552ab80b1kgDDwOyUL75hFllEZ9vHCcAOtk7y5LyeUpnRu5WJq0YBPVQljeYs23ZiTSo5NkJd7pvV9hs68ZAYqm1POXwCcAKOj4HXW3AL83AD49g8MJOAelCMaJpUkOgn4n4QTtqLEC108sqZgwWiadbN/ZHt3Idbn3AIxMMhD/wdkSwkfm9tAohMrqYpSiG31xyifH61mcoBMSxRMQhUscCGV3kLo6P/dZtxRbu4r74r/Ae2Jg4pzYrVFVzfObXdlTjtxJmR8UvnZg60OE0RwYMs1LJTE6xakcAg22O9i3bau00MoIIYEPgiFFP5t0Tw3D06BcEzr/2wEzlvbxy0qzDTr40U= testsimple
|
||||||
|
+""";
|
||||||
|
+
|
||||||
|
+private void test_key_parse_pubkey_simple() {
|
||||||
|
+ var input = new MemoryInputStream.from_data(PUBKEY_SIMPLE.data);
|
||||||
|
+
|
||||||
|
+ var mainloop = new GLib.MainLoop();
|
||||||
|
+ Seahorse.Ssh.Key.parse.begin(input, null, (obj, res) => {
|
||||||
|
+ try {
|
||||||
|
+ var parse_result = Seahorse.Ssh.Key.parse.end(res);
|
||||||
|
+
|
||||||
|
+ assert_true(parse_result.public_keys.length == 1);
|
||||||
|
+ unowned var keydata = parse_result.public_keys[0];
|
||||||
|
+ assert_true(keydata.comment == "testsimple");
|
||||||
|
+ assert_true(keydata.algo == Seahorse.Ssh.Algorithm.RSA);
|
||||||
|
+
|
||||||
|
+ assert_true(parse_result.secret_keys.length == 0);
|
||||||
|
+ } catch (Error err) {
|
||||||
|
+ error("Couldn't parse public key: %s", err.message);
|
||||||
|
+ } finally {
|
||||||
|
+ mainloop.quit();
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+ mainloop.run();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// Basically the same as PUBKEY_SIMPLE, but a bogus algorithm
|
||||||
|
+const string PUBKEY_BAD_ALGO = """
|
||||||
|
+ssh-blabla AAAAB3NzaC1yc2EAAAADAQABAAABgQCi9ZNp78OzcMpR9QeSKKCybNxTR+ailXs3cwizr1R9Dlx/EobQBXOwE2Ed5PqSU5HEgtYRoKqlTxMogMXMX508dedC0ADTzM09B3OBqpZ7YnMuyLbtk1MNP8xcvVmHwwfw3Y79xxZZeqjUTI7cSE6jcNyz/k/Dl+6RYI552ab80b1kgDDwOyUL75hFllEZ9vHCcAOtk7y5LyeUpnRu5WJq0YBPVQljeYs23ZiTSo5NkJd7pvV9hs68ZAYqm1POXwCcAKOj4HXW3AL83AD49g8MJOAelCMaJpUkOgn4n4QTtqLEC108sqZgwWiadbN/ZHt3Idbn3AIxMMhD/wdkSwkfm9tAohMrqYpSiG31xyifH61mcoBMSxRMQhUscCGV3kLo6P/dZtxRbu4r74r/Ae2Jg4pzYrVFVzfObXdlTjtxJmR8UvnZg60OE0RwYMs1LJTE6xakcAg22O9i3bau00MoIIYEPgiFFP5t0Tw3D06BcEzr/2wEzlvbxy0qzDTr40U= testbad
|
||||||
|
+""";
|
||||||
|
+
|
||||||
|
+private void test_key_parse_pubkey_bad_algo() {
|
||||||
|
+ var input = new MemoryInputStream.from_data(PUBKEY_BAD_ALGO.data);
|
||||||
|
+
|
||||||
|
+ var mainloop = new GLib.MainLoop();
|
||||||
|
+ Seahorse.Ssh.Key.parse.begin(input, null, (obj, res) => {
|
||||||
|
+ try {
|
||||||
|
+ Seahorse.Ssh.Key.parse.end(res);
|
||||||
|
+ assert_not_reached();
|
||||||
|
+ } catch (Error err) {
|
||||||
|
+ // Expected
|
||||||
|
+ } finally {
|
||||||
|
+ mainloop.quit();
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+ mainloop.run();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+const string PUBKEY_MULTIPLE = """
|
||||||
|
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCi9ZNp78OzcMpR9QeSKKCybNxTR+ailXs3cwizr1R9Dlx/EobQBXOwE2Ed5PqSU5HEgtYRoKqlTxMogMXMX508dedC0ADTzM09B3OBqpZ7YnMuyLbtk1MNP8xcvVmHwwfw3Y79xxZZeqjUTI7cSE6jcNyz/k/Dl+6RYI552ab80b1kgDDwOyUL75hFllEZ9vHCcAOtk7y5LyeUpnRu5WJq0YBPVQljeYs23ZiTSo5NkJd7pvV9hs68ZAYqm1POXwCcAKOj4HXW3AL83AD49g8MJOAelCMaJpUkOgn4n4QTtqLEC108sqZgwWiadbN/ZHt3Idbn3AIxMMhD/wdkSwkfm9tAohMrqYpSiG31xyifH61mcoBMSxRMQhUscCGV3kLo6P/dZtxRbu4r74r/Ae2Jg4pzYrVFVzfObXdlTjtxJmR8UvnZg60OE0RwYMs1LJTE6xakcAg22O9i3bau00MoIIYEPgiFFP5t0Tw3D06BcEzr/2wEzlvbxy0qzDTr40U= test1
|
||||||
|
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDADxtTchMRaGP2YCG5Iiu/sCkdKYkogkZ9NrawGutvwcoQL4D3oIC+r+ka3YzenICz0Rpu4ZIyGzn5s7VISzjcGK99a8/UoXsSyTUy37ihbpAbkYju+avtJZyCMOrRyrXp0W8gSKnUuxDJJNlG5+Jhjdh35rGo7ENSDIGRBXx0uLmKvxbPGSQoULbUzxJRVes6HW7cr44RXG4GL5uekS5hSHN/wJuc/OBqT2ETn+Ivn8cj2fooR6Y7Ei6uFNwbNebYgzDzNOTfaGssCXoEqWL9dJA8FAXA9u4BQskIaUm9SiQblzKGZSKtoPPFh7Sp7Ii1k2TAG0g9VW8gYqUZgLZY4OKjARR+SkdyzlnJKOD1QuSIrnyDNOgl7SBwtujT6gg+9bcQzSPVRWuPldYj2qYEZiR7LPood7AvzDL2tZwb8r60O5KDip+66inj5BxmPO6Vmeo84DLXdZNhEnoCfaL5J9qArhTvxYPjU8RiuBoy6nqN00IWeT2e3RZTPjpq1wc= test2
|
||||||
|
+""";
|
||||||
|
+
|
||||||
|
+private void test_key_parse_pubkey_multiple() {
|
||||||
|
+ var input = new MemoryInputStream.from_data(PUBKEY_MULTIPLE.data);
|
||||||
|
+
|
||||||
|
+ var mainloop = new GLib.MainLoop();
|
||||||
|
+ Seahorse.Ssh.Key.parse.begin(input, null, (obj, res) => {
|
||||||
|
+ try {
|
||||||
|
+ var parse_result = Seahorse.Ssh.Key.parse.end(res);
|
||||||
|
+ assert_true(parse_result.public_keys.length == 2);
|
||||||
|
+ assert_true(parse_result.secret_keys.length == 0);
|
||||||
|
+ } catch (Error err) {
|
||||||
|
+ error("Couldn't parse public key: %s", err.message);
|
||||||
|
+ } finally {
|
||||||
|
+ mainloop.quit();
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+ mainloop.run();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+const string PRIVATE_KEY_SIMPLE = """
|
||||||
|
+-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
+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
|
||||||
|
+-----END OPENSSH PRIVATE KEY-----
|
||||||
|
+""";
|
||||||
|
+
|
||||||
|
+private void test_key_parse_private_key_simple() {
|
||||||
|
+ var input = new MemoryInputStream.from_data(PRIVATE_KEY_SIMPLE.data);
|
||||||
|
+
|
||||||
|
+ var mainloop = new GLib.MainLoop();
|
||||||
|
+ Seahorse.Ssh.Key.parse.begin(input, null, (obj, res) => {
|
||||||
|
+ try {
|
||||||
|
+ var parse_result = Seahorse.Ssh.Key.parse.end(res);
|
||||||
|
+ assert_true(parse_result.public_keys.length == 0);
|
||||||
|
+
|
||||||
|
+ assert_true(parse_result.secret_keys.length == 1);
|
||||||
|
+ unowned var secdata = parse_result.secret_keys[0];
|
||||||
|
+ assert_null(secdata.comment);
|
||||||
|
+ assert_true(secdata.algo == Seahorse.Ssh.Algorithm.RSA);
|
||||||
|
+ } catch (Error err) {
|
||||||
|
+ error("Couldn't parse private key: %s", err.message);
|
||||||
|
+ } finally {
|
||||||
|
+ mainloop.quit();
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+ mainloop.run();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// Key with "test" password
|
||||||
|
+const string PRIVATE_KEY_PW_PROTECTED = """
|
||||||
|
+-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
+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
|
||||||
|
+Znmynq4dXIf58Nj4+TpgQkxQwxM=
|
||||||
|
+-----END OPENSSH PRIVATE KEY-----
|
||||||
|
+""";
|
||||||
|
+
|
||||||
|
+private void test_key_parse_private_key_pw_protected() {
|
||||||
|
+ var input = new MemoryInputStream.from_data(PRIVATE_KEY_PW_PROTECTED.data);
|
||||||
|
+
|
||||||
|
+ var mainloop = new GLib.MainLoop();
|
||||||
|
+ Seahorse.Ssh.Key.parse.begin(input, null, (obj, res) => {
|
||||||
|
+ try {
|
||||||
|
+ var parse_result = Seahorse.Ssh.Key.parse.end(res);
|
||||||
|
+ assert_true(parse_result.public_keys.length == 0);
|
||||||
|
+
|
||||||
|
+ assert_true(parse_result.secret_keys.length == 1);
|
||||||
|
+ unowned var secdata = parse_result.secret_keys[0];
|
||||||
|
+ assert_null(secdata.comment);
|
||||||
|
+ assert_true(secdata.algo == Seahorse.Ssh.Algorithm.RSA);
|
||||||
|
+ } catch (Error err) {
|
||||||
|
+ error("Couldn't parse private key: %s", err.message);
|
||||||
|
+ } finally {
|
||||||
|
+ mainloop.quit();
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+ mainloop.run();
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
@ -0,0 +1,25 @@
|
|||||||
|
From 698fcc8107fa987475c6592208ec77a7dc002735 Mon Sep 17 00:00:00 2001
|
||||||
|
From: ppw 0 <ppw0@tuta.io>
|
||||||
|
Date: Wed, 6 Dec 2023 12:16:45 +0000
|
||||||
|
Subject: [PATCH] Update file operation.vala
|
||||||
|
|
||||||
|
---
|
||||||
|
ssh/operation.vala | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/ssh/operation.vala b/ssh/operation.vala
|
||||||
|
index 4743d0a5..48a525c3 100644
|
||||||
|
--- a/ssh/operation.vala
|
||||||
|
+++ b/ssh/operation.vala
|
||||||
|
@@ -49,7 +49,7 @@ public abstract class Operation : GLib.Object {
|
||||||
|
protected async string? operation_async(string command,
|
||||||
|
string? input,
|
||||||
|
Cancellable? cancellable) throws GLib.Error {
|
||||||
|
- return_val_if_fail (command != null && command != "", null);
|
||||||
|
+ return_val_if_fail (command != null && command != "", false);
|
||||||
|
|
||||||
|
// Strip the command name for logging purposes
|
||||||
|
string[] args;
|
||||||
|
--
|
||||||
|
GitLab
|
||||||
|
|
@ -0,0 +1,33 @@
|
|||||||
|
Move the prototype for seahorse_pkcs11_backend_initialize into the
|
||||||
|
header file, so C code generated from Vala sources will use it.
|
||||||
|
This avoids an implicit function declaration and build failures
|
||||||
|
with future compilers.
|
||||||
|
|
||||||
|
Submitted upstream:
|
||||||
|
|
||||||
|
<https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/214>
|
||||||
|
|
||||||
|
diff --git a/pkcs11/seahorse-pkcs11-backend.c b/pkcs11/seahorse-pkcs11-backend.c
|
||||||
|
index b7ea21e1fdb1df7c..31d7cb81510a003b 100644
|
||||||
|
--- a/pkcs11/seahorse-pkcs11-backend.c
|
||||||
|
+++ b/pkcs11/seahorse-pkcs11-backend.c
|
||||||
|
@@ -43,8 +43,6 @@ enum {
|
||||||
|
PROP_LOADED,
|
||||||
|
};
|
||||||
|
|
||||||
|
-void seahorse_pkcs11_backend_initialize (void);
|
||||||
|
-
|
||||||
|
static SeahorsePkcs11Backend *pkcs11_backend = NULL;
|
||||||
|
|
||||||
|
struct _SeahorsePkcs11Backend {
|
||||||
|
diff --git a/pkcs11/seahorse-pkcs11-backend.h b/pkcs11/seahorse-pkcs11-backend.h
|
||||||
|
index ddcfd2fcc54c43e9..65efbd0a04ba9700 100644
|
||||||
|
--- a/pkcs11/seahorse-pkcs11-backend.h
|
||||||
|
+++ b/pkcs11/seahorse-pkcs11-backend.h
|
||||||
|
@@ -43,4 +43,6 @@ SeahorsePkcs11Backend * seahorse_pkcs11_backend_get (void);
|
||||||
|
GcrCollection * seahorse_pkcs11_backend_get_writable_tokens (SeahorsePkcs11Backend *self,
|
||||||
|
gulong with_mechanism);
|
||||||
|
|
||||||
|
+void seahorse_pkcs11_backend_initialize (void);
|
||||||
|
+
|
||||||
|
#endif /* SEAHORSE_PKCS11_BACKEND_H_ */
|
@ -0,0 +1,757 @@
|
|||||||
|
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||||
|
|
||||||
|
Name: seahorse
|
||||||
|
Version: 43.0
|
||||||
|
Release: 9%{?dist}
|
||||||
|
Summary: A GNOME application for managing encryption keys
|
||||||
|
|
||||||
|
# seahorse is GPLv2+
|
||||||
|
# libcryptui is LGPLv2+
|
||||||
|
License: GPL-2.0-or-later AND LGPL-2.0-or-later AND CC-BY-SA-3.0
|
||||||
|
URL: https://wiki.gnome.org/Apps/Seahorse
|
||||||
|
Source: https://download.gnome.org/sources/%{name}/42/%{name}-%{tarball_version}.tar.xz
|
||||||
|
# PR#212: Allow building with GnuPG-2.4.x
|
||||||
|
Patch0: https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/212.patch
|
||||||
|
Patch1: seahorse-c99.patch
|
||||||
|
# PR#218: Refactor SSH key parsing
|
||||||
|
Patch2: https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/218.patch
|
||||||
|
# PR#222: Fix build with GCC 14
|
||||||
|
Patch3: https://gitlab.gnome.org/GNOME/seahorse/-/merge_requests/220.patch
|
||||||
|
|
||||||
|
BuildRequires: pkgconfig(avahi-client)
|
||||||
|
BuildRequires: pkgconfig(avahi-glib)
|
||||||
|
BuildRequires: pkgconfig(gio-2.0)
|
||||||
|
BuildRequires: pkgconfig(gck-1)
|
||||||
|
BuildRequires: pkgconfig(gcr-3)
|
||||||
|
BuildRequires: pkgconfig(gtk+-3.0)
|
||||||
|
BuildRequires: pkgconfig(libhandy-1)
|
||||||
|
BuildRequires: pkgconfig(libsecret-unstable)
|
||||||
|
BuildRequires: pkgconfig(libsoup-3.0)
|
||||||
|
BuildRequires: pkgconfig(pwquality)
|
||||||
|
BuildRequires: desktop-file-utils
|
||||||
|
BuildRequires: docbook-style-xsl
|
||||||
|
BuildRequires: gettext
|
||||||
|
BuildRequires: gpgme-devel >= 1.0
|
||||||
|
BuildRequires: gnupg2
|
||||||
|
BuildRequires: itstool
|
||||||
|
BuildRequires: libSM-devel
|
||||||
|
BuildRequires: meson
|
||||||
|
BuildRequires: openldap-devel
|
||||||
|
BuildRequires: openssh-clients
|
||||||
|
BuildRequires: vala
|
||||||
|
BuildRequires: /usr/bin/appstream-util
|
||||||
|
BuildRequires: /usr/bin/xsltproc
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=474419
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=587328
|
||||||
|
Requires: pinentry-gui
|
||||||
|
|
||||||
|
%description
|
||||||
|
Seahorse is a graphical interface for managing and using encryption keys.
|
||||||
|
It also integrates with nautilus, gedit and other places for encryption
|
||||||
|
operations. It is a keyring manager.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n %{name}-%{tarball_version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%meson -Dmanpage=true
|
||||||
|
%meson_build
|
||||||
|
|
||||||
|
%install
|
||||||
|
%meson_install
|
||||||
|
|
||||||
|
%find_lang seahorse --with-gnome --all-name
|
||||||
|
|
||||||
|
%check
|
||||||
|
appstream-util validate-relax --nonet $RPM_BUILD_ROOT/%{_metainfodir}/org.gnome.seahorse.Application.appdata.xml
|
||||||
|
desktop-file-validate ${RPM_BUILD_ROOT}%{_datadir}/applications/org.gnome.seahorse.Application.desktop
|
||||||
|
|
||||||
|
%files -f %{name}.lang
|
||||||
|
%license COPYING*
|
||||||
|
%doc NEWS README.md
|
||||||
|
%{_bindir}/seahorse
|
||||||
|
%{_libexecdir}/seahorse/
|
||||||
|
%{_datadir}/applications/org.gnome.seahorse.Application.desktop
|
||||||
|
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.seahorse.Application.svg
|
||||||
|
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.seahorse.Application-symbolic.svg
|
||||||
|
%{_datadir}/dbus-1/services/org.gnome.seahorse.Application.service
|
||||||
|
%{_datadir}/glib-2.0/schemas/org.gnome.seahorse*.gschema.xml
|
||||||
|
%dir %{_datadir}/gnome-shell/
|
||||||
|
%dir %{_datadir}/gnome-shell/search-providers/
|
||||||
|
%{_datadir}/gnome-shell/search-providers/seahorse-search-provider.ini
|
||||||
|
%{_datadir}/seahorse/
|
||||||
|
%{_mandir}/man1/seahorse.1*
|
||||||
|
%{_metainfodir}/org.gnome.seahorse.Application.appdata.xml
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Aug 19 2024 Tomas Popela <tpopela@redhat.com> - 43.0-9
|
||||||
|
- Fix the license which was validated by license-validate, but not by rpminspect
|
||||||
|
|
||||||
|
* Mon Aug 19 2024 Tomas Popela <tpopela@redhat.com> - 43.0-8
|
||||||
|
- Move to SPDX license format
|
||||||
|
|
||||||
|
* Wed Jul 31 2024 David King <amigadave@amigadave.com> - 43.0-7
|
||||||
|
- Add GCC 14 patches from upstream (RHEL-45224)
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 43.0-6
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 43.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 43.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Apr 14 2023 Florian Weimer <fweimer@redhat.com> - 43.0-3
|
||||||
|
- Port to C99
|
||||||
|
|
||||||
|
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 43.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Oct 27 2022 David King <amigadave@amigadave.com> - 43.0-1
|
||||||
|
- Update to 43.0
|
||||||
|
|
||||||
|
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 42.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon May 23 2022 David King <amigadave@amigadave.com> - 42.0-1
|
||||||
|
- Update to 42.0
|
||||||
|
|
||||||
|
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 41.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Sep 29 2021 Kalev Lember <klember@redhat.com> - 41.0-1
|
||||||
|
- Update to 41.0
|
||||||
|
|
||||||
|
* Wed Sep 08 2021 Kalev Lember <klember@redhat.com> - 41~beta-1
|
||||||
|
- Update to 41.beta
|
||||||
|
|
||||||
|
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 40.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Apr 13 2021 Kalev Lember <klember@redhat.com> - 40.0-1
|
||||||
|
- Update to 40.0
|
||||||
|
|
||||||
|
* Fri Feb 19 2021 Kalev Lember <klember@redhat.com> - 40~alpha-1
|
||||||
|
- Update to 40.alpha
|
||||||
|
|
||||||
|
* Tue Feb 16 2021 Kalev Lember <klember@redhat.com> - 3.38.1-1
|
||||||
|
- Update to 3.38.1
|
||||||
|
|
||||||
|
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.38.0.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Nov 9 2020 Kalev Lember <klember@redhat.com> - 3.38.0.1-1
|
||||||
|
- Update to 3.38.0.1
|
||||||
|
- Switch to libhandy1
|
||||||
|
|
||||||
|
* Mon Aug 24 2020 Kalev Lember <klember@redhat.com> - 3.37.2-1
|
||||||
|
- Update to 3.37.2
|
||||||
|
|
||||||
|
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.37.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jun 23 2020 Kalev Lember <klember@redhat.com> - 3.37.1-1
|
||||||
|
- Update to 3.37.1
|
||||||
|
|
||||||
|
* Mon Jun 22 2020 Kalev Lember <klember@redhat.com> - 3.36.2-1
|
||||||
|
- Update to 3.36.2
|
||||||
|
|
||||||
|
* Wed Mar 11 2020 Kalev Lember <klember@redhat.com> - 3.36-1
|
||||||
|
- Update to 3.36
|
||||||
|
|
||||||
|
* Tue Feb 18 2020 Kalev Lember <klember@redhat.com> - 3.35.91-1
|
||||||
|
- Update to 3.35.91
|
||||||
|
|
||||||
|
* Mon Feb 03 2020 Kalev Lember <klember@redhat.com> - 3.35.90-1
|
||||||
|
- Update to 3.35.90
|
||||||
|
|
||||||
|
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.35.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 10 2020 Kalev Lember <klember@redhat.com> - 3.35.1-1
|
||||||
|
- Update to 3.35.1
|
||||||
|
|
||||||
|
* Tue Jan 07 2020 Kalev Lember <klember@redhat.com> - 3.34.1-1
|
||||||
|
- Update to 3.34.1
|
||||||
|
|
||||||
|
* Tue Oct 01 2019 Kalev Lember <klember@redhat.com> - 3.34-1
|
||||||
|
- Update to 3.34
|
||||||
|
|
||||||
|
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.32.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri May 17 2019 Kalev Lember <klember@redhat.com> - 3.32.2-1
|
||||||
|
- Update to 3.32.2
|
||||||
|
|
||||||
|
* Mon May 06 2019 Kalev Lember <klember@redhat.com> - 3.32.1-1
|
||||||
|
- Update to 3.32.1
|
||||||
|
|
||||||
|
* Tue Mar 12 2019 Kalev Lember <klember@redhat.com> - 3.32-1
|
||||||
|
- Update to 3.32
|
||||||
|
|
||||||
|
* Tue Feb 19 2019 Kalev Lember <klember@redhat.com> - 3.31.91-2
|
||||||
|
- Rebuilt against fixed atk (#1626575)
|
||||||
|
|
||||||
|
* Tue Feb 19 2019 Kalev Lember <klember@redhat.com> - 3.31.91-1
|
||||||
|
- Update to 3.31.91
|
||||||
|
|
||||||
|
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.31.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 09 2019 Kalev Lember <klember@redhat.com> - 3.31.1-1
|
||||||
|
- Update to 3.31.1
|
||||||
|
|
||||||
|
* Tue Dec 18 2018 Kalev Lember <klember@redhat.com> - 3.30.1.1-1
|
||||||
|
- Update to 3.30.1.1
|
||||||
|
|
||||||
|
* Fri Sep 07 2018 Kalev Lember <klember@redhat.com> - 3.30-1
|
||||||
|
- Update to 3.30
|
||||||
|
- Switch to the meson build system
|
||||||
|
|
||||||
|
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.20.0-10
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.20.0-9
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.20.0-8
|
||||||
|
- Remove unneeded ldconfig
|
||||||
|
|
||||||
|
* Fri Jan 05 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.20.0-7
|
||||||
|
- Remove obsolete scriptlets
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.20.0-6
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.20.0-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.20.0-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Dec 10 2016 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 3.20.0-3
|
||||||
|
- Rebuild for gpgme 1.18
|
||||||
|
|
||||||
|
* Fri Sep 02 2016 Kalev Lember <klember@redhat.com> - 3.20.0-2
|
||||||
|
- Drop old gnome-keyring-manager obsoletes
|
||||||
|
- Don't set group tags
|
||||||
|
|
||||||
|
* Fri Mar 25 2016 Kalev Lember <klember@redhat.com> - 3.20.0-1
|
||||||
|
- Update to 3.20.0
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.19.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 20 2016 Kalev Lember <klember@redhat.com> - 3.19.4-1
|
||||||
|
- Update to 3.19.4
|
||||||
|
|
||||||
|
* Mon Sep 28 2015 Kalev Lember <klember@redhat.com> - 3.18.0-2
|
||||||
|
- Build with gnupg2 support
|
||||||
|
|
||||||
|
* Mon Sep 28 2015 Kalev Lember <klember@redhat.com> - 3.18.0-1
|
||||||
|
- Update to 3.18.0
|
||||||
|
|
||||||
|
* Tue Sep 15 2015 Richard Hughes <rhughes@redhat.com> - 3.17.4-1
|
||||||
|
- Update to 3.17.4
|
||||||
|
|
||||||
|
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.16.0-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue May 12 2015 Kalev Lember <kalevlember@gmail.com> - 3.16.0-1
|
||||||
|
- Update to 3.16.0
|
||||||
|
|
||||||
|
* Tue Mar 17 2015 Kalev Lember <kalevlember@gmail.com> - 3.15.92-1
|
||||||
|
- Update to 3.15.92
|
||||||
|
|
||||||
|
* Thu Feb 26 2015 David King <amigadave@amigadave.com> - 3.15.90-1
|
||||||
|
- Update to 3.15.90
|
||||||
|
- Update URL
|
||||||
|
- Use license macro for COPYING and COPYING.LIB
|
||||||
|
- Use pkgconfig for BuildRequires
|
||||||
|
- Update man page glob in files section
|
||||||
|
- Validate AppData in check
|
||||||
|
|
||||||
|
* Sat Feb 21 2015 Till Maas <opensource@till.name> - 3.14.0-4
|
||||||
|
- Rebuilt for Fedora 23 Change
|
||||||
|
https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
|
||||||
|
|
||||||
|
* Thu Nov 20 2014 Kalev Lember <kalevlember@gmail.com> - 3.14.0-3
|
||||||
|
- Fix SSH key generation (#1163660)
|
||||||
|
|
||||||
|
* Sat Oct 25 2014 Stef Walter <stefw@redhat.com> - 3.14.0-2
|
||||||
|
- Seahorse is not compatible with gnupg2 for now due to incompatible
|
||||||
|
upstream changes.
|
||||||
|
|
||||||
|
* Tue Sep 23 2014 Kalev Lember <kalevlember@gmail.com> - 3.14.0-1
|
||||||
|
- Update to 3.14.0
|
||||||
|
- Drop last remnants of GConf schema handling
|
||||||
|
|
||||||
|
* Sat Sep 20 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.2-7
|
||||||
|
- Update mime scriptlets
|
||||||
|
|
||||||
|
* Wed Aug 27 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.2-6
|
||||||
|
- Backport a fix for a search provider crash
|
||||||
|
|
||||||
|
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.12.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jun 27 2014 Rex Dieter <rdieter@fedoraproject.org> 3.12.2-4
|
||||||
|
- drop needless scriptlet deps, %%postun: update-mime-database only on removal
|
||||||
|
|
||||||
|
* Fri Jun 27 2014 Bastien Nocera <bnocera@redhat.com> 3.12.2-3
|
||||||
|
- Don't run update-mime-database in post, we don't ship mime XML
|
||||||
|
files anymore.
|
||||||
|
|
||||||
|
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.12.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu May 15 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.2-1
|
||||||
|
- Update to 3.12.2
|
||||||
|
|
||||||
|
* Sun Mar 23 2014 Kalev Lember <kalevlember@gmail.com> - 3.12.0-1
|
||||||
|
- Update to 3.12.0
|
||||||
|
|
||||||
|
* Mon Mar 17 2014 Richard Hughes <rhughes@redhat.com> - 3.11.92-1
|
||||||
|
- Update to 3.11.92
|
||||||
|
|
||||||
|
* Sat Mar 08 2014 Richard Hughes <rhughes@redhat.com> - 3.11.91-1
|
||||||
|
- Update to 3.11.91
|
||||||
|
|
||||||
|
* Mon Jan 13 2014 Richard Hughes <rhughes@redhat.com> - 3.10.2-1
|
||||||
|
- Update to 3.10.2
|
||||||
|
|
||||||
|
* Tue Oct 29 2013 Richard Hughes <rhughes@redhat.com> - 3.10.1-1
|
||||||
|
- Update to 3.10.1
|
||||||
|
|
||||||
|
* Wed Sep 25 2013 Kalev Lember <kalevlember@gmail.com> - 3.10.0-1
|
||||||
|
- Update to 3.10.0
|
||||||
|
|
||||||
|
* Tue Sep 03 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.91-1
|
||||||
|
- Update to 3.9.91
|
||||||
|
|
||||||
|
* Fri Aug 30 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.90-2
|
||||||
|
- Obsolete retired seahorse-plugins
|
||||||
|
|
||||||
|
* Wed Aug 28 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.90-1
|
||||||
|
- Update to 3.9.90
|
||||||
|
|
||||||
|
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.9.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat May 04 2013 Kalev Lember <kalevlember@gmail.com> - 3.9.1-1
|
||||||
|
- Update to 3.9.1
|
||||||
|
|
||||||
|
* Tue Apr 16 2013 Richard Hughes <rhughes@redhat.com> - 3.8.1-1
|
||||||
|
- Update to 3.8.1
|
||||||
|
|
||||||
|
* Tue Mar 26 2013 Kalev Lember <kalevlember@gmail.com> - 3.8.0-1
|
||||||
|
- Update to 3.8.0
|
||||||
|
|
||||||
|
* Fri Mar 8 2013 Matthias Clasen <mclasen@redhat.com> 0- 3.7.91-1
|
||||||
|
- Update to 3.7.91
|
||||||
|
|
||||||
|
* Wed Feb 06 2013 Kalev Lember <kalevlember@gmail.com> - 3.7.5-1
|
||||||
|
- Update to 3.7.5
|
||||||
|
|
||||||
|
* Thu Jan 03 2013 Debarshi Ray <rishi@fedoraproject.org> - 3.7.2-1
|
||||||
|
- Update to 3.7.2
|
||||||
|
|
||||||
|
* Fri Nov 09 2012 Kalev Lember <kalevlember@gmail.com> - 3.7.1-1
|
||||||
|
- Update to 3.7.1
|
||||||
|
|
||||||
|
* Tue Oct 16 2012 Kalev Lember <kalevlember@gmail.com> - 3.6.1-1
|
||||||
|
- Update to 3.6.1
|
||||||
|
|
||||||
|
* Wed Sep 26 2012 Matthias Clasen <mclasen@redhat.com> - 3.6.0-1
|
||||||
|
- Update to 3.6.0
|
||||||
|
|
||||||
|
* Wed Sep 19 2012 Richard Hughes <hughsient@gmail.com> - 3.5.92-1
|
||||||
|
- Update to 3.5.92
|
||||||
|
|
||||||
|
* Tue Sep 04 2012 Richard Hughes <hughsient@gmail.com> - 3.5.91-1
|
||||||
|
- Update to 3.5.91
|
||||||
|
|
||||||
|
* Tue Aug 21 2012 Richard Hughes <hughsient@gmail.com> - 3.5.90-1
|
||||||
|
- Update to 3.5.90
|
||||||
|
|
||||||
|
* Fri Jul 27 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 17 2012 Richard Hughes <hughsient@gmail.com> - 3.5.4-1
|
||||||
|
- Update to 3.5.4
|
||||||
|
|
||||||
|
* Mon Apr 16 2012 Richard Hughes <hughsient@gmail.com> - 3.4.1-1
|
||||||
|
- Update to 3.4.1
|
||||||
|
|
||||||
|
* Thu Apr 12 2012 Kalev Lember <kalevlember@gmail.com> - 3.4.0-2
|
||||||
|
- Added self-obsoletes to assist with seahorse-sharing package split
|
||||||
|
|
||||||
|
* Mon Mar 26 2012 Debarshi Ray <rishi@fedoraproject.org> - 3.4.0-1
|
||||||
|
- Update to 3.4.0
|
||||||
|
|
||||||
|
* Wed Mar 21 2012 Kalev Lember <kalevlember@gmail.com> - 3.3.92-1
|
||||||
|
- Update to 3.3.92
|
||||||
|
|
||||||
|
* Thu Mar 15 2012 Matthias Clasen <mclasen@redhat.com> - 3.3.91-1
|
||||||
|
- Update to 3.3.91
|
||||||
|
|
||||||
|
* Tue Feb 28 2012 Ray Strode <rstrode@redhat.com> 3.3.5-2
|
||||||
|
- Drop fedora- vendor prefix
|
||||||
|
|
||||||
|
* Tue Feb 7 2012 Matthias Clasen <mclasen@redhat.com> - 3.3.5-1
|
||||||
|
- Update to 3.3.5
|
||||||
|
|
||||||
|
* Tue Jan 17 2012 Matthias Clasen <mclasen@redhat.com> - 3.3.4-1
|
||||||
|
- Update to 3.3.4
|
||||||
|
|
||||||
|
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Dec 21 2011 Matthias Clasen <mclasen@redhat.com> - 3.3.3-1
|
||||||
|
- Update to 3.3.3
|
||||||
|
|
||||||
|
* Wed Nov 2 2011 Matthias Clasen <mclasen@redhat.com> - 3.3.1-1
|
||||||
|
- Update to 3.3.1
|
||||||
|
|
||||||
|
* Wed Oct 26 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
|
||||||
|
- Rebuilt for glibc bug#747377
|
||||||
|
|
||||||
|
* Wed Oct 19 2011 Matthias Clasen <mclasen@redhat.com> - 3.2.1-1
|
||||||
|
- Update to 3.2.1
|
||||||
|
|
||||||
|
* Tue Sep 27 2011 Ray <rstrode@redhat.com> - 3.2.0-1
|
||||||
|
- Update to 3.2.0
|
||||||
|
|
||||||
|
* Tue Sep 20 2011 Kalev Lember <kalevlember@gmail.com> 3.1.92-1
|
||||||
|
- Update to 3.1.92
|
||||||
|
|
||||||
|
* Wed Sep 07 2011 Kalev Lember <kalevlember@gmail.com> 3.1.91-1
|
||||||
|
- Update to 3.1.91
|
||||||
|
|
||||||
|
* Wed Aug 31 2011 Kalev Lember <kalevlember@gmail.com> 3.1.90-1
|
||||||
|
- Update to 3.1.90
|
||||||
|
- Remove and obsolete seahorse-devel
|
||||||
|
- Switch to gsettings and obsolete the gconf schema
|
||||||
|
|
||||||
|
* Mon Jul 25 2011 Matthew Barnes <mbarnes@redhat.com> 3.1.4-1
|
||||||
|
- Update to 3.1.4
|
||||||
|
|
||||||
|
* Mon May 9 2011 Tomas Bzatek <tbzatek@redhat.com> 3.1.1-1
|
||||||
|
- Update to 3.1.1
|
||||||
|
|
||||||
|
* Mon Apr 25 2011 Matthias Clasen <mclasen@redhat.com> 3.0.1-1
|
||||||
|
- Update to 3.0.1
|
||||||
|
|
||||||
|
* Thu Apr 7 2011 Christopher Aillon <caillon@redhat.com> 3.0.0-1
|
||||||
|
- Update to 3.0.0
|
||||||
|
|
||||||
|
* Fri Mar 25 2011 Matthias Clasen <mclasen@redhat.com> 2.91.93-1
|
||||||
|
- Update to 2.91.93
|
||||||
|
|
||||||
|
* Mon Mar 21 2011 Matthias Clasen <mclasen@redhat.com> 2.91.92-1
|
||||||
|
- Update to 2.91.92
|
||||||
|
|
||||||
|
* Tue Mar 8 2011 Matthias Clasen <mclasen@redhat.com> 2.91.91-1
|
||||||
|
- Update to 2.91.91
|
||||||
|
|
||||||
|
* Fri Feb 11 2011 Matthias Clasen <mclasen@redhat.com> 2.91.4-5
|
||||||
|
- Rebuild against newer gtk
|
||||||
|
|
||||||
|
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.91.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 2 2011 Matthias Clasen <mclasen@redhat.com> 2.91.4-3
|
||||||
|
- Rebuild against newer gtk
|
||||||
|
|
||||||
|
* Sun Jan 9 2011 Matthias Clasen <mclasen@redhat.com> 2.91.4-2
|
||||||
|
- Rebuild against newer gtk3
|
||||||
|
|
||||||
|
* Mon Jan 3 2011 Tomas Bzatek <tbzatek@redhat.com> 2.91.4-1
|
||||||
|
- Update to 2.91.4
|
||||||
|
|
||||||
|
* Fri Dec 3 2010 Matthias Clasen <mclasen@redhat.com> 2.91.2-2
|
||||||
|
- Rebuild against new gtk
|
||||||
|
|
||||||
|
* Tue Nov 9 2010 Tomas Bzatek <tbzatek@redhat.com> 2.91.2-1
|
||||||
|
- Update to 2.91.2
|
||||||
|
|
||||||
|
* Wed Nov 3 2010 Matthias Clasen <mclasen@redhat.com> 2.91.2-0.1.gitc548f3b
|
||||||
|
- git snapshot
|
||||||
|
- build against libnotify 0.7.0
|
||||||
|
|
||||||
|
* Tue Nov 2 2010 Matthias Clasen <mclasen@redhat.com> 2.91.1.1-1
|
||||||
|
- Update to 2.91.1.1
|
||||||
|
|
||||||
|
* Mon Oct 18 2010 Tomas Bzatek <tbzatek@redhat.com> 2.91.1-1
|
||||||
|
- Update to 2.91.1
|
||||||
|
|
||||||
|
* Wed Sep 29 2010 Tomas Bzatek <tbzatek@redhat.com> 2.32.0-1
|
||||||
|
- Update to 2.32.0
|
||||||
|
|
||||||
|
* Tue Sep 21 2010 Matthias Clasen <mclasen@redhat.com> - 2.31.91-2
|
||||||
|
- Rebuild against newer gobject-introspection
|
||||||
|
|
||||||
|
* Tue Aug 31 2010 Matthias Clasen <mclasen@redhat.com> - 2.31.91-1
|
||||||
|
- Update to 2.31.91
|
||||||
|
|
||||||
|
* Thu Jul 15 2010 Colin Walters <walters@verbum.org> - 2.30.1-3
|
||||||
|
- Rebuild with new gobject-introspection
|
||||||
|
|
||||||
|
* Tue May 04 2010 Rex Dieter <rdieter@fedoraproject.org> 2.30.1-2
|
||||||
|
- Requires: pinentry-gui (#587328)
|
||||||
|
|
||||||
|
* Tue Apr 27 2010 Tomas Bzatek <tbzatek@redhat.com> 2.30.1-1
|
||||||
|
- Update to 2.30.1
|
||||||
|
|
||||||
|
* Mon Apr 19 2010 Rahul Sundaram <sundaram@fedoraproject.org> 2.30.0-2
|
||||||
|
- Fix description to mention keyring manager
|
||||||
|
- Resolves rhbz#536945
|
||||||
|
|
||||||
|
* Tue Mar 30 2010 Matthias Clasen <mclasen@redhat.com> 2.30.0-1
|
||||||
|
- Update to 2.30.0
|
||||||
|
|
||||||
|
* Mon Feb 22 2010 Tomas Bzatek <tbzatek@redhat.com> 2.29.91-1
|
||||||
|
- Update to 2.29.91
|
||||||
|
|
||||||
|
* Tue Feb 9 2010 Tomas Bzatek <tbzatek@redhat.com> 2.29.90-1
|
||||||
|
- Update to 2.29.90
|
||||||
|
- Removed daemon autostart file (upstream)
|
||||||
|
|
||||||
|
* Fri Jan 8 2010 Tomas Bzatek <tbzatek@redhat.com> 2.29.4-2
|
||||||
|
- Fix bad usage of g_strconcat: missing NULL (#553647)
|
||||||
|
|
||||||
|
* Thu Jan 7 2010 Tomas Bzatek <tbzatek@redhat.com> 2.29.4-1
|
||||||
|
- Update to 2.29.4
|
||||||
|
|
||||||
|
* Mon Dec 14 2009 Matthias Clasen <mclasen@redhat.com> 2.29.3-2
|
||||||
|
- Fix a wrong use of gdk_property_get that can lead to crashes
|
||||||
|
|
||||||
|
* Mon Nov 30 2009 Tomas Bzatek <tbzatek@redhat.com> 2.29.3-1
|
||||||
|
- Update to 2.29.3
|
||||||
|
|
||||||
|
* Mon Nov 2 2009 Tomas Bzatek <tbzatek@redhat.com> 2.29.1-1
|
||||||
|
- Update to 2.29.1
|
||||||
|
|
||||||
|
* Tue Sep 22 2009 Tomas Bzatek <tbzatek@redhat.com> 2.28.0-1
|
||||||
|
- Update to 2.28.0
|
||||||
|
|
||||||
|
* Mon Sep 14 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.92-1
|
||||||
|
- Update to 2.27.92
|
||||||
|
|
||||||
|
* Wed Aug 26 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.90-2
|
||||||
|
- Make seahorse respect the button-images setting
|
||||||
|
|
||||||
|
* Tue Aug 11 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.90-1
|
||||||
|
- Update to 2.27.90
|
||||||
|
|
||||||
|
* Thu Aug 6 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.5-2
|
||||||
|
- Bring the password tab back
|
||||||
|
|
||||||
|
* Tue Jul 28 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.5-1
|
||||||
|
- Update to 2.27.5
|
||||||
|
|
||||||
|
* Mon Jul 27 2009 Matthias Clasen <mclasen@redhat.com> - 2.27.1-4
|
||||||
|
- Drop unneeded direct deps
|
||||||
|
|
||||||
|
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.27.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 1 2009 Tomas Bzatek <tbzatek@redhat.com> 2.27.1-2
|
||||||
|
- Require pinentry-gtk (#474419)
|
||||||
|
|
||||||
|
* Mon May 4 2009 Tomas Bzatek <tbzatek@redhat.com> 2.27.1-1
|
||||||
|
- Update to 2.27.1
|
||||||
|
|
||||||
|
* Sun Apr 12 2009 Matthias Clasen <mclasen@redhat.com> 2.26.1-1
|
||||||
|
- Update to 2.26.1
|
||||||
|
- See http://download.gnome.org/sources/seahorse/2.26/seahorse-2.26.1.news
|
||||||
|
|
||||||
|
* Fri Apr 10 2009 Matthias Clasen <mclasen@redhat.com> 2.26.0-2
|
||||||
|
- Fix directory ownership
|
||||||
|
|
||||||
|
* Mon Mar 16 2009 Tomas Bzatek <tbzatek@redhat.com> 2.26.0-1
|
||||||
|
- Update to 2.26.0
|
||||||
|
|
||||||
|
* Mon Mar 2 2009 Tomas Bzatek <tbzatek@redhat.com> 2.25.92-1
|
||||||
|
- Update to 2.25.92
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.25.91-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Feb 14 2009 Matthias Clasen <mclasen@redhat.com> 2.25.91-1
|
||||||
|
- Update to 2.25.91
|
||||||
|
|
||||||
|
* Tue Feb 3 2009 Matthias Clasen <mclasen@redhat.com> 2.25.90-1
|
||||||
|
- Update to 2.25.90
|
||||||
|
|
||||||
|
* Wed Jan 7 2009 Matthias Clasen <mclasen@redhat.com> 2.25.4-1
|
||||||
|
- Update to 2.25.4
|
||||||
|
|
||||||
|
* Mon Dec 22 2008 Tomas Bzatek <tbzatek@redhat.com> 2.25.3-1
|
||||||
|
- Update to 2.25.3
|
||||||
|
|
||||||
|
* Tue Dec 2 2008 Matthias Clasen <mclasen@redhat.com> 2.25.1-3
|
||||||
|
- Rebuild for pkg-config provides
|
||||||
|
|
||||||
|
* Mon Dec 1 2008 Tomas Bzatek <tbzatek@redhat.com> 2.25.1-2
|
||||||
|
- Mark Seahorse as an official replacement for gnome-keyring-manager
|
||||||
|
|
||||||
|
* Thu Nov 13 2008 Matthias Clasen <mclasen@redhat.com> 2.25.1-1
|
||||||
|
- Update to 2.25.1
|
||||||
|
|
||||||
|
* Sun Oct 19 2008 Matthias Clasen <mclasen@redhat.com> 2.24.1-1
|
||||||
|
- Update to 2.24.1
|
||||||
|
|
||||||
|
* Thu Oct 9 2008 Matthias Clasen <mclasen@redhat.com> 2.24.0-3
|
||||||
|
- Save some space
|
||||||
|
|
||||||
|
* Sun Sep 21 2008 Matthias Clasen <mclasen@redhat.com> 2.24.0-2
|
||||||
|
- Update to 2.24.0
|
||||||
|
|
||||||
|
* Sun Sep 7 2008 Matthias Clasen <mclasen@redhat.com> 2.23.92-1
|
||||||
|
- Update to 2.23.92
|
||||||
|
|
||||||
|
* Thu Sep 4 2008 Matthias Clasen <mclasen@redhat.com> 2.23.91-1
|
||||||
|
- Update to 2.23.91
|
||||||
|
|
||||||
|
* Sat Aug 30 2008 Michel Salim <salimma@fedoraproject.org> 2.23.90-2
|
||||||
|
- Patch configure to detect gpg2 binary
|
||||||
|
|
||||||
|
* Sat Aug 23 2008 Matthias Clasen <mclasen@redhat.com> 2.23.90-1
|
||||||
|
- Update to 2.23.90
|
||||||
|
|
||||||
|
* Tue Aug 5 2008 Matthias Clasen <mclasen@redhat.com> 2.23.6-1
|
||||||
|
- Update to 2.23.6
|
||||||
|
- Split off a -devel package
|
||||||
|
|
||||||
|
* Tue Jul 22 2008 Matthias Clasen <mclasen@redhat.com> 2.23.5-1
|
||||||
|
- Update to 2.23.5
|
||||||
|
|
||||||
|
* Mon Apr 7 2008 Matthias Clasen <mclasen@redhat.com> 2.22.1-1
|
||||||
|
- Update to 2.22.1
|
||||||
|
|
||||||
|
* Mon Mar 10 2008 Matthias Clasen <mclasen@redhat.com> 2.22.0-1
|
||||||
|
- Update to 2.22.0
|
||||||
|
|
||||||
|
* Tue Feb 26 2008 Matthias Clasen <mclasen@redhat.com> 2.21.92-1
|
||||||
|
- Update to 2.21.92
|
||||||
|
|
||||||
|
* Fri Feb 15 2008 Matthias Clasen <mclasen@redhat.com> 2.21.90-2
|
||||||
|
- Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 29 2008 Seth Vidal <skvidal at fedoraproject.org> 2.21.90-1
|
||||||
|
- 2.21.90
|
||||||
|
- rebuild for new libsoup
|
||||||
|
|
||||||
|
|
||||||
|
* Mon Jan 7 2008 Seth Vidal <skvidal at fedoraproject.org> 2.21.4-2
|
||||||
|
- drop in seahorse-agent.sh to xinit - closes bug 427466 but will mean
|
||||||
|
that seahorse agent will start if it is installed - even on kde or xfce
|
||||||
|
desktops :(
|
||||||
|
|
||||||
|
* Thu Jan 3 2008 Seth Vidal <skvidal at fedoraproject.org> 2.21.4-1
|
||||||
|
- upgrade to 2.21.4
|
||||||
|
|
||||||
|
|
||||||
|
* Sat Dec 1 2007 Matt Domsch <mdomsch at fedoraproject.org> 2.21.3-1
|
||||||
|
- upgrade to 2.21.3
|
||||||
|
- enable avahi integration
|
||||||
|
- rpmlint cleanups: remove rpath, unneeded .so, tag config files
|
||||||
|
|
||||||
|
* Wed Aug 22 2007 Seth Vidal <skvidal at fedoraproject.org>
|
||||||
|
- fix license tag
|
||||||
|
- rebuild for fun!
|
||||||
|
|
||||||
|
* Fri Jul 20 2007 Seth Vidal <skvidal at fedoraproject.org>
|
||||||
|
- disable gedit plugin in rawhide, for now :(
|
||||||
|
|
||||||
|
* Tue Jun 26 2007 Seth Vidal <skvidal at fedoraproject.org>
|
||||||
|
- update to 1.0.1
|
||||||
|
|
||||||
|
* Sun Aug 13 2006 Seth Vidal <skvidal at linux.duke.edu>
|
||||||
|
- re-enable gedit
|
||||||
|
- update to 0.8.1
|
||||||
|
|
||||||
|
* Tue Mar 7 2006 Seth Vidal <skvidal at linux.duke.edu>
|
||||||
|
- added openldap-devel buildreq to hopefully close bug # 184124
|
||||||
|
|
||||||
|
* Thu Feb 23 2006 Seth Vidal <skvidal at linux.duke.edu>
|
||||||
|
- Patch from John Thacker for rh bug #182694
|
||||||
|
|
||||||
|
|
||||||
|
* Mon Jan 16 2006 Seth Vidal <skvidal at linux.duke.edu> - 0.8-2
|
||||||
|
- added configure patch for it to build
|
||||||
|
- disable gedit plugins until seahorse gets fixed to work with gedit 2.13+
|
||||||
|
|
||||||
|
* Wed Oct 26 2005 Seth Vidal <skvidal@phy.duke.edu> - 0.8-1
|
||||||
|
- 0.8
|
||||||
|
|
||||||
|
* Thu Jul 28 2005 Seth Vidal <skvidal@phy.duke.edu> - 0.7.9-1
|
||||||
|
- 0.7.9
|
||||||
|
|
||||||
|
* Wed May 25 2005 Jeremy Katz <katzj@redhat.com> - 0.7.7-3
|
||||||
|
- make sure all files are included
|
||||||
|
- BR nautilus-devel
|
||||||
|
|
||||||
|
* Sun May 22 2005 Jeremy Katz <katzj@redhat.com> - 0.7.7-2
|
||||||
|
- rebuild on all arches
|
||||||
|
|
||||||
|
* Thu May 5 2005 Seth Vidal <skvidal@phy.duke.edu> 0.7.7-1
|
||||||
|
- 0.7.7
|
||||||
|
|
||||||
|
* Tue Apr 19 2005 Seth Vidal <skvidal at phy.duke.edu> 0.7.6-4
|
||||||
|
- something innocuous to test on
|
||||||
|
|
||||||
|
* Wed Apr 6 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
|
||||||
|
- rebuilt
|
||||||
|
|
||||||
|
* Fri Feb 25 2005 Phillip Compton <pcompton[AT]proteinmedia.com> 0.7.6-2
|
||||||
|
- desktop entry fixes.
|
||||||
|
|
||||||
|
* Fri Feb 25 2005 Phillip Compton <pcompton[AT]proteinmedia.com> 0.7.6-1
|
||||||
|
- 0.7.6.
|
||||||
|
|
||||||
|
* Sun Nov 09 2003 Phillip Compton <pcompton[AT]proteinmedia.com> 0:0.7.3-0.fdr.5
|
||||||
|
- BuildReq scrollkeeper.
|
||||||
|
|
||||||
|
* Wed Oct 22 2003 Phillip Compton <pcompton[AT]proteinmedia.com> 0:0.7.3-0.fdr.4
|
||||||
|
- Uncommented .la removal.
|
||||||
|
|
||||||
|
* Sun Sep 21 2003 Phillip Compton <pcompton[AT]proteinmedia.com> 0:0.7.3-0.fdr.3
|
||||||
|
- Grabbed new copy os source from upstream.
|
||||||
|
- Fixed path on Source0, to allow direct download.
|
||||||
|
- BuildReq desktop-file-utils.
|
||||||
|
|
||||||
|
* Sun Sep 21 2003 Phillip Compton <pcompton[AT]proteinmedia.com> 0:0.7.3-0.fdr.2
|
||||||
|
- Fixed file permission on source tarball.
|
||||||
|
- Fixed Group.
|
||||||
|
- Removed aesthetic comments.
|
||||||
|
- Brought more in line with current spec template.
|
||||||
|
|
||||||
|
* Sun Aug 17 2003 Phillip Compton <pcompton[AT]proteinmedia.com> 0:0.7.3-0.fdr.1
|
||||||
|
- Fedorification.
|
||||||
|
- Added path to Source0.
|
||||||
|
- Added URL.
|
||||||
|
- buildroot -> RPM_BUILD_ROOT.
|
||||||
|
- BuildReq libgnomeui-devel, eel2-devel, gpgme03-devel.
|
||||||
|
- BuildReq gettext.
|
||||||
|
- post Req GConf2.
|
||||||
|
- post/postun Req scrollkeeper.
|
||||||
|
- .la/.a removal.
|
||||||
|
- cosmetic changes.
|
||||||
|
|
||||||
|
* Fri May 02 2003 Matthew Hall <matt@ecsc.co.uk> 0.7.3-1
|
||||||
|
- 0.7.3 Release
|
||||||
|
|
||||||
|
* Wed Apr 23 2003 Matthew Hall <matt@ecsc.co.uk> 0.7.1-3
|
||||||
|
- Rebuilt against gpgme 0.3.15
|
||||||
|
|
||||||
|
* Sat Apr 12 2003 Matthew Hall <matt@ecsc.co.uk> 0.7.1-2
|
||||||
|
- RedHat 9 Rebuild
|
||||||
|
|
||||||
|
* Sun Jan 26 2003 Matthew Hall <matt@ecsc.co.uk>
|
||||||
|
- New Spec File
|
||||||
|
|
Loading…
Reference in new issue