summaryrefslogtreecommitdiff
path: root/nis/rpcsvc
diff options
context:
space:
mode:
Diffstat (limited to 'nis/rpcsvc')
-rw-r--r--nis/rpcsvc/yp.h10
-rw-r--r--nis/rpcsvc/yp.x16
-rw-r--r--nis/rpcsvc/yp_prot.h14
3 files changed, 38 insertions, 2 deletions
diff --git a/nis/rpcsvc/yp.h b/nis/rpcsvc/yp.h
index 0bee83b259..40914c5813 100644
--- a/nis/rpcsvc/yp.h
+++ b/nis/rpcsvc/yp.h
@@ -221,8 +221,18 @@ bool_t xdr_ypresp_val();
struct ypresp_key_val {
ypstat stat;
+#ifdef STUPID_SUN_BUG
+ /* This is the form as distributed by Sun. But even the Sun NIS
+ servers expect the values in the other order. So their
+ implementation somehow must change the order internally. We
+ don't want to follow this bad example since the user should be
+ able to use rpcgen on this file. */
keydat key;
valdat val;
+#else
+ valdat val;
+ keydat key;
+#endif
};
typedef struct ypresp_key_val ypresp_key_val;
#ifdef __cplusplus
diff --git a/nis/rpcsvc/yp.x b/nis/rpcsvc/yp.x
index 6be27820b3..b1b25658eb 100644
--- a/nis/rpcsvc/yp.x
+++ b/nis/rpcsvc/yp.x
@@ -114,8 +114,18 @@ struct ypresp_val {
struct ypresp_key_val {
ypstat stat;
+#ifdef STUPID_SUN_BUG
+ /* This is the form as distributed by Sun. But even the Sun NIS
+ servers expect the values in the other order. So their
+ implementation somehow must change the order internally. We
+ don't want to follow this bad example since the user should be
+ able to use rpcgen on this file. */
keydat key;
valdat val;
+#else
+ valdat val;
+ keydat key;
+#endif
};
@@ -267,6 +277,12 @@ program YPPUSH_XFRRESPPROG {
YPPUSHPROC_NULL(void) = 0;
#ifdef STUPID_SUN_BUG
+ /* This is the form as distributed by Sun. But even
+ the Sun NIS servers expect the values in the other
+ order. So their implementation somehow must change
+ the order internally. We don't want to follow this
+ bad example since the user should be able to use
+ rpcgen on this file. */
yppushresp_xfr
YPPUSHPROC_XFRRESP(void) = 1;
#else
diff --git a/nis/rpcsvc/yp_prot.h b/nis/rpcsvc/yp_prot.h
index bee84351bb..0c5a7101f7 100644
--- a/nis/rpcsvc/yp_prot.h
+++ b/nis/rpcsvc/yp_prot.h
@@ -154,8 +154,18 @@ struct ypresp_val {
struct ypresp_key_val {
ypstat status;
- keydat keydat;
- valdat valdat;
+#ifdef STUPID_SUN_BUG
+ /* This is the form as distributed by Sun. But even the Sun NIS
+ servers expect the values in the other order. So their
+ implementation somehow must change the order internally. We
+ don't want to follow this bad example since the user should be
+ able to use rpcgen on this file. */
+ keydat key;
+ valdat val;
+#else
+ valdat val;
+ keydat key;
+#endif
};
struct ypresp_master {