Adnan Hajdarevic
e6e324235d
Bump version to v2.7.0
2020-05-12 19:14:25 +02:00
Cameron Moore
4407c0190b
Add request ID logging on missing command
2020-04-24 15:32:33 -05:00
Adnan Hajdarević
38294cd0c6
Merge pull request #383 from moorereason/feature/pidfile
...
Add pidfile support
2020-02-14 19:35:18 +01:00
Cameron Moore
7fa3a8900c
Show failed parameter node lookups
...
When attempting to match a JSON path for initial setup, it would be
helpful to know where the path failed. This change logs the failed
parameter node. For example, if you are trying to match path "a.b.d.e",
but you failed to include the "c" node, webhook will log an error
"parameter node not found: d.e" to assist in troubleshooting.
2019-12-30 21:51:11 -06:00
Cameron Moore
876c853073
Add pidfile support
...
Copy a simple implementation from the Moby project, since importing
their package would pull in too many dependencies.
Fixes #320
2019-12-29 18:00:55 -06:00
Adnan Hajdarević
569921cd72
Merge pull request #381 from moorereason/feature/logfile
...
Feature/logfile
2019-12-29 20:10:16 +01:00
Cameron Moore
fda328dc23
Refactor fatal logging during service startup
...
Create a log queue to postpone the first log write until after
privilege dropping and log file opening.
2019-12-28 20:50:33 -06:00
Cameron Moore
811481298a
Fix method not allowed log message
2019-12-28 07:09:36 -06:00
Cameron Moore
5af6e4d1ec
Open listener port earlier
2019-12-27 12:01:12 -06:00
Cameron Moore
725fda68dc
Add logfile feature
2019-12-27 11:51:44 -06:00
Cameron Moore
157f468e0c
Refactor cli HTTP methods behavior
...
The CLI HTTP methods option now sets the default allowed methods while
allowing an individual hook definition to override the default.
2019-12-27 11:22:04 -06:00
Cameron Moore
e1249a9ddb
Add global HTTP methods to starting log message
2019-12-26 15:17:01 -06:00
Cameron Moore
a03e812615
Update HTTP methods to sanitize user input
2019-12-26 14:54:27 -06:00
Cameron Moore
c38778ba62
Add HTTP methods cli parameter
...
Allows to globally restrict HTTP methods.
Fixes #248
2019-12-26 14:54:27 -06:00
Cameron Moore
3414f34025
Add per-hook HTTP method restrictions
2019-12-26 14:54:01 -06:00
Cameron Moore
77159d9db6
Add setuid & setgid options
...
Only applicable on unix systems, although Go doesn't support Linux at
this time.
2019-12-26 10:30:31 -06:00
Cameron Moore
35d1cedc24
Rewrite server to use explicit listener
2019-12-26 10:29:14 -06:00
Cameron Moore
1c779a0d75
Update multipart form data logic
...
All form values are simply added to the payload map without processing.
JSON parsing of values happens later.
2019-12-25 09:08:23 -06:00
Cameron Moore
93632d077c
Add multipart form data support
2019-12-25 09:05:15 -06:00
Cameron Moore
779ff0ad10
Fix XML error message
2019-12-24 19:47:21 -06:00
Cameron Moore
3463804a7c
Add XML payload support
...
Fixes #238
2019-12-24 15:58:49 -06:00
Cameron Moore
be815d0a41
Use gorilla/mux for middleware and extend
...
- Use gorilla/mux for middleware.
- Add Dumper, RequestID, and Logger middlewares.
- Add makeURL helper
2019-12-24 11:57:26 -06:00
Cameron Moore
40d9dcd6d4
Make hook package internal
...
The hook package API is not meant for public consumption.
2019-12-21 11:55:42 -06:00
Cameron Moore
8ff3848ea3
Use gofrs/uuid instead of satori/go.uuid
...
The satori package appears to be unmaintained. The gofrs package is a
fork that is actively maintained by a larger group of Go developers.
2019-12-18 21:17:13 -06:00
Adnan Hajdarevic
8fe6c9a05d
Update version to 2.6.11
2019-12-15 14:30:54 +01:00
Cameron Moore
f1003560f1
Add list cipher suites support
2019-12-03 21:35:16 -06:00
Cameron Moore
43f519a712
Add TLS version and cipher suites options
...
Default to TLS 1.2 and secure cipher suites.
Built for Go 1.13. Code in cipher_suites.go taken from Go tip commit
0ee22d9, which is scheduled for the upcoming Go 1.14 release. Once Go
1.14 is released, we can remove this file and use the stdlib.
Fixes #244
2019-12-03 15:13:12 -06:00
Adnan Hajdarevic
ce186487f4
Format the file using go fmt
.
2019-12-02 19:03:38 +01:00
Adnan Hajdarevic
a99abd4e6f
Fix invalid assumption in code that multipart forms can be parsed in the same way as urlencoded forms.
...
Refactored code to use switch-case statement over the `Content-Type` header and log unsupported content types instead of silently failing.
Also made the `x-www-form-urlencoded` content type handler more specific (as opposed to the previous code which looked for `form` occurence in the value),
as we need to use different logic for multipart forms, which we'll hopefully implement soon.
The issue with multipart forms that we have to handle first is that the files are being written to temporary files, and as such, for async hooks
webhook cannot guarantee they'll be available after we close the request; that, and the fact that we don't have code that will properly serialize
and pass such Golang objects to the script, as there are several fields which might be interesting to the end user.
2019-12-02 18:49:24 +01:00
Adnan Hajdarevic
34ae132930
Bump webhook version to 2.6.10
2019-09-24 19:45:40 +02:00
Adnan Hajdarević
002c332b68
Merge pull request #327 from dexpota/master
...
Fix issue with relative paths and command execution
2019-09-18 18:07:07 +02:00
Fabrizio Destro
d3fd9bddd9
Fix issue with relative paths and command execution
2019-08-25 20:08:39 +02:00
Christiaan Kras
c6939d57dc
Replaced fmt.Frpintf calls with fmt.Fprint when there's no formatting used
...
This fixes #313
2019-04-24 14:59:38 +02:00
Adnan Hajdarević
e86c2cf610
Merge branch 'development' into development
2019-04-17 18:11:12 +02:00
Adnan Hajdarevic
f76426e9b0
add handler for the route to be used as a healtcheck endpoint, fixes #233
2018-11-17 19:01:26 +01:00
Adnan Hajdarevic
fc0544e4a2
Bump version to 2.6.9
2018-11-13 21:01:42 +01:00
Andreas Lundblad
54a7190113
Forgot a rename in previous refactoring.
2018-09-17 20:41:51 +02:00
Andreas Lundblad
ef3f43f89f
Added SuccessHttpResponseCode handling for case when capture output is set to true.
2018-09-15 16:06:18 +02:00
Andreas Lundblad
22073d8847
Renamed http-response-code to success-http-response-code
2018-09-15 16:00:42 +02:00
Andreas Lundblad
c05ca8c528
Added HttpResponseCode hook setting
2018-09-15 15:55:28 +02:00
Adnan Hajdarević
f9e799fea0
Merge pull request #206 from dcj/feature/incoming-payload-content-type
...
added support for incoming-payload-content-type
2018-09-14 11:51:06 +02:00
Cameron Moore
66a9e48e39
Fix unnecessary nil check around range
2018-02-16 20:36:42 -06:00
Cameron Moore
48061f1508
Simplify boolean some comparisons
2018-02-16 20:23:25 -06:00
Cameron Moore
cfed5cfe4b
Fix unnecessary use of printf
2018-02-16 20:18:40 -06:00
Adnan Hajdarevic
a811db410b
check before removing
2017-12-21 13:25:19 +01:00
Adnan Hajdarevic
85889fe378
Fix nilpointer dereference when file cannot be created
2017-12-21 13:14:07 +01:00
Adnan Hajdarevic
ecbba514e5
Bump version
2017-12-13 20:46:15 +01:00
Donald Clark Jackson
f84edae99d
added support for incoming-payload-content-type
2017-11-27 14:02:57 -08:00
Greg Dubicki
a40fba5e29
Add CaptureCommandOutputOnError
...
to include stdout & stderror in failed executions,
with docs.
2017-11-11 18:46:55 +01:00
Cameron Moore
f5f04ddaa2
Allow hooks file to be parsed as a template
...
Add a -template command line option that instructs webhook to parse the
hooks files as Go text templates.
Includes a `getenv` template func for retrieving environment variables.
2017-11-08 09:14:58 -06:00