Linux-Development-Sys Digest #356, Volume #6 Sun, 31 Jan 99 18:14:42 EST
Contents:
Re: glibc-crypt-2.0.112 somewhere ? (Andreas Jaeger)
Re: CFLAGS question, libc5, 2.0.36 (Ross Vandegrift)
Linux (2.0.35) TCP "hangs" (Chris J/#6)
How to get TTL field ? (chagai)
Re: Modest next goal for Linux ("Per Olsson")
Re: Why I'm dumping Linux, going back to Windblows (Leslie Mikesell)
HOWTO probe for SCSI card identity? (Dick Repasky)
Re: linux on an overclocked PII (Frank Hale)
Re: Linux Phase 2: A Consumer Operating System (steve mcadams)
Re: help!!! On reinstalling Red Hat (James Youngman)
Re: New free widget library: Notif-0.1 (Emile van Bergen)
Re: disheartened gnome developer (jerryn)
Re: ptrace changing system call (Richard Jones)
----------------------------------------------------------------------------
From: Andreas Jaeger <[EMAIL PROTECTED]>
Subject: Re: glibc-crypt-2.0.112 somewhere ?
Date: 31 Jan 1999 17:29:01 +0100
>>>>> Juergen Heinzl writes:
> Hello,
> well, glibc-2.0.112 is out 8) ... but no glibc-crypt-2.0.112 on the
> any mirror I know of 8-( so installing the test library is a bit
> complicated. 2.0.8 seems to be the latest anyway (at least on the
> alpha ftp site) and since I am outside of the US ...
You should really read Ulrich's announcements about the test releases:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The crypt add-on can be found at
http://www.ozemail.com.au/~geoffk/pgp/
The 2.0.111 version is fine.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andreas
--
Andreas Jaeger [EMAIL PROTECTED] [EMAIL PROTECTED]
for pgp-key finger [EMAIL PROTECTED]
------------------------------
From: Ross Vandegrift <[EMAIL PROTECTED]>
Subject: Re: CFLAGS question, libc5, 2.0.36
Date: Sun, 31 Jan 1999 11:56:22 -0500
Reply-To: [EMAIL PROTECTED]
> I noticed when compiling the kernel with Pentium Pro set, it used
> CFLAGS of -DCPU=686 and -m486 . Does -mpentium behave badly in
> the kernel, or is it just an old default?
You're not supposed to compile your kernel with any version of gcc
other than 2.7.2. Gcc 2.7.2.x doesn't support pentium timings. That is
not to say that gcc2.8.x or egcs will not work, but when you're making a
kernel, compiler problems have to be considered. Bug reports are much
easier to deal with when you know a certain compiler has been used.
However, I have heard that egcs 1.0 seems to be ok. No, I don't follow
the advice either. But if I was going to report a bug, I would.
On another note, using insane optimization levels in the kernel is a
bad idea as well. Not only can a compiler do really funky things when
optimizing, but it can introduce code that breaks something. Not to
mention highly optimized code is much larger than less optimized code
(I'd bet its an exponential/logarithmic relationship), and the last
thing we need is more people posting "KERNEL TOO BIG: NEED HELP NOW"
messages. Stick with the defaults. I tried using -mcpu=i586 -marchi586
and -O9 compiling the kernel once, and all I got was a horribly large
kernel and no performance difference.
> What CFLAGS ought I set for best PII performance when compiling
> other applications?
Well, it depends what you want. If you have CPU intensive code, I'd use
something like CFLAGS="-mcpu-i686 -march=i686 -O6 -fomit-frame-pointer"
If the code is disk intensive, that won't help as much. Remember,
you'll have to experiment: every application is different, and your
mileage *will* vary.
--
Ross Vandegrift | Eric J. Fenderson
A novice was trying to fix a broken Lisp machine by turning the power
off and on. Knight, seeing what the student was doing spoke sternly:
"You can not fix a machine by just power-cycling it with no
understanding of what is going wrong." Knight turned the machine off
and on. The machine worked.
------------------------------
From: [EMAIL PROTECTED] (Chris J/#6)
Crossposted-To: comp.os.linux.networking
Subject: Linux (2.0.35) TCP "hangs"
Date: 31 Jan 1999 16:29:02 -0000
Reply-To: [EMAIL PROTECTED]
Hiya,
I'm wondering in anyone can help me with a small problem I have on my
machine. I'm running Kernel 2.0.35 (okay, old, I know, but I had problems
with BIND 8 and 2.0.36...so...)
Every so often, my machine acts as if the TCP layer "hangs", and forgets
how to route, or something. The symptons are:
- telnet to any port on the machine results in telnet hanging
at the "Trying <blah blah blah>..."
- all connections appear in netstat in the SYN_SENT or SYN_RECV
state.
- no outgoing TCP connections can be made to any machine, including
localhost
- incoming TCP connections from an external host can still be made
- the IP layer is still working (ie, I can ping external hosts)
- host masquarading still works (it's at the IP layer)
- existing connection still work
No changes have been made to any of the network configuration files. This
problem occours intermittently, but when it happens it is always shortly
after a PPP connection has been initiated.
Any sugestions?
TIA,
Chris...
--
@}--- Chris Johnson ~~~~~~~~~~~~~~~~~~~~~~\~~~~~~~~ [EMAIL PROTECTED] \--{@
\ If not for me then do it for yourself \ www.nccnet.co.uk/~sixie/ \
\ If not for me then do it for the world \ pine.shu.ac.uk/~cjohnso0/ \
\ -- Stevie Nicks \ \
------------------------------
From: chagai <[EMAIL PROTECTED]>
Subject: How to get TTL field ?
Date: Sun, 31 Jan 1999 20:43:55 +0000
Hi,
I'm writting client application on Linux (Slackware 2.0.35) and I'm
wondering
how can I get the TTL field from the DDNS ? Is there any
'gethostbyname-like'
API that return the TTL value or is there any other way to get this
value ?
Thanks in Advance,
Chagai
------------------------------
From: "Per Olsson" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy
Subject: Re: Modest next goal for Linux
Date: Sun, 31 Jan 1999 20:31:11 +0100
[EMAIL PROTECTED] (Matthias Warkus) writes:
> Hold a mouse button down and see how Windows goes into a frenzy while
> you are holding it. What does it do, BTW - poll for the release event?
In what way does it go into a frenzy? I run Windows NT 4.0 Server (I'm
reading this group because I will give Linux a try as soon as I get a
suitable machine.) I hold a mouse button down and doesn't notice raised CPU
load, slower performance on running apps or such.
P200MMX 192Mb RAM PS/2 Mouse
/Per Olsson
------------------------------
From: [EMAIL PROTECTED] (Leslie Mikesell)
Crossposted-To: alt.os.linux,comp.os.linux.development.apps,comp.os.linux.setup
Subject: Re: Why I'm dumping Linux, going back to Windblows
Date: 31 Jan 1999 14:13:14 -0600
In article <79141o$[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> wrote:
>>>
>>>>Perhaps we would understand if you gave an example that is somehow
>>>>better than your description???
>
>>Urk.. That's not a man page, that's a full-blown 150 page book!
>
>Besides the point.
It's not beside the point. You need the 'theory and practice' of
cvs only once when you start to use it. Then the rest of your
life you need to know only about the suble differences as you
switch from one version to the next, from one repository server
to another, one client-server protocol to another, and so on.
Except for the first time, you don't want to deal with the
book version to locate the differences that will affect you.
Do an 'ls /usr/bin |wc -l' (mine says 1346) to get an idea
of how many 150 page books might be involved for the programs
on a typical unix systme. Now multiply by the number of versions
of unix a person might ever use.
It is odd that you picked cvs as your example because I just
happened to be reading that exact thing. A disk drive on
an old Sun box containing the repository for a group of Windows
developers had just failed and I moved it to a Linux box
with a newer cvs version and additional client protocols. In
this case I am reading through the full book version besides
the man page to make sure I understand it all. They both have
their place.
>If something is good, then make this good thing available.
>since man pages are the first thing people look at to use
>a command, then it is only logical to put this good
>thing where people will look first.
Here is your mistake. The man pages are needed as quick references
containing exactly the information needed to make something work.
The 'theory and practice' tomes and tutorials for beginners belong
elsewhere. Otherwise you have to deal with 150 x 1346 x (say) 6
pages of information to find how to fix something instead of
man program
/option
and reading the description. If that isn't what you want, the man
pages are the wrong place to look.
Les Mikesell
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Dick Repasky)
Subject: HOWTO probe for SCSI card identity?
Date: 31 Jan 1999 20:29:31 GMT
Reply-To: [EMAIL PROTECTED]
I'm writing an install script that probes for the presence and identity
of a scsi card in an ix86 system and then loads the appropriate module.
My first attempt (detailed below) failed. My questions are: is there
software to do this, and what should I read to figure out
how to do this? I've been through the standard HOWTO's and
/usr/src/linux/Documentation/scsi.txt without success.
The theory behind my first attempt was that I would insmod each module
and check /proc/scsi to see if an appropriate directory appeared there
and whether dmesg yielded pertinent information. This idea failed on
first attempt: I loaded the aha1542 module on a system with a
buslogic card but no buslogic capability in the kernel. aha1542
appeared in /proc/scsi, and the kernel recognized the buslogic card
and printed info. I'm presently working with kernel 2.0.36, and I
assume that the leap to 2.2.x is inevitable.
My latest brainstorm is to check out the new release of PCI tools
to see what it will do for me. But, I thought I'd start with a general
query.
Thanks,
Dick
--
Remove the underscore from my e-mail address to reply by mail.
------------------------------
From: Frank Hale <[EMAIL PROTECTED]>
Subject: Re: linux on an overclocked PII
Date: 31 Jan 1999 20:39:59 GMT
N1ho wrote:
>
> Even if the system were to run reliably at the increased speed (which, as
> Michael pointed out, is rather unlikely), turning off DMA (either voluntarily
> or involuntarily) is actually a HUGE performance penalty. Your disks would end
> up running in programmed I/O mode (i.e., one interrupt for each longword or
> so?), rather than doing a whole sector or string of sectors at a clip. So, your
> CPU would be spending a lot more cycles servicing the I/O than it was before
> and therefore the net ability to do useful work would decrease tremendously.
>
> Besides that, the fact that the DMA was turned off indicates that the system is
> getting errors - are you sure you want to be running your system in such a way
> as to risk data corruption?
>
Okay this message is generating too many responses. I switched to
machine back days ago. I know that it was causing errors so I abruptly
stopped it. Actually I had it switched like that for less than 15
minutes.
Everyone keeps saying switch it back like I commited some sin against
Intel or something for overclocking one of there damn processors.
I didn't think it would work perfectly anyway.
--
From: Frank Hale
Email: [EMAIL PROTECTED]
ICQ: 7205161
Website: http://www.franksstuff.com/
"I say line-ux you say lynn-ux,
whats the difference? Its still better than windows"
------------------------------
From: [EMAIL PROTECTED] (steve mcadams)
Crossposted-To: alt.os.linux,comp.os.linux.development.apps,comp.os.linux.setup
Subject: Re: Linux Phase 2: A Consumer Operating System
Date: Sun, 31 Jan 1999 17:51:15 GMT
[Snipped for brevity, quoted material marked with ">"]
On Wed, 20 Jan 1999 19:33:29 GMT, [EMAIL PROTECTED] (Murray
Spork) wrote:
>>This neglects the consideration of Linux being an interesting platform
>>for people who want to learn about OSes to "play with."
>
>Yes but he is talking about a "fork" in the Linux OS -- a new OS for
>"consumers" based on the Linux OS?
I certainly hope he's not talking about a fork, because one would be
totally unnecessary.
>Will these same people really want to involve themselves in the
>massive effort needed to develop a "consumer oriented" system -- a
>system that they may never want to use?
No, but they don't need to. There are other developers around that
actually find the problems inherent in a "consumer oriented" system to
be quite interesting.
>I would agree we are talking about orders of magnitude increase in
>development costs.
I strongly disagree. UI code is no more difficult than kernel code,
developers are not getting paid for this, talk of development costs is
silly. Maybe I'm misreading you. -steve
========================================================
so what? - http://www.codetools.com/showcase
------------------------------
From: James Youngman <[EMAIL PROTECTED]>
Subject: Re: help!!! On reinstalling Red Hat
Date: 30 Jan 1999 17:50:14 +0000
"Scott MacDonald" <[EMAIL PROTECTED]> writes:
> Hi, I have a linux box someone gave me with red hat 5.1. He says he
> doesn't remember the password(yeah right,) so I need to reinstall
No you don't. Just boot in single-user mode ("linux single" at the
boot: prompt) and change the root password with "passwd root").
> cd). Well, can someone tell me the best way to reformat the hardrive
> and reinstall linux clean? I have the cd, but no boot floppy
You don't need to do it.
--
ACTUALLY reachable as @free-lunch.demon.(whitehouse)co.uk:james+usenet
------------------------------
From: Emile van Bergen <[EMAIL PROTECTED]>
Crossposted-To:
comp.windows.x,comp.os.linux.advocacy,comp.os.linux.development.apps,comp.os.linux.x
Subject: Re: New free widget library: Notif-0.1
Date: Sun, 31 Jan 1999 23:08:57 +0100
Joseph H Allen wrote:
>
> I have been working on a new freeware widget library for X/Linux.
> If you are unsatisfied with Qt, Lesstif, Tk and GTK, try Notif!
>
[SNIP]
>
> Hello world for notif looks like this:
>
> #include <stdio.h>
> #include "../notif/notif.h"
>
> int quit(stat,b) /* Quit callback function */
> Button *b;
> {
> if(!stat)
> exit(0);
> return stat;
> }
>
> main()
> {
> Button *mainw;
> izws(); /* Initialize notif */
>
> mainw=mk(Button); /* Create a button */
> sttext(mainw,"Hello, world!"); /* Create a text widget and
> add it to the button */
> stfn(mainw,fn1(quit,mainw)); /* Set the callback */
>
> add(root,mainw); /* Add to root window */
>
> for(;;) ws(), serv(); /* Process events */
> }
Could you (or someone else), please explain to me, for once and for all,
WHY almost all GUI toolkits use this *#$%@ callback model with the main
loop in the user interface?? I have the following objections to such a
model:
1. Where to record state data? If you have two callback functions which
need the same data to decide their actions upon, you end up with a lot
of global variables.
2. It encourages interface-centric design; in that you need a fixed
framework for your application for the GUI to function. I'd go more for
something like calling answer=requestyesno("Title","Question",MYFLAGS);
for simple dialogs and for complex things something like:
ev_set eventlist;
EV_ZERO(eventlist);
EV_SET(eventlist,EV_BUTTON_PUSH+EV_MOUSE_MOVE);
for(;;) {
pendingevents=gui_select(eventlist,timeout);
event=gui_getevent();
if (event.event==EV_BUTTON_PUSH && event.object=mybutton)
{
dosomething();
}
}
etc.
This leaves the user of the toolkit in full control of things. He/she
can create some own callback scheme if he wishes, but anyway, the _user_
decides!
3. If you use OO to solve 1., it forces the developer to derive many of
his own objects from GUI objects, because of the (method)callbacks. And
then you have again, an interface-centric application design! Yuck.
4. What is the fundamental difference between a keyboard full of buttons
and a window full of buttons? No system that I know of has an
keyboard-interrupt handler with which you can register a function that
will be called if key 'A' is pressed, an another function if key 'B' is
pressed. (The most annoying thing would be if the key in question
wouldn't be passed as an argument, otherwise you could create just one
callback for all keys which simply puts the key in a FIFO queue). No,
this would be regarded brain dead, but its the standard in GUI's. WHY?
5. This kind of toolkit (like xforms, too), always makes my applications
occupy two PID's ;-). What I do is create a event-structure after all,
create a pipe, fork in two, with one process handling the GUI stuff,
sending events through the pipe to other process, the real application.
Etc. If X itself is built that way, why on earth would a toolkit defy
this sane (see keyboard-int handler argument) mechanism and use those
profoundly ugly callbacks?
If anyone would like to enlighten me on this, please, by all means!
--
M.vr.gr. / Best regards,
Emile van Bergen (e-mail address: [EMAIL PROTECTED])
This e-mail message is 100% electronically degradeable and produced
on a GNU/Linux system.
------------------------------
From: jerryn <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.advocacy,comp.os.linux.development.apps,comp.os.linux.x
Subject: Re: disheartened gnome developer
Date: Sun, 31 Jan 1999 16:35:35 -0500
Jerry Normandin Replies:
WOW.. Actually I guess the originator in this doesn't truly
understand why the Open Software movement exists or the
true Philosophy behind Linux.
Linux has been a great contribution to Mankind in general.
Now the effects of all our hard work are starting to pay off.
Open Software and freeing source code isn't socialism.
We are starting a revolution in thinking, a paradigm shift.
The days of shrinkwrapped code with lack of source code are
numbered. Also per seat licensing is on the way out.
>From writing and contributing code to Linux or Open Software
in General we learn how to write better code and better
ourselves as engineers. I don't know about the rest of
you but my yearly Salary has increased due to the knowledge
I picked up using this great operating system!
I still believe companies like Redhat are causing division
in the Linux Community, namely because they are earning
profits from the blood and sweat of all of us developers.
I'd like to see a unified Linux Software group where
Redhat, LinuxPPC, and all the other sources come up with
ONE standardized distribution now, and form these companies
as non-profit organizations. Redhat is helping forge ahead,
however the division they are causing is a problem.
Marcin Krol wrote:
>
> On 23 Jan 1999 07:46:45 GMT, [EMAIL PROTECTED] (Richard Kulisz)
> wrote:
>
> >In article <[EMAIL PROTECTED]>,
> >Michael Powe <[EMAIL PROTECTED]> wrote:
> >> Christopher> I would instead regard "free" as indicating that,
> >> Christopher> generally speaking, decision makers in the market are
> >> Christopher> "not coerced," and more particularly, have a maximum
> >> Christopher> of "degrees of freedom" (in the mathematical sense).
> >>
> >>Since coercion exists in all markets, by your definition, then, there
> >>is no such thing as a free market.
> >
> >As long as poverty exists, coercion is inevitable.
> >
> >>Since coercion exists, the only real question is from what direction
> >>and how it is used. History amply demonstrates that, when left
> >>unchecked, corporations use coercion to enforce monopolistic and
> >>socially destructive practices. 75% of American economic law favors
> >>business. It's worse than pathetic how people are always blaming "the
> >>gummint" for "getting in the way" of business; when in fact, "gummint"
> >>is always stumbling over its own feet in its hurry to get out of the
> >>way.
> >>
> >>Because markets are irrational and driven by greed, it's necessary and
> >>proper for governments to apply coercion in the market to palliate the
> >>destructive practices which are the norm for corporate behavior.
>
> >The destruction is inherent to the market.
>
> Really? When customer and farmer argue about price and
> finally settle it down, where is destruction in that?
>
> >Greed is nothing more than
> >sucking as much as possible from the economy,
>
> Greed is human characteristics, not political characteristics, stupid.
>
> >thereby weakening it.
> >Competition is nothing more than destroying the economy. To use greed
> >or competition as an organizing principle in the economy is as insane
> >as using "violence is good" would be as an organizing principle in the
> >justice system. Capitalism is fundamentally irrational and insane. And
> >if government is to prevent destruction then it must necessarily
> >suppress capitalism.
>
> >Even the corporations, billionaires, and politicians all understand that
> >capitalism is destructive; they ceased to believe in it after the Great
> >Depression.
>
> Actually, Great Depression was caused by government, or Federal
> Reserve ineptly replacing clearing system worked out by banks,
> which successfully defended against runs on banks on the beginning
> of 20th century for example.
>
> >Nowadays, any mention of "capitalism" is mere rhetoric aimed
> >at getting dumb assholes to shut up and accept the status quo.
>
> >Socialism (credit unions + cooperatives) is not organized on competition
> >but on cooperation;
>
> Bullshit. Competition is characteristics of humans. Question is,
> whether political system manages to channel it into productive
> activities (like capitalism) or it tries to sweep it under the rug
> (like communism) which makes whole country go haywire.
>
> >and it works at least an order of magnitude more
> >efficiently than capitalism.
>
> Now you are selling pure bullshit. What evidence
> of this supposed "efficiency" you have?
>
> >There are laws in the USA to prevent coops
> >from forming (eg, there's a law that prevents an owner from selling out
> >to his workers; he must give preference to other businessmen) and banks
> >refuse to lend to cooperatives because their board members are all board
> >members of competing corporations. Despite this, coops have a FAR lower
> >failure rate than other corporations. The body of evidence for socialism
> >is staggering.
>
> Actually, the body of evidence against socialism is staggering. There
> were lots of various flavors of socialism, all of them failed.
>
> MK
>
> ---------------------------------------------------
> "Reality is something that does not disappear after
> you cease believing in it" - VALIS, Philip K. Dick
> ---------------------------------------------------
>
> Delete _removethis_ from address to email me
------------------------------
From: Richard Jones <[EMAIL PROTECTED]>
Subject: Re: ptrace changing system call
Date: Sun, 31 Jan 1999 22:21:29 +0000
[EMAIL PROTECTED] wrote:
: Hi,
: In linux the system call number is stored in ORIG_EAX
: which can be seen using ptrace(PEEK_USER,pid,4*ORIG_EAX,0)
: Also the other arguments can be viewed using PEEK_USER
: and modified using POKE_USER. However, if I try to change
: the system call number,using POKE_USER, it gives me EIO error i.e. request
: not valid. Does that mean that I cant change the system call
: number? or is there some other way of doing it?
What are you up to here? Are you trying to
replace one system call by another? Why?
Anyway, a while back I did some experiments
to see if it was possible, just using a standard
kernel (ie. ptrace and no kernel hacks) to prevent
applications from making certain system calls.
The idea was simple, in theory: watch the application
make system calls, ptrace the application, get a
signal, check the system call was ``OK'' (ie. check
arguments, etc. against some in-built rules), and
if not OK, kill the app with signal 9. I think you
can see how this could be useful when running un-
trusted code from the Internet. Unfortunately, my
experiments showed that by the time you get the
notification that the app has entered a system
call, the system call is *already under way*. eg.
If the app calls fork(2), then you get notified
later on - possibly after the fork has already gone
and created a second process.
I think you can see why with a standard kernel
at least, it wouldn't be much use to try and change
the system call number, even if the kernel allowed
it.
Now, you wanted to know if there is a way to
change system calls. Use the LD_PRELOAD
mechanism like the attached example.
This method doesn't work if the app is malicious
(which is why I couldn't use it to run my untrusted
apps in a sandbox - for that I'll need kernel hacks).
It's fairly easy for an application which knows
that it might be `attacked' in this way to call
the real system calls directly - either by inline
assembler or by dl-opening symbols from /lib/libc.so
You also can't use this technique on setuid
programs (luckily for security :-)
Rich.
$ cat changegetuid.c
/* Swap getuid and getgid. */
int
getuid ()
{
return __getgid ();
}
int
getgid ()
{
return __getuid ();
}
$ gcc -c changegetuid.c -o changegetuid.o
$ gcc -shared changegetuid.o -o changegetuid.so
$ id
uid=500(rich) gid=100(users) groups=500(rich),100(users)
$ LD_PRELOAD=/tmp/changegetuid.so id
uid=100(postgres) gid=500(rich) euid=500(rich) egid=100(users)
groups=500(rich),100(users)
--
- Richard Jones. Linux contractor London and SE areas. -
- Very boring homepage at: http://www.annexia.demon.co.uk/ -
- You are currently the 1,991,243,100th visitor to this signature. -
- Original message content Copyright (C) 1998 Richard Jones. -
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************