Commit 062c5261 authored by M. Hamza's avatar M. Hamza
Browse files

fix validation of attributes in MTS PUT method

parent 44233cd4
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -619,9 +619,15 @@ func mtsSessionPost(w http.ResponseWriter, r *http.Request) {
		return
	}

	if *requestBody.RequestType == 1 && len(requestBody.FlowFilter) == 0 {
		log.Error("flowFilter shall be present if requestType is 1")
		errHandlerProblemDetails(w, "flowFilter shall be present if requestType is 1 in the request body.", http.StatusBadRequest)
		return
	}

	if *requestBody.RequestType == 1 && requestBody.FlowFilter != nil {
		for _, flowFilterVal := range requestBody.FlowFilter {
			if flowFilterVal.SourceIp == "" && flowFilterVal.SourcePort == nil && flowFilterVal.DstIp == "" && flowFilterVal.DstPort == nil && flowFilterVal.Protocol == nil && flowFilterVal.Dscp == nil && flowFilterVal.Flowlabel == nil {
			if flowFilterVal.SourceIp == "" && len(*flowFilterVal.SourcePort) == 0 && flowFilterVal.DstIp == "" && len(*flowFilterVal.DstPort) == 0 && flowFilterVal.Protocol == nil && flowFilterVal.Dscp == nil && flowFilterVal.Flowlabel == nil {
				log.Error("At least one of flowFilter subfields shall be included")
				errHandlerProblemDetails(w, "At least one of flowFilter subfields shall be included in the request body.", http.StatusBadRequest)
				return