summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/lib/util.c8
-rw-r--r--source3/nmbd/nmbd_incomingdgrams.c4
-rw-r--r--source3/nmbd/nmbd_sendannounce.c2
-rw-r--r--source3/utils/nmblookup.c3
-rw-r--r--source3/utils/testparm.c7
-rw-r--r--source3/wsmbstatus.c6
6 files changed, 22 insertions, 8 deletions
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 365a765174..18614caeed 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2002,20 +2002,20 @@ read from a socket
int read_udp_socket(int fd,char *buf,int len)
{
int ret;
- struct sockaddr sock;
+ struct sockaddr_in sock;
int socklen;
socklen = sizeof(sock);
bzero((char *)&sock,socklen);
bzero((char *)&lastip,sizeof(lastip));
- ret = recvfrom(fd,buf,len,0,&sock,&socklen);
+ ret = recvfrom(fd,buf,len,0,(struct sockaddr *)&sock,&socklen);
if (ret <= 0) {
DEBUG(2,("read socket failed. ERRNO=%s\n",strerror(errno)));
return(0);
}
- lastip = *(struct in_addr *) &sock.sa_data[2];
- lastport = ntohs(((struct sockaddr_in *)&sock)->sin_port);
+ lastip = sock.sin_addr;
+ lastport = ntohs(sock.sin_port);
DEBUG(10,("read_udp_socket: lastip %s lastport %d read: %d\n",
inet_ntoa(lastip), lastport, ret));
diff --git a/source3/nmbd/nmbd_incomingdgrams.c b/source3/nmbd/nmbd_incomingdgrams.c
index 46d988e89a..80057ef12c 100644
--- a/source3/nmbd/nmbd_incomingdgrams.c
+++ b/source3/nmbd/nmbd_incomingdgrams.c
@@ -449,8 +449,8 @@ void process_lm_host_announce(struct subnet_record *subrec, struct packet_struct
if ((osmajor < 36) || (osmajor > 38) || (osminor !=0))
{
- DEBUG(5,("process_lm_host_announce: LM Announcement packet does not " \
- "originate from OS/2 Warp client. Ignoring packet.\n"));
+ DEBUG(5,("process_lm_host_announce: LM Announcement packet does not \
+originate from OS/2 Warp client. Ignoring packet.\n"));
/* Could have been from a Windows machine (with its LM Announce enabled),
or a Samba server. Then don't disrupt the current browse list. */
return;
diff --git a/source3/nmbd/nmbd_sendannounce.c b/source3/nmbd/nmbd_sendannounce.c
index 62e5f02d8c..e39e251496 100644
--- a/source3/nmbd/nmbd_sendannounce.c
+++ b/source3/nmbd/nmbd_sendannounce.c
@@ -529,7 +529,7 @@ void announce_remote(time_t t)
send_announcement(FIRST_SUBNET, ANN_HostAnnouncement,
name, /* From nbt name. */
- wgroup, 0x1e, /* To nbt name. */
+ wgroup, 0x1d, /* To nbt name. */
addr, /* To ip. */
REMOTE_ANNOUNCE_INTERVAL, /* Time until next announce. */
name, /* Name to announce. */
diff --git a/source3/utils/nmblookup.c b/source3/utils/nmblookup.c
index 5cd5a869a9..a73a35cd56 100644
--- a/source3/utils/nmblookup.c
+++ b/source3/utils/nmblookup.c
@@ -170,12 +170,13 @@ int main(int argc,char *argv[])
exit(1);
}
+ init_structs();
+
if (!lp_load(servicesf,True)) {
fprintf(stderr, "Can't load %s - run testparm to debug it\n", servicesf);
}
load_interfaces();
- init_structs();
if (!open_sockets()) return(1);
if (!got_bcast)
diff --git a/source3/utils/testparm.c b/source3/utils/testparm.c
index cc35d2d530..a35a3fd71e 100644
--- a/source3/utils/testparm.c
+++ b/source3/utils/testparm.c
@@ -38,6 +38,7 @@
/* these live in util.c */
extern FILE *dbf;
extern int DEBUGLEVEL;
+extern pstring myhostname;
int main(int argc, char *argv[])
{
@@ -60,6 +61,12 @@ extern int DEBUGLEVEL;
printf("Load smb config files from %s\n",configfile);
+ if(!get_myname(myhostname,NULL))
+ {
+ printf("Failed to get my hostname.\n");
+ return(1);
+ }
+
if (!lp_load(configfile,False))
{
printf("Error loading services.\n");
diff --git a/source3/wsmbstatus.c b/source3/wsmbstatus.c
index fd57662062..60c35357b2 100644
--- a/source3/wsmbstatus.c
+++ b/source3/wsmbstatus.c
@@ -43,6 +43,12 @@ static void show_connections(void)
FILE *f;
struct connect_record crec;
+ if(!get_myname(myhostname,NULL))
+ {
+ printf("Failed to get my hostname.\n");
+ return;
+ }
+
if (!lp_load(servicesf,False)) {
printf("Can't load %s - run testparm to debug it\n", servicesf);
return;