diff --git a/program/src/rrd_tool.c b/program/src/rrd_tool.c
index 3f26a701e0c0d20cf805546e2dd075a30e197784..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
*****************************************************************************/
#endif
RemoteMode=1;
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){
#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++){