diff --git a/program/src/rrd_tool.c b/program/src/rrd_tool.c
index ecd88f975b1e18a1a26be9059b995696ad740f6b..81c4bae95ff4687d0b509cdd5f68d90f27014584 100644 (file)
--- a/program/src/rrd_tool.c
+++ b/program/src/rrd_tool.c
/*****************************************************************************
- * RRDtool 1.2.11 Copyright by Tobi Oetiker, 1997-2005
+ * RRDtool 1.2.12 Copyright by Tobi Oetiker, 1997-2005
*****************************************************************************
* rrd_tool.c Startup wrapper
*****************************************************************************/
char help_main[] =
"RRDtool " PACKAGE_VERSION " Copyright 1997-2005 by Tobias Oetiker <tobi@oetiker.ch>\n"
-#if defined(_WIN32) && !defined(__CYGWIN__) && !defined(__CYGWIN32__)
" Compiled " __DATE__ " " __TIME__ "\n\n"
-#else
- " Compiled " MAKE_TIMESTAMP "\n\n"
-#endif
"Usage: rrdtool [options] command command_options\n\n";
char help_list[] =
{
char **myargv;
char aLine[MAX_LENGTH];
-#ifdef HAVE_CHROOT
char *firstdir="";
-#endif
#ifdef MUST_DISABLE_SIGFPE
signal(SIGFPE,SIG_IGN);
#endif
gettimeofday(&starttime,&tz);
#endif
RemoteMode=1;
-#ifdef HAVE_CHROOT
if ((argc == 3) && strcmp("",argv[2])){
- if (getuid()==0){
+
+ if (
+#ifdef HAVE_GETUID
+ getuid()
+#else
+ 1
+#endif
+ == 0 ){
+
+#ifdef HAVE_CHROOT
chroot(argv[2]);
if (errno!=0){
fprintf(stderr,"ERROR: can't change root to '%s' errno=%d\n",
}
ChangeRoot=1;
firstdir="/";
- }
- else{
+#else
+ fprintf(stderr,"ERROR: change root is not supported by your OS "
+ "or at least by this copy of rrdtool\n");
+ exit(1);
+#endif
+ } else {
firstdir=argv[2];
}
}
exit(errno);
}
}
-#else
- fprintf(stderr,"ERROR: change root is not supported by your OS "
- "or at least by this copy of rrdtool\n");
- exit(1);
-#endif
while (fgets(aLine, sizeof(aLine)-1, stdin)){
if ((argc = CountArgs(aLine)) == 0) {
#if ! defined(HAVE_CHROOT) || ! defined(HAVE_GETUID)
if (getuid()==0 && ! ChangeRoot){
printf("ERROR: chdir security problem - rrdtool is running as "
- "root an no chroot!\n");
+ "root but not chroot!\n");
return(1);
}
#endif
#if ! defined(HAVE_CHROOT) || ! defined(HAVE_GETUID)
if (getuid()==0 && ! ChangeRoot){
printf("ERROR: mkdir security problem - rrdtool is running as "
- "root an no chroot!\n");
+ "root but not chroot!\n");
return(1);
}
#endif
double ymin,ymax;
int i;
int tostdout = (strcmp(argv[2],"-") == 0);
+ int imginfo = 0;
+ for (i=2;i<argc;i++){
+ if (strcmp(argv[i],"--imginfo") == 0 || strcmp(argv[i],"-f") == 0){
+ imginfo = 1;
+ break;
+ }
+ }
if( rrd_graph(argc-1, &argv[1], &calcpr, &xsize, &ysize, NULL, &ymin, &ymax) != -1 ) {
- if (!tostdout)
+ if (!tostdout && !imginfo)
printf ("%dx%d\n",xsize,ysize);
if (calcpr) {
for(i=0;calcpr[i];i++){