Re: [DNG] Unix Socket class: how to send arguments to the suid of simple-netaid

2019-09-13 Thread aitor_czr

Hi,

On 12/9/19 6:49, aitor_czr wrote:
Maybe you are wondering about the reaseon why the server of the socket 
should be multithreaded.

Well... Download the following example:

http://gnuinos.org/socket/ip/

The code of the server has been replaced by:

serverSocket( { FILE_DESCRIPTOR, "0", "wlan0" } );
system("sudo ./client");

That is, the information is sent through the file descriptor and 
immediatly after the client is run *while*

the server is waiting to be heard in a separate thread.

Just run:

$ ./server

and your network interface (wlan0) will be brung down.

Cheers,

Aitor.

There were some minor error in the example. For example, the name of the 
object in the constructor of the server was missing:


serverSocket sender( { FILE_DESCRIPTOR, "0", "wlan0" } );

I fixed them, and now it works:

http://gnuinos.org/socket/ip/

Cheers,

Aitor.


___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng


Re: [DNG] Unix Socket class: how to send arguments to the suid of simple-netaid

2019-09-12 Thread aitor_czr

Hi again,

On 10/9/19 11:45, aitor_czr wrote:


Hi all,

Here you are an example of the unix socket class used in simple-netaid 
for sending the arguments
to the suid binary through a file descriptor instead of using 
arguments in the command line:


http://gnuinos.org/socket/socket-class-example/

You'll need to install libglibmm-2.4-dev for the server of the socket 
(It's multithreaded and uses a

Glib::Threads::Thread *thread pointer).

As you can see in the example (have a look at the main.cpp of the 
server), the constructor of the
serverSocket class receives the name of the file descriptor as a first 
argument:


serverSocket sender( FILE_DESCRIPTOR, std::string... );

The rest of the arguments in the constructor are the values of the 
arguments sent by the socket,
and both the quantity and the length of these strings are unlimited. 
The client side of the socket
class will use a std::vector for the received 
arguments(look at the main.cpp of the

server).

After building the example (use the Makefile for that), just run the 
server in a secondary plane:


$ ./server &
[1] 10739

It may then run the client, getting all the received mesages:

$ ./client
These are the received messages:
    0
    Hi
    hello
    folks
[1]+  Hecho   ./server

You can download the tarball of the example from here:

wget http://gnuinos.org/socket/socket_class_example.tar.gz

Cheers,

Aitor.

Maybe you are wondering about the reaseon why the server of the socket 
should be multithreaded.

Well... Download the following example:

http://gnuinos.org/socket/ip/

The code of the server has been replaced by:

serverSocket( { FILE_DESCRIPTOR, "0", "wlan0" } );
system("sudo ./client");

That is, the information is sent through the file descriptor and 
immediatly after the client is run *while*

the server is waiting to be heard in a separate thread.

Just run:

$ ./server

and your network interface (wlan0) will be brung down.

Cheers,

Aitor.



___
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng