]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
NetBIOS is now officially obsolete.
authoramosjeffries <>
Wed, 31 Oct 2007 06:32:19 +0000 (06:32 +0000)
committeramosjeffries <>
Wed, 31 Oct 2007 06:32:19 +0000 (06:32 +0000)
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

helpers/basic_auth/MSNT/rfcnb-priv.h
helpers/basic_auth/MSNT/rfcnb-util.c
helpers/basic_auth/MSNT/rfcnb-util.h
helpers/basic_auth/MSNT/session.c
helpers/ntlm_auth/SMB/smbval/rfcnb-util.c
helpers/ntlm_auth/SMB/smbval/rfcnb-util.h
helpers/ntlm_auth/SMB/smbval/session.c

index 01f9a5caa0b33ee246b8be0e2bd48048c85052c3..1e906b3bdd78e7d67b616bf435d8ac4a25edea23 100644 (file)
@@ -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;
 
index 270fad0f4cd221dafac12a9db53b690680e4c1cb..f6fe7fa54086d996cb9858b463a61f78f69b3604 100644 (file)
@@ -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);
index 2db8541b05a54b100602659f2c170948b5bd97f2..e19330d4be7b47429e06de060a6b8fb06e7bf703 100644 (file)
@@ -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);
index 3ae57c5d2e4eef1cb1a58853d97b9875cb6fe904..c92520fdd8afac2b611890319b3c9fc736d99fbf 100644 (file)
@@ -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;
index 14f7255682457d9eca2abea8e3e2ea6a5af5187f..b24a1e95ebd6a7bbcf04a890b10b4de5528ae2db 100644 (file)
@@ -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);
index 024586009c56b9be3837a8169461c68c825e5dd2..123c9cba29bae020183701eb73d200de7237c7c3 100644 (file)
@@ -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);
index 9c527b4b365d0e88809c57cf738c560baf37701b..08ef888d4295785d5316ad5483960ac43126dc33 100644 (file)
@@ -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;