César Gallego Rodríguez
7d3ebf4103
fix: Log injection prevention task
2023-03-19 18:59:31 +01:00
dependabot[bot]
47d0dc5938
chore(deps): bump golang from 1.16.6 to 1.17.0 in /.github/go ( #185 )
...
* chore(deps): bump golang from 1.16.6 to 1.17.0 in /.github/go
Bumps golang from 1.16.6 to 1.17.0.
---
updated-dependencies:
- dependency-name: golang
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix: guard against writing HTTP Status 0
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2021-08-18 11:37:51 +02:00
pancho horrillo
1e63f3c104
feat: Control API uses automatic cross-pinning mTLS ( Closes #119 )
...
. kapow server generates on startup a pair of certificates
that will use to secure communications to its control server.
It will communicate the server and client certificates as well
as the client private key to the init programs it launches,
via environment variables.
. kapow server now understands a new flag --control-reachable-addr
which accepts either a IP address or a DNS name, that can be used
to ensure that the generated server certificate will be appropiate
in case the control server must be accessed from something other
than localhost.
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2021-03-12 17:24:17 +01:00
pancho horrillo
6821eca6f3
fix: drop black magic that is no longer needed
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2021-01-11 17:59:31 +01:00
pancho horrillo
ec227c2ba3
fix: don't flush status immediately
...
Closes : #148
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2021-01-11 17:54:54 +01:00
pancho horrillo
68a25e68b8
feat: kapow server <initprgs> honors --debug
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-24 14:16:39 +01:00
pancho horrillo
26fa12c871
doc: drop mentions to .pow files ($deity REST their soul)
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-24 14:03:49 +01:00
pancho horrillo
e72c65c859
feat: os-dependent default entrypoint
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-24 14:03:49 +01:00
Roberto Abdelkader Martínez Pérez
0c16b5472f
feat: run multiple init programs
...
- We log their outputs and status codes
- Windows is supported as well, leveraging cmd.exe /c
Co-authored-by: pancho horrillo <pancho.horrillo@bbva.com >
2020-12-24 14:03:25 +01:00
pancho horrillo
7c4e32a34b
feat: add /server/log/{prefix} endpoint
...
/{prefix} is optional
Sample usage: kapow set /server/log/myapp "$msg"
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-18 11:48:25 +01:00
pancho horrillo
4d05223224
feat: Access Logging on the user server
...
Closes : #98
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-17 16:30:55 +01:00
pancho horrillo
41be4f9344
refactor: use a common logger for consistency
...
All kapow messages will end up in stderr (incl. debug mode).
stdout is reserved for the access logs.
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-16 17:29:26 +01:00
pancho horrillo
d62a9dba68
chore: Remove unused code
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-16 16:41:49 +01:00
pancho horrillo
4546fc65b6
fix: honor global flag --debug
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-15 18:59:29 +01:00
pancho horrillo
58fae53e2e
test: logStream() behaves correctly like a good kiddo
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-15 18:37:44 +01:00
pancho horrillo
6ec9b54670
fix: add missing spawner reset code to test
...
Co-authored-by: Roberto Abdelkader Martínez Pérez <robertomartinezp@gmail.com >
2020-12-15 18:37:44 +01:00
Roberto Abdelkader Martínez Pérez
0dd9cf07ab
wip: create pipes to manage entrypoint stdout/stderr even after termination
2020-12-15 18:37:44 +01:00
Héctor Hurtado
c7567fb4cc
Fix getSSLClietnDN returns DN instead CN
2020-09-11 11:18:11 +02:00
Héctor Hurtado
a17cc4838d
Add ssl/client/i/dn resource. Closes #113
2020-09-10 16:35:41 +02:00
Héctor Hurtado
6d24cc4d2d
Fix typo getRequestId -> getRouteId
2020-09-10 12:44:58 +02:00
Héctor Hurtado
9a78bddcc4
Change tests for getRequestId to validate against passed value
2020-09-10 12:41:04 +02:00
Héctor Hurtado
66b227e67b
Fix error getting HTTP version in getRequestVersion
2020-09-10 12:30:58 +02:00
Héctor Hurtado
99871de601
Fix error getting remote address in getRequestRemote
2020-09-10 12:07:25 +02:00
Héctor Hurtado
5c1a00e340
getRequestHeaders returns value for Host header. Fixes #78
2020-09-09 14:13:44 +02:00
Héctor Hurtado
6c3bee9ae0
Add route/id resource. Closes #10
2020-09-09 14:12:53 +02:00
Héctor Hurtado
774b9202b5
Add routes for /request/version and /request/remote in data server. Add resource tree documentation for /request/version and /request/remote. Closes #85
2020-09-09 14:11:46 +02:00
Héctor Hurtado
fc19b921be
Add request/remote resource
2020-09-09 08:53:40 +02:00
Héctor Hurtado
9988d0e0d4
Add request/version resource
2020-09-08 15:27:51 +02:00
pancho horrillo
975aea88ae
fix: prevent spurious stack trace with misbehaving clients
...
See 9997545a86
and the previous commit.
Co-authored-by: César Gallego Rodríguez <gallego.cesar@gmail.com >
2020-05-11 15:57:25 +02:00
pancho horrillo
13adcc37b6
fix: panic sentinel value if http client misbehaves
...
When an http client does not consume the whole body, we panic'ed a
custom message instead of the required sentinel value.
For the details, check ¹ and look for ErrAbortHandler.
¹: https://pkg.go.dev/net/http
Co-authored-by: César Gallego Rodríguez <gallego.cesar@gmail.com >
2020-05-11 13:59:09 +02:00
Héctor Hurtado
35376a407b
Add missing copyright message to source files
2020-04-22 16:50:10 +02:00
Héctor Hurtado
248f7d1fcc
Added stderr output management to jaillover.
...
Added Spawn support for stderr redirection.
Added --debug option to server cmd.
Added debug information to documentation.
Finnished script logger.
2020-04-20 10:18:16 +02:00
Héctor Hurtado
63a675675a
Added clean target to Makefile. Created package logger
2020-04-15 17:52:46 +02:00
Héctor Hurtado
e1788b2874
Default handlers for NotFound and MethodNotAllowed returning json reason added to control y data servers
2020-04-07 12:22:15 +02:00
Héctor Hurtado
4988c48e03
Correct typo assigning KAPOW_CONTROL_URL env variable
2020-04-06 19:38:43 +02:00
Héctor Hurtado
e6e25f25c7
Fix #102
2020-04-06 18:02:29 +02:00
Héctor Hurtado
73ef493f04
cmd/server sets now environment variables KAPOW_DATA_URL and KAPOW_CONTROL_URL
...
Remove golinter error S1036: unnecessary guard around map access in
spawn package
2020-04-03 21:42:42 +02:00
Héctor Hurtado
f103b39a94
If CA certificate file is incorrect return an error instead of use default syustem CA store
2020-01-24 11:54:06 +01:00
Héctor Hurtado
cddc5ff351
Fixes #45 : Added Support fot Mutual TLS Authentication
2020-01-23 17:39:58 +01:00
Héctor Hurtado
493e6be78c
Added support fot https in user server
2020-01-22 17:27:24 +01:00
Héctor Hurtado
a65eb102b2
Fix variable name in spawn function. Added working with json, upload examples and install&configuration documentation
2019-11-20 16:33:18 +01:00
pancho horrillo
206aac5747
Rename package srverrors to httperror
...
- Package names are preferred to be in singular form¹.
- Since errors are just for HTTP and not generic, I changed the base name to
'http'.
- I didn't name it simply 'error', because it would then conflict with the
- standard 'error' interface.
¹: https://rakyll.org/style-packages/
2019-11-20 07:54:45 +01:00
pancho horrillo
0d66fe9963
Rename WriteErrorResponse() to simply ErrorJSON() and reorder arguments
...
This way we better mimic net/http.Error()
https://pkg.go.dev/net/http?tab=doc#Error
2019-11-20 07:37:35 +01:00
pancho horrillo
7ea43048bc
Add missing comments
2019-11-20 07:14:00 +01:00
pancho horrillo
75b0908b16
Rename GetReasonFromBody() to simply Reason()
...
See ¹ for the customary idiomatic way of naming getters in Go.
¹: https://golang.org/doc/effective_go.html#Getters
2019-11-20 05:04:10 +01:00
pancho horrillo
3a47b34bc1
Drop stale GetReason() and associated tests
2019-11-20 04:54:07 +01:00
pancho horrillo
b40f73115f
Add missing comment to GetReasonFromBody()
2019-11-20 04:51:29 +01:00
pancho horrillo
81c677c3be
internal/http/request.go: replace GetReason() with GetReasonFromBody()
...
Update tests to inject the required JSON error body with reason.
2019-11-19 21:17:49 +01:00
pancho horrillo
e7619238ae
Add GetReasonFromBody() that extracts reason from JSON
2019-11-19 21:17:34 +01:00
pancho horrillo
83e4523dc7
Simplify files via gofmt -s (thanks, Go Report Card!)
2019-11-19 14:14:55 +01:00