diff options
Diffstat (limited to 'nis/rpcsvc')
-rw-r--r-- | nis/rpcsvc/yp.h | 10 | ||||
-rw-r--r-- | nis/rpcsvc/yp.x | 16 | ||||
-rw-r--r-- | nis/rpcsvc/yp_prot.h | 14 |
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 { |