Groups | Search | Server Info | Login | Register
Groups > comp.unix.shell > #1728
| From | Rainer Weikusat <rweikusat@mssgmbh.com> |
|---|---|
| Newsgroups | comp.unix.shell, comp.unix.programmer, comp.programming.contests |
| Subject | Re: The First Pure Shell Contest (PUSH): relativepath |
| Date | 2011-08-19 22:18 +0100 |
| Message-ID | <87d3g185ig.fsf@sapphire.mobileactivedefense.com> (permalink) |
| References | <9b7kg7F3njU1@mid.individual.net> <87pqk18byo.fsf@sapphire.mobileactivedefense.com> <9b7rgqFiseU2@mid.individual.net> |
Cross-posted to 3 groups.
Jens Schweikhardt <usenet@schweikhardt.net> writes:
> In comp.unix.programmer Rainer Weikusat <rweikusat@mssgmbh.com> wrote:
> # Jens Schweikhardt <schweikh@schweikhardt.net> writes:
> #
> #> The First Pure Shell Contest (PUSH)
> #>
> #> == Motivation ==
[...]
> # I spent some thoughts on this because I was interested in at least
> # having a general idea how a solution could look like. OTOH, the reason
> # why I work in miserably paid programming jobs is essentially because I
> # enjoy solving software problems a lot more than dicksizing contests.
>
> Well, this is a badly paid contest :-) No prize money. People are in it,
> I hope, just for the fun of it. I certainly am.
I've just spent about two hours of my time (not counting the several
days I need to even get to this point) with determining how to get an
xauth username out of the internal racoon data structures, provided an
xauth username was supposed to be provided and was actually
provided. The result of that looks like this (not compiled so far):
static char const *locate_xauth_user(struct ph1handle const *iph1)
{
#ifndef ENABLE_HYBRID
return NULL;
#else
char const *user, *xauth_user;
vchar_t const *login;
unsigned len;
xauth_user = NULL;
if (iph1->side == INITIATOR) {
if (iph1->rmconf && iph1->rmconf->xauth) {
login = xauth->login;
if (login) {
xauth_user = login->v;
len = login->l;
}
}
} else {
if (iph1->mode_cfg) {
xauth_user = iph1->mode_cfg->xauth.authdata.generic.usr;
if (xauth_user) len = strlen(xauth_user);
}
}
if (!(xauth_user && len)) return NULL;
/*
The reason for this is that the rmconf xauth user
is not 0-terminated for some idiotic reason.
*/
user = malloc(len + 1);
if (!user) return NULL;
memcpy(user, xauth_user, len);
user[len] = 0;
return user;
#endif
}
This was sort-of fun (to the degree that work can be fun) because it
was an intellectual challenge. But 'trying to run as fast as you can,
in the hope that none of the persons living on this planet who can run
faster is in the same contest' isn't. Somebody (probably, a lot of
somebodies) will be able to write a faster shell function than me, and
very probably not the least because I usually resent code-uglification
except if necessary.
NB: This is just 'my 0.02'.
Back to comp.unix.shell | Previous | Next — Previous in thread | Next in thread | Find similar
The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <schweikh@schweikhardt.net> - 2011-08-19 17:23 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <stephane_chazelas@yahoo.fr> - 2011-08-19 18:13 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-19 19:12 +0000
Re: The First Pure Shell Contest (PUSH): relativepath pk <pk@pk.invalid> - 2011-08-19 21:14 +0200
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-19 19:29 +0000
Re: The First Pure Shell Contest (PUSH): relativepath pk <pk@pk.invalid> - 2011-08-19 21:37 +0200
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-19 20:04 +0000
Re: The First Pure Shell Contest (PUSH): relativepath pk <pk@pk.invalid> - 2011-08-19 22:25 +0200
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-19 21:08 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-08-19 19:58 +0100
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-19 19:23 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-08-19 22:18 +0100
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <Stephane.CHAZELAS@free.fr> - 2011-08-20 20:07 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Jens Schweikhardt <usenet@schweikhardt.net> - 2011-08-21 10:43 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-08-21 15:14 +0100
Re: The First Pure Shell Contest (PUSH): relativepath Janis Papanagnou <janis_papanagnou@hotmail.com> - 2011-08-21 18:28 +0300
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <stephane_chazelas@yahoo.fr> - 2011-08-21 16:19 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <stephane_chazelas@yahoo.fr> - 2011-08-21 20:12 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-08-22 21:15 +0100
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <stephane_chazelas@yahoo.fr> - 2011-08-23 18:23 +0000
Re: The First Pure Shell Contest (PUSH): relativepath Rainer Weikusat <rweikusat@mssgmbh.com> - 2011-08-23 19:52 +0100
Re: The First Pure Shell Contest (PUSH): relativepath Stephane CHAZELAS <stephane_chazelas@yahoo.fr> - 2011-08-23 21:56 +0000
csiph-web