Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]

2003-02-10 Thread Romain Slootmaekers
Romain Slootmaekers wrote:
Hi,
below the original post:

it is a bug in Products/Localizer/Accept.py

here's the code to fix it:

#--- code fix starting from line 102 ---


# Get the quality
try:
if len(x) == 2:
quality = x[1]# Get the quality
quality =quality.strip()
quality = quality[2:] # Get the number (remove 
"q=")
quality = float(quality)  # Change it to float
else:
quality = 1.0
except:
quality=1.0
#--- end of code fix ---

I added a strip() and a try/except for other things that can go wrong.

This way Nokia Wap surfers can access your site while Localizer is 
installed.

have fun,

Sloot.

BTW, exceptions that originate here are not caught in the error_log.
this is probably unintended as well.


- original post -
Hi,

We have problems with the Accept-Charset headers that are sent to the 
zope server by some mobile phones:
fi:
'Accept-Charset':'ISO-8859-1, US-ASCII, UTF-8; Q=0.8'

These cause a 500 internal server error. (Error Value: invalid literal 
for float(): =0.8 )

I checked with the HTTP1.1 RFC26160 section 14.2 and the header seems 
valid, but in fact isn't:
there is a space between the semi-colon and the Q char (which shouldn't 
be there acoording to the spec).

So, in principle, this is not a zope server bug, but an inflexibility.

I think the server should be a bit more lenient.
a simple .strip() in the right place should do.

Could you guys fix this?

TIA,

Sloot.




BTW, for completeness, I included a quick test program is included below 
(causes a 500 on my zope 2.6.0) :



#- program illustrating the behavior ---
import httplib, urllib

def sendHTTP():
"""

"""
headers = {'Accept':
   'application/vnd.wap.wmlc, 
application/vnd.wap.wmlscriptc, application/vnd.wap.wbxml, 
image/vnd.wap.wbmp, image/gif, application/*, text/html, 
application/xhtml+xml, application/vnd.wap.wml+xml, text/css',
   'Accept-Charset':'ISO-8859-1, US-ASCII, UTF-8; Q=0.8'}#, 
ISO-10646-UCS-2; Q=0.6'
conn = httplib.HTTPConnection("127.0.0.1:8080")
conn.request("GET", "/mobile/wap/games/",headers=headers)
response = conn.getresponse()
print response.status, response.reason
data = response.read()
print data

conn.close()

sendHTTP()




___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope )





___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Tools for creation and management of structured, HTML, or textual content

2003-02-10 Thread David Cain
My organization is full of non-techie types and HTML guru wanna-bees who
need to supply content to my Zope CMF server.  I'm looking for any kind
of tools designed for the creation and management of structured, HTML or
textual content.

I'm currently looking at Silva, but what else is out there?

Thanks in advance.

David Cain
Senior Web Developer, Information Systems Department 
Syracuse University Library
Syracuse, New York 13244-2010
(315) 443-5923
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Zope Server Control

2003-02-10 Thread Andy McKay
You misunderstand: I have zero code. :-)  The screenshot (especially the
second one) shows precisely what I'm looking for in a Zope controller.  
It should scale up to dozens of Zopes and ZEOs while remaining useful for
single Zope instances, it should display rapidly flashing lights to
indicate exactly how resources are being spent, and it should display a
Zope logo so it doubles as a marketing tool.  Consider the screenshot a
request.

Ah sorry I thought you would have just quickly knocked one out ;) I 
think the Controller is a very useful tool and very good for marketing 
its really helped a lot of people with Plone.

I can post the QT .ui file, though, if that would help. ;-)


Im hopefully getting a good UI designer (ie not me) on line for helping 
out with the UI for this. I was actually thinking of wxPython rather 
than Qt, but thats just a personal preference.

Anyway when we get wxController going I'll drop you a line...
--
  Andy McKay


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] Re: [ZODB-Dev] zodb - first attempt

2003-02-10 Thread fritz steindl
Am Montag, 10. Februar 2003 18:18 erhalten:
> On Mon, Feb 10, 2003 at 05:43:04PM +0100, fritz steindl wrote:
> > Traceback (most recent call last):
> >   File "C:\Python21\myZopeDB\zodbTest.py", line 1, in ?
> > from ZODB import FileStorage, DB
> >   File "C:\Python21\ZODB\__init__.py", line 18, in ?
> > import cPersistence, Persistence
> > SystemError: _PyImport_FixupExtension: module ZODB.TimeStamp not loaded
> >
> > can somebody please lead me to the right way ...
>
> This is a know problem with Python 2.1 and 2.1.1; using version 2.1.3
> *should* solve this, though I'm not sure what the situation is on
> Windows. Can you test with 2.1.3?
>
> Take care,


that was it ...

an upgrade to python 2.1.3 and all errors were gone

and the first example works :-)

thanks


fritz
(-:fs)


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]

2003-02-10 Thread Leonardo Rochael Almeida
On Mon, 2003-02-10 at 10:27, Romain Slootmaekers wrote:
> Romain Slootmaekers wrote:
> Hi,
> below the original post:
> 
> it is a bug in Products/Localizer/Accept.py
> 
> here's the code to fix it:
> 
> #--- code fix starting from line 102 ---
> 
> 
> # Get the quality
>  try:
>  if len(x) == 2:
>  quality = x[1]# Get the quality
>  quality =quality.strip()
>  quality = quality[2:] # Get the number (remove 
> "q=")
>  quality = float(quality)  # Change it to float
>  else:
>  quality = 1.0
>  except:
>  quality=1.0
> #--- end of code fix ---
> 
> I added a strip() and a try/except for other things that can go wrong.


Please, please, please, don't use generic "except:". They can cause ZODB
corruption if they catch ConflictErrors. In the case of the code above,
test for specific errors that "float(quality)" or "x[1]" can raise and
catch those instead.

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charset hearders causing 500 internal server error.[correct but not lenient]

2003-02-10 Thread Paul Winkler
On Mon, Feb 10, 2003 at 06:11:15PM -0200, Leonardo Rochael Almeida wrote:
> Please, please, please, don't use generic "except:". They can cause ZODB
> corruption if they catch ConflictErrors.

Can anyone else confirm or deny???
If true, it needs to be much more widely publicized!

$ cd /usr/src/Zope-2.6.1-src/lib/python/Products/
$ find . -name "*py" -exec grep -H "except:" {} \; | wc -l
170

well, this is all stuff that comes with Zope, hopefully
they have been vetted... but then there's all these
3rd-party products:

$ cd $INSTANCE_HOME/Products
$ find . -name "*py" -exec grep -H "except:" {} \; | wc -l
133


Great, so there's at least 133 things to examine to see if they
could catch a ConflictError.  And I only wrote about 15 of those.
The rest could be very time-consuming to audit.

-- 

Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's THE GOBLET!
(random hero from isometric.spaceninja.com)

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]

2003-02-10 Thread Shane Hathaway
Paul Winkler wrote:

On Mon, Feb 10, 2003 at 06:11:15PM -0200, Leonardo Rochael Almeida wrote:


Please, please, please, don't use generic "except:". They can cause ZODB
corruption if they catch ConflictErrors.



Can anyone else confirm or deny???
If true, it needs to be much more widely publicized!


It's an open bug on Sourceforge:

http://sourceforge.net/tracker/index.php?func=detail&aid=637279&group_id=15628&atid=115628


Great, so there's at least 133 things to examine to see if they
could catch a ConflictError.  And I only wrote about 15 of those.
The rest could be very time-consuming to audit.


"tal:on-error" also catches all exceptions.  It could be made to catch 
all exceptions except ConflictError, but I don't feel like that's the 
right solution.  I think the right solution is to prevent applications 
from committing potentially conflicting data, even when ConflictErrors 
are ignored.

This doesn't seem to be a showstopper for now, but as more applications 
use ZODB, it could become a bigger problem.

Shane


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]

2003-02-10 Thread Romain Slootmaekers
Leonardo Rochael Almeida wrote:

On Mon, 2003-02-10 at 10:27, Romain Slootmaekers wrote:


Romain Slootmaekers wrote:
Hi,
below the original post:

it is a bug in Products/Localizer/Accept.py

here's the code to fix it:

#--- code fix starting from line 102 ---


# Get the quality
try:
if len(x) == 2:
quality = x[1]# Get the quality
quality =quality.strip()
quality = quality[2:] # Get the number (remove 
"q=")
quality = float(quality)  # Change it to float
else:
quality = 1.0
except:
quality=1.0
#--- end of code fix ---

I added a strip() and a try/except for other things that can go wrong.



Please, please, please, don't use generic "except:". They can cause ZODB
corruption if they catch ConflictErrors. In the case of the code above,
test for specific errors that "float(quality)" or "x[1]" can raise and
catch those instead.



In general, a generic except is evil.
Here, I seriously don't see how the code inside the try/except can cause 
a conflict error or other serious damage.

In general, general remarks are evil ;)

Sloot.



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charset hearders causing 500 internal server error.[correct but not lenient]

2003-02-10 Thread Paul Winkler
On Mon, Feb 10, 2003 at 03:47:58PM -0500, Shane Hathaway wrote:
> This doesn't seem to be a showstopper for now, but as more applications 
> use ZODB, it could become a bigger problem.

Well, what kind of errors can this cause in the ZODB?
If it's just a matter of writing a mixture of old and new
data to the ZODB, that's annoying but I agree it's not a showstopper.
If it does in fact lead to FileStorage damage, that's another
story. I'm still feeling touchy about the latter since 
I recently found (and still have not explained) >10k "bad transaction 
length" errors, 700 "invalid transaction length" errors, and 200 
POSKeyErrors in a single FileStorage.

-- 

Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's MALIFEROUS CONTORTIONIST!
(random hero from isometric.spaceninja.com)

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



[Zope-dev] Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev]Accept-Charset hearders causing 500 internal server error.[correct but notlenient]

2003-02-10 Thread Chris McDonough
Could this be done by initializing a dictionary at startup keyed on
thread-id that a ConflictError exception's __init__ could stick a marker
into, then checking that dictionary at commit time and disallowing the
commit if the marker still existed? 

On Mon, 2003-02-10 at 15:47, Shane Hathaway wrote:
> "tal:on-error" also catches all exceptions.  It could be made to catch 
> all exceptions except ConflictError, but I don't feel like that's the 
> right solution.  I think the right solution is to prevent applications 
> from committing potentially conflicting data, even when ConflictErrors 
> are ignored.
> 
> This doesn't seem to be a showstopper for now, but as more applications 
> use ZODB, it could become a bigger problem.



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



[Zope-dev] Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]

2003-02-10 Thread Shane Hathaway
Chris McDonough wrote:

Could this be done by initializing a dictionary at startup keyed on
thread-id that a ConflictError exception's __init__ could stick a marker
into, then checking that dictionary at commit time and disallowing the
commit if the marker still existed?


Yes, but Transaction objects are already keyed on the thread ID, so I 
think you just have to set a "doomed" flag on the transaction.  Attempts 
to commit doomed transactions result in either ConflictError or 
"DoomedTransactionError". ;-)  Aborting the transaction (or beginning a 
new transaction) resets the flag.

Shane


On Mon, 2003-02-10 at 15:47, Shane Hathaway wrote:


"tal:on-error" also catches all exceptions.  It could be made to catch 
all exceptions except ConflictError, but I don't feel like that's the 
right solution.  I think the right solution is to prevent applications 
from committing potentially conflicting data, even when ConflictErrors 
are ignored.

This doesn't seem to be a showstopper for now, but as more applications 
use ZODB, it could become a bigger problem.






___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: Bare "except" dangerous to ZODB? was Re: [Zope-dev] Accept-Charsethearders causing 500 internal server error.[correct but not lenient]

2003-02-10 Thread Shane Hathaway
Paul Winkler wrote:

On Mon, Feb 10, 2003 at 03:47:58PM -0500, Shane Hathaway wrote:


This doesn't seem to be a showstopper for now, but as more applications 
use ZODB, it could become a bigger problem.


Well, what kind of errors can this cause in the ZODB?
If it's just a matter of writing a mixture of old and new
data to the ZODB, that's annoying but I agree it's not a showstopper.
If it does in fact lead to FileStorage damage, that's another
story. I'm still feeling touchy about the latter since 
I recently found (and still have not explained) >10k "bad transaction 
length" errors, 700 "invalid transaction length" errors, and 200 
POSKeyErrors in a single FileStorage.

Badly handled conflict errors can result in POSKeyErrors (I think), but 
not "bad transaction length" errors.  I think you might be dealing with 
a different problem.

Shane


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Re: Bare "except" dangerous to ZODB? was Re:[Zope-dev] Accept-Charset hearders causing 500 internal servererror.[correct but not lenient]

2003-02-10 Thread Leonardo Rochael Almeida
On Mon, 2003-02-10 at 20:46, Chris McDonough wrote:
> Could this be done by initializing a dictionary at startup keyed on
> thread-id that a ConflictError exception's __init__ could stick a marker
> into, then checking that dictionary at commit time and disallowing the
> commit if the marker still existed? 

+1

And logging a zLOG.ERROR (or maybe even zLOG.PANIC?) level message to
that effect

IMHO, something that blocked commits of ConflictError'ed transactions
should be a requirement in Zope 2.7

I believe that unqualified "except:"'s are the most common cause of
unexplained Zope ZODB corruption.

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )



[Zope-dev] RE-FILL you Prescriptions on-line

2003-02-10 Thread airdelights

 
 
VIAGRA AND OTHER MEDICINE
 There IS a solution to sexual dysfunction (impotence). It is called 

Viagra.Yes, you can now buy 

Viagra direct too.
  This page brings you 
  
  Viagra at low cost.
  Try it now. Increased sexual performance is the result.

  Real authentic 
  
  VIAGRA can be ordered online for as low as 
  $6 per dose. No
  waiting rooms or doctor's visit embarrassment.
  



Click Here and Order Now!

It is in ourbest interest not to send e-mail to those who do not wish to 
receive 
  it as
  it is a waste of our time and resources as well as yours. If you want to be 

  excluded from 
  future mailings please type delete in the subject line after  
  clicking here



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )