Commit graph

60 commits

Author SHA1 Message Date
Maciej Szlosarczyk
e99733aaf0
Send frame as request paramater as well
Here's what happens: When a client sends simple command without any
values in XML, registry can drop the `raw_frame` parameter
completely. If so, it relies on `frame` parameter being passed on to
create XML document.

https://github.com/internetee/registry/blame/ad823391b75509d5be20ee6ef217aa4f35a4c994/lib/epp_constraint.rb#L14

Fix involves sending the XML string twice, as `frame` and
`raw_frame`, the same as `mod_epp` did.
2019-07-17 10:53:31 +03:00
Maciej Szlosarczyk
4cb7b998ec
Rerun rebar3 fmt 2019-07-15 14:37:26 +03:00
Maciej Szlosarczyk
93b2437d1f
Add test for messages that overflow the initial buffer 2019-07-15 14:34:46 +03:00
Maciej Szlosarczyk
67c710a6e7
Fix test case that does nothing 2019-07-15 13:55:44 +03:00
Maciej Szlosarczyk
d447c7c6c4
Include information about changes in documentation
Describe Roda app that is used for testing.
Describe new feature for handling certificate file path
2019-07-12 16:07:30 +03:00
Maciej Szlosarczyk
55d1942898
Remove unused guard 2019-07-12 15:54:01 +03:00
Maciej Szlosarczyk
2838a4adff
Add tcp client test suite
It is a mirror image of the test suite for TLS client, retained for
test coverage reasons
2019-07-12 15:26:54 +03:00
Maciej Szlosarczyk
45f99a2f77
Add test case for error request 2019-07-12 15:14:48 +03:00
Maciej Szlosarczyk
7f7eea8149
Add test case for invalid command 2019-07-12 14:56:59 +03:00
Maciej Szlosarczyk
31fa20a9a6
Add test case for command 2019-07-12 14:47:47 +03:00
Maciej Szlosarczyk
d8e03ed484
Add test case for both login and logout 2019-07-12 14:28:36 +03:00
Maciej Szlosarczyk
c70d7c6bf2
Add basic test case for greeting 2019-07-12 12:49:08 +03:00
Maciej Szlosarczyk
2c04020d16
Add example test for path_for_file 2019-07-12 12:19:34 +03:00
Maciej Szlosarczyk
de965045ac
Prepare for better integration tests 2019-07-12 12:07:22 +03:00
Maciej Szlosarczyk
3fb6ec85d8
Change function name from *_case to *_test_case 2019-07-11 12:23:06 +03:00
Maciej Szlosarczyk
4814f0c1f7
Remove Eunit tests, use only common test library 2019-07-11 12:11:37 +03:00
Maciej Szlosarczyk
f17613b5f7
Reformat code 2019-07-11 10:06:16 +03:00
Maciej Szlosarczyk
e867e15ce7
Copy the TLS implementation of large buffers into TCP 2019-07-11 10:03:25 +03:00
Maciej Szlosarczyk
4830a7e5e2
Gracefully handle clients that close their connection after logout
Registrar portal behaves closes the connection on its own after
sending logout command, we should not throw errors with those cases.
2019-07-11 09:54:32 +03:00
Maciej Szlosarczyk
771cc06232
Reformat Erlang code, write more documentation 2019-07-11 09:17:17 +03:00
Maciej Szlosarczyk
558e1f0ef7
Recursively read large buffers, i.e. ones with long PDFs 2019-07-10 14:30:34 +03:00
Maciej Szlosarczyk
de15ea121a
Reformat test code 2019-07-04 16:10:17 +03:00
Maciej Szlosarczyk
59d0e56727
Introduce a macro for error and hello strings 2019-07-04 15:22:34 +03:00
Maciej Szlosarczyk
5916c730b7
Simplify epp_http_client library
Define only one type of record, and generate different types of
payload based on what comes in from the client
Remove separate functions for error requests
2019-07-04 15:15:03 +03:00
Maciej Szlosarczyk
57eb1fd94d
Move test certificate files to their appropriate location 2019-07-04 13:18:38 +03:00
Maciej Szlosarczyk
2e01b6870b
Add rebar3_fmt format tool 2019-07-04 11:23:50 +03:00
Maciej Szlosarczyk
5c7942f08e
Remove unused function, make forward slash a macro 2019-07-04 09:15:15 +03:00
Maciej Szlosarczyk
cde2a7ed55
Handle case when registry is not reacheable 2019-06-07 15:38:11 +03:00
Maciej Szlosarczyk
86af6b8f57
Expect user to close connection abruptly
When waiting for input from socket, expect not only a valid outcome,
but also the client getting bored and closing the connection without
any message being sent.Log an info message when that happens,but do
not make it an error.

Also, only use hyphens for headers sent to registry server.
2019-06-07 15:06:53 +03:00
Maciej Szlosarczyk
a4b7a4a041
Send headers in both formats 2019-06-06 17:16:46 +03:00
Maciej Szlosarczyk
1593ecf2f2
Use the correct syslog dependency 2019-06-03 16:33:42 +03:00
Maciej Szlosarczyk
d5c296af94
Add extended release script 2019-06-03 12:00:53 +03:00
Maciej Szlosarczyk
8a64f88586
Update TCP connection to use the same structure as TLS 2019-05-30 14:04:34 +03:00
Maciej Szlosarczyk
cecf6c0af0
Remove macros from TLS acceptor
Add required documentation to it.
2019-05-30 13:35:51 +03:00
Maciej Szlosarczyk
6b4814a60d
Make routes not care about trailing slashes 2019-05-30 12:22:42 +03:00
Maciej Szlosarczyk
4566e14b31
Document EPP TLS worker 2019-05-30 11:43:59 +03:00
Maciej Szlosarczyk
4b5c90912d
Add tests for HTTP client 2019-05-30 11:43:44 +03:00
Maciej Szlosarczyk
0ccb48ce91
Move http request into its own module 2019-05-30 11:06:46 +03:00
Maciej Szlosarczyk
54a6fdb729
Handle XML parsing errors 2019-05-30 10:35:54 +03:00
Maciej Szlosarczyk
73384531c8
Replace logger with lager for syslog logging
I am not 100% certain that lager_syslog is well maintained, but it
seems to be used by RabbitMQ at the time of writing this commit.

c5568a9ed4/erlang.mk (L2405-L2411)

Because of that, we probably should be fine with it.
2019-05-29 13:23:29 +03:00
Maciej Szlosarczyk
750cdbd270
Add X-Forwarded-For header 2019-05-29 10:57:43 +03:00
Maciej Szlosarczyk
ffc5ddaa3c
Add certificate revocation file handling 2019-05-29 09:49:20 +03:00
Maciej Szlosarczyk
1995b6263b
Add feature switch for enabling pure TCP socket 2019-05-28 11:30:01 +03:00
Maciej Szlosarczyk
c74bacfee3
Move epp_record into a header file 2019-05-28 11:05:51 +03:00
Maciej Szlosarczyk
6ef2b881f8
Merge two functions into one 2019-05-28 10:11:44 +03:00
Maciej Szlosarczyk
816c7d812b
SSL is started via app.src, no need for starting in explicitly 2019-05-28 10:01:36 +03:00
Maciej Szlosarczyk
657f064e35
Use standard erlang folder structure 2019-05-28 09:58:11 +03:00
Maciej Szlosarczyk
0c8cbaefc7
Move session_id function to util module 2019-05-28 09:44:09 +03:00
Maciej Szlosarczyk
e7aa9b9770
But a proper executable 2019-05-27 19:48:41 +03:00
Maciej Szlosarczyk
dce19a1107
Short config variables 2019-05-27 16:44:45 +03:00