()
| 94 | } |
| 95 | |
| 96 | func executableDigest() (hash.Hash, error) { |
| 97 | ex, err := os.Executable() |
| 98 | if err != nil { |
| 99 | return nil, err |
| 100 | } |
| 101 | |
| 102 | f, err := os.Open(ex) |
| 103 | if err != nil { |
| 104 | return nil, err |
| 105 | } |
| 106 | defer f.Close() |
| 107 | |
| 108 | h := sha256.New() |
| 109 | if _, err := io.Copy(h, f); err != nil { |
| 110 | return nil, err |
| 111 | } |
| 112 | |
| 113 | return h, nil |
| 114 | } |