-
Notifications
You must be signed in to change notification settings - Fork 467
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add common proxy solution for all the supported transport methods that works transparently in the network() and the syslog() sources #4544
Conversation
Signed-off-by: Alex Becker <[email protected]>
First of all, sorry for this taking this long. I find I have less than the ideal amount of time to do code level changes to syslog-ng these days. This looks so MUCH better than the previous iteration, thanks for doing it. One more ask: can you please also remove the entire old implementation as well? The check for transport(proxied-tcp) will shadow the old implementation anyway, so it's going to be just dead code. If anything wrong comes up with this implementation we would fix it instead of going back to the old one. |
Signed-off-by: Alex Becker <[email protected]>
12f472d
to
f042859
Compare
Thank you for the review! I have added commits to remove the proxied text server. It was used by the network driver originally, not the syslog driver, so I had to make a few tweaks in order to keep the network driver functioning correctly. |
Signed-off-by: Alex Becker <[email protected]>
f042859
to
850d2de
Compare
Signed-off-by: Alex Becker <[email protected]>
850d2de
to
f327435
Compare
Signed-off-by: Alex Becker <[email protected]>
f327435
to
708e701
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am still doing the review, currently halfway through at commit 937bb62, but wanted to give some feedback already.
The overall big picture is nice and clean so far.
Thank you for your reply! Just to avoid any misunderstandings, I did not write the PROXY implementation, my PR is a refactor to move proxy processing into the logtransport layer so that it can be enabled for the syslog source driver. Because of this, I do not know what the magic numbers stand for. However, I can try to address smaller issues like adding typedefs and such. |
Thanks for the clarification, I started the review by going through each commit and did not realize until now that it was a simple move (lib/logproto/logproto-proxied-text-server.c -> lib/transport/transport-proxied-socket.c). I will check the diff first and then go through the commits, and close my notes where I think it is not really relevant in this PR. Sorry for the confusion! I see that the CI is failing due to the light test case |
I've tried to replicate the TLS functionality in the new logtransport as it was in the |
@alexb271 would you still work on this or should/may I try to finish? |
I'm not actively troubleshooting this right now, so of course you would be welcome to investigate or finish it. If the solution turns out to be something very simple I've missed I can fix that too if required. |
I do not know if it's possible correctly,(or what is the simplest solution here), but could you please give me rights to this fork (it seems github allows forking of a fork only if I do not yet have my own fork of the same origin), I do not want to move this branch or create a new PR later on, the best would be if I could just simply edit here anything |
The copyright is incorrect in most of the files, it needs a separate run that corrects all of them, what more, something automatic if we want to follow the actual date in each year. |
Build FAILURE |
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
…the logproto proxied text server Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
…ansport and use regular and tls transports Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Signed-off-by: Hofi <[email protected]>
Signed-off-by: Hofi <[email protected]>
Signed-off-by: Hofi <[email protected]>
… class itself, not inherited from LogTransport anymore Only the network() source is tested and working yet, syslog() is a TODO Signed-off-by: Hofi <[email protected]>
Signed-off-by: Hofi <[email protected]>
…roxied' loggen parameter Signed-off-by: Hofi <[email protected]>
…e loggen with proper `proxied` switches Signed-off-by: Hofi <[email protected]>
…ce folder Signed-off-by: Hofi <[email protected]>
Signed-off-by: Hofi <[email protected]>
…the proxy and in its init Signed-off-by: Hofi <[email protected]>
Build FAILURE |
@kira-syslogng test this please; |
Signed-off-by: Alex Becker <[email protected]> Signed-off-by: Hofi <[email protected]>
Resolves #4388
A new logtransport class for proxied socket has been implemented based on code from the proxied text server.
If everything is good then theoretically the new logtransport could allow deleting the proxied text server code in favor of configuring a regular text server with this new transport, however nothing has been deleted yet in this PR.