I have made a final release of nfs-utils 1.0.8
It can be downloaded from
http://sourceforge.net/project/showfiles.php?group_id=14
or
http://www.{countrycode}.kernel.org/pub/linux/utils/nfs/
It is over a year since the last release of nfs-utils and there are
quite a lot of changes in 1.0.7. Most of these are bug fixes and minor
functionality improvements. NFSv4 and GSS support has seen a lot
of work and should be more stable.
Possibly the most visible change is a rework of how makefiles are managed.
This release requires libnfsidmap, libevent, and a krb5 instalation to compile
properly. If these are not available, and you don't require nfsv4 or gss support
configure with "--disable-nfsv4 --disable-gss".
See README for more details.
Have a merry, and safe, Easter.
NeilBrown 12-April-2006
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
* Neil Brown <[email protected]>:
| I have made a final release of nfs-utils 1.0.8
I'm trying to compile it on Linux 2.4.32 using gcc 3.4.5, glibc 2.2.5
Probably my glibc is outdated, but works well. ;-)
rmtcall.c:40:21: ifaddrs.h: No such file or directory
rmtcall.c: In function `reset_my_name':
rmtcall.c:112: warning: implicit declaration of function `getifaddrs'
rmtcall.c:113: error: dereferencing pointer to incomplete type
rmtcall.c:114: error: dereferencing pointer to incomplete type
rmtcall.c:117: error: dereferencing pointer to incomplete type
rmtcall.c:118: error: dereferencing pointer to incomplete type
rmtcall.c:120: error: dereferencing pointer to incomplete type
rmtcall.c:123: error: dereferencing pointer to incomplete type
rmtcall.c:124: error: dereferencing pointer to incomplete type
make[3]: *** [rmtcall.o] Error 1
http://gzp.hu/tmp/nfs-utils-1.0.8/log.configure
http://gzp.hu/tmp/nfs-utils-1.0.8/log.make
http://gzp.hu/tmp/nfs-utils-1.0.8/config.log
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
On Friday April 14, [email protected] wrote:
> * Neil Brown <[email protected]>:
>
> | I have made a final release of nfs-utils 1.0.8
>
> I'm trying to compile it on Linux 2.4.32 using gcc 3.4.5, glibc 2.2.5
>
> Probably my glibc is outdated, but works well. ;-)
Probably it is. It doesn't work well enough for nfs-utils :-(
ifaddrs.h was added to glibc in July 2002, which I think was about
2.2.6.
I guess we should get 'configure' to check for ifaddrs, and exclude
the code that uses it if not available.
For now you can try backing out the following patch.
NeilBrown
Index: rmtcall.c
===================================================================
RCS file: /cvsroot/nfs/nfs-utils/utils/statd/rmtcall.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- rmtcall.c 28 Feb 2005 03:20:33 -0000 1.11
+++ rmtcall.c 6 Oct 2005 05:20:25 -0000 1.12
@@ -26,6 +26,7 @@
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
+#include <net/if.h>
#include <arpa/inet.h>
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
@@ -34,6 +35,7 @@
#include <netdb.h>
#include <string.h>
#include <unistd.h>
+#include <ifaddrs.h>
#include "sm_inter.h"
#include "statd.h"
#include "notlist.h"
@@ -90,7 +92,50 @@
out_success:
return sockfd;
}
-
+/*
+ * Using the NL_ADDR(lp), reset (if needed) the hostname
+ * that will be put in the SM_NOTIFY to the hostname
+ * that is associated with the network interface
+ * that was monitored
+ */
+static void
+reset_my_name(notify_list *lp)
+{
+ struct ifaddrs *ifa = NULL, *ifap;
+ struct in_addr netaddr, tmp;
+ struct sockaddr_in *sin, *nsin;
+ struct hostent *hp;
+
+ netaddr.s_addr = inet_netof(NL_ADDR(lp));
+ if (getifaddrs(&ifa) >= 0) {
+ for (ifap = ifa; ifap != NULL; ifap = ifap->ifa_next) {
+ if (!(ifap->ifa_flags & IFF_UP))
+ continue;
+
+ note(N_DEBUG, "ifa_name %s\n", ifap->ifa_name);
+ if (ifap->ifa_addr == NULL)
+ continue;
+ if (ifap->ifa_addr->sa_family != AF_INET)
+ continue;
+
+ sin = (struct sockaddr_in *)ifap->ifa_addr;
+ nsin = (struct sockaddr_in *)ifap->ifa_netmask;
+ tmp.s_addr = sin->sin_addr.s_addr & nsin->sin_addr.s_addr;
+ if (memcmp(&tmp.s_addr, &netaddr.s_addr, sizeof(netaddr.s_addr)))
+ continue;
+ hp = gethostbyaddr((char *)&sin->sin_addr,
+ sizeof(sin->sin_addr), AF_INET);
+ if (hp == NULL)
+ continue;
+ if (strcmp(NL_MY_NAME(lp), hp->h_name)) {
+ free(NL_MY_NAME(lp));
+ NL_MY_NAME(lp)= strdup(hp->h_name);
+ note(N_DEBUG, "NL_MY_NAME %s\n", NL_MY_NAME(lp));
+ }
+ }
+ }
+ return;
+}
/*
* Try to resolve host name for notify/callback request
*
@@ -300,6 +345,7 @@
{
struct sockaddr_in sin;
struct status new_status;
+ stat_chge new_stat;
xdrproc_t func;
void *objp;
u_int32_t proc, vers, prog;
@@ -326,9 +372,19 @@
/* Use source address for notify replies */
sin.sin_addr = lp->addr;
+ /*
+ * Unless a static hostname has been defined
+ * set the NL_MY_NAME(lp) hostname to the
+ * one associated with the network interface
+ */
+ if (!(run_mode & STATIC_HOSTNAME))
+ reset_my_name(lp);
func = (xdrproc_t) xdr_stat_chge;
- objp = &SM_stat_chge;
+ new_stat.state = MY_STATE;
+ new_stat.mon_name = NL_MY_NAME(lp);
+
+ objp = &new_stat;
break;
case NOTIFY_CALLBACK:
prog = NL_MY_PROG(lp);
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
* Neil Brown <[email protected]>:
| > Probably my glibc is outdated, but works well. ;-)
| Probably it is. It doesn't work well enough for nfs-utils :-(
| ifaddrs.h was added to glibc in July 2002, which I think was about
| 2.2.6.
Thought 2.2.5 was the latest from the 2.2 series. At least I can't see
2.2.6 on gnu.org. Anyway, I know its old and outdated for the current
tools, so I'm not complaining. ;-)
| I guess we should get 'configure' to check for ifaddrs, and exclude
| the code that uses it if not available.
| For now you can try backing out the following patch.
Compiles fine.
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs
On Tuesday April 18, [email protected] wrote:
> * Neil Brown <[email protected]>:
>
> | > Probably my glibc is outdated, but works well. ;-)
>
> | Probably it is. It doesn't work well enough for nfs-utils :-(
>
> | ifaddrs.h was added to glibc in July 2002, which I think was about
> | 2.2.6.
>
> Thought 2.2.5 was the latest from the 2.2 series. At least I can't see
> 2.2.6 on gnu.org. Anyway, I know its old and outdated for the current
> tools, so I'm not complaining. ;-)
Dunno... I looked through the changelog for glibc and there seemed to
be references to 2.2.6, but I don't know what they mean..
>
> | I guess we should get 'configure' to check for ifaddrs, and exclude
> | the code that uses it if not available.
>
> | For now you can try backing out the following patch.
>
> Compiles fine.
Cool. 1.0.9 will auto-detect the relevant include files and leave
that code out if it cannot be compiled.
NeilBrown
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs