Skip to content
Snippets Groups Projects
  1. Jul 08, 2007
    • Joe Conway's avatar
      Arrange for the authentication request type to be preserved in · 51bc3dfe
      Joe Conway authored
      PGconn. Invent a new libpq connection-status function,
      PQconnectionUsedPassword() that returns true if the server
      demanded a password during authentication, false otherwise.
      This may be useful to clients in general, but is immediately
      useful to help plug a privilege escalation path in dblink.
      Per list discussion and design proposed by Tom Lane.
      51bc3dfe
  2. Mar 03, 2007
  3. Jan 26, 2007
    • Neil Conway's avatar
      Squelch some VC++ compiler warnings. Mark float literals with the "f" · 8ff2bcce
      Neil Conway authored
      suffix, to distinguish them from doubles. Make some function declarations
      and definitions use the "const" qualifier for arguments consistently.
      Ignore warning 4102 ("unreferenced label"), because such warnings
      are always emitted by bison-generated code. Patch from Magnus Hagander.
      8ff2bcce
  4. Jan 05, 2007
  5. Oct 04, 2006
  6. Aug 18, 2006
  7. Aug 04, 2006
  8. May 21, 2006
    • Tom Lane's avatar
      Modify libpq's string-escaping routines to be aware of encoding considerations · 515112f9
      Tom Lane authored
      and standard_conforming_strings.  The encoding changes are needed for proper
      escaping in multibyte encodings, as per the SQL-injection vulnerabilities
      noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
      to the server to ensure that it rejects queries that may have been corrupted
      by attempted SQL injection, but this merely guarantees that unpatched clients
      will fail rather than allow injection.  An actual fix requires changing the
      client-side code.  While at it we have also fixed these routines to understand
      about standard_conforming_strings, so that the upcoming changeover to SQL-spec
      string syntax can be somewhat transparent to client code.
      
      Since the existing API of PQescapeString and PQescapeBytea provides no way to
      inform them which settings are in use, these functions are now deprecated in
      favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
      functions take the PGconn to which the string will be sent as an additional
      parameter, and look inside the connection structure to determine what to do.
      So as to provide some functionality for clients using the old functions,
      libpq stores the latest encoding and standard_conforming_strings values
      received from the backend in static variables, and the old functions consult
      these variables.  This will work reliably in clients using only one Postgres
      connection at a time, or even multiple connections if they all use the same
      encoding and string syntax settings; which should cover many practical
      scenarios.
      
      Clients that use homebrew escaping methods, such as PHP's addslashes()
      function or even hardwired regexp substitution, will require extra effort
      to fix :-(.  It is strongly recommended that such code be replaced by use of
      PQescapeStringConn/PQescapeByteaConn if at all feasible.
      515112f9
  9. Mar 14, 2006
    • Tom Lane's avatar
      Improve parser so that we can show an error cursor position for errors · 20ab467d
      Tom Lane authored
      during parse analysis, not only errors detected in the flex/bison stages.
      This is per my earlier proposal.  This commit includes all the basic
      infrastructure, but locations are only tracked and reported for errors
      involving column references, function calls, and operators.  More could
      be done later but this seems like a good set to start with.  I've also
      moved the ReportSyntaxErrorPosition logic out of psql and into libpq,
      which should make it available to more people --- even within psql this
      is an improvement because warnings weren't handled by ReportSyntaxErrorPosition.
      20ab467d
  10. Mar 05, 2006
  11. Feb 13, 2006
  12. Nov 22, 2005
  13. Oct 15, 2005
  14. Aug 23, 2005
  15. Jun 27, 2005
  16. Jun 13, 2005
    • Tom Lane's avatar
      Adjust lo_open() so that specifying INV_READ without INV_WRITE creates · a2fb7b8a
      Tom Lane authored
      a descriptor that uses the current transaction snapshot, rather than
      SnapshotNow as it did before (and still does if INV_WRITE is set).
      This means pg_dump will now dump a consistent snapshot of large object
      contents, as it never could do before.  Also, add a lo_create() function
      that is similar to lo_creat() but allows the desired OID of the large
      object to be specified.  This will simplify pg_restore considerably
      (but I'll fix that in a separate commit).
      a2fb7b8a
  17. Jun 12, 2005
  18. Jun 04, 2005
    • Bruce Momjian's avatar
      · 72c53ac3
      Bruce Momjian authored
      Allow kerberos name and username case sensitivity to be specified from
      postgresql.conf.
      
      ---------------------------------------------------------------------------
      
      
      Here's an updated version of the patch, with the following changes:
      
      1) No longer uses "service name" as "application version". It's instead
      hardcoded as "postgres". It could be argued that this part should be
      backpatched to 8.0, but it doesn't make a big difference until you can
      start changing it with GUC / connection parameters. This change only
      affects kerberos 5, not 4.
      
      2) Now downcases kerberos usernames when the client is running on win32.
      
      3) Adds guc option for "krb_caseins_users" to make the server ignore
      case mismatch which is required by some KDCs such as Active Directory.
      Off by default, per discussion with Tom. This change only affects
      kerberos 5, not 4.
      
      4) Updated so it doesn't conflict with the rendevouz/bonjour patch
      already in ;-)
      
      Magnus Hagander
      72c53ac3
  19. Jan 06, 2005
    • Tom Lane's avatar
      Make the various places that determine the user's "home directory" · d97ae823
      Tom Lane authored
      consistent.  On Unix we now always consult getpwuid(); $HOME isn't used
      at all.  On Windows the code currently consults $USERPROFILE, or $HOME
      if that's not defined, but I expect this will change as soon as the win32
      hackers come to a consensus.  Nothing done yet about changing the file
      names used underneath $USERPROFILE.
      d97ae823
  20. Dec 31, 2004
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  21. Dec 03, 2004
  22. Dec 02, 2004
  23. Oct 31, 2004
  24. Oct 19, 2004
  25. Oct 17, 2004
  26. Oct 05, 2004
  27. Aug 30, 2004
  28. Aug 29, 2004
  29. Aug 17, 2004
  30. May 31, 2004
  31. Mar 25, 2004
  32. Mar 24, 2004
  33. Mar 05, 2004
  34. Jan 09, 2004
  35. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 55b11325
      PostgreSQL Daemon authored
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  36. Sep 05, 2003
  37. Aug 13, 2003
    • Tom Lane's avatar
      libpq failed to cope with COPY FROM STDIN if the command was issued · c01641f8
      Tom Lane authored
      via extended query protocol, because it sends Sync right after Execute
      without realizing that the command to be executed is COPY.  There seems
      to be no reasonable way for it to realize that, either, so the best fix
      seems to be to make the backend ignore Sync during copy-in mode.  Bit of
      a wart on the protocol, but little alternative.  Also, libpq must send
      another Sync after terminating the COPY, if the command was issued via
      Execute.
      c01641f8
Loading