mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	Add signature support for the RPM module (#27069)
close #27031 If the rpm package does not contain a matching gpg signature, the installation will fail. See (#27031) , now auto-signing rpm uploads. This option is turned off by default for compatibility.
This commit is contained in:
		| @@ -133,6 +133,21 @@ func UploadPackageFile(ctx *context.Context) { | ||||
| 	} | ||||
| 	defer buf.Close() | ||||
|  | ||||
| 	// if rpm sign enabled | ||||
| 	if setting.Packages.DefaultRPMSignEnabled || ctx.FormBool("sign") { | ||||
| 		pri, _, err := rpm_service.GetOrCreateKeyPair(ctx, ctx.Package.Owner.ID) | ||||
| 		if err != nil { | ||||
| 			apiError(ctx, http.StatusInternalServerError, err) | ||||
| 			return | ||||
| 		} | ||||
| 		buf, err = rpm_service.SignPackage(buf, pri) | ||||
| 		if err != nil { | ||||
| 			// Not in rpm format, parsing failed. | ||||
| 			apiError(ctx, http.StatusBadRequest, err) | ||||
| 			return | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	pck, err := rpm_module.ParsePackage(buf) | ||||
| 	if err != nil { | ||||
| 		if errors.Is(err, util.ErrInvalidArgument) { | ||||
| @@ -142,7 +157,6 @@ func UploadPackageFile(ctx *context.Context) { | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	if _, err := buf.Seek(0, io.SeekStart); err != nil { | ||||
| 		apiError(ctx, http.StatusInternalServerError, err) | ||||
| 		return | ||||
|   | ||||
		Reference in New Issue
	
	Block a user