{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":3802828,"defaultBranch":"master","name":"goproxy","ownerLogin":"elazarl","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2012-03-22T22:05:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/260258?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1613516400.272695","currentOid":""},"activityList":{"items":[{"before":"8b0c205063807802a7ac1d75351a90172a9c83fb","after":"6741dbfc16a13e515d5f2b485eb4be24692e54de","ref":"refs/heads/master","pushedAt":"2024-09-09T08:57:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Add https to http websocket override","shortMessageHtmlLink":"Add https to http websocket override"}},{"before":"24b50190c2009e354c781939f5d2609a5a3fd2ce","after":"8b0c205063807802a7ac1d75351a90172a9c83fb","ref":"refs/heads/master","pushedAt":"2024-07-26T15:47:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Fix go version constraint","shortMessageHtmlLink":"Fix go version constraint"}},{"before":"5ecc1787942952888507f62ba880c6e8d287f9e3","after":"24b50190c2009e354c781939f5d2609a5a3fd2ce","ref":"refs/heads/master","pushedAt":"2024-07-25T08:20:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"ext.auth: return `nil` instead of `OkConnect`\n\nThis allows falling through to a next `ConnectHandler` is authentication succeeds making if easier to combine with other `ConnectHandler`s.","shortMessageHtmlLink":"ext.auth: return nil instead of OkConnect"}},{"before":"6ca80f56455468b7ee41e5d78d848b6b1951c2de","after":"5ecc1787942952888507f62ba880c6e8d287f9e3","ref":"refs/heads/master","pushedAt":"2024-07-24T17:57:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Add basic passthrough HTTP/2 support.","shortMessageHtmlLink":"Add basic passthrough HTTP/2 support."}},{"before":"03be62527ccbb67ca603c9ca5cd741fbf5f58b9e","after":"6ca80f56455468b7ee41e5d78d848b6b1951c2de","ref":"refs/heads/master","pushedAt":"2024-07-19T13:50:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Ensure tls client is closed if handshake fails\n\nThe tls client wasn't close when a handshake error occurs, this caused the proxy to keep a connection open without ever responding.","shortMessageHtmlLink":"Ensure tls client is closed if handshake fails"}},{"before":"7cc037d33fb57d20c2fa7075adaf0e2d2862da78","after":"03be62527ccbb67ca603c9ca5cd741fbf5f58b9e","ref":"refs/heads/master","pushedAt":"2024-06-18T08:31:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Clean up SimpleHttpRequest test.\n\nPer RFC 6761, example.com is a standards-based choice for a functioning http\nsite while the .invalid TLD will not exist.","shortMessageHtmlLink":"Clean up SimpleHttpRequest test."}},{"before":"3ec07828be7ac4d84b1561216ae707dc12b2739a","after":"7cc037d33fb57d20c2fa7075adaf0e2d2862da78","ref":"refs/heads/master","pushedAt":"2023-11-17T06:19:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"fix: Package renaming","shortMessageHtmlLink":"fix: Package renaming"}},{"before":"1fe6677f404d56c7e96376b75332c5fd25faf385","after":"3ec07828be7ac4d84b1561216ae707dc12b2739a","ref":"refs/heads/master","pushedAt":"2023-10-31T07:48:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"httpError: write error string as body in 502 response","shortMessageHtmlLink":"httpError: write error string as body in 502 response"}},{"before":"2592e75ae04ae4282011ea5c2c25f236451039b7","after":"1fe6677f404d56c7e96376b75332c5fd25faf385","ref":"refs/heads/master","pushedAt":"2023-10-17T16:09:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"chore: use strings.ContainsRune instead","shortMessageHtmlLink":"chore: use strings.ContainsRune instead"}},{"before":"f99041a5c0273fcf6a144498b458a630585872fa","after":"2592e75ae04ae4282011ea5c2c25f236451039b7","ref":"refs/heads/master","pushedAt":"2023-08-08T19:33:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"Fix data race in MITM'ed HTTPS request handling\n\nThis data race requires quite of few conditions to appear.\n\n1) The transport has to have HTTP/2 enabled (in goproxy, it's not by default).\n2) The target server must be an HTTP/2 one.\n3) The request must have a body.\n4) The server must return certain erroneus HTTP status code.\n5) The client must ignore Connection: close header from the proxy\n (4ec79339bd51dec356e283d8c8de29748b42b1fe).\n\nSomehow, I managed to hit all these conditions, and got this error:\n\n panic: runtime error: slice bounds out of range [96:48]\n\n goroutine 341699 [running]:\n bufio.(*Reader).ReadSlice(0xc000b0c1e0, 0x80?)\n /usr/local/go/src/bufio/bufio.go:347 +0x225\n bufio.(*Reader).ReadLine(0xc000b0c1e0)\n /usr/local/go/src/bufio/bufio.go:401 +0x27\n net/textproto.(*Reader).readLineSlice(0xc0013400f0)\n /usr/local/go/src/net/textproto/reader.go:56 +0x99\n net/textproto.(*Reader).ReadLine(...)\n /usr/local/go/src/net/textproto/reader.go:39\n net/http.readRequest(0xc000847d40?)\n /usr/local/go/src/net/http/request.go:1042 +0xba\n net/http.ReadRequest(0xc000b0c1e0?)\n /usr/local/go/src/net/http/request.go:1025 +0x19\n github.com/elazarl/goproxy.(*ProxyHttpServer).handleHttps.func2()\n /root/go/pkg/mod/github.com/elazarl/goproxy@v0.0.0-20220901064549-fbd10ff4f5a1/https.go:221 +0x3db\n created by github.com/elazarl/goproxy.(*ProxyHttpServer).handleHttps\n /root/go/pkg/mod/github.com/elazarl/goproxy@v0.0.0-20220901064549-fbd10ff4f5a1/https.go:211 +0x611\n\nDespite 5), goproxy should not break from non-compliant HTTP clients,\nand \"Connection: close\" is more like of an accidental fix.\n\nSee also https://github.com/golang/go/issues/61596#issuecomment-1652345131","shortMessageHtmlLink":"Fix data race in MITM'ed HTTPS request handling"}},{"before":"a0805db90819b464f8fadc660e23a6a6b9d4942f","after":"f99041a5c0273fcf6a144498b458a630585872fa","ref":"refs/heads/master","pushedAt":"2023-07-31T15:29:18.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"elazarl","name":"Elazar Leibovich","path":"/elazarl","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/260258?s=80&v=4"},"commit":{"message":"fixed nil check","shortMessageHtmlLink":"fixed nil check"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wOVQwODo1NzozMy4wMDAwMDBazwAAAASwqg4X","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wOVQwODo1NzozMy4wMDAwMDBazwAAAASwqg4X","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNy0zMVQxNToyOToxOC4wMDAwMDBazwAAAANgwvj4"}},"title":"Activity ยท elazarl/goproxy"}