Re: [Haifux] lecture topic suggestion - strace and the anatomy of a C application

2002-07-28 Thread Muli Ben-Yehuda

On Mon, Jul 29, 2002 at 01:02:47AM +0300, guy keren wrote:
 
 looking hard for a new topic for a lecture, i came to think about
 strace.
 
 a lecrture about it will cover the anatomy of a C application on linux, as
 seen via strace, and the use of strace for debugging purposes and problem
 solving, for programmers and sys admins alike.
 
 in fact, i already demonstrated strace once in a lecture (long ago) - this
 one (if it takes place) will go deeper into strace's magic ;)
 
 if i get 2-3 'yei' sayers, i'll prepare it to follow the current last
 lecture (auto-tools? or the 3 years celebration? or what ever is now the
 current last)

Sure, sounds like fun. You can also showcase strace's younger sibling,
sctrace ;)
-- 
http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01242/pgp0.pgp
Description: PGP signature


Re: [Haifux] Never say Yuck about yacc

2002-07-15 Thread Muli Ben-Yehuda

On Mon, Jul 15, 2002 at 05:10:55PM +0200, Eli Billauer wrote:
 Hello all,
 
 After playing around a bit with the Perl-byacc thing, there are a few
 notes that might come handy to whoever wants to do something useful with
 it. (Am I still the only one who does homework between lectures?)

Oh, I do lots of homewor, just not necessarily related to any past or
present lecture's material ;)

If you want to dive deeper into compiler theory, I've got a copy of
the dragon book here you're welcome to borrow. 
-- 
http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01236/pgp0.pgp
Description: PGP signature


[Haifux] ANN: syscalltrack v0.72 bald hare released

2002-06-22 Thread Muli Ben-Yehuda

From: Muli Ben-Yehuda [EMAIL PROTECTED]
To: sct-hackers
Cc: 
Bcc: 
Subject: [Haifux] ANN: syscalltrack v0.72 bald hare released
Reply-To: 

syscalltrack-0.72, the 8th _alpha_ release of the Linux kernel system
call tracker, is now available. syscalltrack supports versions 2.4.x
of the Linux kernel on the i386 and UML platforms. The current release
contains support for tracking many new system calls (including
fork(2), exit(1), read(3) and write(4)), and various bug fixes and
code cleanups. See details below.

* What is syscalltrack?

syscalltrack is made of a pair of Linux kernel modules and supporting
user space environment which allow interception, logging and possibly
taking action upon system calls that match user defined
criteria. (syscalltrack can be thought of as a hypher-sophisticated,
system wide strace).

* Where can I get it?

Information on syscalltrack is available on the project's homepage:
http://syscalltrack.sourceforge.net, and in the project's file
release.

You can download the source directly from:
http://west.dl.sourceforge.net/sourceforge/syscalltrack/syscalltrack-0.72.tar.gz
or any of the other sourceforge mirrors. 

* Call for developers:

The syscalltrack project is looking for developers, both for kernel
space and user space. If you want to join in on the fun, get in touch
with us on the syscalltrack-hackers mailing list
(http://lists.sourceforge.net/lists/listinfo/syscalltrack-hackers).

* License and NO Warrany

syscalltrack is Free Software, licensed under the GNU General Public
License (GPL) version 2. The 'sct_ctrl_lib' library is licensed under
the GNU Lesser General Public License (LGPL).

syscalltrack is in _alpha_ stages and comes with NO warranty.
If it breaks something, you get to keep all of the pieces.
You have been warned (TM).

Happy hacking and tracking!

===

Major new features for 0.72 (mostly a bug fix and new syscalls release)
---

* Many new system calls supported, including but not limited to
  exit(1), fork(2), read(3) and write(4). 

* Fixed bug when evaluating a buffer node and a bug with pattern
  matching on a buffer node. 

* Fixed bug when matching for a constant [filter_expression {1}] to
  return true, as it should, instead of false, as it did. 

* Fixed several in-kernel memory leaks and erronous kernel string 
  handling. 

===

Major new features for 0.71 (mostly a bug fix and cleanup release)
--

* add a 'get rule count' and 'get rules' API to to the
  sct_ctrl_lib. 'get rule count' will return the number of currently
  registered rules, 'get rules' will return to user space from the
  kernel a linked list of the before and after rules for each system
  call.  

* Support for constants when specifying matching rules, for example,
  O_RDONLY, O_EXCL and friends for open(2).

* Support for octal/hex numbers in filter expressions. 

* Support for specifying and printing multiplex syscall ids as
  syscall:func, for example 102:5 for accept(2). 

* Assorted internal cleanups, code refactoring, bug fixes and memory
  leaks plugged, too many to list here. Documentation and header file
  updates. See the ChangeLog for the gory details. 

===

Major new features for 0.7
--

* Support for dynamic-cast of 'struct' syscall parameters when filtering
  based on them, and for logging. See the relevant section in
  doc/sct_config_manual.html for how to use this feature. Mostly useful now
  for checking struct parameters in socket calls, so now its possible
  to check if a client prorgam tries to connect to a given port or IP address,
  etc.

* Support for 'fail syscall' actions - allows you to specify that a matching
  syscall invocation will prematurely return a given error code (or '0')
  before the system call is actually performed. Handle with care, as failing
  the wrong syscall invocations might render your system unuseable. Good
  usage example: TODO

* Support for convenience-macros in rule config files. Currently supported
  macros include:

- ipaddr(127.0.0.1) - translates an IP address to an unsigned long
 in network byte-order.
- htons(7) - host to network byte-order for 'short' numbers.
- usernametoid(root) - translates user name to UID.
- groupnametoid(wheel) - translates group name to GID.

* Experimental Device-driver control support - the syscalltrack kernel module
  can now be controlled via a device-file interface - specify -c device_file
  when running 'sct_config' to use it. The interface is currently
  functionaly-equivalent to the existing 'sysctl' interface - but it will be
  enhanced in the future to support logging via a device-file

Re: [Haifux] Summary for the Presentation [was Re: Perl Lex+Yacc Example.]

2002-06-21 Thread Muli Ben-Yehuda

On Fri, Jun 21, 2002 at 01:16:16PM +0300, Shlomi Fish wrote:
 
 You can find an on-going summary here:
 

http://vipe.technion.ac.il/~shlomif/lecture/Sys-Call-Track/Lex-Yacc/summary.txt

Just one really glaring typo: it's 'syscalltrack', not 'Sys Call
Track' or 'Sys-Call-Track' or any other variation. 

As for the upcoming syscalltrack ( this is how it's written)
developers meeting, here is the tentative agenda with very tentative
times. If anyone wants to talk about anything else or hear about any
other subject, let me know. 

- syscalltrack demonstration in the wild. (15 minutes, Muli)

- technical discussions (30 minutes each)

  - the old device file design and the new device file design, with
explanations of linux special device files. (Muli). 

  - shlomif's demonstration of lex  yacc (Shlomif)

- redesign of gen_syscalls.pl (30 minutes, everyone, brainstorming)

- the future of syscalltrack - features and requisites for a 1.0
  release. (15 minutes, Muli). 

- the far future. (15 minutes, Muli). 
-- 
http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01167/pgp0.pgp
Description: PGP signature


Re: [Haifux] Summary for the Presentation [was Re: Perl Lex+Yacc Example.]

2002-06-21 Thread Muli Ben-Yehuda

On Fri, Jun 21, 2002 at 03:29:04PM +0300, guy keren wrote:
 
 On Fri, 21 Jun 2002, Muli Ben-Yehuda wrote:
 
  As for the upcoming syscalltrack ( this is how it's written)
  developers meeting, here is the tentative agenda with very tentative
  times. If anyone wants to talk about anything else orhear about any
  other subject, let me know.
 
 all in all - you plan for a 135 minutes meeting - assuming a 5-10 minute
 break in the middle, that's around 2.5+ hours.
 
 so it'll be 18:30 - 21:10 or so?

I want it to be fluid, that's why I said it's a very tentative
schedule. I want the audience to dictate what's interesting to them
and what isn't, and the lectures to grow or shrink accordingly. But I
guess that 18:30 - 21:00 with short breaks in the middle ought to do. 

 btw, regarding gen_syscalls.pl - i could give a few minutes of
 explanations about how it works, and what i think we should do with it. i
 sugest we concentrate on how to design it, regardless of language, so
 we'll be focused, and not delve into language fights.

Fine with me. Just make sure to review its current implementation
first, Orna and Shlomi cleaned it up considerably since the last
release. 

  - syscalltrack demonstration in the wild. (15 minutes, Muli)
 
 10 minutes would be enough - it was already demonstrated a while back, in
 the syscalltrack lecture.

Fine. 

  - technical discussions (30 minutes each)
 
  - the old device file design and the new device file design, with
explanations of linux special device files. (Muli).
 
  - shlomif's demonstration of lex  yacc (Shlomif)
 
  - redesign of gen_syscalls.pl (30 minutes, everyone, brainstorming)
 
  - the future of syscalltrack - features and requisites for a 1.0
  release. (15 minutes, Muli).
 
  - the far future. (15 minutes, Muli).
 
 these 2 could take 15 minutes together - unless a discussion (read:
 argumentative fights) will develope ;)

Fine. 
-- 
http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01169/pgp0.pgp
Description: PGP signature


[Haifux] handing out CDs at MS events

2002-06-10 Thread Muli Ben-Yehuda

Salutations, clubbers. 

Occasionally, MS throws an event at the computer science
faculty. Whenever such an event occurs, I am filled with temptation to
expose people to a better way of living, and give them free of charge
linux cds. 

This time, I'm preparing in advance. There's an MS event at the 19th
of June, computer science faculty. It's introduction to .NET, or
some such. 

Does anyone know where we could duplicate a reasonable ammount of
linux cds, cheaply or at no cost? (100 cds should suffice, I would
think). I intend to hand them out and explain about linux to the
public, at least until MS security throws me out. Viva La Revolution!
-- 
Highday 19 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01113/pgp0.pgp
Description: PGP signature


Re: [Haifux] Re: Sys-Call-Track Developers Meeting

2002-06-09 Thread Muli Ben-Yehuda

On Sun, Jun 09, 2002 at 05:36:34PM +0300, Shlomi Fish wrote:
 On Wed, 5 Jun 2002, Shlomi Fish wrote:
 
 
  I'd like to hold an SCT hackerfest on Monday, June 17, partly so I'll have
  some extra time to finish the third installment of my Perl for Perl
  Newbies lectures. (a large part of it is already written but there's some
  still left, and I'd like to completely replace a part).
 
  Does anybody has an objection that we will do that instead of a lecture
  per-ce? (none of which is scheduled for that date)
 
 
 Unfortunately, I realized that I have a test in the course Internet -
 Architecture and Protocols at that day and time. I see too options: make
 the meeting without me or postpone it by a week. I will support both
 verdicts.

Postponing it by one week is fine with me. Who is planning to come,
though? 
-- 
Mersday 18 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01104/pgp0.pgp
Description: PGP signature


Re: [Haifux] Re: Sys-Call-Track Developers Meeting

2002-06-09 Thread Muli Ben-Yehuda

On Sun, Jun 09, 2002 at 09:23:17PM +0300, guy keren wrote:
 
 On Sun, 9 Jun 2002, Muli Ben-Yehuda wrote:
 
   Unfortunately, I realized that I have a test in the course Internet -
   Architecture and Protocols at that day and time. I see too options: make
   the meeting without me or postpone it by a week. I will support both
   verdicts.
 
  Postponing it by one week is fine with me. Who is planning to come,
  though?
 
 the question is - what exactly are we going to do in that meeting? 'a
 syscalltrack hack fest' is too vague. i dont' realy see what content we
 could pour into this title.

Stop being so negative, choo. 
I can give a short lecture, compromised of:
1. What is syscalltrack
2. How to use it
3. How to write code for it
4. What's next on the agenda (syscalltrack, past present and future)

shlomif has talked about giving a lex  yacc demonstration in perl. 

I'm sure you could give a short talk on struct type casting
implementation, or the sct_rules library implementation, or any other
subject you feel like talking about. 

People could suggest features, experiment with syscalltrack (I hereby
volunteer my poor laptop for said demonstration) and just in general
have fun. 

Monday, the 24th of June. See y'all there!
-- 
Mersday 18 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01107/pgp0.pgp
Description: PGP signature


[Haifux] syscalltrack logos

2002-06-09 Thread Muli Ben-Yehuda

I forgot to mention, check out the syscalltrack logos at
http://syscalltrack.sourceforge.net/logo.html, and vote for your
favorite logo!

[new logo added, sherlock2.jpg]

All logos were made by Lital Natan. Kudos!
-- 
Mersday 18 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01108/pgp0.pgp
Description: PGP signature


[Haifux] ANN: syscalltrack v0.71 boxing iguana released

2002-06-01 Thread Muli Ben-Yehuda

syscalltrack-0.71, the 7th _alpha_ release of the linux kernel system
call tracker, is available. syscalltrack supports both version 2.4.x
of the linux kernel. The current release contains some major
enhancements, and various bug fixes and code cleanups. See details
below.

* What is syscalltrack?

syscalltrack is a linux kernel module and supporting user space
environment which allow interception, logging and possibly taking
action upon system calls that match user defined criteria
(syscalltrack can be thought of as a sophisticated, system wide
strace).

* Where can I get it?

Information on syscalltrack is available on the project's homepage:
http://syscalltrack.sourceforge.net, and in the project's file
release.

You can download the source directly from:
http://prdownloads.sourceforge.net/syscalltrack/syscalltrack-0.71.tar.gz

* Call for developers:

The syscalltrack project is looking for developers, both for kernel
space and user space. If you want to join in on the fun, get in touch
with us on the syscalltrack-hackers mailing list
(http://lists.sourceforge.net/lists/listinfo/syscalltrack-hackers).

* License and NO Warrany

syscalltrack is Free Software, licensed under the GNU General Public
License (GPL) version 2. The 'sct_ctrl_lib' library is licensed under
the GNU Lesser General Public License (LGPL).

syscalltrack is in _alpha_ stages and comes with NO warranty.
If it breaks something, you get to keep all of the pieces.
You have been warned (TM).

Happy hacking and tracking!

===

Major new features for 0.71 (mostly a bug fix and cleanup release)
--

* add a 'get rule count' and 'get rules' API to to the
  sct_ctrl_lib. 'get rule count' will return the number of currently
  registered rules, 'get rules' will return to user space from the
  kernel a linked list of the before and after rules for each system
  call.  

* Support for constants when specifying matching rules, for example,
  O_RDONLY, O_EXCL and friends for open(2).

* Support for octal/hex numbers in filter expressions. 

* Support for specifying and printing multiplex syscall ids as
  syscall:func, for example 102:5 for accept(2). 

* Assorted internal cleanups, code refactoring, bug fixes and memory
  leaks plugged, too many to list here. Documentation and header file
  updates. See the ChangeLog for the gory details. 

===

Major new features for 0.7
--

* Support for dynamic-cast of 'struct' syscall parameters when filtering
  based on them, and for logging. See the relevant section in
  doc/sct_config_manual.html for how to use this feature. Mostly useful now
  for checking struct parameters in socket calls, so now its possible
  to check if a client prorgam tries to connect to a given port or IP address,
  etc.

* Support for 'fail syscall' actions - allows you to specify that a matching
  syscall invocation will prematurely return a given error code (or '0')
  before the system call is actually performed. Handle with care, as failing
  the wrong syscall invocations might render your system unuseable. Good
  usage example: TODO

* Support for convenience-macros in rule config files. Currently supported
  macros include:

- ipaddr(127.0.0.1) - translates an IP address to an unsigned long
 in network byte-order.
- htons(7) - host to network byte-order for 'short' numbers.
- usernametoid(root) - translates user name to UID.
- groupnametoid(wheel) - translates group name to GID.

* Experimental Device-driver control support - the syscalltrack kernel module
  can now be controlled via a device-file interface - specify -c device_file
  when running 'sct_config' to use it. The interface is currently
  functionaly-equivalent to the existing 'sysctl' interface - but it will be
  enhanced in the future to support logging via a device-file interface,
  getting rule list via the device-file interface, etc.

* Support for 'log_format' definition per rule, to override the global
  'log_format'.

* Initial correctness-testing script added. Currently only runs 2 tests -
  will become more functional on the next release.

* Support for new system calls - waitpid, close and creat.

major bug fixes for version 0.7:

* Fixes for white-space parsing in 'sct_config'.

* Fix small memory leak when deserializing 'log' actions

* Fix bug in the kernel module that would leave dangling function pointers
  in case a user cleared only the 'before' function pointer. This bug
  wasn't triggered, since sct_config always erased _all_ rules, causing this
  code path to remain yet unused.

-- 
Mersday 11 Forelithe 7466

http://vipe.technion.ac.il/~mulix/
http://syscalltrack.sf.net/



msg01094/pgp0.pgp
Description: PGP signature


Re: [Haifux] Error while compile progrem that use QT3

2002-04-13 Thread Muli Ben-Yehuda

On Sat, Apr 13, 2002 at 04:54:04PM +0300, barak wrote:
 whan i try to compile i get linking error:
 
 [barak@linux qt-learn]$ make
 g++  -o make-L/usr/lib/qt3/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
 /usr/bin/ld: cannot find -lqt
 collect2: ld returned 1 exit status
 make: *** [make] Error 1
 [barak@linux qt-learn]$

where is libqt located? if it's not in one of the -L'd directories
aboves, add this directory with -L.

 libqt.so (libc6) = /usr/lib/qt2/lib/libqt.so

This is a pretty good hint...
-- 
The ill-formed Orange
Fails to satisfy the eye:   http://vipe.technion.ac.il/~mulix/
Segmentation fault. http://syscalltrack.sf.net/

--
Haifa Linux Club Mailing List (http://linuxclub.il.eu.org)
To unsub send an empty message to [EMAIL PROTECTED]





[Haifux] Re: syscalltrack developers meeting

2002-04-09 Thread Muli Ben-Yehuda

On Tue, Apr 09, 2002 at 03:37:54AM +0300, Shlomi Fish wrote:
 On Mon, 8 Apr 2002, Muli Ben-Yehuda wrote:
 
  On Mon, Apr 08, 2002 at 01:30:18PM +0300, Shlomi Fish wrote:
 
   I'm not trying to sell them. I want to have a meeting where I can finally
   get some questions about SCT answered face to face, and we discuss it. I
   suggested that I teach Lex and Yacc, using Perl as a tool to teach them,
   to fill some of the time and do something useful with myself. And it's a
   demo not a lecture.
 
  If you put it that way - sounds great! Do you want to schedule it as
  part of the next meeting, or as a special meeting? either way, I'm
  game.
 
 I'd like it to be a dedicated meeting.

How many of you club members will find such a meeting interesting? Can
I get a show of hands? I'd like to know if we should schedule it as a
special meeting, or as one of our regular club meetings. Thanks. 

   I'm not going to fill a two hour lecture explaining a technical tool such
   as Lex and Yacc. O'Reilly can fill a book about those two, but I have more
   exciting things to do. I just see it as an absurd thing that the SCT
   configurator is still not written using Lex and Yacc and that those tools
   can make it so much simpler and easier to understand.
 
  If you build it, they will come
  If you send us a patch, we'll apply it in a jiffie.
 
 OK. But my incenitive for giving a demo is also to make sure people learn
 Lex and Yacc and how easy it is to use them. You don't really have to read
 the Dragon book in order to use them. I know I grokked them, with only
 having an intuitive conception of it.

I grok them as well, although not well enough to use them
proficiently, and I did read the dragon book (syscalltrack's filter
parser required it). The point is not that we dont know how to use lex
 yacc - the point is that we do not have the time to implement a
working tool, again. We'd rather spend time improving the stability of
the code (read: bug fixing) and adding new features. 
-- 
The ill-formed Orange
Fails to satisfy the eye:   http://vipe.technion.ac.il/~mulix/
Segmentation fault. http://syscalltrack.sf.net/

--
Haifa Linux Club Mailing List (http://linuxclub.il.eu.org)
To unsub send an empty message to [EMAIL PROTECTED]





Re: [Haifux] syscalltrack developers meeting

2002-04-08 Thread Muli Ben-Yehuda

On Mon, Apr 08, 2002 at 01:30:18PM +0300, Shlomi Fish wrote:

 I'm not trying to sell them. I want to have a meeting where I can finally
 get some questions about SCT answered face to face, and we discuss it. I
 suggested that I teach Lex and Yacc, using Perl as a tool to teach them,
 to fill some of the time and do something useful with myself. And it's a
 demo not a lecture.

If you put it that way - sounds great! Do you want to schedule it as
part of the next meeting, or as a special meeting? either way, I'm
game.

 I'm not going to fill a two hour lecture explaining a technical tool such
 as Lex and Yacc. O'Reilly can fill a book about those two, but I have more
 exciting things to do. I just see it as an absurd thing that the SCT
 configurator is still not written using Lex and Yacc and that those tools
 can make it so much simpler and easier to understand.

If you build it, they will come
If you send us a patch, we'll apply it in a jiffie. 
-- 
The ill-formed Orange
Fails to satisfy the eye:   http://vipe.technion.ac.il/~mulix/
Segmentation fault. http://syscalltrack.sf.net/

--
Haifa Linux Club Mailing List (http://linuxclub.il.eu.org)
To unsub send an empty message to [EMAIL PROTECTED]