From wwalker at bybent.com Sat Jun 22 15:49:26 2002 From: wwalker at bybent.com (Wayne Walker) Date: Mon Aug 2 21:23:13 2004 Subject: [Austin] test 2, please ignore Message-ID: <20020622154926.A10963@bybent.com> Test 2, please ignore. -- Wayne Walker From wwalker at bybent.com Sun Jun 23 16:34:51 2002 From: wwalker at bybent.com (Wayne Walker) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Open Source Conference discount Message-ID: <20020623163451.A15441@bybent.com> If any of you decide to go to the Open Source conference but haven't signed up yet, you can get a 20% discount as Perl Mongers group members Email me for the details. -- Wayne Walker From joe at swelltech.com Sun Jun 23 17:05:28 2002 From: joe at swelltech.com (Joe Cooper) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Open Source Conference discount References: <20020623163451.A15441@bybent.com> Message-ID: <3D164628.6050501@swelltech.com> What Open Source conference would that be? (I'm either out of the loop or not paying attention, I guess... ;-) Wayne Walker wrote: > If any of you decide to go to the Open Source conference but haven't > signed up yet, you can get a 20% discount as Perl Mongers group members > > Email me for the details. -- Joe Cooper Web caching appliances and support. http://www.swelltech.com From wwalker at bybent.com Sun Jun 23 16:58:39 2002 From: wwalker at bybent.com (Wayne Walker) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Open Source Conference discount In-Reply-To: <3D164628.6050501@swelltech.com>; from joe@swelltech.com on Sun, Jun 23, 2002 at 05:05:28PM -0500 References: <20020623163451.A15441@bybent.com> <3D164628.6050501@swelltech.com> Message-ID: <20020623165839.B16064@bybent.com> http://conferences.oreillynet.com/os2002/ On Sun, Jun 23, 2002 at 05:05:28PM -0500, Joe Cooper wrote: > What Open Source conference would that be? (I'm either out of the loop > or not paying attention, I guess... ;-) > > Wayne Walker wrote: > > If any of you decide to go to the Open Source conference but haven't > > signed up yet, you can get a 20% discount as Perl Mongers group members > > > > Email me for the details. > > -- > Joe Cooper > Web caching appliances and support. > http://www.swelltech.com -- Wayne Walker From wwalker at bybent.com Wed Jun 26 10:57:16 2002 From: wwalker at bybent.com (Wayne Walker) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Critical Exploit Message-ID: <20020626105716.M10052@bybent.com> OK, There is a critical exploit in ssh. I don't know details, I heard it as a rumor yesterday. Today, I found a user on one of my servers running an sshd scanner looking for exploits. I've already contacted the FBI and shut the user down (but the box is hacked, somthing keeps coming up listening on udp around port 2000 (varies, 2096, 2100,...) Just a heads up. I'd recommend everyone update your ssh today. -- Wayne Walker From rainking at feeding.frenzy.com Wed Jun 26 17:27:13 2002 From: rainking at feeding.frenzy.com (Dennis Moore) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Critical Exploit In-Reply-To: <20020626105716.M10052@bybent.com>; from wwalker@bybent.com on Wed, Jun 26, 2002 at 10:57:16AM -0500 References: <20020626105716.M10052@bybent.com> Message-ID: <20020626172713.B24990@feeding.frenzy.com> On Wed, Jun 26, 2002 at 10:57:16AM -0500, Wayne Walker wrote: > OK, > There is a critical exploit in ssh. I don't know details, I heard it as > a rumor yesterday. openssh, actually. http://bvlive01.iss.net/issEn/delivery/xforce/alertdetail.jsp?oid=20584 openbsd finally had to change their motto! -- ;for (74,1970500640,1634627444,1751478816,1348825708,543711587, 1801810465){for($x=1<<1^1;$x>=1>>1;$x--) {$q=hex ff,$r=oct($x=~s,\d,$&* 10,e,$x),$x/=1/.1,$q<<=$r,$s.=chr (($_&$q)>>$r),$t++}}while($= ||= !$|) {$o=$o?$?:$/;$|=1;print $o?$s:$"x$t if$;;print"\b"x$t;sleep 1} From jason at shakabuku.org Wed Jun 26 17:27:21 2002 From: jason at shakabuku.org (Jason Bodnar) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Critical Exploit In-Reply-To: <20020626172713.B24990@feeding.frenzy.com> References: <20020626105716.M10052@bybent.com> <20020626172713.B24990@feeding.frenzy.com> Message-ID: <20020626172721.M6475@shakabuku.org> Some info from Mandrake: MandrakeSoft Security Advisory Package name openssh Date June 24th, 2002 Advisory ID MDKSA-2002:040 Affected versions 7.1, 7.2, 8.0, 8.1, 8.2, Corporate Server 1.0.1, Single Network Firewall 7.2 Update Type Security Problem Description: Details of an upcoming OpenSSH vulnerability will be published early next week. According to the OpenSSH team, this remote vulnerability cannot be exploited when sshd is running with privilege separation. The priv separation code is significantly improved in version 3.3 of OpenSSH which was released on June 21st. Unfortunately, there are some known problems with this release; compression does not work on all operating systems and the PAM support has not been completed. The OpenSSH team encourages everyone to upgrade to version 3.3 immediately and enable privilege separation. This can be enabled by placing in your /etc/ssh/sshd_config file the following: UsePrivilegeSeparation yes The vulnerability that will be disclosed next week is not fixed in version 3.3 of OpenSSH, however with priv separation enabled, you will not be vulnerable to it. This is because privilege separation uses a separate non-privileged process to handle most of the work, meaning that any vulnerability in this part of OpenSSH will never lead to a root compromise. Only access as the non-privileged user restricted in chroot would be available. MandrakeSoft encourages all of our users to upgrade to the updated packages immediately. This update creates a new user and group on the system named sshd that is used to run the non-privileged processes. -- Jason Bodnar jason@shakabuku.org http://www.shakabuku.org From hrunting at texas.net Thu Jun 27 09:10:45 2002 From: hrunting at texas.net (Hrunting) Date: Mon Aug 2 21:23:13 2004 Subject: APM: Critical Exploit In-Reply-To: <20020626172713.B24990@feeding.frenzy.com> Message-ID: On Wed, 26 Jun 2002, Dennis Moore wrote: : On Wed, Jun 26, 2002 at 10:57:16AM -0500, Wayne Walker wrote: : > OK, : > There is a critical exploit in ssh. I don't know details, I heard it as : > a rumor yesterday. : : openssh, actually. : http://bvlive01.iss.net/issEn/delivery/xforce/alertdetail.jsp?oid=20584 : : openbsd finally had to change their motto! You don't need to update your openssh, as far as I can tell. You just need to turn off ChallengeResponseAuthentication (ChallengeResponseAuthentication no). As long as that's not enabled, you're cool. OpenBSD had it enabled by default (as do must SSH installations). From dbii at mudpuddle.com Thu Jun 27 08:49:36 2002 From: dbii at mudpuddle.com (David Bluestein II) Date: Mon Aug 2 21:23:13 2004 Subject: APM: OO Perl Question Message-ID: Okay, I've been coding too much this week and I've got an OO Perl question as I'm trying to expand my horizons (now that I kind of understand $self :). In my object, I want a list, @Object::LIST, which does not change during runtime (it contains a list of fields in a database). In my main program, I create an OBJECT: my $id = $q->param('id'); # create object my $object = new Object( ID => $id ); # create reference to the list of fields my $listref = \@Object::LIST; I want to make this simpler though, and not involve the @Object::variable syntax. Questions are: 1) How do I define an @LIST in my Object.pm, and how do I construct the syntax to access it in my main program, such that I can change the above code to: my $id = $q->param('id'); # create object my $object = new Object( ID => $id ); # Set the variable @list equal to the @LIST in the $object. Syntax is wrong here (I tried it) my @list = $object->@LIST; Thanks- David ---------- David H. Bluestein II President & Lead Developer dbii@mudpuddle.com ii, inc. http://www.interaction.net - Specializing in Designing Interactive Websites - - and Searchable Internet Databases - From msouth at fulcrum.org Fri Jun 28 00:00:36 2002 From: msouth at fulcrum.org (Mike South) Date: Mon Aug 2 21:23:13 2004 Subject: APM: OO Perl Question Message-ID: <200206280500.BAA31682@scan.shodor.org> >To: austin-pm@pm.org >From: dbii@mudpuddle.com (David Bluestein II) >Subject: APM: OO Perl Question >Date: Thu, 27 Jun 2002 08:49:36 -0500 > >Okay, I've been coding too much this week and I've got an OO Perl question >as I'm trying to expand my horizons (now that I kind of understand $self >:). > >In my object, I want a list, @Object::LIST, which does not change during >runtime (it contains a list of fields in a database). In my main program, I >create an OBJECT: > > my $id = $q->param('id'); > ># create object > my $object = new Object( ID => $id ); ># create reference to the list of fields > my $listref = \@Object::LIST; > >I want to make this simpler though, and not involve the @Object::variable >syntax. > >Questions are: >1) How do I define an @LIST in my Object.pm, and how do I construct the >syntax to access it in my main program, such that I can change the above >code to: > > my $id = $q->param('id'); > ># create object > my $object = new Object( ID => $id ); ># Set the variable @list equal to the @LIST in the $object. Syntax is wrong >here (I tried it) > my @list = $object->@LIST; > > >Thanks- > >David Hi David, I'm not sure if what I'm doing will help, but I thought I would try to create a minimal implementation of what I think you are trying to do. I have created an Object.pm class which has an array that is visible anywhere in the Object class. Although you could address this array from outside the class, you are correct in not wanting to do this--access should be through the defined interface in case the underlying implementation changes, yadda yadda yadda. So, you create an instance of an Object, and you use a method to set the values for the list, and then any other instance of an Object can see those values, the methods of Object can see those values, etc. Now, as I understand your situation, I could have made this example one step simpler by simply hardcoding the values of LIST in Object.pm rather than creating a method to set those values. Hopefully that will not confuse the issue too much. So, here is the code that uses the Object class: ======== begin use_Object.pl ============== #!/usr/bin/perl -w use lib '.'; use Object; # make an Object my $obj1 = new Object; # set the values of LIST in the object class. Note # that if we change the name of LIST in Object.pm # to GLOBAL_FIELDS, this code will not have to # change. Also, note that you may not need # this particular capability in your application # if the values of LIST never need to be changed # on the fly. $obj1->set_Object_list_vals( 'foo', 'bar', 'baz'); # make another Object to be sure it works my $obj2 = new Object; # obtain the values of the Object package's LIST array # through our second Object # Once again, this code will not have to change if # you change the name of LIST to something else. Only # the method "get_Object_list_vals" has to know the # details of where the values are stored. Later # they might be in a config file on the system or # retrieved from a database my @list = $obj2->get_Object_list_vals; # print them out print "@list\n"; ========== end of use_Object.pl ============== Ok, here's the file that defines that class. ========== beginning of Object.pm ============ package Object; use strict; # here's the array. You may want to actually # assign values here in your application my @LIST = (); # i just used a generic new and returned an # empty hash to make things uncomplicated sub new { my $proto = shift; my $self = {}; return bless $self, ref($proto) || $proto; } # here is the method that sets the # values of LIST. you might not need this sub set_Object_list_vals { # try commenting out this line and # see what happens my $self = shift; @LIST = @_; } # here's the ticket to not having @Object::LIST # referred to directly in the code that uses this # class. sub get_Object_list_vals { return @LIST; } 1; ========== end of Object.pm ============ If you put these files next to each other and run use_Object.pl you should see "foo bar baz" as the output. mike From bill_raty at yahoo.com Fri Jun 28 00:02:03 2002 From: bill_raty at yahoo.com (Bill Raty) Date: Mon Aug 2 21:23:13 2004 Subject: APM: OO Perl Question In-Reply-To: Message-ID: <20020628050203.27884.qmail@web10108.mail.yahoo.com> Sorry!! Got in a fight with my mouse! Another way to get a reference to a list is via the anonymous listref maker, brackets: # makes reference to copy of list my $listref = [ @Object::LIST ]; Don't misunderestimate the power of having a copy, esp. if you don't want to have your original list accidentally overwritten; references can allow a user of your library to wipe out your quasi-constant list (I know, Java paranoia). And the way to dereference a listref: my @list = @{$object->{LIST}}; # if LIST is a listref Since I may not be understanding what you're doing (and I've been doing -way- too much Java lately), here's another example: my $anon_list_ref = [ "a", "b", "c" ]; my @copy_of_list_ref = @$anon_list_ref; # Stuff thing into a "$self" hash my $self = {}; $self->{LIST} = [ qw(a b c) ]; # Deref LIST member of $self my @list = @{$self->{LIST}}; Enjoy!, -Bill --- David Bluestein II wrote: > Okay, I've been coding too much this week and I've got an OO > Perl question > as I'm trying to expand my horizons (now that I kind of > understand $self > :). > > In my object, I want a list, @Object::LIST, which does not > change during > runtime (it contains a list of fields in a database). In my > main program, I > create an OBJECT: > > my $id = $q->param('id'); > > # create object > my $object = new Object( ID => $id ); > # create reference to the list of fields > my $listref = \@Object::LIST; > > I want to make this simpler though, and not involve the > @Object::variable > syntax. > > Questions are: > 1) How do I define an @LIST in my Object.pm, and how do I > construct the > syntax to access it in my main program, such that I can > change the above > code to: > > my $id = $q->param('id'); > > # create object > my $object = new Object( ID => $id ); > # Set the variable @list equal to the @LIST in the $object. > Syntax is wrong > here (I tried it) > my @list = $object->@LIST; > > > Thanks- > > David > > > > ---------- > David H. Bluestein II President & > Lead Developer > dbii@mudpuddle.com ii, inc. > > http://www.interaction.net > - Specializing in Designing Interactive Websites > - > - and Searchable Internet Databases > - > > > > > > _______________________________________________ > Austin mailing list > Austin@mail.pm.org > http://mail.pm.org/mailman/listinfo/austin ===== Anon: "We'll be done by the schedule date, maybe later." __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com From brian_clarkson at yahoo.com Fri Jun 28 02:02:30 2002 From: brian_clarkson at yahoo.com (Brian Clarkson) Date: Mon Aug 2 21:23:13 2004 Subject: APM: OO Perl Question In-Reply-To: Message-ID: <20020628070230.81832.qmail@web12108.mail.yahoo.com> --- David Bluestein II wrote: > Okay, I've been coding too much this week and I've got an OO Perl > question > as I'm trying to expand my horizons (now that I kind of understand $self > :). > > In my object, I want a list, @Object::LIST, which does not change during > runtime (it contains a list of fields in a database). In my main > program, I > create an OBJECT: > > my $id = $q->param('id'); > > # create object > my $object = new Object( ID => $id ); > # create reference to the list of fields > my $listref = \@Object::LIST; > so the code you're using in the Object package is something like this, i assume: package Object; use vars ( @LIST ); @LIST = qw/ foo bar baz /; sub new { my ( $proto, %args ) = @_; my $class = ref( $proto ) || $proto; my $self = {}; bless $self, $class; $self->{_ID} = $args{ID}; return $self; } ## whatever other behavior you have ... > I want to make this simpler though, and not involve the > @Object::variable > syntax. > > Questions are: > 1) How do I define an @LIST in my Object.pm, and how do I construct the > syntax to access it in my main program, such that I can change the above > code to: > > my $id = $q->param('id'); construction of class variable given above ... use vars ( @LIST ); @LIST = qw/ foo bar baz /; you can access it in any number of ways. one of the 'downfalls' of OO Perl is that encapsulation *can* be difficult to ensure ... Damian Conway's OO Perl book has a few ways to do it ( in standard Perl fashion ) accessing the list could be as simple as copying it into your object ( once instantiated ). so, in the constructor: $self->{_LIST} = \@LIST; would give each object a private copy. accessing the list ( read-only ) would just look like this ( from the calling program ): my $obj= Object->new( ID => $id ); my $list = $obj->{_LIST}; ## no accessor written, not best idea # with accessor giving back arrayref: my $list = $obj->list(); and the accompanying accessor ( in Object.pm ) sub list { my $self = shift; return $self->{_LIST}; } > > # create object > my $object = new Object( ID => $id ); > # Set the variable @list equal to the @LIST in the $object. Syntax is > wrong > here (I tried it) > my @list = $object->@LIST; can't do the double variable interpolation here because there's nothing to interpolate. even if you have a class variable, you can get to it like this: my $obj = Object->new( %args ); my @list = $obj::LIST; remember that @LIST is *blessed* into the package namespace ... +++ it's a bit late, and my brain's not on at 100% ... but the code above should work ... i'm just not sure of the original intention ... brian ===== "When it's good, it's really good; and when it's bad I'm not abusive." --- David Bowie, "Candidate", _Diamond Dogs_ "Just remember, technological innovation means class war." --- acceptance speech at the 2000 Webbys __________________________________________________ Do You Yahoo!? Yahoo! - Official partner of 2002 FIFA World Cup http://fifaworldcup.yahoo.com From mando at mando.org Fri Jun 28 08:41:09 2002 From: mando at mando.org (Mando Escamilla) Date: Mon Aug 2 21:23:13 2004 Subject: APM: RE: OO Perl Question In-Reply-To: Message-ID: Well, you could do something like this: package Object; sub new { my $class = shift; my $self = {}; # ID that you sent in via instantiation my %ARGS = shift; my $id = $ARGS{ID}; $self->{ID} = $id; # Database fields my @LIST = qw ( first_field second_field third_field ); $self->{LIST} = \@LIST; # Return blessed object return bless($self, $class); } Now, when you instantiate your object thusly: my $obj = Object->new( ID => $id ); $object will have two components: ID and LIST. You can access them like this: my $id = $obj->{ID}; my $list = $obj->{LIST}; Here, ID is a scalar and $list is an array reference. Hope this helps, -- Mando -----Original Message----- From: austin-admin@mail.pm.org [mailto:austin-admin@mail.pm.org]On Behalf Of David Bluestein II Sent: Thursday, June 27, 2002 9:50 AM To: austin-pm@pm.org Subject: APM: OO Perl Question Okay, I've been coding too much this week and I've got an OO Perl question as I'm trying to expand my horizons (now that I kind of understand $self :). In my object, I want a list, @Object::LIST, which does not change during runtime (it contains a list of fields in a database). In my main program, I create an OBJECT: my $id = $q->param('id'); # create object my $object = new Object( ID => $id ); # create reference to the list of fields my $listref = \@Object::LIST; I want to make this simpler though, and not involve the @Object::variable syntax. Questions are: 1) How do I define an @LIST in my Object.pm, and how do I construct the syntax to access it in my main program, such that I can change the above code to: my $id = $q->param('id'); # create object my $object = new Object( ID => $id ); # Set the variable @list equal to the @LIST in the $object. Syntax is wrong here (I tried it) my @list = $object->@LIST; Thanks- David ---------- David H. Bluestein II President & Lead Developer dbii@mudpuddle.com ii, inc. http://www.interaction.net - Specializing in Designing Interactive Websites - - and Searchable Internet Databases - _______________________________________________ Austin mailing list Austin@mail.pm.org http://mail.pm.org/mailman/listinfo/austin From hrunting at texas.net Fri Jun 28 10:26:42 2002 From: hrunting at texas.net (Hrunting) Date: Mon Aug 2 21:23:13 2004 Subject: APM: OO Perl Question In-Reply-To: Message-ID: On Thu, 27 Jun 2002, David Bluestein II wrote: : Okay, I've been coding too much this week and I've got an OO Perl question : as I'm trying to expand my horizons (now that I kind of understand $self : :). : : In my object, I want a list, @Object::LIST, which does not change during : runtime (it contains a list of fields in a database). In my main program, I : create an OBJECT: : : my $id = $q->param('id'); : : # create object : my $object = new Object( ID => $id ); : # create reference to the list of fields : my $listref = \@Object::LIST; : : I want to make this simpler though, and not involve the @Object::variable : syntax. : : Questions are: : 1) How do I define an @LIST in my Object.pm, and how do I construct the : syntax to access it in my main program, such that I can change the above : code to: : : my $id = $q->param('id'); : : # create object : my $object = new Object( ID => $id ); : # Set the variable @list equal to the @LIST in the $object. Syntax is wrong : here (I tried it) : my @list = $object->@LIST; package Object; use constant LIST => qw| a b c d |; sub new { my ( $class, %opts ) = @_; # do work, bless object, etc. } sub list { return LIST; } package main; my $object = new Object( 'ID' => $q->param('id') ); my @list = $object->list(); I'm tempted to say that you can also just do 'my @list = $object->LIST;' but I think that constant prototypes the 'LIST' function to be (), which means perl should throw an error when the object is passed in as the first argument. In any case, the cleaner method in this case is to setup the class or object method and have the class or object method return the array.