Comments (3)
Another question, should we try to make the diff against upstream as small as possible (hopefully making maintenance/future upstreaming easier) or preserve changes as much as possible (such that motivation for changes are tracked)? Asking because of things like #31 (I wonder whether to record the revert or whether to drop the two commits while rebasing).
Another change I would like to do why rebasing is to fix one indentation issue that somehow got folded with unrelated changes:
git filter-branch --tree-filter 'files=$(git show $GIT_COMMIT --format= --name-status | awk "/^[AM].*\\.go$/{print \$2}"); [ -z "$files" ] || gofmt -w $files' $base_commit
Concrete proposal (focused to make maintainability easier):
- gotfmt each commit
- drop the two short header commits; drop change #15; squash typo fixes into their original patches
- rebase on pwu/go-update/go1.9
- [solve merge conflicts /
addsquash additional fixes for tests / run tests at each step] - push result to master (eventually)
Notes:
short header experiment also included a check for empty CH extensionEarlyData, this needs to be re-added.
UPDATE: https://github.com/cloudflare/tls-tris/commits/pwu/master-go1.9-rebase is updated following the above proposal; the note above wrt extensionEarlyData is still valid.
from tls-tris.
For reference, these are the commits of importance:
- 6e74107 current (old) master branch
- 3e970d0 old base branch (before adding tls13 patches)
- e3f996a new base branch (with fixed committer info, no changes otherwise)
- b0bcb44
pwu/go-update/go1.9
branch (extracted from go1.9 tag), based on that "new base branch" - 25f2efc
pwu/master-go1.9-rebase~
(rebased master on go1.9 crypto/tls) - 25f2efc
pwu/master-go1.9-rebase
branch includes actually building with go1.9 instead of go1.8 - c11c900
pwu/remove-short_headers
branch ispwu/master-go1.9-rebase~
plus #31
To check for changes in the contents (prepend pwu/
with origin/
if necessary) while ignoring line number changes:
git diff 3e970d0da6..origin/pwu/remove-short_headers > /tmp/1
git diff origin/pwu/go-update/go1.9..origin/pwu/master-go1.9-rebase~ > /tmp/2
sed -e '/^index /d' -e '/^@@/d' -i "" /tmp/[12]
You can compare that result using your favorite diff tool. For your convenience, I have prepared a diff here: https://gist.github.com/Lekensteyn/4f33d7a295d959cd2dc479f9a01a95b9/revisions
Look for the ++
, --
, +-
or +-
lines, the others ( +
or -
) are just changing the context.
Changes while rebasing:
- Added
// TODO use alertDecodeError?
in 4191962 - Removal of the previously mentioned "check for empty CH extensionEarlyData"
- update new upstream test to work with unmarshal return value change.
If it OK, pwu/master-go1.9-rebase
should become the new master
branch.
from tls-tris.
Reviewed/acked internally, master is now 25f2efc.
from tls-tris.
Related Issues (20)
- Support for 0-RTT HOT 7
- Server resonds with incorrect error code when client sends empty list of certificates HOT 4
- add a license
- use of internal HOT 2
- Add SM- ciphersuites
- Client certificate has expired on Feb 13, 2019 HOT 1
- Wrong trace, when handshake fails on client side
- testing: one docker for testing is (more than) enough
- Create a standalone tls library that does not require patching the Go standard library HOT 1
- X25519: Check for all zeros value
- BUG: default ciphersSuites for 1.3 HOT 3
- Improve testing HOT 3
- Go 1.12/1.13 compatibility HOT 1
- build: Create debian package during build HOT 3
- Build fail on Arch Linux HOT 2
- Vendoring issues with SIKE and SIDH
- Server does not seem to support season ticket sealer in TLS 1.2
- Rebase on upstream Go crypto/tls
- Check that the library properly builds for all OS
- Add linters and checkers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tls-tris.