Added notes on how to compile and get small shared libraries for UDF

This commit is contained in:
Bernardo Damele 2011-04-12 09:53:52 +00:00
parent b50b4cd961
commit 7c61931b96
3 changed files with 45 additions and 31 deletions

View File

@ -1,7 +1,7 @@
Files in this folder can be used to compile shared objects that define Files in this folder can be compiled as shared libraries. These define
some user-defined functions for MySQL and PostgreSQL. They are licensed some user-defined functions (UDF) for MySQL and PostgreSQL. They are
under the terms of the GNU Lesser General Public License and their licensed under the terms of the GNU Lesser General Public License and
compiled versions are available on the official sqlmap subversion their compiled versions are available on the official sqlmap subversion
repository[1]. repository[1].
[1] https://svn.sqlmap.org/sqlmap/trunk/sqlmap/udf/ [1] https://svn.sqlmap.org/sqlmap/trunk/sqlmap/udf/

View File

@ -1,22 +1,29 @@
Before compiling, you need to adapt the following to your environment: Before compiling, you need to adapt the following to your environment:
Variables in install.sh script: Variables in install.sh script:
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Variable name Variable description Variable name Variable description
-------------------------------------------------------------------------- --------------------------------------------------------------------------
USER Database management system administrative username USER Database management system administrative username
PORT Database management system port PORT Database management system port
VERSION Database management system version (PostgreSQL only) VERSION Database management system version (PostgreSQL only)
Variable in Makefile (MySQL only): Variables in Makefile:
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Variable name Variable description Variable name Variable description
-------------------------------------------------------------------------- --------------------------------------------------------------------------
LIBDIR Database management system absolute file system LIBDIR Database management system absolute file system
path for third party libraries path for third party libraries (MySQL only)
Then you can launch './install.sh' if you want to compile the shared Then you can launch './install.sh' if you want to compile the shared
object from the source code and create the user-defined functions on the object from the source code and create the user-defined functions on the
database management system. database management system.
If you only want to compile the shared object, you need to call only the If you only want to compile the shared object, you need to call only the
'make' command. 'make' command.
Notes:
To get as small shared libraries as possible compile with GCC 4.3 on
both 32-bit and 64-bit architecture and strip the libraries with 'strip'
command.

View File

@ -4,22 +4,29 @@ PLATFORM_SDK_DIR and MYSQL_SERVER_DIR have to be set, while for project
lib_postgresqludf_sys variables PLATFORM_SDK_DIR and lib_postgresqludf_sys variables PLATFORM_SDK_DIR and
POSTGRESQL_SERVER_DIR. POSTGRESQL_SERVER_DIR.
Variables: Variables:
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Variable name Variable description Variable name Variable description
-------------------------------------------------------------------------- --------------------------------------------------------------------------
PLATFORM_SDK_DIR Directory where the Platform SDK is installed PLATFORM_SDK_DIR Directory where the Platform SDK is installed
MYSQL_SERVER_DIR Directory where the MySQL is installed MYSQL_SERVER_DIR Directory where the MySQL is installed
POSTGRESQL_SERVER_DIR Directory where the PostgreSQL is installed POSTGRESQL_SERVER_DIR Directory where the PostgreSQL is installed
Procedure for setting environment variables: Procedure for setting environment variables:
My Computer -> Properties -> Advanced -> Environment Variables My Computer -> Properties -> Advanced -> Environment Variables
User variables -> New User variables -> New
Sample values: Sample values:
-------------------------------------------------------------------------- --------------------------------------------------------------------------
Variable name Variable value Variable name Variable value
-------------------------------------------------------------------------- --------------------------------------------------------------------------
PLATFORM_SDK_DIR C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2 PLATFORM_SDK_DIR C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2
MYSQL_SERVER_DIR C:\Program Files\MySQL\MySQL Server 5.1 MYSQL_SERVER_DIR C:\Program Files\MySQL\MySQL Server 5.1
POSTGRESQL_SERVER_DIR C:\Program Files\PostgreSQL\8.4 POSTGRESQL_SERVER_DIR C:\Program Files\PostgreSQL\8.4
Notes:
To get as small shared libraries as possible compile as follows:
* MySQL Windows 32-bit DLL: use Visual C++ 2005 and strip the library with UPX
* TODO