@@ -279,6 +279,13 @@ type ConnectionState struct {
279
279
// RFC 7627, and https://mitls.org/pages/attacks/3SHAKE#channelbindings.
280
280
TLSUnique []byte
281
281
282
+ // CFControl is used to pass additional TLS configuration information to
283
+ // HTTP requests.
284
+ //
285
+ // NOTE: This feature is used to implement Cloudflare-internal features.
286
+ // This feature is unstable and applications MUST NOT depend on it.
287
+ CFControl interface {}
288
+
282
289
// ekm is a closure exposed via ExportKeyingMaterial.
283
290
ekm func (label string , context []byte , length int ) ([]byte , error )
284
291
}
@@ -739,6 +746,13 @@ type Config struct {
739
746
// used for debugging.
740
747
KeyLogWriter io.Writer
741
748
749
+ // CFControl is used to pass additional TLS configuration information to
750
+ // HTTP requests via ConnectionState.
751
+ //
752
+ // NOTE: This feature is used to implement Cloudflare-internal features.
753
+ // This feature is unstable and applications MUST NOT depend on it.
754
+ CFControl interface {}
755
+
742
756
// mutex protects sessionTicketKeys and autoSessionTicketKeys.
743
757
mutex sync.RWMutex
744
758
// sessionTicketKeys contains zero or more ticket keys. If set, it means
@@ -829,6 +843,7 @@ func (c *Config) Clone() *Config {
829
843
DynamicRecordSizingDisabled : c .DynamicRecordSizingDisabled ,
830
844
Renegotiation : c .Renegotiation ,
831
845
KeyLogWriter : c .KeyLogWriter ,
846
+ CFControl : c .CFControl ,
832
847
sessionTicketKeys : c .sessionTicketKeys ,
833
848
autoSessionTicketKeys : c .autoSessionTicketKeys ,
834
849
}
0 commit comments