Demo Discussion
Forum Config Examples Contributions Vulnerabilities
  Discussion forum about ELOG, Page 157 of 807  Not logged in ELOG logo
ID Date Icondown Author Author Email Category OS ELOG Version Subject
  1695   Wed Feb 15 18:13:25 2006 Reply Stefan Rittstefan.ritt@psi.chQuestionLinux2.6.1Re: Accessing elog through two apache servers...
Thanks for the patch, I committed it to Subversion Revision #1657.
  1696   Wed Feb 15 18:25:15 2006 Reply Stefan Rittstefan.ritt@psi.chBug reportOther2.6.1Re: CONCERN: Cross-platform compiling at risk

Steve Jones wrote:
Question: Is the functionality really just to issue an arbitrary command-string to a "shell" and have the result stuffed back into an eLog variable? I'm not an expert but it would seem that such a feature would be universally available or could be used to construct a suitable routine.

If possible, could one use the
int system(const char *s);
function in conjunction with a filei/o function as the means for getting the results of a system call back into a var. Perhaps
char *tmpnam(char *s);
, running a command via
int system(const char *s);
, then opening that file for a read would accomplish what is being desired?


Indeed the results from the "shell" need to be stuffed back into an elog attribute, that's why you cannot use the system() function directly. The idea with the tmpnam() could however be a clever workaround. I have to see if this works under Windows. If so, it would be a much more portable alternative to forkpty().
  1697   Wed Feb 15 19:02:32 2006 Reply Steve Jonessteve.jones@freescale.comBug reportOther2.6.1Re: CONCERN: Cross-platform compiling at risk

Steve Jones wrote:

Stefan Ritt wrote:

Steve Jones wrote:
Question: Is the functionality really just to issue an arbitrary command-string to a "shell" and have the result stuffed back into an eLog variable? I'm not an expert but it would seem that such a feature would be universally available or could be used to construct a suitable routine.

If possible, could one use the
int system(const char *s);
function in conjunction with a filei/o function as the means for getting the results of a system call back into a var. Perhaps
char *tmpnam(char *s);
, running a command via
int system(const char *s);
, then opening that file for a read would accomplish what is being desired?


Indeed the results from the "shell" need to be stuffed back into an elog attribute, that's why you cannot use the system() function directly. The idea with the tmpnam() could however be a clever workaround. I have to see if this works under Windows. If so, it would be a much more portable alternative to forkpty().



Yes, these routines are from the standard C libraries. tmpname() returns a pointer to a filename guaranteed to be unique, then you can create that file. tmpfile() actually creates a temporary file and returns a pointer to the filestream, and auto cleans up upon stream termination. system() passes the command string to the shell/commandproc if available. You could wrap these into a single callable function that is called 'shell()' and accomplish your first gola plus achieve cross-platformness again ;->

My 2 cents - hope that is enough!
  1698   Fri Feb 17 13:31:00 2006 Reply Stefan Rittstefan.ritt@psi.chBug reportOther2.6.1Re: CONCERN: Cross-platform compiling at risk

Steve Jones wrote:
If possible, could one use the
int system(const char *s);
function in conjunction with a filei/o function as the means for getting the results of a system call back into a var. Perhaps
char *tmpnam(char *s);
, running a command via
int system(const char *s);
, then opening that file for a read would accomplish what is being desired?


I implemented exprimentally such a code. Instead of tmpnam() (which the compiler claims to be obsolete), I use a hard-wired file name /tmp/elog-shell for that purpose. I put it under /tmp so that the "elog" user (under which elog should normally run) is able to write to. Can you please check if that works fine now under Solaris?
  1702   Tue Feb 21 20:24:18 2006 Reply Stefan Rittstefan.ritt@psi.chQuestionAll2.6.1Re: svn revision number in the source

Steve Jones wrote:
There is a variable $Id$ in source that looks like it is supposed to reflect the svn revision number of the compiled code. How is this supposed to be set, manually just before compiling?


It gets set automatically on every commit to the Subversion repository.
  1703   Tue Feb 21 21:01:22 2006 Reply Steve Jonessteve.jones@freescale.comQuestionAll2.6.1Re: svn revision number in the source

Stefan Ritt wrote:

Steve Jones wrote:
There is a variable $Id$ in source that looks like it is supposed to reflect the svn revision number of the compiled code. How is this supposed to be set, manually just before compiling?


It gets set automatically on every commit to the Subversion repository.


So, when we go to the download section and download directly from there, that is not "committed" source? I ask because the revision id there is not set to anything that I can see.
  1704   Tue Feb 21 21:17:13 2006 Reply Stefan Rittstefan.ritt@psi.chQuestionAll2.6.1Re: svn revision number in the source

Steve Jones wrote:
So, when we go to the download section and download directly from there, that is not "committed" source? I ask because the revision id there is not set to anything that I can see.


Can you be a bit more specific? What do you download? The Windows binaries, the Linux RPM? Or from the Subversion repository? The current version in the repository, which you can download here, contains in the file elogd.c following line 8:
   $Id: elogd.c 1660 2006-02-17 19:48:12Z ritt $

This tells you that this is revision 1660, committed on Feb. 17 by myself. So what is the problem?
  1706   Tue Feb 21 22:13:40 2006 Reply Steve Jonessteve.jones@freescale.comQuestionAll2.6.1Re: svn revision number in the source

Steve Jones wrote:

Stefan Ritt wrote:

Steve Jones wrote:
So, when we go to the download section and download directly from there, that is not "committed" source? I ask because the revision id there is not set to anything that I can see.


Can you be a bit more specific? What do you download? The Windows binaries, the Linux RPM? Or from the Subversion repository? The current version in the repository, which you can download here, contains in the file elogd.c following line 8:
   $Id: elogd.c 1660 2006-02-17 19:48:12Z ritt $

This tells you that this is revision 1660, committed on Feb. 17 by myself. So what is the problem?



Steve Jones wrote:
Ok, this is really strange but just an hour ago I clicked on the http://midas.psi.ch/elog/download.html link and I was taken to a completely different webview - in fact, I am quite sure that at the bottom right corner it said "WebCVS"! Now, it says WebSVN and the revision info is in there. I've been trying to debug a problem with default.css and the elcode icons - and somewhere in there I cleared my firefox cache. Perhaps an old page was cached????

I have no idea how I got to CVS, and it make sense that CVS was not setting the SVN revision code.
Sorry to bother you on this.
I just downloaded the tarball from SVN and the revision numbers are set correctly, as you said. I'm stumped as to how I got to CVS. I am running into issues that are related to the stylesheet properties, but that is for a different entry.

Thanks!
ELOG V3.1.5-3fb85fa6