From: amosjeffries <> Date: Wed, 31 Oct 2007 06:32:19 +0000 (+0000) Subject: NetBIOS is now officially obsolete. X-Git-Tag: SQUID_3_0_STABLE1~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e702e7b1c55620561f67a87ecdc788fcdbe74cb;p=thirdparty%2Fsquid.git NetBIOS is now officially obsolete. It's never expected to support more than IPv4 so this patch reverts ambiguous IN_ADDR back to IPv4-only in_addr in NetBIOS code. Ref: http://lists.samba.org/archive/samba-technical/2007-March/052210.html --- diff --git a/helpers/basic_auth/MSNT/rfcnb-priv.h b/helpers/basic_auth/MSNT/rfcnb-priv.h index 01f9a5caa0..1e906b3bdd 100644 --- a/helpers/basic_auth/MSNT/rfcnb-priv.h +++ b/helpers/basic_auth/MSNT/rfcnb-priv.h @@ -55,7 +55,7 @@ typedef struct redirect_addr *redirect_ptr; struct redirect_addr { - struct IN_ADDR ip_addr; + struct in_addr ip_addr; int port; redirect_ptr next; diff --git a/helpers/basic_auth/MSNT/rfcnb-util.c b/helpers/basic_auth/MSNT/rfcnb-util.c index 270fad0f4c..f6fe7fa540 100644 --- a/helpers/basic_auth/MSNT/rfcnb-util.c +++ b/helpers/basic_auth/MSNT/rfcnb-util.c @@ -345,7 +345,7 @@ RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len) /* Resolve a name into an address */ int -RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP) +RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP) { int addr; /* Assumes IP4, 32 bit network addresses */ struct hostent *hp; @@ -359,20 +359,15 @@ RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP) if ((hp = gethostbyname(host)) == NULL) { /* Not in DNS */ /* Try NetBIOS name lookup, how the hell do we do that? */ - RFCNB_errno = RFCNBE_BadName; /* Is this right? */ RFCNB_saved_errno = errno; return (RFCNBE_Bad); - } else { /* We got a name */ - - memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct IN_ADDR)); - + } else { /* We got a name */ + Dest_IP->s_addr = ((struct sockaddr_in*)hp->h_addr_list[0])->sin_addr.s_addr; } - } else { /* It was an IP address */ - - memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct IN_ADDR)); - + } else { /* It was an IP address */ + Dest_IP->s_addr = addr; } return 0; @@ -397,7 +392,7 @@ RFCNB_Close(int socket) * Not sure how to handle socket options etc. */ int -RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port) +RFCNB_IP_Connect(struct in_addr Dest_IP, int port) { struct sockaddr_in Socket; int fd; @@ -439,7 +434,7 @@ RFCNB_Session_Req(struct RFCNB_Con *con, char *Called_Name, char *Calling_Name, BOOL * redirect, - struct IN_ADDR *Dest_IP, + struct in_addr *Dest_IP, int *port) { char *sess_pkt; @@ -539,7 +534,7 @@ RFCNB_Session_Req(struct RFCNB_Con *con, *redirect = TRUE; /* Copy port and ip addr */ - memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct IN_ADDR)); + memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct in_addr)); *port = SVAL(resp, RFCNB_Pkt_Port_Offset); return (0); diff --git a/helpers/basic_auth/MSNT/rfcnb-util.h b/helpers/basic_auth/MSNT/rfcnb-util.h index 2db8541b05..e19330d4be 100644 --- a/helpers/basic_auth/MSNT/rfcnb-util.h +++ b/helpers/basic_auth/MSNT/rfcnb-util.h @@ -35,17 +35,17 @@ struct RFCNB_Pkt *RFCNB_Alloc_Pkt(int n); void RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len); -int RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP); +int RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP); int RFCNB_Close(int socket); -int RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port); +int RFCNB_IP_Connect(struct in_addr Dest_IP, int port); int RFCNB_Session_Req(RFCNB_Con * con, char *Called_Name, char *Calling_Name, BOOL * redirect, - struct IN_ADDR *Dest_IP, + struct in_addr *Dest_IP, int *port); void RFCNB_Free_Pkt(struct RFCNB_Pkt *pkt); diff --git a/helpers/basic_auth/MSNT/session.c b/helpers/basic_auth/MSNT/session.c index 3ae57c5d2e..c92520fdd8 100644 --- a/helpers/basic_auth/MSNT/session.c +++ b/helpers/basic_auth/MSNT/session.c @@ -56,7 +56,7 @@ RFCNB_Call(char *Called_Name, char *Calling_Name, char *Called_Address, int port) { struct RFCNB_Con *con; - struct IN_ADDR Dest_IP; + struct in_addr Dest_IP; int Client; BOOL redirect; struct redirect_addr *redir_addr; diff --git a/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c b/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c index 14f7255682..b24a1e95eb 100644 --- a/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c +++ b/helpers/ntlm_auth/SMB/smbval/rfcnb-util.c @@ -320,7 +320,7 @@ RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len) /* Resolve a name into an address */ int -RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP) +RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP) { int addr; /* Assumes IP4, 32 bit network addresses */ struct hostent *hp; @@ -339,15 +339,11 @@ RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP) RFCNB_saved_errno = errno; return (RFCNBE_Bad); - } else { /* We got a name */ - - memcpy((void *) Dest_IP, (void *) hp->h_addr_list[0], sizeof(struct IN_ADDR)); - + } else { /* We got a name */ + Dest_IP->s_addr = ((struct sockaddr_in*)hp->h_addr_list[0])->sin_addr.s_addr; } - } else { /* It was an IP address */ - - memcpy((void *) Dest_IP, (void *) &addr, sizeof(struct IN_ADDR)); - + } else { /* It was an IP address */ + Dest_IP->s_addr = addr; } return 0; @@ -372,7 +368,7 @@ RFCNB_Close(int socket) * Not sure how to handle socket options etc. */ int -RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port) +RFCNB_IP_Connect(struct in_addr Dest_IP, int port) { struct sockaddr_in Socket; int fd; @@ -414,7 +410,7 @@ RFCNB_Session_Req(struct RFCNB_Con *con, char *Called_Name, char *Calling_Name, BOOL * redirect, - struct IN_ADDR *Dest_IP, + struct in_addr *Dest_IP, int *port) { char *sess_pkt; @@ -514,7 +510,7 @@ RFCNB_Session_Req(struct RFCNB_Con *con, *redirect = TRUE; /* Copy port and ip addr */ - memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct IN_ADDR)); + memcpy(Dest_IP, (resp + RFCNB_Pkt_IP_Offset), sizeof(struct in_addr)); *port = SVAL(resp, RFCNB_Pkt_Port_Offset); return (0); diff --git a/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h b/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h index 024586009c..123c9cba29 100644 --- a/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h +++ b/helpers/ntlm_auth/SMB/smbval/rfcnb-util.h @@ -38,15 +38,15 @@ struct RFCNB_Pkt *RFCNB_Alloc_Pkt(int n); void RFCNB_Print_Pkt(FILE * fd, char *dirn, struct RFCNB_Pkt *pkt, int len); -int RFCNB_Name_To_IP(char *host, struct IN_ADDR *Dest_IP); +int RFCNB_Name_To_IP(char *host, struct in_addr *Dest_IP); int RFCNB_Close(int socket); -int RFCNB_IP_Connect(struct IN_ADDR Dest_IP, int port); +int RFCNB_IP_Connect(struct in_addr Dest_IP, int port); int RFCNB_Session_Req(struct RFCNB_Con *con, char *Called_Name, char *Calling_Name, BOOL * redirect, - struct IN_ADDR *Dest_IP, + struct in_addr *Dest_IP, int *port); diff --git a/helpers/ntlm_auth/SMB/smbval/session.c b/helpers/ntlm_auth/SMB/smbval/session.c index 9c527b4b36..08ef888d42 100644 --- a/helpers/ntlm_auth/SMB/smbval/session.c +++ b/helpers/ntlm_auth/SMB/smbval/session.c @@ -77,7 +77,7 @@ RFCNB_Call(char *Called_Name, char *Calling_Name, char *Called_Address, int port) { struct RFCNB_Con *con; - struct IN_ADDR Dest_IP; + struct in_addr Dest_IP; int Client; BOOL redirect; struct redirect_addr *redir_addr;