diff options
author | Andrew <write@imaginarycode.com> | 2017-01-15 21:14:29 -0500 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2017-01-16 10:14:29 +0800 |
commit | 6dd096b7f08799ff27d9e34356fb1163ca10f388 (patch) | |
tree | e5823a27df5def081c9c39f5fac1424a81875f6d /vendor/github.com/boombuler/barcode/qr/unicode.go | |
parent | 64375d875b4d46a6081026290da8efd82c84b25f (diff) | |
download | gitea-6dd096b7f08799ff27d9e34356fb1163ca10f388.tar.gz gitea-6dd096b7f08799ff27d9e34356fb1163ca10f388.zip |
Two factor authentication support (#630)
* Initial commit for 2FA support
Signed-off-by: Andrew <write@imaginarycode.com>
* Add vendored files
* Add missing depends
* A few clean ups
* Added improvements, proper encryption
* Better encryption key
* Simplify "key" generation
* Make 2FA enrollment page more robust
* Fix typo
* Rename twofa/2FA to TwoFactor
* UNIQUE INDEX -> UNIQUE
Diffstat (limited to 'vendor/github.com/boombuler/barcode/qr/unicode.go')
-rw-r--r-- | vendor/github.com/boombuler/barcode/qr/unicode.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/github.com/boombuler/barcode/qr/unicode.go b/vendor/github.com/boombuler/barcode/qr/unicode.go new file mode 100644 index 0000000000..a9135ab6d9 --- /dev/null +++ b/vendor/github.com/boombuler/barcode/qr/unicode.go @@ -0,0 +1,27 @@ +package qr + +import ( + "errors" + + "github.com/boombuler/barcode/utils" +) + +func encodeUnicode(content string, ecl ErrorCorrectionLevel) (*utils.BitList, *versionInfo, error) { + data := []byte(content) + + vi := findSmallestVersionInfo(ecl, byteMode, len(data)*8) + if vi == nil { + return nil, nil, errors.New("To much data to encode") + } + + // It's not correct to add the unicode bytes to the result directly but most readers can't handle the + // required ECI header... + res := new(utils.BitList) + res.AddBits(int(byteMode), 4) + res.AddBits(len(content), vi.charCountBits(byteMode)) + for _, b := range data { + res.AddByte(b) + } + addPaddingAndTerminator(res, vi) + return res, vi, nil +} |