[arch-commits] Commit in keybase/trunk (PKGBUILD gccgo.patch)
Felix Yan
felixonmars at archlinux.org
Wed Aug 10 03:24:20 UTC 2016
Date: Wednesday, August 10, 2016 @ 03:24:20
Author: felixonmars
Revision: 186272
upgpkg: keybase 1.0.17-1
Modified:
keybase/trunk/PKGBUILD
Deleted:
keybase/trunk/gccgo.patch
-------------+
PKGBUILD | 13 ++---
gccgo.patch | 132 ----------------------------------------------------------
2 files changed, 5 insertions(+), 140 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-08-10 03:08:54 UTC (rev 186271)
+++ PKGBUILD 2016-08-10 03:24:20 UTC (rev 186272)
@@ -4,22 +4,19 @@
pkgname=keybase
pkgdesc='CLI tool for GPG with keybase.io'
-pkgver=1.0.16
-_realver=1.0.16
-pkgrel=2
+pkgver=1.0.17
+_realver=1.0.17
+pkgrel=1
arch=('i686' 'x86_64')
url='http://keybase.io/'
license=('BSD')
depends=('gnupg')
makedepends=('gcc-go' 'git' 'mercurial')
-source=("git+https://github.com/keybase/client.git#tag=v$_realver"
- gccgo.patch)
-sha256sums=('SKIP'
- '75ec94f85e665defd3e2560d31b498e982e9aaf787d6f6edf4b907217d20b8d1')
+source=("git+https://github.com/keybase/client.git#tag=v$_realver")
+sha256sums=('SKIP')
prepare() {
cd client
- patch -p1 -i ../gccgo.patch
mkdir -p .gopath/src
mv go/vendor/* .gopath/src/
Deleted: gccgo.patch
===================================================================
--- gccgo.patch 2016-08-10 03:08:54 UTC (rev 186271)
+++ gccgo.patch 2016-08-10 03:24:20 UTC (rev 186272)
@@ -1,132 +0,0 @@
-From ca023e2d6f9192fd8e923f3113ae4a11cda8b53a Mon Sep 17 00:00:00 2001
-From: Jack O'Connor <oconnor663 at gmail.com>
-Date: Tue, 31 May 2016 15:27:18 -0400
-Subject: [PATCH] avoid undefined behavior in Go assignments
-
-The funky assignment that initialized p.Hash as part of the method on
-the RHS, invoked undefined behavior in the Go compiler, and ended up
-crashing when we built with gcc-go. There was a lot of dirty code there
-anyway, so this diff just goes ahead and rewrites that whole bit.
----
- go/libkb/kbpackets.go | 49 +++++++++++++++++++++++++++++--------------------
- go/libkb/naclwrap.go | 14 ++------------
- go/libkb/skb.go | 8 +-------
- 3 files changed, 32 insertions(+), 39 deletions(-)
-
-diff --git a/go/libkb/kbpackets.go b/go/libkb/kbpackets.go
-index df553ed..2cc81ee 100644
---- a/go/libkb/kbpackets.go
-+++ b/go/libkb/kbpackets.go
-@@ -49,32 +49,41 @@ type KeybasePacket struct {
-
- type KeybasePackets []*KeybasePacket
-
--func (p *KeybasePacket) hashToBytes() (ret []byte, err error) {
-- zb := [0]byte{}
-- if p.Hash == nil {
-- p.Hash = &KeybasePacketHash{}
-+func NewKeybasePacket(body interface{}, tag int, version int) (*KeybasePacket, error) {
-+ ret := KeybasePacket{
-+ Body: body,
-+ Tag: tag,
-+ Version: version,
- }
-- tmp := p.Hash.Value
-- defer func() {
-- p.Hash.Value = tmp
-- }()
-- p.Hash.Value = zb[:]
-- p.Hash.Type = SHA256Code
-
-- var encoded []byte
-- if encoded, err = p.Encode(); err != nil {
-- return
-+ hashBytes, hashErr := ret.hashToBytes()
-+ if hashErr != nil {
-+ return nil, hashErr
- }
--
-- sum := sha256.Sum256(encoded)
-- ret = sum[:]
-- return
-+ ret.Hash = &KeybasePacketHash{
-+ Type: SHA256Code,
-+ Value: hashBytes,
-+ }
-+ return &ret, nil
- }
-
--func (p *KeybasePacket) HashMe() error {
-+func (p *KeybasePacket) hashToBytes() ([]byte, error) {
-+ // We don't include the Hash field in the encoded bytes that we hash,
-+ // because if we did then the result wouldn't be stable. To work around
-+ // that, we make a copy of the packet and overwrite the Hash field with
-+ // an empty slice.
-+ packetCopy := *p
-+ packetCopy.Hash = &KeybasePacketHash{
-+ Type: SHA256Code,
-+ Value: []byte{},
-+ }
-+ var encoded []byte
- var err error
-- p.Hash.Value, err = p.hashToBytes()
-- return err
-+ if encoded, err = packetCopy.Encode(); err != nil {
-+ return nil, err
-+ }
-+ ret := sha256.Sum256(encoded)
-+ return ret[:], nil
- }
-
- func (p *KeybasePacket) checkHash() error {
-diff --git a/go/libkb/naclwrap.go b/go/libkb/naclwrap.go
-index 61dd69b..9a9a19d 100644
---- a/go/libkb/naclwrap.go
-+++ b/go/libkb/naclwrap.go
-@@ -390,12 +390,7 @@ func (k NaclDHKeyPair) VerifyString(sig string, msg []byte) (id keybase1.SigID,
- }
-
- func (s *NaclSigInfo) ToPacket() (ret *KeybasePacket, err error) {
-- ret = &KeybasePacket{
-- Version: KeybasePacketV1,
-- Tag: TagSignature,
-- }
-- ret.Body = s
-- return
-+ return NewKeybasePacket(s, TagSignature, KeybasePacketV1)
- }
-
- func (p KeybasePacket) ToNaclSigInfo() (*NaclSigInfo, error) {
-@@ -647,12 +642,7 @@ func (k NaclDHKeyPair) EncryptToString(plaintext []byte, sender GenericKey) (str
-
- // ToPacket implements the Packetable interface.
- func (k *NaclEncryptionInfo) ToPacket() (ret *KeybasePacket, err error) {
-- ret = &KeybasePacket{
-- Version: KeybasePacketV1,
-- Tag: TagEncryption,
-- }
-- ret.Body = k
-- return
-+ return NewKeybasePacket(k, TagEncryption, KeybasePacketV1)
- }
-
- // DecryptFromString decrypts the output of EncryptToString above,
-diff --git a/go/libkb/skb.go b/go/libkb/skb.go
-index 55475d9..52d3430 100644
---- a/go/libkb/skb.go
-+++ b/go/libkb/skb.go
-@@ -171,13 +171,7 @@ func (s *SKB) newLKSec(pps *PassphraseStream) *LKSec {
- }
-
- func (s *SKB) ToPacket() (ret *KeybasePacket, err error) {
-- ret = &KeybasePacket{
-- Version: KeybasePacketV1,
-- Tag: TagP3skb,
-- }
-- ret.Body = s
-- err = ret.HashMe()
-- return
-+ return NewKeybasePacket(s, TagP3skb, KeybasePacketV1)
- }
-
- func (s *SKB) ReadKey() (g GenericKey, err error) {
More information about the arch-commits
mailing list