AIX calling WINSOCK during e-mail - normal?


 
Thread Tools Search this Thread
Top Forums Programming AIX calling WINSOCK during e-mail - normal?
# 22  
Old 01-24-2011
Yes, I have both string.h and strings.h - they were both included before I modified the file and didn't want to take anything out just yet.

I'm not positive the segfaults are related to the code change - I think they may have been happening before I modified anything. Don't want to waste your time, just in case.
# 23  
Old 01-24-2011
Code:
// fill the area of memory taken by serv_addr structure with zeros
bzero((char *) &serv_addr, sizeof(serv_addr));

// set the sin_family member of serv_addr to AF_INET (IP Address Family)
serv_addr.sin_family = AF_INET;

// copy the address returned by gethostbyname() into the s_addr member of serv_addr
// s_addr contains the integer representation of the IP address
bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length);

// set the sin_port member of serv_addr to the port number
// htons converts a u_short from host to IP network byte order (which is big-endian).
serv_addr.sin_port = htons(portno);

This User Gave Thanks to fpmurphy For This Post:
# 24  
Old 01-24-2011
When I pasted this into a C function it complained about two undefined variables -- fds, and timeout. That's it.

So, I don't think you're actually storing the socket you opened into the class anywhere.

Also, you can remove buffer[]. You're not using it so its useless.

Beyond that, your code compiles and works for me.
This User Gave Thanks to Corona688 For This Post:
# 25  
Old 01-24-2011
Quote:
Originally Posted by fpmurphy
Code:
// fill the area of memory taken by serv_addr structure with zeros
bzero((char *) &serv_addr, sizeof(serv_addr));

// set the sin_family member of serv_addr to AF_INET (IP Address Family)
serv_addr.sin_family = AF_INET;

// copy the address returned by gethostbyname() into the s_addr member of serv_addr
// s_addr contains the integer representation of the IP address
bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length);

// set the sin_port member of serv_addr to the port number
// htons converts a u_short from host to IP network byte order (which is big-endian).
serv_addr.sin_port = htons(portno);

Thank you. I appreciate that.


Hmm... ok. Do you have any suggestions on what I should do? I just heard they're considering getting an IBM engineer involved to help out with this - I'd like to avoid that if at all possible.
# 26  
Old 01-24-2011
Quote:
Originally Posted by Corona688
...I don't think you're actually storing the socket you opened into the class anywhere.
So you open the socket, but don't keep it. And when later code tries to use it, it uses an empty, default, or garbage value instead of the socket you opened... which wouldn't cause a crash directly, but if they didn't catch certain error conditions could cause that.
This User Gave Thanks to Corona688 For This Post:
# 27  
Old 01-24-2011
Ok - here is my connection class. Maybe that's why you're not seeing those members? I don't know.

Code:
class connection
{
private:
   SOCKET    the_socket;
   char *    in_buffer;
   char *    out_buffer;
   unsigned int    in_index;
   unsigned int    out_index;
   unsigned int    in_buffer_total;
   unsigned int    out_buffer_total;
   unsigned int    last_winsock_error;
   TASK_HANDLE_TYPE    owner_task;
   fd_set    fds;
   struct timeval    timeout;

public:

   connection (void);
   ~connection (void);

   int get_connected (char * hostname, char * service);
   SOCKET get_socket(void)
   {
      return (the_socket);
   }
   TASK_HANDLE_TYPE    get_owner_task(void)
   {
      return (owner_task);
   }
   int    get_buffer(int wait);
   int    close (void);
   int    getchar (int wait, char * ch);
   int    put_data (char * data, unsigned long length);
   int    put_data_buffered (char * data, unsigned long length);
   int    put_data_flush (void);
};

# 28  
Old 01-24-2011
I think you're supposed to do the_socket=sockfd; after you open the connection. Otherwise the class will have no idea it's supposed to use the socket you just opened.

I have no idea what's supposed to set up those character buffers. Hopefully it's set up in the constructor?
This User Gave Thanks to Corona688 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

Unable to set ACLs on sulog - need to grant read permission to a normal user on AIX 6.1

Hi, I need to grant read permission to a normal user on sulog file on AIX 6.1. As root I did acledit sulog and aclget shows "extended permissions" as "enabled" and normal user "splunk" has read permissions. When I try to access sulog as splunk user it won't allow and aclget for splunk user... (6 Replies)
Discussion started by: prvnrk
6 Replies

2. Shell Programming and Scripting

AIX : Need to convert UNIX Timestamp to normal timestamp

Hello , I am working on AIX. I have to convert Unix timestamp to normal timestamp. Below is the file. The Unix timestamp will always be preceded by EFFECTIVE_TIME as first field as shown and there could be multiple EFFECTIVE_TIME in the file : 3.txt Contents of... (6 Replies)
Discussion started by: rahul2662
6 Replies

3. Shell Programming and Scripting

Send mail from AIX 7.1

Hi, My OS version is AIX 7.1. I am trying to send an email with a file to my mail address. sendmail or uuencode does not work. Can someone give me the correct format ? I use: uuencode <file name> | mail -s "subject" emailaddress Thanks Use code tags, thanks. (3 Replies)
Discussion started by: Nagesh_1985
3 Replies

4. Shell Programming and Scripting

AIX mail notification

plzzz help me, I want to send emails for exchange group members when the used file-system % gets more than 90%, this notification must include df -g, netstat -i,and errpt with the hostname thx in advance (0 Replies)
Discussion started by: majd_ece
0 Replies

5. Shell Programming and Scripting

Calling SQL script from ksh job and send mail on some error.

Hi, I am trying to call sql script from ksh job with parameters.The parameters passed from ksh job will be used in SELECT query in sql file to SPOOL the data in extract file.My questions are: 1) How to call a sql script from ksh job with parameters? 2) How to use the parameter in sql file to... (1 Reply)
Discussion started by: anil029
1 Replies

6. UNIX for Advanced & Expert Users

Oracle (11gr2) calling unix commands (aix)

I have an Oracle database running on AIX, and I have a procedure that is calling OS commands from an oracle (and it's not working anymore)... so, there was an Java stored proc in Oracle CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED COMMON."Host" as import java.io.*; public class Host {... (1 Reply)
Discussion started by: bongo
1 Replies

7. UNIX for Dummies Questions & Answers

Forwarding Mail in AIX 5.3

Hello everyone, I am trying to create a forwarding scenario, and I do not seem to get it right! I created a .forward file in the directory where my personal mailbox resides. In the file is the full address to deliver email to ... yet the emails do not seem to get forwarded. Is there something... (3 Replies)
Discussion started by: gio001
3 Replies

8. AIX

Normal User Unable to Login Through AIX CDE

When we as normal user try to login, the session startup terminates and we are presented with the login screen.The root user is able to login without any problem.I can log in to the Aix server as normal user through telnet & using xmanager but not directly through server terminal .The Aix version... (1 Reply)
Discussion started by: ranadeep
1 Replies

9. AIX

To find RAM Size in AIX as normal user?

Hi, Am jus trying to find the Total RAM Size of a AIX m/c (in MB)..svmon works perfectly for a superuser...But i want to achive this as a normal user...Please help me out with correct command.. Best Regards, Muthukumaran.M (3 Replies)
Discussion started by: muthukumaran13
3 Replies

10. AIX

Calling All Aix Experts

I am new to the world of AIX. I want to get certified in AIX and learn it but fast. with in 3 months Could you give me some advise of a good site that with teach you or a bootcamp that is reasonable. I am really in need I am in atlanta (0 Replies)
Discussion started by: Courtney3216
0 Replies
Login or Register to Ask a Question