]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - include/nc_access.h
ncurses 6.4 - patch 20230429
[ncurses.git] / include / nc_access.h
index 1d86dfa17bdd6e54a537cf429d6698e8d1b099f3..acdf2e0acec93d226ed31c82a6ed7bb6bc8be992 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright 2021 Thomas E. Dickey                                          *
+ * Copyright 2021,2023 Thomas E. Dickey                                     *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 
-/* $Id: nc_access.h,v 1.1 2021/06/26 21:38:47 tom Exp $ */
+/* $Id: nc_access.h,v 1.5 2023/04/28 20:04:43 tom Exp $ */
 
 #ifndef NC_ACCESS_included
 #define NC_ACCESS_included 1
 
 #include <ncurses_cfg.h>
 #include <curses.h>
+#include <sys/types.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /*
- * Turn off this symbol to limit access to environment variables when root.
+ * Turn off the 'use_terminfo_vars()' symbol to limit access to environment
+ * variables when running with privileges.
  */
-#ifdef USE_ROOT_ENVIRON
-
+#if defined(USE_ROOT_ENVIRON) && defined(USE_SETUID_ENVIRON)
 #define use_terminfo_vars() 1
-
 #else
-
 #define use_terminfo_vars() _nc_env_access()
-extern NCURSES_EXPORT(int) _nc_env_access (void);
-
 #endif
 
+extern NCURSES_EXPORT(int) _nc_env_access (void);
+
 /*
  * Turn off this symbol to limit access to files when running setuid.
  */
 #ifdef USE_ROOT_ACCESS
 
-#define safe_fopen(name,mode) fopen(name,mode)
+#define safe_fopen(name,mode)       fopen(name,mode)
+#define safe_open2(name,flags)      open(name,flags)
 #define safe_open3(name,flags,mode) open(name,flags,mode)
 
 #else
 
-#define safe_fopen(name,mode) fopen(name,mode)
-#define safe_open3(name,flags,mode) open(name,flags,mode)
-extern NCURSES_EXPORT(FILE *) _nc_safe_fopen (const char *, const char *);
-extern NCURSES_EXPORT(int) _nc_safe_open3 (const char *, int, mode_t);
+#define safe_fopen(name,mode)       _nc_safe_fopen(name,mode)
+#define safe_open2(name,flags)      _nc_safe_open2(name,flags,0)
+#define safe_open3(name,flags,mode) _nc_safe_open3(name,flags,mode)
+extern NCURSES_EXPORT(FILE *)       _nc_safe_fopen (const char *, const char *);
+extern NCURSES_EXPORT(int)          _nc_safe_open3 (const char *, int, mode_t);
 
 #endif