diff options
author | brian <brian@FreeBSD.org> | 2001-01-26 01:41:34 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2001-01-26 01:41:34 +0000 |
commit | 63b65f9457011d370ef859a506f558b2731883d2 (patch) | |
tree | 694b69d9cd6e10dc4a8f60f6fc9ebc124e7875db /usr.sbin/ppp/server.h | |
parent | a4be54702c06f4adfd819f74d6f5586d5362b361 (diff) | |
download | FreeBSD-src-63b65f9457011d370ef859a506f558b2731883d2.zip FreeBSD-src-63b65f9457011d370ef859a506f558b2731883d2.tar.gz |
Allow ``set server closed'' to close the diagnostic socket.
Allow ``set server open'' to re-open the diagnostic socket.
Handle SIGUSR1 by re-opening the diagnostic socket
When receiving SIGUSR2 (and in ``set server none''), don't forget the
socket details so that ``set server open'' and SIGUSR1 open it again.
Don't create the diagnostic socket as uid 0 ! It's far to dangerous.
Diffstat (limited to 'usr.sbin/ppp/server.h')
-rw-r--r-- | usr.sbin/ppp/server.h | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/usr.sbin/ppp/server.h b/usr.sbin/ppp/server.h index 509099d..805c438 100644 --- a/usr.sbin/ppp/server.h +++ b/usr.sbin/ppp/server.h @@ -31,12 +31,22 @@ struct bundle; struct server { struct fdescriptor desc; int fd; - char passwd[50]; - struct sockaddr_un ifsun; /* local socket */ - char *rm; /* Points to local socket path */ + struct { + char passwd[50]; - u_short port; /* tcp socket */ + char sockname[MAXPATHLEN]; /* Points to local socket path */ + mode_t mask; + + u_short port; /* tcp socket */ + } cfg; +}; + +enum server_stat { + SERVER_OK, /* Diagnostic socket available */ + SERVER_INVALID, /* Bad args, can't be set up */ + SERVER_FAILED, /* Failed - lack of resources */ + SERVER_UNSET /* Not already set up */ }; #define descriptor2server(d) \ @@ -44,6 +54,8 @@ struct server { extern struct server server; -extern int server_LocalOpen(struct bundle *, const char *, mode_t); -extern int server_TcpOpen(struct bundle *, int); +extern enum server_stat server_LocalOpen(struct bundle *, const char *, mode_t); +extern enum server_stat server_TcpOpen(struct bundle *, u_short); +extern enum server_stat server_Reopen(struct bundle *); extern int server_Close(struct bundle *); +extern int server_Clear(struct bundle *); |