Unix Programming - inetd SSL -server

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > June 2006 > inetd SSL -server





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author inetd SSL -server
Binu

2006-06-14, 7:26 am

Hi All ,

I have a client an server among which i want to make the server an
inetd process.

I have enries in etc/services and etc/inetd.conf
The enries looks like below
etc/services
servername 5551/tcp
etc/inetd.conf

servername stream tcp nowait root /servername servername

Now if I try to run my client ,inetd will spwan the server but the bind
in the serve is failing synag tht address is already in use

My client code to connect ins ome thng like this
====================================
sd = socket (AF_INET, SOCK_STREAM, 0); CHK_ERR(sd, "socket");

memset (&sa, '\0', sizeof(sa));
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr ("127.0.0.1"); /* Server IP */
sa.sin_addr.s_addr = inet_addr ("164.164.27.88");
sa.sin_port = htons (5551); /* Server Port number */

err = connect(sd, (struct sockaddr*) &sa,
sizeof(sa)); CHK_ERR(err, "connect");

/* ----------------------------------------------- */
/* Now we have TCP conncetion. Start SSL negotiation. */

ssl = SSL_new (ctx); CHK_NULL(ssl);
SSL_set_fd (ssl, sd);
err = SSL_connect (ssl); CHK_SSL(err);


and my server code is like below
==========================
/* Prepare TCP socket for receiving connections */

listen_sd = socket (AF_INET, SOCK_STREAM, 0); CHK_ERR(listen_sd,
"socket");

memset (&sa_serv, '\0', sizeof(sa_serv));
sa_serv.sin_family = AF_INET;
sa_serv.sin_addr.s_addr = INADDR_ANY;
sa_serv.sin_port = htons (5551); /* Server Port number */

err = bind(listen_sd, (struct sockaddr*) &sa_serv,
sizeof (sa_serv)); CHK_ERR(err, "bind");

/* Receive a TCP connection. */

err = listen (listen_sd, 5); CHK_ERR(err, "listen");

client_len = sizeof(sa_cli);
//Binu
sd = accept (listen_sd, (struct sockaddr*) &sa_cli,(int *)
&client_len);
CHK_ERR(sd, "accept");
close (listen_sd);
printf ("Connection from %lx, port %x\n",
sa_cli.sin_addr.s_addr, sa_cli.sin_port);

/* ----------------------------------------------- */
/* TCP connection is ready. Do server side SSL. */

//binu _
ssl = SSL_new (ctx); CHK_NULL(ssl);
SSL_set_fd (ssl, sd);
err = SSL_accept (ssl); CHK_SSL(err);




can any one please help me?

Thanks
Binu

Gordon Burditt

2006-06-14, 7:26 am

>I have a client an server among which i want to make the server an
>inetd process.
>
>I have enries in etc/services and etc/inetd.conf
>The enries looks like below
>etc/services
>servername 5551/tcp
>etc/inetd.conf
>
>servername stream tcp nowait root /servername servername
>
>Now if I try to run my client ,inetd will spwan the server but the bind
>in the serve is failing synag tht address is already in use


If inetd is accepting the connection and handing it off to the
server, is the server even supposed to be trying to bind a socket?
Didn't inetd do that already?

Example: if you're running Apache from inetd, you need to tell it
it's being invoked from inetd with "ServerType inetd" rather than
"ServerType standalone".

Gordon L. Burditt
Binu

2006-06-14, 7:26 am


Gordon Burditt wrote:
>
> If inetd is accepting the connection and handing it off to the
> server, is the server even supposed to be trying to bind a socket?
> Didn't inetd do that already?
>
> Example: if you're running Apache from inetd, you need to tell it
> it's being invoked from inetd with "ServerType inetd" rather than
> "ServerType standalone".
>
> Gordon L. Burditt



if I remove bind and accept , i dont know hich ffd i should use to
read and write

davids@webmaster.com

2006-06-14, 7:26 am


Binu wrote:

> if I remove bind and accept , i dont know hich ffd i should use to
> read and write


You need to read up on how to write a server that's launched from
'inetd'.
See, for example:
http://www.cs.bham.ac.uk/resources/...td-Servers.html

DS

Barry Margolin

2006-06-14, 7:22 pm

In article <1150275727.330263.85720@y43g2000cwc.googlegroups.com>,
"Binu" <msbinu@gmail.com> wrote:

> if I remove bind and accept , i dont know hich ffd i should use to
> read and write


When inetd invokes a server, the socket is automatically connected to
stdin (fd 0) and stdout (fd 1).

--
Barry Margolin, barmar@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***
Binu

2006-06-19, 1:23 am


Barry Margolin wrote:
> In article <1150275727.330263.85720@y43g2000cwc.googlegroups.com>,
> "Binu" <msbinu@gmail.com> wrote:
>
>
> When inetd invokes a server, the socket is automatically connected to
> stdin (fd 0) and stdout (fd 1).
>
> --
> Barry Margolin, barmar@alum.mit.edu
> Arlington, MA
> *** PLEASE post questions in newsgroups, not directly to me ***
> *** PLEASE don't copy me on replies, I'll read them in the group ***


Thanks.

If you are good in SSL , can you pls tell me how to modify my SSL code(
whihc is given above )

Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com