Upgrading github.com/emicklei/go-restful 1 to 2
Unknownv1.1.3 → v2.16.0+incompatibleSecurity1
Fetching 29 releases from GitHub…8 / 29
SecurityAuthorization bypass in github.com/emicklei/go-restful, go-restful/v2 and go-restful/v3GHSA-r48q-9g5r-8q2h · CVE-2022-1996 ↗
UnknownUpgrade verdict
DepDelta is still reading the notes for 21 of 29 releases, so breaking changes can't be ruled out yet.
In plain terms
- DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
- This page updates as the notes come in.
Must act 1 item needs code or config changes
What you must change
Security1
Authorization bypass in github.com/emicklei/go-restful, go-restful/v2 and go-restful/v3
API changes
Generated by DepDelta from published Go source. Not mixed with prose notes.
- removed:
func SetCacheReadEntity(bool) - changed:
func TraceLogger(*log.Logger) → func TraceLogger(log.StdLogger) - changed:
method CompressingResponseWriter.Close() → method CompressingResponseWriter.Close() error - changed:
method Response.WriteError(int, error) error → method Response.WriteError(int, error) (error) - changed:
method RouteBuilder.Reads(interface{}) *RouteBuilder → method RouteBuilder.Reads(interface{}, ...string) *RouteBuilder - added:
const CollectionFormatCSV - added:
const CollectionFormatMulti - added:
const CollectionFormatPipes - added:
const CollectionFormatSSV - added:
const CollectionFormatTSV - added:
const MIME_OCTET - added:
const MultiPartFormParameterKind - added:
field CrossOriginResourceSharing.AllowedDomainFunc: func(origin string) bool - added:
field Header.Description: string - added:
field Header.Items: embedded *Items - added:
field Items.CollectionFormat: string - added:
field Items.Default: interface{} - added:
field Items.Format: string - added:
field Items.Items: *Items - added:
field Items.Type: string - added:
field ParameterData.CollectionFormat: string - added:
field ParameterData.DataFormat: string - added:
field ParameterData.DefaultValue: string - added:
field ResponseError.Headers: map[string]Header - added:
field ResponseError.IsDefault: bool - added:
field Route.DefaultResponse: *ResponseError - added:
field Route.Deprecated: bool - added:
field Route.If: []RouteSelectionConditionFunction - added:
field Route.Metadata: map[string]interface{} - added:
field ServiceError.Header: http.Header - added:
field SyncPoolCompessors.GzipReaderPool: *sync.Pool - added:
field SyncPoolCompessors.GzipWriterPool: *sync.Pool - added:
field SyncPoolCompessors.ZlibWriterPool: *sync.Pool - added:
func BodyParameter(string, string) *Parameter - added:
func CurrentCompressorProvider() CompressorProvider - added:
func EnableTracing(bool) - added:
func FormParameter(string, string) *Parameter - added:
func HeaderParameter(string, string) *Parameter - added:
func MultiPartFormParameter(string, string) *Parameter - added:
func NewBoundedCachedCompressors(int, int) *BoundedCachedCompressors - added:
func NewEntityAccessorJSON(string) EntityReaderWriter - added:
func NewEntityAccessorXML(string) EntityReaderWriter - added:
func NewErrorWithHeader(int, string, http.Header) ServiceError - added:
func NewSyncPoolCompessors() *SyncPoolCompessors - added:
func NoBrowserCacheFilter(*Request, *Response, *FilterChain) - added:
func PathParameter(string, string) *Parameter - added:
func QueryParameter(string, string) *Parameter - added:
func RegisterEntityAccessor(string, EntityReaderWriter) - added:
func SetCompressorProvider(CompressorProvider) - added:
func SetLogger(log.StdLogger) - added:
method BoundedCachedCompressors.AcquireGzipReader() *gzip.Reader - added:
method BoundedCachedCompressors.AcquireGzipWriter() *gzip.Writer - added:
method BoundedCachedCompressors.AcquireZlibWriter() *zlib.Writer - added:
method BoundedCachedCompressors.ReleaseGzipReader(*gzip.Reader) - added:
method BoundedCachedCompressors.ReleaseGzipWriter(*gzip.Writer) - added:
method BoundedCachedCompressors.ReleaseZlibWriter(*zlib.Writer) - added:
method CollectionFormat.String() string - added:
method CompressingResponseWriter.Hijack() (net.Conn, *bufio.ReadWriter, error) - added:
method CompressorProvider.AcquireGzipReader() *gzip.Reader - added:
method CompressorProvider.AcquireGzipWriter() *gzip.Writer - added:
method CompressorProvider.AcquireZlibWriter() *zlib.Writer - added:
method CompressorProvider.ReleaseGzipReader(*gzip.Reader) - added:
method CompressorProvider.ReleaseGzipWriter(*gzip.Writer) - added:
method CompressorProvider.ReleaseZlibWriter(*zlib.Writer) - added:
method Container.Dispatch(http.ResponseWriter, *http.Request) - added:
method Container.Remove(*WebService) error - added:
method Container.ServiceErrorHandler(ServiceErrorHandleFunction) - added:
method EntityReaderWriter.Read(*Request, interface{}) error - added:
method EntityReaderWriter.Write(*Response, int, interface{}) error - added:
method Parameter.CollectionFormat(CollectionFormat) *Parameter - added:
method Parameter.DataFormat(string) *Parameter - added:
method Parameter.DefaultValue(string) *Parameter - added:
method Parameter.Description(string) *Parameter - added:
method PathProcessor.ExtractParameters(*Route, *WebService, string) map[string]string - added:
method Request.QueryParameters(string) []string - added:
method Request.SelectedRoute() RouteReader - added:
method Response.EntityWriter() (EntityReaderWriter, bool) - added:
method Response.Error() error - added:
method Response.Flush() - added:
method Response.Hijack() (net.Conn, *bufio.ReadWriter, error) - added:
method Response.WriteHeaderAndEntity(int, interface{}) error - added:
method Response.WriteHeaderAndJson(int, interface{}, string) error - added:
method Response.WriteHeaderAndXml(int, interface{}) error - added:
method Response.WriteJson(interface{}, string) error - added:
method Route.EnableContentEncoding(bool) - added:
method RouteBuilder.AllowedMethodsWithoutContentType([]string) *RouteBuilder - added:
method RouteBuilder.ContentEncodingEnabled(bool) *RouteBuilder - added:
method RouteBuilder.DefaultReturns(string, interface{}) *RouteBuilder - added:
method RouteBuilder.Deprecate() *RouteBuilder - added:
method RouteBuilder.If(RouteSelectionConditionFunction) *RouteBuilder - added:
method RouteBuilder.Metadata(string, interface{}) *RouteBuilder - added:
method RouteBuilder.ReturnsWithHeaders(int, string, interface{}, map[string]Header) *RouteBuilder - added:
method RouteReader.Consumes() []string - added:
method RouteReader.Deprecated() bool - added:
method RouteReader.Doc() string - added:
method RouteReader.Metadata() map[string]interface{} - added:
method RouteReader.Method() string - added:
method RouteReader.Notes() string - added:
method RouteReader.Operation() string - added:
method RouteReader.ParameterDocs() []*Parameter - added:
method RouteReader.Path() string - added:
method RouterJSR311.ExtractParameters(*Route, *WebService, string) map[string]string - added:
method SyncPoolCompessors.AcquireGzipReader() *gzip.Reader - added:
method SyncPoolCompessors.AcquireGzipWriter() *gzip.Writer - added:
method SyncPoolCompessors.AcquireZlibWriter() *zlib.Writer - added:
method SyncPoolCompessors.ReleaseGzipReader(*gzip.Reader) - added:
method SyncPoolCompessors.ReleaseGzipWriter(*gzip.Writer) - added:
method SyncPoolCompessors.ReleaseZlibWriter(*zlib.Writer) - added:
method WebService.MultiPartFormParameter(string, string) *Parameter - added:
method WebService.OPTIONS(string) *RouteBuilder - added:
method WebService.RemoveRoute(string, string) error - added:
method WebService.SetDynamicRoutes(bool) - added:
method WebService.TypeNameHandler(TypeNameHandleFunction) *WebService - added:
type BoundedCachedCompressors: struct - added:
type CollectionFormat: string - added:
type CompressorProvider: interface - added:
type EntityReaderWriter: interface - added:
type Header: struct - added:
type Items: struct - added:
type PathProcessor: interface - added:
type RouteReader: interface - added:
type RouteSelectionConditionFunction: func(httpRequest *http.Request) bool - added:
type ServiceErrorHandleFunction: func(ServiceError, *Request, *Response) - added:
type SyncPoolCompessors: struct - added:
type TypeNameHandleFunction: func(sample interface{}) string - added:
var MarshalIndent - added:
var NewDecoder - added:
var NewEncoder
- added:
const MIME_MSGPACK - added:
func NewEntityAccessorMsgPack() restful.EntityReaderWriter
- added:
func Print(...interface{}) - added:
func Printf(string, ...interface{}) - added:
func SetLogger(StdLogger) - added:
method StdLogger.Print(...interface{}) - added:
method StdLogger.Printf(string, ...interface{}) - added:
type StdLogger: interface - added:
var Logger: StdLogger
- removed:
field Api.Description: string - removed:
field Api.Operations: []Operation - removed:
field Api.Path: string - removed:
field ApiDeclaration.ApiVersion: string - removed:
field ApiDeclaration.Apis: []Api - removed:
field ApiDeclaration.Authorizations: []Authorization - removed:
field ApiDeclaration.BasePath: string - removed:
field ApiDeclaration.Consumes: []string - removed:
field ApiDeclaration.Models: map[string]Model - removed:
field ApiDeclaration.Produces: []string - removed:
field ApiDeclaration.ResourcePath: string - removed:
field ApiDeclaration.SwaggerVersion: string - removed:
field Authorization.GrantTypes: []GrantType - removed:
field Authorization.Keyname: string - removed:
field Authorization.PassAs: string - removed:
field Authorization.Scopes: []Scope - removed:
field Authorization.Type: string - removed:
field AuthorizationCode.TokenEndpoint: TokenEndpoint - removed:
field AuthorizationCode.TokenRequestEndpoint: TokenRequestEndpoint - removed:
field Config.ApiPath: string - removed:
field Config.DisableCORS: bool - removed:
field Config.StaticHandler: http.Handler - removed:
field Config.SwaggerFilePath: string - removed:
field Config.SwaggerPath: string - removed:
field Config.WebServices: []*restful.WebService - removed:
field Config.WebServicesUrl: string - removed:
field DataTypeFields.DefaultValue: Special - removed:
field DataTypeFields.Enum: []string - removed:
field DataTypeFields.Format: string - removed:
field DataTypeFields.Items: *Item - removed:
field DataTypeFields.Maximum: string - removed:
field DataTypeFields.Minimum: string - removed:
field DataTypeFields.Ref: *string - removed:
field DataTypeFields.Type: *string - removed:
field DataTypeFields.UniqueItems: *bool - removed:
field GrantType.AuthorizationCode: AuthorizationCode - removed:
field GrantType.Implicit: Implicit - removed:
field Implicit.TokenName: string - removed:
field Info.Contact: string - removed:
field Info.Description: string - removed:
field Info.LicensUrl: string - removed:
field Info.License: string - removed:
field Info.TermsOfServiceUrl: string - removed:
field Info.Title: string - removed:
field Item.Format: string - removed:
field Item.Ref: *string - removed:
field Item.Type: *string - removed:
field LoginEndpoint.Url: string - removed:
field Model.Description: string - removed:
field Model.Discriminator: string - removed:
field Model.Id: string - removed:
field Model.Properties: map[string]ModelProperty - removed:
field Model.Required: []string - removed:
field Model.SubTypes: []string - removed:
field ModelProperty.DataTypeFields: embedded DataTypeFields - removed:
field ModelProperty.Description: string - removed:
field Operation.Authorizations: []Authorization - removed:
field Operation.Consumes: []string - removed:
field Operation.Deprecated: string - removed:
field Operation.Method: string - removed:
field Operation.Nickname: string - removed:
field Operation.Notes: string - removed:
field Operation.Parameters: []Parameter - removed:
field Operation.Produces: []string - removed:
field Operation.ResponseMessages: []ResponseMessage - removed:
field Operation.Summary: string - removed:
field Operation.Type: string - removed:
field Parameter.AllowMultiple: bool - removed:
field Parameter.DataTypeFields: embedded DataTypeFields - removed:
field Parameter.Description: string - removed:
field Parameter.Name: string - removed:
field Parameter.ParamType: string - removed:
field Parameter.Required: bool - removed:
field Resource.Description: string - removed:
field Resource.Path: string - removed:
field ResourceListing.ApiVersion: string - removed:
field ResourceListing.Apis: []Resource - removed:
field ResourceListing.Authorizations: []Authorization - removed:
field ResourceListing.Info: Info - removed:
field ResourceListing.SwaggerVersion: string - removed:
field ResponseMessage.Code: int - removed:
field ResponseMessage.Message: string - removed:
field ResponseMessage.ResponseModel: string - removed:
field Scope.Description: string - removed:
field Scope.Scope: string - removed:
field TokenEndpoint.TokenName: string - removed:
field TokenEndpoint.Url: string - removed:
field TokenRequestEndpoint.ClientIdName: string - removed:
field TokenRequestEndpoint.ClientSecretName: string - removed:
field TokenRequestEndpoint.Url: string - removed:
func InstallSwaggerService(Config) - removed:
func RegisterSwaggerService(Config, *restful.Container) - removed:
method ParameterSorter.Len() int - removed:
method ParameterSorter.Less(int, int) bool - removed:
method ParameterSorter.Swap(int, int) - removed:
method ResourceSorter.Len() int - removed:
method ResourceSorter.Less(int, int) bool - removed:
method ResourceSorter.Swap(int, int) - removed:
type Api: struct - removed:
type ApiDeclaration: struct - removed:
type Authorization: struct - removed:
type AuthorizationCode: struct - removed:
type Authorizations: map[string]Authorization - removed:
type Config: struct - removed:
type DataTypeFields: struct - removed:
type GrantType: struct - removed:
type Implicit: struct - removed:
type Info: struct - removed:
type Item: struct - removed:
type LoginEndpoint: struct - removed:
type Model: struct - removed:
type ModelProperty: struct - removed:
type Operation: struct - removed:
type Parameter: struct - removed:
type ParameterSorter: []Parameter - removed:
type Resource: struct - removed:
type ResourceListing: struct - removed:
type ResourceSorter: []Resource - removed:
type ResponseMessage: struct - removed:
type Scope: struct - removed:
type Special: string - removed:
type SwaggerService: struct - removed:
type TokenEndpoint: struct - removed:
type TokenRequestEndpoint: struct - removed:
var LogInfo