Documentation
¶
Index ¶
- func AddPrincipalKey(ctx context.Context, ownerID int64, content string, authSourceID int64) (*asymkey_model.PublicKey, error)
- func DeleteDeployKey(ctx context.Context, repo *repo_model.Repository, id int64) error
- func DeletePublicKey(ctx context.Context, doer *user_model.User, id int64) (err error)
- func DeleteRepoDeployKeys(ctx context.Context, repoID int64) (int, error)
- func HashAndVerifyForKeyID(ctx context.Context, sig *packet.Signature, payload string, ...) *asymkey_model.CommitVerification
- func IsErrWontSign(err error) bool
- func ParseCommitWithSSHSignature(ctx context.Context, c *git.Commit, committer *user_model.User) *asymkey_model.CommitVerification
- func ParseCommitWithSignature(ctx context.Context, c *git.Commit) *asymkey_model.CommitVerification
- func ParseCommitWithSignatureCommitter(ctx context.Context, c *git.Commit, committer *user_model.User) *asymkey_model.CommitVerification
- func PublicSigningKey(ctx context.Context, repoPath string) (string, error)
- func RewriteAllPrincipalKeys(ctx context.Context) error
- func RewriteAllPublicKeys(ctx context.Context) error
- func SignCRUDAction(ctx context.Context, repoPath string, u *user_model.User, ...) (bool, string, *git.Signature, error)
- func SignInitialCommit(ctx context.Context, repoPath string, u *user_model.User) (bool, string, *git.Signature, error)
- func SignMerge(ctx context.Context, pr *issues_model.PullRequest, u *user_model.User, ...) (bool, string, *git.Signature, error)
- func SignWikiCommit(ctx context.Context, repo *repo_model.Repository, u *user_model.User) (bool, string, *git.Signature, error)
- func SigningKey(ctx context.Context, repoPath string) (string, *git.Signature)
- func VerifyWithGPGSettings(ctx context.Context, gpgSettings *git.GPGSettings, sig *packet.Signature, ...) *asymkey_model.CommitVerification
- type ErrWontSign
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddPrincipalKey ¶ added in v1.22.0
func AddPrincipalKey(ctx context.Context, ownerID int64, content string, authSourceID int64) (*asymkey_model.PublicKey, error)
AddPrincipalKey adds new principal to database and authorized_principals file.
func DeleteDeployKey ¶
func DeleteDeployKey(ctx context.Context, repo *repo_model.Repository, id int64) error
DeleteDeployKey deletes deploy key from its repository authorized_keys file if needed. Permissions check should be done outside.
func DeletePublicKey ¶
DeletePublicKey deletes SSH key information both in database and authorized_keys file.
func DeleteRepoDeployKeys ¶
DeleteRepoDeployKeys deletes all deploy keys of a repository. permissions check should be done outside
func HashAndVerifyForKeyID ¶
func HashAndVerifyForKeyID(ctx context.Context, sig *packet.Signature, payload string, committer *user_model.User, keyID, name, email string) *asymkey_model.CommitVerification
func IsErrWontSign ¶
IsErrWontSign checks if an error is a ErrWontSign
func ParseCommitWithSSHSignature ¶
func ParseCommitWithSSHSignature(ctx context.Context, c *git.Commit, committer *user_model.User) *asymkey_model.CommitVerification
ParseCommitWithSSHSignature check if signature is good against keystore.
func ParseCommitWithSignature ¶
func ParseCommitWithSignature(ctx context.Context, c *git.Commit) *asymkey_model.CommitVerification
ParseCommitWithSignature check if signature is good against keystore.
func ParseCommitWithSignatureCommitter ¶
func ParseCommitWithSignatureCommitter(ctx context.Context, c *git.Commit, committer *user_model.User) *asymkey_model.CommitVerification
func PublicSigningKey ¶
PublicSigningKey gets the public signing key within a provided repository directory
func RewriteAllPrincipalKeys ¶ added in v1.22.0
RewriteAllPrincipalKeys removes any authorized principal and rewrite all keys from database again. Note: db.GetEngine(ctx).Iterate does not get latest data after insert/delete, so we have to call this function outside any session scope independently.
func RewriteAllPublicKeys ¶ added in v1.22.0
RewriteAllPublicKeys removes any authorized key and rewrite all keys from database again. Note: db.GetEngine(ctx).Iterate does not get latest data after insert/delete, so we have to call this function outside any session scope independently.
func SignCRUDAction ¶
func SignCRUDAction(ctx context.Context, repoPath string, u *user_model.User, tmpBasePath, parentCommit string) (bool, string, *git.Signature, error)
SignCRUDAction determines if we should sign a CRUD commit to this repository
func SignInitialCommit ¶
func SignInitialCommit(ctx context.Context, repoPath string, u *user_model.User) (bool, string, *git.Signature, error)
SignInitialCommit determines if we should sign the initial commit to this repository
func SignMerge ¶
func SignMerge(ctx context.Context, pr *issues_model.PullRequest, u *user_model.User, tmpBasePath, baseCommit, headCommit string) (bool, string, *git.Signature, error)
SignMerge determines if we should sign a PR merge commit to the base repository
func SignWikiCommit ¶
func SignWikiCommit(ctx context.Context, repo *repo_model.Repository, u *user_model.User) (bool, string, *git.Signature, error)
SignWikiCommit determines if we should sign the commits to this repository wiki
func SigningKey ¶
SigningKey returns the KeyID and git Signature for the repo
func VerifyWithGPGSettings ¶
func VerifyWithGPGSettings(ctx context.Context, gpgSettings *git.GPGSettings, sig *packet.Signature, payload string, committer *user_model.User, keyID string) *asymkey_model.CommitVerification
Types ¶
type ErrWontSign ¶
type ErrWontSign struct {
Reason signingMode
}
ErrWontSign explains the first reason why a commit would not be signed There may be other reasons - this is just the first reason found
func (*ErrWontSign) Error ¶
func (e *ErrWontSign) Error() string