]> andersk Git - test.git/commitdiff
Another iteration of changes intended to deal with MacOS X specific build
authorMarkus Gutschke <markus@shellinabox.com>
Wed, 29 Sep 2010 16:46:51 +0000 (16:46 +0000)
committerMarkus Gutschke <markus@shellinabox.com>
Wed, 29 Sep 2010 16:46:51 +0000 (16:46 +0000)
problems. Unfortunately, without access to a MacOS X build environment, some
of these have to be mere educated guesses...

13 files changed:
Makefile.am
Makefile.in
config.h
configure
configure.ac
demo/vt100.js
shellinabox/launcher.c
shellinabox/privileges.c
shellinabox/privileges.h
shellinabox/service.c
shellinabox/shell_in_a_box.js
shellinabox/shellinaboxd.c
shellinabox/vt100.js

index c90a13b8af53f9f82737f0ba17dd8e966bfa5757..4982861a94fc920a79c88de28f796dcd67ead986 100644 (file)
@@ -261,40 +261,44 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .gif.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .png.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .html.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 
@@ -302,10 +306,11 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .jspp.js:
@@ -322,10 +327,11 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 
@@ -333,9 +339,10 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
index 875941c5928e52927ea380eb4a9d58ee74766464..62c99fa1cdfcf056121a9c71321b9fadd6c60b2a 100644 (file)
@@ -1234,50 +1234,55 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .gif.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .png.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .html.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .ico.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .jspp.js:
@@ -1294,20 +1299,22 @@ clean-local:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 .wav.h:
        @echo od "$<" '>'"$@"
        @mkdir -p "`dirname "$@"`"
        @{ sym="`echo "$<" | $(symbolname)`";                                 \
-          echo "static const char $${sym}Start[]=";                          \
-          od -vb "$<" | sed 's/[0-7]*/"/;s/ /\\/g;s/$$/"/';                  \
+          echo "static const char $${sym}Start[] =";                         \
+          od -vb "$<" | sed 's/[0-7]*/"/;s/ *$$/"/;/^""$$/d;s/  */\\/g';     \
           echo ';';                                                          \
-          echo "static const int $${sym}Size=(int)sizeof($${sym}Start);";    \
+          echo "static const int $${sym}Size ATTR_UNUSED ="                  \
+                  "(int)sizeof($${sym}Start);";                              \
         } >"$@"
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 1d7dbe510f20d7780abb23ab1ff226e4af207420..8441265103be1718211f329a292f039d22744cb0 100644 (file)
--- a/config.h
+++ b/config.h
 #define STDC_HEADERS 1
 
 /* Most recent revision number in the version control system */
-#define VCS_REVISION "231"
+#define VCS_REVISION "232"
 
 /* Version number of package */
 #define VERSION "2.10"
index 78d38d841478fe6fa1378c26ad6d5d8ffbed6aea..827be844d20a9c6eb3b849d37fbb5ac9c72d2eb9 100755 (executable)
--- a/configure
+++ b/configure
@@ -2328,7 +2328,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-VCS_REVISION=231
+VCS_REVISION=232
 
 
 cat >>confdefs.h <<_ACEOF
index b7e56b80889619f9950a15944ffe2afaf49bbea8..fb80da4d59ce685f5337f090c4708f7992a7148a 100644 (file)
@@ -2,7 +2,7 @@ AC_PREREQ(2.57)
 
 dnl This is the one location where the authoritative version number is stored
 AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
-VCS_REVISION=231
+VCS_REVISION=232
 AC_SUBST(VCS_REVISION)
 AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
                    [Most recent revision number in the version control system])
index 46ebcf04941329b5eedf4a60abecafb46bde33c8..16e7a8b310f1cd480f32e021b621469fdefaf4db 100644 (file)
@@ -2402,7 +2402,7 @@ VT100.prototype.toggleCursorBlinking = function() {
 };
 
 VT100.prototype.about = function() {
-  alert("VT100 Terminal Emulator " + "2.10 (revision 231)" +
+  alert("VT100 Terminal Emulator " + "2.10 (revision 232)" +
         "\nCopyright 2008-2010 by Markus Gutschke\n" +
         "For more information check http://shellinabox.com");
 };
index 2065e12b039339e8dd0fcb2c7b2b20ff85d3f65c..a60f419e4f2d3722e70d53f4c0105cd2f39bcf6f 100644 (file)
@@ -167,6 +167,17 @@ static int (*x_misc_conv)(int, const struct pam_message **,
 #define misc_conv             x_misc_conv
 #endif
 
+// MacOS X has a somewhat unusual definition of getgrouplist() which can
+// trigger a compile warning. Unfortunately, there is no good feature test
+// for this particular problem.
+#if defined(__APPLE__) && defined(__MACH__)
+static int x_getgrouplist(const char *user, gid_t group,
+                          gid_t *groups, int *ngroups) {
+  return getgrouplist(user, (int)group, (int *)groups, ngroups);
+}
+#define getgrouplist x_getgrouplist
+#endif
+
 static int   launcher = -1;
 static uid_t restricted;
 
index 87ccfe51750a1fddeb9cb2b105b5850b8f78cc83..4da1cbc5ba1334920e2f4a7656ef74e2ad2fb9cf 100644 (file)
@@ -274,7 +274,7 @@ uid_t getUserId(const char *name) {
   return uid;
 }
 
-uid_t parseUser(const char *arg, const char **name) {
+uid_t parseUserArg(const char *arg, const char **name) {
   char *end;
   errno           = 0;
   unsigned long l = strtoul(arg, &end, 10);
@@ -404,7 +404,7 @@ gid_t getGroupId(const char *name) {
   return gid;
 }
 
-gid_t parseGroup(const char *arg, const char **name) {
+gid_t parseGroupArg(const char *arg, const char **name) {
   char *end;
   errno           = 0;
   unsigned long l = strtoul(arg, &end, 10);
index 21711674343fd70f6b378c8322db0855b92cffac..0ba99d94f74122c750dca4b0c1a2a70a234866e9 100644 (file)
@@ -55,10 +55,10 @@ void lowerPrivileges(void);
 void dropPrivileges(void);
 const char *getUserName(uid_t uid);
 uid_t getUserId(const char *name);
-uid_t parseUser(const char *arg, const char **name);
+uid_t parseUserArg(const char *arg, const char **name);
 const char *getGroupName(gid_t gid);
 gid_t getGroupId(const char *name);
-gid_t parseGroup(const char *arg, const char **name);
+gid_t parseGroupArg(const char *arg, const char **name);
 
 #ifndef HAVE_GETRESUID
 int getresuid(uid_t *ruid, uid_t *euid, uid_t *suid);
index 7f83028d6a41901109637d16c2cbbb756e450891..db8c8a1db1200e89b6210d1c623b1343f8108213 100644 (file)
@@ -180,7 +180,8 @@ void initService(struct Service *service, const char *arg) {
       service->authUser                     = 0;
 
       // Numeric or symbolic user id
-      service->uid                          = parseUser(arg, &service->user);
+      service->uid                          = parseUserArg(arg,
+                                                           &service->user);
       *ptr                                  = ':';
       arg                                   = ptr + 1;
 
@@ -189,7 +190,8 @@ void initService(struct Service *service, const char *arg) {
         goto error;
       }
       *ptr                                  = '\000';
-      service->gid                          = parseGroup(arg, &service->group);
+      service->gid                          = parseGroupArg(arg,
+                                                            &service->group);
     }
     *ptr                                    = ':';
     arg                                     = ptr + 1;
index 0db22d2a60cdcf7492aaf4c3d864c6fdf9c1cf9e..f0bed3d98a98843b4d5d8371ca58f7235b9e66db 100644 (file)
@@ -358,7 +358,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
 };
 
 ShellInABox.prototype.about = function() {
-  alert("Shell In A Box version " + "2.10 (revision 231)" +
+  alert("Shell In A Box version " + "2.10 (revision 232)" +
         "\nCopyright 2008-2010 by Markus Gutschke\n" +
         "For more information check http://shellinabox.com" +
         (typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?
index d864b572256cd87797585600d8f5b21223d01f38..5be1ca64f117ed7f5cabb5d7a91e280fb7b0f192 100644 (file)
 #include "shellinabox/session.h"
 #include "shellinabox/usercss.h"
 
+#ifdef HAVE_UNUSED
+#defined ATTR_UNUSED __attribute__((unused))
+#defined UNUSED(x)   do { } while (0)
+#else
+#define ATTR_UNUSED
+#define UNUSED(x)    do { (void)(x); } while (0)
+#endif
+
 // Embedded resources
 #include "shellinabox/beep.h"
 #include "shellinabox/cgi_root.h"
 #include "shellinabox/styles.h"
 #include "shellinabox/vt100.h"
 
-#ifdef HAVE_UNUSED
-#defined ATTR_UNUSED __attribute__((unused))
-#defined UNUSED(x)   do { } while (0)
-#else
-#define ATTR_UNUSED
-#define UNUSED(x)    do { (void)(x); } while (0)
-#endif
-
 #define PORTNUM           4200
 #define MAX_RESPONSE      2048
 
@@ -1013,7 +1013,7 @@ static void parseArgs(int argc, char * const argv[]) {
       if (!optarg || !*optarg) {
         fatal("\"--group\" expects a group name.");
       }
-      runAsGroup           = parseGroup(optarg, NULL);
+      runAsGroup           = parseGroupArg(optarg, NULL);
     } else if (!idx--) {
       // Linkify
       if (!strcmp(optarg, "none")) {
@@ -1095,7 +1095,7 @@ static void parseArgs(int argc, char * const argv[]) {
       if (!optarg || !*optarg) {
         fatal("\"--user\" expects a user name.");
       }
-      runAsUser            = parseUser(optarg, NULL);
+      runAsUser            = parseUserArg(optarg, NULL);
     } else if (!idx--) {
       // User CSS
       if (!optarg || !*optarg) {
index 46ebcf04941329b5eedf4a60abecafb46bde33c8..16e7a8b310f1cd480f32e021b621469fdefaf4db 100644 (file)
@@ -2402,7 +2402,7 @@ VT100.prototype.toggleCursorBlinking = function() {
 };
 
 VT100.prototype.about = function() {
-  alert("VT100 Terminal Emulator " + "2.10 (revision 231)" +
+  alert("VT100 Terminal Emulator " + "2.10 (revision 232)" +
         "\nCopyright 2008-2010 by Markus Gutschke\n" +
         "For more information check http://shellinabox.com");
 };
This page took 0.380403 seconds and 5 git commands to generate.