summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/server.h
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2001-01-26 01:41:34 +0000
committerbrian <brian@FreeBSD.org>2001-01-26 01:41:34 +0000
commit63b65f9457011d370ef859a506f558b2731883d2 (patch)
tree694b69d9cd6e10dc4a8f60f6fc9ebc124e7875db /usr.sbin/ppp/server.h
parenta4be54702c06f4adfd819f74d6f5586d5362b361 (diff)
downloadFreeBSD-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.h24
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 *);
OpenPOWER on IntegriCloud