rpms/netdump-server/EL-5 netdump-clientport.patch, NONE, 1.1 netdump-server.spec, 1.8, 1.9

Neil Horman (nhorman) fedora-extras-commits at redhat.com
Fri Jul 11 19:36:18 UTC 2008


Author: nhorman

Update of /cvs/extras/rpms/netdump-server/EL-5
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30594

Modified Files:
	netdump-server.spec 
Added Files:
	netdump-clientport.patch 
Log Message:
Resolves: bz 454703

netdump-clientport.patch:

--- NEW FILE netdump-clientport.patch ---
diff -up netdump-0.7.16/server.c.orig netdump-0.7.16/server.c
--- netdump-0.7.16/server.c.orig	2008-07-11 15:07:58.000000000 -0400
+++ netdump-0.7.16/server.c	2008-07-11 15:18:17.000000000 -0400
@@ -224,7 +224,7 @@ load_magic (guint32 ip, guchar magic[MAG
 
 
 static void
-handle_new_client (guint32 ip, guchar *magic, reply_t *reply, char *msg)
+handle_new_client (guint32 ip, guint16 port, guchar *magic, reply_t *reply, char *msg)
 {
   NetdumpClient *client;
   const char *dir;
@@ -253,7 +253,7 @@ handle_new_client (guint32 ip, guchar *m
 	  just_reboot = TRUE;
 	}
 
-      client = netdump_client_new (ip, dir, (char *)magic, just_reboot, reply, msg);
+      client = netdump_client_new (ip, port, dir, (char *)magic, just_reboot, reply, msg);
       g_hash_table_insert (clients, client, client);
     }
 }
@@ -309,6 +309,7 @@ master_socket_packet (GIOChannel  *chann
   int len;
   struct sockaddr_in addr;
   int addr_len = sizeof(addr);
+  guint16 port;
   
   int fd = g_io_channel_unix_get_fd (channel);
 
@@ -321,6 +322,7 @@ master_socket_packet (GIOChannel  *chann
     }
   
   key.ip = ntohl (addr.sin_addr.s_addr);
+  port = ntohs (addr.sin_port);
 #if 0
   g_print ("got packet from %d.%d.%d.%d\n",
 	   (key.ip >> 24) & 0xff,
@@ -363,7 +365,7 @@ master_socket_packet (GIOChannel  *chann
 
       if (ntohl (reply.code) == REPLY_START_NETDUMP)
 	{
-	  handle_new_client (key.ip, magic, &reply, (char *)&buf[HEADER_LEN]);
+	  handle_new_client (key.ip, port, magic, &reply, (char *)&buf[HEADER_LEN]);
 	}
       else if (ntohl (reply.code) == REPLY_LOG)
 	{
diff -up netdump-0.7.16/netdumpclient.c.orig netdump-0.7.16/netdumpclient.c
--- netdump-0.7.16/netdumpclient.c.orig	2008-07-11 15:07:58.000000000 -0400
+++ netdump-0.7.16/netdumpclient.c	2008-07-11 15:18:17.000000000 -0400
@@ -132,6 +132,7 @@ clear_do_print(void)
 
 typedef struct {
   guint32 ip;
+  guint16 port;
   int count;
   unsigned char magic_value[MAGIC_SIZE];
 } RebootRequest;
@@ -155,7 +156,7 @@ netdump_client_send_reboot (gpointer dat
   
   memset (&addr, 0, sizeof (addr));
   addr.sin_family = AF_INET;
-  addr.sin_port = htons(NETDUMP_PORT);
+  addr.sin_port = htons(reboot->port);
   addr.sin_addr.s_addr = htonl(reboot->ip);
   
   memset (&req, 0, sizeof(req));
@@ -197,6 +198,7 @@ netdump_client_reboot (NetdumpClient *cl
   reboot = g_new0 (RebootRequest, 1);
   
   reboot->ip = client->ip;
+  reboot->port = client->port;
   memcpy (reboot->magic_value, client->magic_value, MAGIC_SIZE);
   reboot->count = 0;
       
@@ -375,7 +377,7 @@ netdump_client_send_request (NetdumpClie
   
   memset (&addr, 0, sizeof (addr));
   addr.sin_family = AF_INET;
-  addr.sin_port = htons(NETDUMP_PORT);
+  addr.sin_port = htons(client->port);
   addr.sin_addr.s_addr = htonl(client->ip);
   
   memset (&req, 0, sizeof(req));
@@ -412,6 +414,7 @@ netdump_client_send_request (NetdumpClie
 
 NetdumpClient *
 netdump_client_new (guint32     ip,
+		    guint16	port,
 		    const char *dir,
 		    const char  magic[MAGIC_SIZE],
 		    gboolean    just_reboot,
@@ -426,15 +429,17 @@ netdump_client_new (guint32     ip,
   client = g_new0 (NetdumpClient, 1);
 
 #ifdef DEBUG
-  g_print (" netdump_client_new() ip: %d.%d.%d.%d -> %p\n",
+  g_print (" netdump_client_new() ip: %d.%d.%d.%d:%d -> %p\n",
 	   (ip >> 24) & 0xff,
 	   (ip >> 16) & 0xff,
 	   (ip >> 8) & 0xff,
 	   (ip) & 0xff,
+	   port,
 	   client);
 #endif
 
   client->ip = ip;
+  client->port = port;
   sprintf((char *)client->ip_addr, "%d.%d.%d.%d",
 	(ip >> 24) & 0xff,
         (ip >> 16) & 0xff,
diff -up netdump-0.7.16/netdumpclient.h.orig netdump-0.7.16/netdumpclient.h
--- netdump-0.7.16/netdumpclient.h.orig	2007-12-12 11:19:53.000000000 -0500
+++ netdump-0.7.16/netdumpclient.h	2008-07-11 15:18:17.000000000 -0400
@@ -46,6 +46,7 @@ typedef struct {
 
 struct _NetdumpClient {
   guint32 ip;
+  guint16 port;
   gboolean just_reboot;
   
   guint32 outstanding_request;
@@ -106,6 +107,7 @@ struct _NetdumpClient {
 
 
 NetdumpClient *netdump_client_new     (guint32        ip,
+				       guint16        port,
 				       const char    *dir,
 				       const char     magic[MAGIC_SIZE],
 				       gboolean       just_reboot,


Index: netdump-server.spec
===================================================================
RCS file: /cvs/extras/rpms/netdump-server/EL-5/netdump-server.spec,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- netdump-server.spec	14 Dec 2007 14:31:59 -0000	1.8
+++ netdump-server.spec	11 Jul 2008 19:35:34 -0000	1.9
@@ -1,7 +1,7 @@
 Summary: Server for network kernel message logging and crash dumps
 Name: netdump-server
 Version: 0.7.16
-Release: 20%{dist}
+Release: 21%{dist}
 # This is a Red Hat maintained package which is specific to
 # our distribution.  Thus the source is only available from
 # within this srpm.
@@ -24,6 +24,7 @@
 Patch6: netdump-makefile-servonly.patch
 Patch7: netdump-server-Makefile.patch
 Patch8: netdump-server-init.patch
+Patch9: netdump-clientport.patch
 
 Group: System Environment/Daemons
 
@@ -43,6 +44,7 @@
 %patch6 -p1
 %patch7 -p1
 %patch8 -p1
+%patch9 -p1
 
 %build
 export CFLAGS="%{optflags} `pkg-config glib --cflags`"; make %{?smp_mflags}
@@ -95,6 +97,9 @@
 %doc COPYING
 
 %changelog
+* Fri Jul 11 2008 Neil Horman <nhorman at redhat.com> - 0.7.16-21
+- respond to client ports other than 6666 (bz 454703)
+ 
 * Wed Dec 12 2007 Neil Horman <nhorman at redhat.com> - 0.7.16-20
 - Fixing licensing issues to be unambiguously GPLv2
 




More information about the scm-commits mailing list