Subject | Re: [firebird-support] Problem Using MOD |
---|---|
Author | unordained |
Post date | 2003-07-21T07:57:05Z |
Helen,
this is probably a stupid question, but does "catch(...)" not catch everything, including access
violations? or is that an extension to my compiler? if it does, would it not also protect the
server from crashing upon call to an ill-defined or mis-behaving external procedure? seems like
segfault would be the most likely cause of trouble ... unless, magically, the call works and does
bad things to internal server states/data (and in that case -- why would those functions have
access to anything but a stream of data to process?)
(i'm only -starting- to play with dl_open / dl_sym / etc. under linux ... but i'm probably still
smelling like flamebait, hunh.)
-philip
this is probably a stupid question, but does "catch(...)" not catch everything, including access
violations? or is that an extension to my compiler? if it does, would it not also protect the
server from crashing upon call to an ill-defined or mis-behaving external procedure? seems like
segfault would be the most likely cause of trouble ... unless, magically, the call works and does
bad things to internal server states/data (and in that case -- why would those functions have
access to anything but a stream of data to process?)
(i'm only -starting- to play with dl_open / dl_sym / etc. under linux ... but i'm probably still
smelling like flamebait, hunh.)
-philip
> Of course it will crash the server. External functions are just that -
> EXTERNAL - beyond the control of the server. Any "bad" external function (
> == bad code, or a wrong declaration) will crash the server because, without
> knowledge of what's happening when it calls any particular function, the
> server has no way to know what exceptions to expect or how to handle them.
>
> Hence the reason for the access restrictions on external code imposed in
> 1.5. It's designed to protect your server from wire
> hackers. Unfortunately, it can't protect your server from its DBA.
>
> heLen