Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 576 of 808  Not logged in ELOG logo
ID Date Icon Author Author Email Category OS ELOG Version Subject
  1930   Fri Sep 8 18:42:05 2006 Cool Chris Warnerchristopher_warner@dcd.uscourts.govQuestionLinux2.6Unsubscribe from logbooks
Is there a way for user to unsubscribe from a logbook? Can a user delete their own account?
  1929   Thu Sep 7 22:06:00 2006 Smile Arno Teunissea.teeling3@chello.nlQuestionWindows elog perl script and the command prompt and eof
hello

Just wrote a quick and dirty perl script ( See Attachment ) that let's you enter a record into the database. Put it into the directory where the config file is located. It look's at the "attributes = " and the "required attributes = "
within a section in the elog configuration file. The script is using elog.exe to accomplish this.

One problem with the script is that you must press Control_Z ( ^Z ) to store the data into the database.
Does anybody know how to prevent this ? It works also when redirecting the data into the script with a file input.txt. ( add2elog.pl confgi.cfg logbook < input.txt )

I Know this is NOT an elog question but maybe someone is happy with the script and has the answer for me.
Attachment 1: add2elog.pl
=pod

elog -h hostname [-p port] [-l logbook]
     [-w password]
     [-u username password]
     -a <attribute1>=<value1>
     -a <attribute2>=<value2>
     ...
     -f attachment1
     -f attachment2
     ...
     -m textfile | text



This little perlscript is intented to enter attributes into elog with elog.exe from 
the command line. 

The script checks the "attributes" and the "required attributes". When a required
attribute is needed the users sees a "*" after the attributes name.



=cut


if ( $#ARGV <1 ) {
	print "Usage : $0 Configfile.cfg logbookname\n"; 
  print "Assumed is that you run this in the directory below the logbooks\n";
  print "directory.\n"; 
  exit;

}


$LOGBOOK = $ARGV[1];

chomp $LOGBOOK;
print "Logbook : $LOGBOOK\n";


$INSTALLDIR='c:/program files/elog';

$LOGBOOK_DIR='c:/program files/elog/logbooks';
# $CFGFILE = 'c:/program files/elog/contacts.cfg' ; # can have multiple logbooks
$CFGFILE = $ARGV[0];
chomp $CFGFILE;
print "Config file : $CFGFILE<< \n";

open ( CFG, "< $CFGFILE") or die "could not find config file\n";

while ( <CFG> ) {
	# find the logbook section
		chomp;
	next if not /^[$LOGBOOK\]/;
	while (<CFG> ) {
		last if /^\s*[.*\]\s*$/ ; # Next section 
		if ( /^attributes\s*=\s*/i ) {
			chomp;
			s/\s*$//;
			s/^Attributes\s*=\s*//i;
			@attributes = split(/\s*,\s*/);
			#print "Found it\n";
			next;
		}elsif ( /^Required\s*Attributes\s*=\s*/i ) {
			 chomp;
			 s/\s*$//;	# remove the last white space if there is one
			 s/^Required Attributes\s*=\s*//i;
			 @RAttributes = split (/\s*,\s*/);
			 # last; # this assumes that "Required Attributes" comes after "Attributes"
    }
   }
 }
close CFG;

## Nothing usefull found , wrong config file ???
if ( scalar (@attributes) == 0 ){
	print "Nothing found\n";
	exit;
}

for ( @RAttributes ) {
		#print "==>$_<==\n";
		$RAttributes{$_} = $_ ;
}
# CHECK the RAttributes hash
#while (( $KEY, $VALUE ) = each %RAttributes ) {
#		print "Required Attribute : $VALUE\n";
#}




for ( @attributes ) { 
		print "$_ " ;
		$ATTR = $_;
	if ( exists( $RAttributes{$_} )) {
		print "* : ";
		$flag=1;
	} else {
		print ": ";
		$flag =0;
	}
	
	$HASH{$_} = <STDIN> ;
	
	chomp $HASH{$_};
	if ( $flag and $HASH{$_} eq ""  ) {
				while ( $HASH{$_} eq "" ) {
						print "This is a Required attribute\n";
						print "$ATTR * : " ;	
						$HASH{$_} = <STDIN> ;
						chomp $HASH{$_};		
		}	
	}
}


# send the info to the elog server
for ( @attributes ) { 
	print "\n -a $_=$HASH{$_}\n" ;
	if ( defined ( $HASH{$_} )) {
	
	$ATTRIBUTES .= " -a \"${_}=$HASH{$_}\"";
	#print "$ATTRIBUTES\n";
}
}

 print "\n$ATTRIBUTES\n";

print "\n";
system 	( "elog.exe -h localhost -p 80 -l $LOGBOOK $ATTRIBUTES" );
  1928   Thu Sep 7 17:17:17 2006 Reply Gerald Ebberinkg.h.p.ebberink@nclr.nlBug reportLinux2.6.2-1714Re: reply option in elog client not working

Gerald Ebberink wrote:
I have made patch witch solves the problem partialy.

If there are not no attachments this patch works.... (But since I have attachments I'll have to dig in deeper in the code.

Attached you will find the diff.

Now I am digging deeper, and I have a question:

In the function retrive_elog near line 427 a start is made with putting the attributes in an array.
As far as I can see there is no exception for the Attachment attribute. Where this attribute can be very large (e.g. many files attached) and overrun to the boundary variable (in the function submit_elog function). At least that is where I find end of my attachment string.

Could Mr. Ritt please shine some light on this, becouse I
  1927   Thu Sep 7 08:01:37 2006 Reply Gerald Ebberinkg.h.p.ebberink@nclr.nlBug reportLinux2.6.2-1706Re: reply option in elog client not working
I have made patch witch solves the problem partialy.

If there are not no attachments this patch works.... (But since I have attachments I'll have to dig in deeper in the code.

Attached you will find the diff.
Attachment 1: elog.c.diff
Index: src/elog.c
===================================================================
--- src/elog.c	(revision 1714)
+++ src/elog.c	(working copy)
@@ -351,8 +351,11 @@
    strcpy(request, "GET /");
    if (subdir[0])
       sprintf(request + strlen(request), "%s/%d?cmd=download", subdir, message_id);
-   if (experiment[0])
-      sprintf(request + strlen(request), "%s/%d?cmd=download", experiment, message_id);
+   if (experiment[0]) {
+      strcpy(str,experiment);
+      url_encode(str, sizeof(str));
+      sprintf(request + strlen(request), "%s/%d?cmd=download", str, message_id);
+	}
    strcat(request, " HTTP/1.0\r\n");
 
    sprintf(request + strlen(request), "User-Agent: ELOG\r\n");
  1926   Wed Sep 6 12:02:52 2006 Reply Gerald Ebberinkg.h.p.ebberink@nclr.nlBug reportLinux2.6.2-1706Re: reply option in elog client not working
Today I found, I have the same problem with editing the log (with the -e option)
  1925   Tue Sep 5 20:23:40 2006 Reply Steve Jonessteve.jones@freescale.comBug reportAll2.6.2-1714Re: Top Text and Bottom Text only show "text" --- no files

Steve Jones wrote:

Steve Jones wrote:
Just compiled 2.6.2-1714 and "Top text" and "Bottom text" interpret everything as "text" --- nothing is interpreted as a file to be included, unless there is a new syntax.


I dropped back to SVN1699 and same problem, then moved the file to the elog root directory and it works fine. Seems that the current version isn't finding the file, regardless of where I put it (root or in 'resources' directory). Perhaps another directory?


Stefan, I found the source of the problem. When you moved some files to "logbook_dir" you also told the code to look in "logbook_dir" for top and bottom text files:
void show_bottom_text(LOGBOOK * lbs)
{
   char str[NAME_LENGTH], slist[20][NAME_LENGTH], svalue[20][NAME_LENGTH];
   int i, size;

   if (getcfg(lbs->name, "bottom text", str, sizeof(str))) {
      FILE *f;
      char file_name[256], *buf;

      if (str[0]) {
         /* check if file starts with an absolute directory */
         if (str[0] == DIR_SEPARATOR || str[1] == ':')
            strcpy(file_name, str);
         else {
            strlcpy(file_name, logbook_dir, sizeof(file_name));
            strlcat(file_name, str, sizeof(file_name));
         }

The documentation indicates that the location dir should be "resource_dir".
  1924   Tue Sep 5 19:46:05 2006 Reply Steve Jonessteve.jones@freescale.comBug reportAll2.6.2-1714Re: Top Text and Bottom Text only show "text" --- no files

Steve Jones wrote:
Just compiled 2.6.2-1714 and "Top text" and "Bottom text" interpret everything as "text" --- nothing is interpreted as a file to be included, unless there is a new syntax.


I dropped back to SVN1699 and same problem, then moved the file to the elog root directory and it works fine. Seems that the current version isn't finding the file, regardless of where I put it (root or in 'resources' directory). Perhaps another directory?
  1923   Tue Sep 5 15:59:47 2006 Reply David Spindlerdsspindler@earthlink.netQuestionWindows2.6.2-1699Re: Email substitution quit working

David Spindler wrote:
I have recently upgraded from the 2.6.0-beta (I believe) to 2.6.2-1699. I just found out that on the day I upgraded, email substitution has stopped working. I have checked the discussion area and all the documentation and do not see any clues. The debug_log.txt file shows that the emails are being processed, but the fields are not being substituted correctly.

Thanks, in advance for any help,
David

I have not been able to find anything wrong in my config file, so I replaced 2.6.2 with 2.6.1 (apparently that was what I was running last, not the 2.6.0-beta) and my troubles have disappeared.

Anybody have any idea what has happened?
ELOG V3.1.5-3fb85fa6