* userv - common.h
* definitions shared between client and daemon
*
- * Copyright (C)1996-1997 Ian Jackson
+ * Copyright (C)1996-1997,1999 Ian Jackson
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
#ifndef PIPEFORMAT
# define PIPEFORMAT "%lx.%lx.%x"
# define PIPEPATTERN "[0-9a-f]*.[0-9a-f]*.*[0-9a-f]"
-# define PIPEFORMATEXTEND (sizeof(unsigned long)*2*2+sizeof(int)*2+3)
-# define PIPEMAXLEN (sizeof(PIPEFORMAT)+PIPEFORMATEXTEND)
+# define PIPEFORMATEXTEND ((int)(sizeof(unsigned long)*2*2+(int)sizeof(int)*2+3))
+# define PIPEMAXLEN ((int)(sizeof(PIPEFORMAT)+PIPEFORMATEXTEND))
#endif
#ifndef PIPEPATHFORMAT
# define PIPEPATHFORMAT VARDIR "/" PIPEFORMAT
-# define PIPEPATHMAXLEN (sizeof(PIPEPATHFORMAT)+PIPEFORMATEXTEND)
+# define PIPEPATHMAXLEN ((int)(sizeof(PIPEPATHFORMAT)+PIPEFORMATEXTEND))
#endif
#define MAX_ALLOW_FD 1024
struct opening_msg {
unsigned long magic;
unsigned char protocolchecksumversion[PCSUMSIZE];
- pid_t serverpid;
+ pid_t overlordpid, serverpid;
};
struct request_msg {
unsigned long magic;
- pid_t clientpid;
+ pid_t clientpid; /* or -1 if no service is required and this was a version check */
int serviceuserlen;
int servicelen;
- int lognamelen;
+ int loginnamelen, spoofed; /* spoofed is 0 or 1 */
int cwdlen, overridelen;
uid_t callinguid;
int ngids, nreadfds, nwritefds, nargs, nvars;
/* Followed by:
* serviceuserlen bytes for the service user (unterminated)
* servicelen bytes for the service (unterminated)
- * lognamelen bytes for the login name (unterminated)
+ * loginnamelen bytes for the login name (unterminated)
* cwdlen bytes for the cwd (unterminated)
* overridelen bytes for the override data (with extra \n but unterminated),
* or nothing if overridelen==-1