mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-07-04 08:57:44 +00:00
Update dependencies (#1800)
This commit is contained in:
45
vendor/github.com/lrstanley/girc/.editorconfig
generated
vendored
Normal file
45
vendor/github.com/lrstanley/girc/.editorconfig
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
# THIS FILE IS GENERATED! DO NOT EDIT! Maintained by Terraform.
|
||||
#
|
||||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.tf]
|
||||
indent_size = 2
|
||||
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.{md,py,sh,yml,yaml}]
|
||||
max_line_length = 105
|
||||
|
||||
[*.{yml,yaml,toml}]
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
insert_final_newline = ignore
|
||||
|
||||
[*.html]
|
||||
indent_size = 2
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
||||
[**.min.js]
|
||||
indent_style = ignore
|
||||
insert_final_newline = ignore
|
||||
|
||||
[*.bat]
|
||||
indent_style = tab
|
37
vendor/github.com/lrstanley/girc/.golangci.yml
generated
vendored
Normal file
37
vendor/github.com/lrstanley/girc/.golangci.yml
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
# THIS FILE IS GENERATED! DO NOT EDIT! Maintained by Terraform.
|
||||
run:
|
||||
tests: False
|
||||
timeout: 3m
|
||||
|
||||
issues:
|
||||
max-per-linter: 0
|
||||
max-same-issues: 0
|
||||
|
||||
severity:
|
||||
default-severity: error
|
||||
rules:
|
||||
- linters:
|
||||
- errcheck
|
||||
- gocritic
|
||||
severity: warning
|
||||
|
||||
linters:
|
||||
enable:
|
||||
- asciicheck
|
||||
- exportloopref
|
||||
- gci
|
||||
- gocritic
|
||||
- gofmt
|
||||
- misspell
|
||||
|
||||
linters-settings:
|
||||
gocritic:
|
||||
disabled-checks:
|
||||
- hugeParam
|
||||
enabled-tags:
|
||||
- diagnostic
|
||||
- opinionated
|
||||
- performance
|
||||
- style
|
||||
govet:
|
||||
check-shadowing: true
|
25
vendor/github.com/lrstanley/girc/.travis.yml
generated
vendored
25
vendor/github.com/lrstanley/girc/.travis.yml
generated
vendored
@ -1,25 +0,0 @@
|
||||
language: go
|
||||
go:
|
||||
- 1.11.x
|
||||
- tip
|
||||
before_install:
|
||||
- go get -v golang.org/x/lint/golint
|
||||
script:
|
||||
- $HOME/gopath/bin/golint -min_confidence 0.9 -set_exit_status
|
||||
- GORACE="exitcode=1 halt_on_error=1" go test -v -coverprofile=coverage.txt -race -timeout 3m -count 3 -cpu 1,4
|
||||
- go vet -v .
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash)
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
notifications:
|
||||
irc:
|
||||
channels:
|
||||
- irc.byteirc.org#/dev/null
|
||||
template:
|
||||
- "%{repository} #%{build_number} %{branch}/%{commit}: %{author} -- %{message}
|
||||
%{build_url}"
|
||||
on_success: change
|
||||
on_failure: change
|
||||
skip_join: false
|
122
vendor/github.com/lrstanley/girc/CODE_OF_CONDUCT.md
generated
vendored
Normal file
122
vendor/github.com/lrstanley/girc/CODE_OF_CONDUCT.md
generated
vendored
Normal file
@ -0,0 +1,122 @@
|
||||
<!-- THIS FILE IS GENERATED! DO NOT EDIT! Maintained by Terraform. -->
|
||||
# Code of Conduct
|
||||
|
||||
## Our Pledge :purple_heart:
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, caste, color, religion, or sexual
|
||||
identity and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the overall
|
||||
community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or advances of
|
||||
any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email address,
|
||||
without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
disclosure@liamstanley.io. All complaints will be reviewed and investigated
|
||||
promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series of
|
||||
actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or permanent
|
||||
ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within the
|
||||
community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the Contributor Covenant,
|
||||
version 2.1, available [here](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html).
|
||||
|
||||
For answers to common questions about this code of conduct, see the [FAQ](https://www.contributor-covenant.org/faq).
|
||||
Translations are available at [translations](https://www.contributor-covenant.org/translations).
|
116
vendor/github.com/lrstanley/girc/CONTRIBUTING.md
generated
vendored
116
vendor/github.com/lrstanley/girc/CONTRIBUTING.md
generated
vendored
@ -1,32 +1,106 @@
|
||||
# Contributing
|
||||
<!-- THIS FILE IS GENERATED! DO NOT EDIT! Maintained by Terraform. -->
|
||||
# :handshake: Contributing
|
||||
|
||||
## Issue submission
|
||||
This document outlines some of the guidelines that we try and adhere to while
|
||||
working on this project.
|
||||
|
||||
* When submitting an issue or bug report, please ensure to provide as much
|
||||
information as possible, please ensure that you are running on the latest
|
||||
stable version (tagged), or when using master, provide the specific commit
|
||||
being used.
|
||||
> :point_right: **Note**: before participating in the community, please read our
|
||||
> [Code of Conduct][coc].
|
||||
> By interacting with this repository, organization, or community you agree to
|
||||
> abide by our Code of Conduct.
|
||||
>
|
||||
> Additionally, if you contribute **any source code** to this repository, you
|
||||
> agree to the terms of the [Developer Certificate of Origin][dco]. This helps
|
||||
> ensure that contributions aren't in violation of 3rd party license terms.
|
||||
|
||||
## :lady_beetle: Issue submission
|
||||
|
||||
When [submitting an issue][issues] or bug report,
|
||||
please follow these guidelines:
|
||||
|
||||
* Provide as much information as possible (logs, metrics, screenshots,
|
||||
runtime environment, etc).
|
||||
* Ensure that you are running on the latest stable version (tagged), or
|
||||
when using `master`, provide the specific commit being used.
|
||||
* Provide the minimum needed viable source to replicate the problem.
|
||||
|
||||
## Pull requests
|
||||
## :bulb: Feature requests
|
||||
|
||||
When [submitting a feature request][issues], please
|
||||
follow these guidelines:
|
||||
|
||||
* Does this feature benefit others? or just your usecase? If the latter,
|
||||
it will likely be declined, unless it has a more broad benefit to others.
|
||||
* Please include the pros and cons of the feature.
|
||||
* If possible, describe how the feature would work, and any diagrams/mock
|
||||
examples of what the feature would look like.
|
||||
|
||||
## :rocket: Pull requests
|
||||
|
||||
To review what is currently being worked on, or looked into, feel free to head
|
||||
over to the [issues list](../../issues).
|
||||
over to the [open pull requests][pull-requests] or [issues list][issues].
|
||||
|
||||
Below are a few guidelines if you would like to contribute. Keep the code
|
||||
clean, standardized, and much of the quality should match Golang's standard
|
||||
library and common idioms.
|
||||
## :raised_back_of_hand: Assistance with discussions
|
||||
|
||||
* Always test using the latest Go version.
|
||||
* Always use `gofmt` before committing anything.
|
||||
* Always have proper documentation before committing.
|
||||
* Keep the same whitespacing, documentation, and newline format as the
|
||||
rest of the project.
|
||||
* Only use 3rd party libraries if necessary. If only a small portion of
|
||||
* Take a look at the [open discussions][discussions], and if you feel like
|
||||
you'd like to help out other members of the community, it would be much
|
||||
appreciated!
|
||||
|
||||
## :pushpin: Guidelines
|
||||
|
||||
### :test_tube: Language agnostic
|
||||
|
||||
Below are a few guidelines if you would like to contribute:
|
||||
|
||||
* If the feature is large or the bugfix has potential breaking changes,
|
||||
please open an issue first to ensure the changes go down the best path.
|
||||
* If possible, break the changes into smaller PRs. Pull requests should be
|
||||
focused on a specific feature/fix.
|
||||
* Pull requests will only be accepted with sufficient documentation
|
||||
describing the new functionality/fixes.
|
||||
* Keep the code simple where possible. Code that is smaller/more compact
|
||||
does not mean better. Don't do magic behind the scenes.
|
||||
* Use the same formatting/styling/structure as existing code.
|
||||
* Follow idioms and community-best-practices of the related language,
|
||||
unless the previous above guidelines override what the community
|
||||
recommends.
|
||||
* Always test your changes, both the features/fixes being implemented, but
|
||||
also in the standard way that a user would use the project (not just
|
||||
your configuration that fixes your issue).
|
||||
* Only use 3rd party libraries when necessary. If only a small portion of
|
||||
the library is needed, simply rewrite it within the library to prevent
|
||||
useless imports.
|
||||
* Also see [golang/go/wiki/CodeReviewComments](https://github.com/golang/go/wiki/CodeReviewComments)
|
||||
|
||||
If you would like to assist, and the pull request is quite large and/or it has
|
||||
the potential of being a breaking change, please open an issue first so it can
|
||||
be discussed.
|
||||
### :hamster: Golang
|
||||
|
||||
* See [golang/go/wiki/CodeReviewComments](https://github.com/golang/go/wiki/CodeReviewComments)
|
||||
* This project uses [golangci-lint](https://golangci-lint.run/) for
|
||||
Go-related files. This should be available for any editor that supports
|
||||
`gopls`, however you can also run it locally with `golangci-lint run`
|
||||
after installing it.
|
||||
|
||||
|
||||
|
||||
|
||||
## :clipboard: References
|
||||
|
||||
* [Open Source: How to Contribute](https://opensource.guide/how-to-contribute/)
|
||||
* [About pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests)
|
||||
* [GitHub Docs](https://docs.github.com/)
|
||||
|
||||
## :speech_balloon: What to do next?
|
||||
|
||||
* :old_key: Find a vulnerability? Check out our [Security and Disclosure][security] policy.
|
||||
* :link: Repository [License][license].
|
||||
* [Support][support]
|
||||
* [Code of Conduct][coc].
|
||||
|
||||
<!-- definitions -->
|
||||
[coc]: https://github.com/lrstanley/girc/blob/master/CODE_OF_CONDUCT.md
|
||||
[dco]: https://developercertificate.org/
|
||||
[discussions]: https://github.com/lrstanley/girc/discussions
|
||||
[issues]: https://github.com/lrstanley/girc/issues/new/choose
|
||||
[license]: https://github.com/lrstanley/girc/blob/master/LICENSE
|
||||
[pull-requests]: https://github.com/lrstanley/girc/issues/new/choose
|
||||
[security]: https://github.com/lrstanley/girc/security/policy
|
||||
[support]: https://github.com/lrstanley/girc/blob/master/SUPPORT.md
|
||||
|
136
vendor/github.com/lrstanley/girc/README.md
generated
vendored
136
vendor/github.com/lrstanley/girc/README.md
generated
vendored
@ -1,12 +1,49 @@
|
||||
<p align="center"><a href="https://pkg.go.dev/github.com/lrstanley/girc"><img width="270" src="http://i.imgur.com/DEnyrdB.png"></a></p>
|
||||
<p align="center">girc, a flexible IRC library for Go</p>
|
||||
<!-- template:begin:header -->
|
||||
<!-- do not edit anything in this "template" block, its auto-generated -->
|
||||
<p align="center">girc -- :bomb: girc is a flexible IRC library for Go :ok_hand:</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/lrstanley/girc/actions"><img src="https://github.com/lrstanley/girc/workflows/test/badge.svg" alt="Test Status"></a>
|
||||
<a href="https://codecov.io/gh/lrstanley/girc"><img src="https://codecov.io/gh/lrstanley/girc/branch/master/graph/badge.svg" alt="Coverage Status"></a>
|
||||
<a href="https://pkg.go.dev/github.com/lrstanley/girc"><img src="https://pkg.go.dev/badge/github.com/lrstanley/girc" alt="GoDoc"></a>
|
||||
<a href="https://goreportcard.com/report/github.com/lrstanley/girc"><img src="https://goreportcard.com/badge/github.com/lrstanley/girc" alt="Go Report Card"></a>
|
||||
<a href="https://liam.sh/chat"><img src="https://img.shields.io/badge/community-chat%20with%20us-green.svg" alt="Community Chat"></a>
|
||||
|
||||
<a href="https://github.com/lrstanley/girc/actions?query=workflow%3Atest+event%3Apush">
|
||||
<img alt="GitHub Workflow Status (test @ master)" src="https://img.shields.io/github/workflow/status/lrstanley/girc/test/master?label=test&style=flat-square&event=push">
|
||||
</a>
|
||||
|
||||
<img alt="Code Coverage" src="https://img.shields.io/codecov/c/github/lrstanley/girc/master?style=flat-square">
|
||||
|
||||
<a href="https://pkg.go.dev/github.com/lrstanley/girc">
|
||||
<img alt="Go Documentation" src="https://pkg.go.dev/badge/github.com/lrstanley/girc?style=flat-square">
|
||||
</a>
|
||||
<a href="https://goreportcard.com/report/github.com/lrstanley/girc">
|
||||
<img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/lrstanley/girc?style=flat-square">
|
||||
</a>
|
||||
<img alt="Bug reports" src="https://img.shields.io/github/issues/lrstanley/girc/bug?label=issues&style=flat-square">
|
||||
<img alt="Feature requests" src="https://img.shields.io/github/issues/lrstanley/girc/enhancement?label=feature%20requests&style=flat-square">
|
||||
<a href="https://github.com/lrstanley/girc/pulls">
|
||||
<img alt="Open Pull Requests" src="https://img.shields.io/github/issues-pr/lrstanley/girc?style=flat-square">
|
||||
</a>
|
||||
<a href="https://github.com/lrstanley/girc/tags">
|
||||
<img alt="Latest Semver Tag" src="https://img.shields.io/github/v/tag/lrstanley/girc?style=flat-square">
|
||||
</a>
|
||||
<img alt="Last commit" src="https://img.shields.io/github/last-commit/lrstanley/girc?style=flat-square">
|
||||
<a href="https://github.com/lrstanley/girc/discussions/new?category=q-a">
|
||||
<img alt="Ask a Question" src="https://img.shields.io/badge/discussions-ask_a_question!-green?style=flat-square">
|
||||
</a>
|
||||
<a href="https://liam.sh/chat"><img src="https://img.shields.io/badge/discord-bytecord-blue.svg?style=flat-square" alt="Discord Chat"></a>
|
||||
</p>
|
||||
<!-- template:end:header -->
|
||||
|
||||
<!-- template:begin:toc -->
|
||||
<!-- do not edit anything in this "template" block, its auto-generated -->
|
||||
## :link: Table of Contents
|
||||
|
||||
- [Features](#features)
|
||||
- [Installing](#installing)
|
||||
- [Examples](#examples)
|
||||
- [References](#references)
|
||||
- [Support & Assistance](#raising_hand_man-support-assistance)
|
||||
- [Contributing](#handshake-contributing)
|
||||
- [License](#balance_scale-license)
|
||||
<!-- template:end:toc -->
|
||||
|
||||
## Features
|
||||
|
||||
@ -48,35 +85,6 @@ usecases/examples/projects which utilize girc:
|
||||
|
||||
Working on a project and want to add it to the list? Submit a pull request!
|
||||
|
||||
## Contributing
|
||||
|
||||
Please review the [CONTRIBUTING](CONTRIBUTING.md) doc for submitting issues/a guide
|
||||
on submitting pull requests and helping out.
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2016 Liam Stanley <me@liamstanley.io>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
||||
girc artwork licensed under [CC 3.0](http://creativecommons.org/licenses/by/3.0/) based on Renee French under Creative Commons 3.0 Attributions.
|
||||
|
||||
## References
|
||||
|
||||
* [IRCv3: Specification Docs](http://ircv3.net/irc/)
|
||||
@ -93,3 +101,61 @@ girc artwork licensed under [CC 3.0](http://creativecommons.org/licenses/by/3.0/
|
||||
* [RFC7194: Default Port for Internet Relay Chat (IRC) via TLS/SSL](https://tools.ietf.org/html/rfc7194)
|
||||
* [RFC4422: Simple Authentication and Security Layer](https://tools.ietf.org/html/rfc4422) ([SASL EXTERNAL](https://tools.ietf.org/html/rfc4422#appendix-A))
|
||||
* [RFC4616: The PLAIN SASL Mechanism](https://tools.ietf.org/html/rfc4616)
|
||||
|
||||
|
||||
<!-- template:begin:support -->
|
||||
<!-- do not edit anything in this "template" block, its auto-generated -->
|
||||
## :raising_hand_man: Support & Assistance
|
||||
|
||||
* :heart: Please review the [Code of Conduct](CODE_OF_CONDUCT.md) for
|
||||
guidelines on ensuring everyone has the best experience interacting with
|
||||
the community.
|
||||
* :raising_hand_man: Take a look at the [support](SUPPORT.md) document on
|
||||
guidelines for tips on how to ask the right questions.
|
||||
* :lady_beetle: For all features/bugs/issues/questions/etc, [head over here](https://github.com/lrstanley/girc/issues/new/choose).
|
||||
<!-- template:end:support -->
|
||||
|
||||
<!-- template:begin:contributing -->
|
||||
<!-- do not edit anything in this "template" block, its auto-generated -->
|
||||
## :handshake: Contributing
|
||||
|
||||
* :heart: Please review the [Code of Conduct](CODE_OF_CONDUCT.md) for guidelines
|
||||
on ensuring everyone has the best experience interacting with the
|
||||
community.
|
||||
* :clipboard: Please review the [contributing](CONTRIBUTING.md) doc for submitting
|
||||
issues/a guide on submitting pull requests and helping out.
|
||||
* :old_key: For anything security related, please review this repositories [security policy](https://github.com/lrstanley/girc/security/policy).
|
||||
<!-- template:end:contributing -->
|
||||
|
||||
<!-- template:begin:license -->
|
||||
<!-- do not edit anything in this "template" block, its auto-generated -->
|
||||
## :balance_scale: License
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2016 Liam Stanley <me@liamstanley.io>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
```
|
||||
|
||||
_Also located [here](LICENSE)_
|
||||
<!-- template:end:license -->
|
||||
girc artwork licensed under [CC 3.0](http://creativecommons.org/licenses/by/3.0/)
|
||||
based on Renee French under Creative Commons 3.0 Attributions.
|
||||
|
54
vendor/github.com/lrstanley/girc/SECURITY.md
generated
vendored
Normal file
54
vendor/github.com/lrstanley/girc/SECURITY.md
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
<!-- THIS FILE IS GENERATED! DO NOT EDIT! Maintained by Terraform. -->
|
||||
# :old_key: Security Policy
|
||||
|
||||
## :heavy_check_mark: Supported Versions
|
||||
|
||||
The following restrictions apply for versions that are still supported in terms of security and bug fixes:
|
||||
|
||||
* :grey_question: Must be using the latest major/minor version.
|
||||
* :grey_question: Must be using a supported platform for the repository (e.g. OS, browser, etc), and that platform must
|
||||
be within its supported versions (for example: don't use a legacy or unsupported version of Ubuntu or
|
||||
Google Chrome).
|
||||
* :grey_question: Repository must not be archived (unless the vulnerability is critical, and the repository moderately
|
||||
popular).
|
||||
* :heavy_check_mark:
|
||||
|
||||
If one of the above doesn't apply to you, feel free to submit an issue and we can discuss the
|
||||
issue/vulnerability further.
|
||||
|
||||
|
||||
## :lady_beetle: Reporting a Vulnerability
|
||||
|
||||
Best method of contact: [GPG :key:](https://github.com/lrstanley.gpg)
|
||||
|
||||
* :speech_balloon: [Discord][chat]: message `/home/liam#0000`.
|
||||
* :email: Email: `security@liamstanley.io`
|
||||
|
||||
Backup contacts (if I am unresponsive after **48h**): [GPG :key:](https://github.com/FM1337.gpg)
|
||||
* :speech_balloon: [Discord][chat]: message `Allen#7440`.
|
||||
* :email: Email: `security@allenlydiard.ca`
|
||||
|
||||
If you feel that this disclosure doesn't include a critical vulnerability and there is no sensitive
|
||||
information in the disclosure, you don't have to use the GPG key. For all other situations, please
|
||||
use it.
|
||||
|
||||
### :stopwatch: Vulnerability disclosure expectations
|
||||
|
||||
* :no_bell: We expect you to not share this information with others, unless:
|
||||
* The maximum timeline for initial response has been exceeded (shown below).
|
||||
* The maximum resolution time has been exceeded (shown below).
|
||||
* :mag_right: We expect you to responsibly investigate this vulnerability -- please do not utilize the
|
||||
vulnerability beyond the initial findings.
|
||||
* :stopwatch: Initial response within 48h, however, if the primary contact shown above is unavailable, please
|
||||
use the backup contacts provided. The maximum timeline for an initial response should be within
|
||||
7 days.
|
||||
* :stopwatch: Depending on the severity of the disclosure, resolution time may be anywhere from 24h to 2
|
||||
weeks after initial response, though in most cases it will likely be closer to the former.
|
||||
* If the vulnerability is very low/low in terms of risk, the above timelines **will not apply**.
|
||||
* :toolbox: Before the release of resolved versions, a [GitHub Security Advisory][advisory-docs].
|
||||
will be released on the respective repository. [Browser all advisories here][advisory].
|
||||
|
||||
<!-- definitions -->
|
||||
[chat]: https://liam.sh/chat
|
||||
[advisory]: https://github.com/advisories?query=type%3Areviewed+ecosystem%3Ago
|
||||
[advisory-docs]: https://docs.github.com/en/code-security/repository-security-advisories/creating-a-repository-security-advisory
|
56
vendor/github.com/lrstanley/girc/SUPPORT.md
generated
vendored
Normal file
56
vendor/github.com/lrstanley/girc/SUPPORT.md
generated
vendored
Normal file
@ -0,0 +1,56 @@
|
||||
# :raising_hand_man: Support
|
||||
|
||||
This document explains where and how to get help with most of my projects.
|
||||
Please ensure you read through it thoroughly.
|
||||
|
||||
> :point_right: **Note**: before participating in the community, please read our
|
||||
> [Code of Conduct][coc].
|
||||
> By interacting with this repository, organization, or community you agree to
|
||||
> abide by its terms.
|
||||
|
||||
## :grey_question: Asking quality questions
|
||||
|
||||
Questions can go to [Github Discussions][discussions] or feel free to join
|
||||
the Discord [here][chat].
|
||||
|
||||
Help me help you! Spend time framing questions and add links and resources.
|
||||
Spending the extra time up front can help save everyone time in the long run.
|
||||
Here are some tips:
|
||||
|
||||
* Don't fall for the [XY problem][xy].
|
||||
* Search to find out if a similar question has been asked or if a similar
|
||||
issue/bug has been reported.
|
||||
* Try to define what you need help with:
|
||||
* Is there something in particular you want to do?
|
||||
* What problem are you encountering and what steps have you taken to try
|
||||
and fix it?
|
||||
* Is there a concept you don't understand?
|
||||
* Provide sample code, such as a [CodeSandbox][cs] or a simple snippet, if
|
||||
possible.
|
||||
* Screenshots can help, but if there's important text such as code or error
|
||||
messages in them, please also provide those.
|
||||
* The more time you put into asking your question, the better I and others
|
||||
can help you.
|
||||
|
||||
## :old_key: Security
|
||||
|
||||
For any security or vulnerability related disclosure, please follow the
|
||||
guidelines outlined in our [security policy][security].
|
||||
|
||||
## :handshake: Contributions
|
||||
|
||||
See [`CONTRIBUTING.md`][contributing] on how to contribute.
|
||||
|
||||
<!-- definitions -->
|
||||
[coc]: https://github.com/lrstanley/girc/blob/master/CODE_OF_CONDUCT.md
|
||||
[contributing]: https://github.com/lrstanley/girc/blob/master/CONTRIBUTING.md
|
||||
[discussions]: https://github.com/lrstanley/girc/discussions/categories/q-a
|
||||
[issues]: https://github.com/lrstanley/girc/issues/new/choose
|
||||
[license]: https://github.com/lrstanley/girc/blob/master/LICENSE
|
||||
[pull-requests]: https://github.com/lrstanley/girc/issues/new/choose
|
||||
[security]: https://github.com/lrstanley/girc/security/policy
|
||||
[support]: https://github.com/lrstanley/girc/blob/master/SUPPORT.md
|
||||
|
||||
[xy]: https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378
|
||||
[chat]: https://liam.sh/chat
|
||||
[cs]: https://codesandbox.io
|
2
vendor/github.com/lrstanley/girc/builtin.go
generated
vendored
2
vendor/github.com/lrstanley/girc/builtin.go
generated
vendored
@ -427,7 +427,7 @@ func handleMOTD(c *Client, e Event) {
|
||||
}
|
||||
|
||||
// Otherwise, assume we're getting sent the MOTD line-by-line.
|
||||
if len(c.state.motd) != 0 {
|
||||
if c.state.motd != "" {
|
||||
c.state.motd += "\n"
|
||||
}
|
||||
c.state.motd += e.Last()
|
||||
|
2
vendor/github.com/lrstanley/girc/cap.go
generated
vendored
2
vendor/github.com/lrstanley/girc/cap.go
generated
vendored
@ -64,7 +64,7 @@ func possibleCapList(c *Client) map[string][]string {
|
||||
if !c.Config.DisableSTS && !c.Config.SSL {
|
||||
// If fallback supported, and we failed recently, don't try negotiating STS.
|
||||
// ONLY do this fallback if we're expired (primarily useful during the first
|
||||
// sts negotation).
|
||||
// sts negotiation).
|
||||
if time.Since(c.state.sts.lastFailed) < 5*time.Minute && !c.Config.DisableSTSFallback {
|
||||
c.debug.Println("skipping strict transport policy negotiation; failed within the last 5 minutes")
|
||||
} else {
|
||||
|
7
vendor/github.com/lrstanley/girc/client.go
generated
vendored
7
vendor/github.com/lrstanley/girc/client.go
generated
vendored
@ -10,7 +10,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net"
|
||||
"os"
|
||||
@ -268,7 +267,7 @@ func New(config Config) *Client {
|
||||
if envDebug {
|
||||
c.debug = log.New(os.Stderr, "debug:", log.Ltime|log.Lshortfile)
|
||||
} else {
|
||||
c.debug = log.New(ioutil.Discard, "", 0)
|
||||
c.debug = log.New(io.Discard, "", 0)
|
||||
}
|
||||
} else {
|
||||
if envDebug {
|
||||
@ -411,7 +410,7 @@ func (c *Client) execLoop(ctx context.Context, errs chan error, wg *sync.WaitGro
|
||||
// Handles incoming ERROR responses. These are only ever sent
|
||||
// by the server (with the exception that this library may use
|
||||
// them as a lower level way of signalling to disconnect due
|
||||
// to some other client-choosen error), and should always be
|
||||
// to some other client-chosen error), and should always be
|
||||
// followed up by the server disconnecting the client. If for
|
||||
// some reason the server doesn't disconnect the client, or
|
||||
// if this library is the source of the error, this should
|
||||
@ -446,7 +445,7 @@ func (c *Client) DisableTracking() {
|
||||
// Server returns the string representation of host+port pair for the connection.
|
||||
func (c *Client) Server() string {
|
||||
c.state.Lock()
|
||||
defer c.state.Lock()
|
||||
defer c.state.Unlock()
|
||||
|
||||
return c.server()
|
||||
}
|
||||
|
6
vendor/github.com/lrstanley/girc/commands.go
generated
vendored
6
vendor/github.com/lrstanley/girc/commands.go
generated
vendored
@ -5,9 +5,9 @@
|
||||
package girc
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// Commands holds a large list of useful methods to interact with the server,
|
||||
@ -37,7 +37,7 @@ func (cmd *Commands) Join(channels ...string) {
|
||||
continue
|
||||
}
|
||||
|
||||
if len(buffer) == 0 {
|
||||
if buffer == "" {
|
||||
buffer = channels[i]
|
||||
} else {
|
||||
buffer += "," + channels[i]
|
||||
@ -341,7 +341,7 @@ func (cmd *Commands) List(channels ...string) {
|
||||
continue
|
||||
}
|
||||
|
||||
if len(buffer) == 0 {
|
||||
if buffer == "" {
|
||||
buffer = channels[i]
|
||||
} else {
|
||||
buffer += "," + channels[i]
|
||||
|
2
vendor/github.com/lrstanley/girc/constants.go
generated
vendored
2
vendor/github.com/lrstanley/girc/constants.go
generated
vendored
@ -149,7 +149,7 @@ const (
|
||||
RPL_ENDOFWHOWAS = "369"
|
||||
RPL_LISTSTART = "321"
|
||||
RPL_LIST = "322"
|
||||
RPL_LISTEND = "323"
|
||||
RPL_LISTEND = "323" //nolint:misspell // it's correct.
|
||||
RPL_UNIQOPIS = "325"
|
||||
RPL_CHANNELMODEIS = "324"
|
||||
RPL_NOTOPIC = "331"
|
||||
|
2
vendor/github.com/lrstanley/girc/ctcp.go
generated
vendored
2
vendor/github.com/lrstanley/girc/ctcp.go
generated
vendored
@ -104,7 +104,7 @@ func EncodeCTCP(ctcp *CTCPEvent) (out string) {
|
||||
// EncodeCTCPRaw is much like EncodeCTCP, however accepts a raw command and
|
||||
// string as input.
|
||||
func EncodeCTCPRaw(cmd, text string) (out string) {
|
||||
if len(cmd) <= 0 {
|
||||
if cmd == "" {
|
||||
return ""
|
||||
}
|
||||
|
||||
|
3
vendor/github.com/lrstanley/girc/event.go
generated
vendored
3
vendor/github.com/lrstanley/girc/event.go
generated
vendored
@ -283,7 +283,6 @@ func (e *Event) Bytes() []byte {
|
||||
|
||||
// Space separated list of arguments.
|
||||
if len(e.Params) > 0 {
|
||||
// buffer.WriteByte(eventSpace)
|
||||
for i := 0; i < len(e.Params); i++ {
|
||||
if i == len(e.Params)-1 && (strings.Contains(e.Params[i], " ") || strings.HasPrefix(e.Params[i], ":") || e.Params[i] == "") {
|
||||
buffer.WriteString(string(eventSpace) + string(messagePrefix) + e.Params[i])
|
||||
@ -621,7 +620,7 @@ func (s *Source) IsHostmask() bool {
|
||||
|
||||
// IsServer returns true if this source looks like a server name.
|
||||
func (s *Source) IsServer() bool {
|
||||
return len(s.Ident) <= 0 && len(s.Host) <= 0
|
||||
return s.Ident == "" && s.Host == ""
|
||||
}
|
||||
|
||||
// writeTo is an utility function to write the source to the bytes.Buffer
|
||||
|
12
vendor/github.com/lrstanley/girc/format.go
generated
vendored
12
vendor/github.com/lrstanley/girc/format.go
generated
vendored
@ -127,10 +127,10 @@ func Fmt(text string) string {
|
||||
// See Fmt() for more information.
|
||||
func TrimFmt(text string) string {
|
||||
for color := range fmtColors {
|
||||
text = strings.Replace(text, string(fmtOpenChar)+color+string(fmtCloseChar), "", -1)
|
||||
text = strings.ReplaceAll(text, string(fmtOpenChar)+color+string(fmtCloseChar), "")
|
||||
}
|
||||
for code := range fmtCodes {
|
||||
text = strings.Replace(text, string(fmtOpenChar)+code+string(fmtCloseChar), "", -1)
|
||||
text = strings.ReplaceAll(text, string(fmtOpenChar)+code+string(fmtCloseChar), "")
|
||||
}
|
||||
|
||||
return text
|
||||
@ -138,7 +138,7 @@ func TrimFmt(text string) string {
|
||||
|
||||
// This is really the only fastest way of doing this (marginally better than
|
||||
// actually trying to parse it manually.)
|
||||
var reStripColor = regexp.MustCompile(`\x03([019]?[0-9](,[019]?[0-9])?)?`)
|
||||
var reStripColor = regexp.MustCompile(`\x03([019]?\d(,[019]?\d)?)?`)
|
||||
|
||||
// StripRaw tries to strip all ASCII format codes that are used for IRC.
|
||||
// Primarily, foreground/background colors, and other control bytes like
|
||||
@ -148,7 +148,7 @@ func StripRaw(text string) string {
|
||||
text = reStripColor.ReplaceAllString(text, "")
|
||||
|
||||
for _, code := range fmtCodes {
|
||||
text = strings.Replace(text, code, "", -1)
|
||||
text = strings.ReplaceAll(text, code, "")
|
||||
}
|
||||
|
||||
return text
|
||||
@ -219,7 +219,7 @@ func IsValidChannel(channel string) bool {
|
||||
// digit = 0x30-0x39
|
||||
// special = 0x5B-0x60 / 0x7B-0x7D
|
||||
func IsValidNick(nick string) bool {
|
||||
if len(nick) <= 0 {
|
||||
if nick == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
@ -256,7 +256,7 @@ func IsValidNick(nick string) bool {
|
||||
// user = 1*( %x01-09 / %x0B-0C / %x0E-1F / %x21-3F / %x41-FF )
|
||||
// ; any octet except NUL, CR, LF, " " and "@"
|
||||
func IsValidUser(name string) bool {
|
||||
if len(name) <= 0 {
|
||||
if name == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
|
2
vendor/github.com/lrstanley/girc/handler.go
generated
vendored
2
vendor/github.com/lrstanley/girc/handler.go
generated
vendored
@ -287,7 +287,7 @@ func (c *Caller) Remove(cuid string) (success bool) {
|
||||
// on your own.
|
||||
func (c *Caller) remove(cuid string) (success bool) {
|
||||
cmd, uid := c.cuidToID(cuid)
|
||||
if len(cmd) == 0 || len(uid) == 0 {
|
||||
if cmd == "" || uid == "" {
|
||||
return false
|
||||
}
|
||||
|
||||
|
26
vendor/github.com/lrstanley/girc/modes.go
generated
vendored
26
vendor/github.com/lrstanley/girc/modes.go
generated
vendored
@ -34,7 +34,7 @@ func (c *CMode) Short() string {
|
||||
// String returns a string representation of a mode, including optional
|
||||
// arguments. E.g. "+b user*!ident@host.*.com"
|
||||
func (c *CMode) String() string {
|
||||
if len(c.args) == 0 {
|
||||
if c.args == "" {
|
||||
return c.Short()
|
||||
}
|
||||
|
||||
@ -106,7 +106,7 @@ func (c *CModes) HasMode(mode string) bool {
|
||||
func (c *CModes) Get(mode string) (args string, ok bool) {
|
||||
for i := 0; i < len(c.modes); i++ {
|
||||
if string(c.modes[i].name) == mode {
|
||||
if len(c.modes[i].args) == 0 {
|
||||
if c.modes[i].args == "" {
|
||||
return "", false
|
||||
}
|
||||
|
||||
@ -157,7 +157,7 @@ func (c *CModes) hasArg(set bool, mode byte) (hasArgs, isSetting bool) {
|
||||
// For example, the latter would mean applying an incoming MODE with the modes
|
||||
// stored for a channel.
|
||||
func (c *CModes) Apply(modes []CMode) {
|
||||
var new []CMode
|
||||
var newModes []CMode
|
||||
|
||||
for j := 0; j < len(c.modes); j++ {
|
||||
isin := false
|
||||
@ -166,14 +166,14 @@ func (c *CModes) Apply(modes []CMode) {
|
||||
continue
|
||||
}
|
||||
if c.modes[j].name == modes[i].name && modes[i].add {
|
||||
new = append(new, modes[i])
|
||||
newModes = append(newModes, modes[i])
|
||||
isin = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !isin {
|
||||
new = append(new, c.modes[j])
|
||||
newModes = append(newModes, c.modes[j])
|
||||
}
|
||||
}
|
||||
|
||||
@ -183,19 +183,19 @@ func (c *CModes) Apply(modes []CMode) {
|
||||
}
|
||||
|
||||
isin := false
|
||||
for j := 0; j < len(new); j++ {
|
||||
if modes[i].name == new[j].name {
|
||||
for j := 0; j < len(newModes); j++ {
|
||||
if modes[i].name == newModes[j].name {
|
||||
isin = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !isin {
|
||||
new = append(new, modes[i])
|
||||
newModes = append(newModes, modes[i])
|
||||
}
|
||||
}
|
||||
|
||||
c.modes = new
|
||||
c.modes = newModes
|
||||
}
|
||||
|
||||
// Parse parses a set of flags and args, returning the necessary list of
|
||||
@ -221,7 +221,7 @@ func (c *CModes) Parse(flags string, args []string) (out []CMode) {
|
||||
}
|
||||
|
||||
hasArgs, isSetting := c.hasArg(add, flags[i])
|
||||
if hasArgs && len(args) >= argCount+1 {
|
||||
if hasArgs && len(args) > argCount {
|
||||
mode.args = args[argCount]
|
||||
argCount++
|
||||
}
|
||||
@ -351,7 +351,7 @@ func handleMODE(c *Client, e Event) {
|
||||
|
||||
// Loop through and update users modes as necessary.
|
||||
for i := 0; i < len(modes); i++ {
|
||||
if modes[i].setting || len(modes[i].args) == 0 {
|
||||
if modes[i].setting || modes[i].args == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
@ -493,8 +493,8 @@ func (m *Perms) reset() {
|
||||
|
||||
// set translates raw prefix characters into proper permissions. Only
|
||||
// use this function when you have a session lock.
|
||||
func (m *Perms) set(prefix string, append bool) {
|
||||
if !append {
|
||||
func (m *Perms) set(prefix string, add bool) {
|
||||
if !add {
|
||||
m.reset()
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user