/*
* The Remote User Info Distribution Protocol
*
- * (c) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
- *
- * This software may be freely distributed and used according to the terms
- * of the GNU General Public License. See file COPYING in any of the GNU packages.
+ * (c) 1997--2010 Martin Mares <mj@ucw.cz>
*/
+#include <inttypes.h>
+
+typedef uint32_t u32;
+
#define MAX_USERS 128
struct userinfo {
char name[10];
- char con[4];
+ char con[8];
char mesg_y;
char pad;
- __u32 login_time;
- __u32 idle_time;
+ u32 login_time;
+ u32 idle_time;
};
-struct rywho_pkt {
- __u32 local_time;
- __u32 server_time; /* Reserved for use by the server */
- __u32 num_users;
- __u32 uptime;
- __u32 avl[3];
+struct nwho_pkt {
+ u32 magic; /* Guard against ancient nwho versions */
+ u32 local_time;
+ u32 server_time; /* Reserved for use by the server */
+ u32 num_users;
+ u32 uptime;
+ u32 avl[3];
struct userinfo users[MAX_USERS];
};
-#define YWHO_SPOOL_DIR "/var/spool/nwho"
+#define NWHO_SPOOL_DIR "/var/state/nwho"
+#define NWHO_MAGIC 0x21913332
+#define NWHO_PORT 811
#define DEFAULT_SEND_TIME 30
#define DEFAULT_PRUNE_TIME 30
-#define DEFAULT_DEAD_TIME 120
+#define DEFAULT_DOWN_TIME 120
+#define DEFAULT_DEAD_TIME 4*86400