grpc Secure Channel Creation - "Want to set/bind virtual interface Source IPv4/IPv6 address" - grpc

Use Case:
Creating a secure channel using api CreateCustomChannel() at client side.
Want to set/bind/update the source IP(Outbound packet) with virtual interface IP
Please help me out in doing so.
Info Needed:
Is there any available grpc api by which I can achieve this(Setting Source IP of outbound packet)

Related

Ping operation by dynatrace?

The sitescope tool has the functionality for checking the Ping operation, with frequency of pinging the application configurable and email alerts as well.
Does Dynatrace support ping operation and email alerting ?
You can't to a ping from dynatrace, but that is probably not what you want to do anyway, because it just tells you that the host is up and available via ICMP.
What you can do with dynatrace, is execute a synthetic HTTP all against an endpoint on that host to see if your application is up and running.

implementing an MQTT server capable of serving a website too

short question : How can I host an MQTT server on my remote Ubuntu 16 server while at the same time hosting an HTTP server that will be using the MQTT data ?
true question : I want to build an IoT system that will be MONITORED and CONTROLLED by ESP32, which will SEND FEEDBACK and ACCEPT COMMANDS respectively from a remote server (maybe LAMP ?). I also want the user to log-in in a website hosted on this remote server, where s/he can monitor any sensor values or send commands (e.g. turning a led on or off).
So what's the way to go here?
I was adviced to go with MQTT but then the above problem arised.
what I've found : I 've found that using Mosquitto MQTT, I may be able to serve a website using websockets. But I prefer a more scalable HTTPS approach. That is, I intend to have a database linked with my site and running my PHP scripts.
I'm not that experienced, so please don't take anything for granted :)
MQTT uses TCP connection and follows publish/subscribe API model where as the web(http) follows Restful API model(Create,read,update,delete). If you want to stick with MQTT then you should use SAAS service like enterprise MQTT from HIVE which provide this integrability but will charge some fees and in return, they will provide you with an account and a dashboard for all your devices. Otherwise, you can try to make your own middleware which can integrate MQTT with web services .
Another thing I would recommend is CoAP which is also an M2M protocol but follows Restful API model and UDP connection. It has direct forward proxy to convert coap packets to https packets and vice versa.
In MQTT you have a central server(Broker) to which the nodes send their data and fetch their required data through topic filters.
In CoAP each device having some data to share becomes a server and the other device interested in it's data becomes a client and sends a GET request to the respective server to get its data. Similarly a PUT request along with a payload from a client would update the value at the server.
You really should not be looking to combine the MQTT broker with a HTTP server, especially if you intent the HTTP Server to actually be an application server (Running back end logic e.g. PHP). These are 2 totally separate systems. There is nothing to stop your application logic connecting to the broker as a client.
If you intend to use MQTT over WebSockets you can use something link nginx to proxy the WebSockets connection to the broker so it can sit behind the same logical HTTP/HTTPS address.

Qt Websocket ssl peerAddress

I am working on an application, where i manage multiple websocket connections with an interface to connect single connections with each other. Lets call it a chat. The application works well with NonSecureMode Websockets, but when i use QWebSocketServer::SecureMode i run into a problem.
I use a wrapper class for each client, which saves the IP,Port and pointer to the websocket object. When looking through my lists of connected chat partners, i use the ip:port combination to search for. When using SecureMode, the websocket will not return any ip address.
qDebug() << "Client connected:" << pSocket->peerAddress().toString() << pSocket->peerPort();
Returns the following debug statement:
Client connected: "::1" 2058
Is there any way to access the ip with SecureConnections on Websockets? The SSL Layer should be way above the IP and TCP Layer, so the information should still be available somehow. The websocket API did show any options to get the ip address.

How do I configure sendmail for integration testing?

I have a virtual CentOS machine, and I need to configure sendmail for integration testing. I need sendmail to accept all e-mail from anywhere, and not do any user validation. I just need it to accept all incoming valid e-mails and not complain nor reject for any reason. And sendmail should not forward the mail to anywhere else.
All of the setup documentation I have read pertains to making a "working" server as opposed to a "dummy" or "stub" server.
How can I configure this?
Thanks
Sendmail configuration for software testing environment
Choose your mix of the fixes below:
sendmail.mc : To redirect all outgoing message to local mailbox of user1
define(`SMART_HOST',`local:user1')dnl
sendmail.mc : To redirect messages to all addresses in local email domains (normally delivered to local mailboxes) to mailbox of `user1'
define(`MAIL_HUB',`local:user1')dnl
access file : To allow relaying (accepting message to non local email addresses) from specific IP addresses:
# relay from 192.168.0.1
connect:192.168.0.1 RELAY
# relay from 192.168.1.0/24
connect:192.168.1 RELAY
# relay from 172.32.0.0/16
connect:172.32 RELAY
Releasing more test do not make sense in most testing environments
(e.g. no checks existence of envelope sender domain)
sendmail.mc must be compiled into sendmail.cf
access file must be compiles usually into access.db file
More goodies possible:
* storing ALL envelope recipients in message headers (message to multiple recipients not mentioned in email headers)

Connecting to remote Glassfish hosted EJB

The application i'm currently working on start to enter in a pre-release phase.
In this phase, the server-side application components are to be deployed on Amazon VMs while the client-side application remains on the user machine.
This applications connects to server using JNDI and RMI to call remote EJB methods. This works well on localhost and local network.
But, when trying to connect to Amazon host, the application hangs up on context.lookup method. that's to say a JNDI context can be obtained from this remote server, but no lookup can be performed on that context.
What can I do to obtain good diagnostic on the failure ?
Are there logs that can be generated for the RMI handshake/whatever ?
Is there any way to see on server side if query really drive its way through the internet to the server ?
Also notice I've already enabled public IP usage on my Glassfish server (using recommended Oracle procedure).
EDIT According to a fast TCP capture on server, it seems that server receives the client context query with in-lan client address, which it of course isn't aware of :
query is
[3/27/2012 11:05:22 AM:169]
GIOP.......(................NameService....._is_a...................
NEO................ª.......(IDL:omg.org/SendingContext/CodeBase:1.0.
...........n........172.27.63.145.ܺ....¯«Ë........e................
........... ................... ... ...........&...............(IDL:
omg.org/CosNaming/NamingContext:1.0.
reply is
[3/27/2012 11:05:22 AM:171]
GIOP.......2............NEO................0.......(IDL:omg.org/Send
ingContext/CodeBase:1.0............ô........46.137.114.67.'5....¯
«Ë........d........................... ................... .........
.....&...........!...|...............$....f............10.241.42.208
.'6.#........g..............g........default...................g....
...........+IDL:omg.org/CosNaming/NamingContextExt:1.0..............
.......10.241.42.208.'5...M¯«Ë.... ...d... S1AS-ORB............Root
POA....TNameService............................... .................
.. ... ...........&......
(as read using SmartSniff ASCII output).
The IP in query (172.27.63.145) is my IP in my company LAN. From what I understand of communication over itnernet, it should be my company LAN public IP, no ? How can I make Glassfish client udnerstand it should use that IP ?
Diagnostic has been clearly obtained : the client, which connects from a LAN to the server, sends its own internal network private address to server, which server can't forward any answer to. As a consequence, server doesn't answer, hence the hangup.

Resources