|
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]
|
|
|
| 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
| |
|
|
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 ***
| |
|
|
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 )
|
|
|
|
|