mod_auth_samba 1.1: Segementation Fault (11) - The solution!!! ;-)
| From: | HEIN Martin | Date: | Mon, 15 Nov 1999 14:08:09 +0000 |
| Subject: | mod_auth_samba 1.1: Segementation Fault (11) - The solution!!! ;-) | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-12565@lists.php.net to get a copy of this message | ||
Terve,
By applying these two patches, everything should be fine!:
mod_auth_samba.c.diff
---------------------
*** mod_auth_samba.c Mon Nov 15 14:32:47 1999
---
/export/home/max.mobil./max.it./AP/HEIN.Martin/src/network/apache/contrib/modules/1.3/mod_auth_samba/mod_auth_samba.c Tue
Jan 19 21:32:19 1999
***************
*** 9,21 ****
*/
#include "mod_auth_samba.h"
!
! #ifdef HAVE_GDBM
! # include <gdbm.h>
! #else
! # include <ndbm.h>
! #endif
!
#include <errno.h>
#include "httpd.h"
#include "http_config.h"
--- 9,15 ----
*/
#include "mod_auth_samba.h"
! #include <ndbm.h>
#include <errno.h>
#include "httpd.h"
#include "http_config.h"
***************
*** 25,34 ****
#include "grp.h"
/*
- * checked for GNU dbm
- */
-
- /*
* Data struct, where all module specific information is stored.
*/
typedef struct mod_samba_auth_config_struct {
--- 19,24 ----
***************
*** 42,147 ****
char* samba_auth_passwd_cache;
} mod_samba_auth_config_rec;
- /*
- * checked for GNU dbm
- */
-
/* "Constructor" */
void *mod_samba_auth_create_dir_config (pool *p, char *d)
{
mod_samba_auth_config_rec *sec = ap_pcalloc( p ,
sizeof( mod_samba_auth_config_rec ) );
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_create_dir_config start\n", __FILE__,
__LINE__);
- #endif
-
sec->samba_auth_enabled_flag = 1;
sec->samba_auth_authorative_flag = 1;
sec->samba_auth_num_of_domains = 0;
sec->samba_auth_passwd_cache = strdup( "/tmp/.mod_auth_samba" );
sec->samba_auth_group_dbm = NULL;
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_create_dir_config stop\n", __FILE__,
__LINE__);
- #endif
-
return(sec);
}
/*
- * checked for GNU dbm
- */
-
- /*
* Setter methods
*/
const char *set_samba_auth_enabled_flag (cmd_parms *cmd,
! mod_samba_auth_config_rec *sec, int arg)
! {
!
! #ifdef ONLINE_DEBUG
! fprintf(stderr, "%s (%d): set_samba_auth_enabled_flag start\n", __FILE__, __LINE__);
! #endif
!
sec->samba_auth_authorative_flag=arg;
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_enabled_flag stop\n", __FILE__, __LINE__);
- #endif
-
return NULL;
}
- /*
- * checked for GNU dbm
- */
-
const char *set_samba_auth_authorative_flag (cmd_parms *cmd,
! mod_samba_auth_config_rec *sec, int arg)
! {
!
! #ifdef ONLINE_DEBUG
! fprintf(stderr, "%s (%d): set_samba_auth_authorative_flag start\n", __FILE__,
__LINE__);
! #endif
!
sec->samba_auth_authorative_flag=arg;
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_authorative_flag stop\n", __FILE__, __LINE__);
- #endif
-
return NULL;
}
- /*
- * checked for GNU dbm
- */
-
const char *set_samba_auth_domain_controller( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg)
! {
int i,j;
int num;
char *tok;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_domain_controller start\n", __FILE__,
__LINE__);
- #endif
tok = strtok( arg , ":" );
-
if ( sec->samba_auth_num_of_domains < 15 ) {
num = sec->samba_auth_num_of_domains;
sec->samba_auth_domain_names[ num ] = strdup( tok );
tok = strtok( NULL , "," );
-
for ( i = 0 ; i < 16 && tok != NULL ; i++ ) {
sec->samba_auth_domain_controllers[ num ][ i ] = strdup( tok );
tok = strtok( NULL , "," );
}
-
sec->samba_auth_num_of_domain_controllers[ num ] = i;
sec->samba_auth_num_of_domains = num + 1;
}
--- 32,82 ----
char* samba_auth_passwd_cache;
} mod_samba_auth_config_rec;
/* "Constructor" */
void *mod_samba_auth_create_dir_config (pool *p, char *d)
{
mod_samba_auth_config_rec *sec = ap_pcalloc( p ,
sizeof( mod_samba_auth_config_rec ) );
sec->samba_auth_enabled_flag = 1;
sec->samba_auth_authorative_flag = 1;
sec->samba_auth_num_of_domains = 0;
sec->samba_auth_passwd_cache = strdup( "/tmp/.mod_auth_samba" );
sec->samba_auth_group_dbm = NULL;
return(sec);
}
/*
* Setter methods
*/
const char *set_samba_auth_enabled_flag (cmd_parms *cmd,
! mod_samba_auth_config_rec *sec, int arg) {
sec->samba_auth_authorative_flag=arg;
return NULL;
}
const char *set_samba_auth_authorative_flag (cmd_parms *cmd,
! mod_samba_auth_config_rec *sec, int arg) {
sec->samba_auth_authorative_flag=arg;
return NULL;
}
const char *set_samba_auth_domain_controller( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg) {
int i,j;
int num;
char *tok;
tok = strtok( arg , ":" );
if ( sec->samba_auth_num_of_domains < 15 ) {
num = sec->samba_auth_num_of_domains;
sec->samba_auth_domain_names[ num ] = strdup( tok );
tok = strtok( NULL , "," );
for ( i = 0 ; i < 16 && tok != NULL ; i++ ) {
sec->samba_auth_domain_controllers[ num ][ i ] = strdup( tok );
tok = strtok( NULL , "," );
}
sec->samba_auth_num_of_domain_controllers[ num ] = i;
sec->samba_auth_num_of_domains = num + 1;
}
***************
*** 155,221 ****
fprintf( stderr , "\n" );
*/
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_domain_controller stop\n", __FILE__,
__LINE__);
- #endif
-
return NULL;
}
- /*
- * checked for GNU dbm
- */
-
const char *set_samba_auth_group_dbm( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg)
! {
! #ifdef ONLINE_DEBUG
! fprintf(stderr, "%s (%d): set_samba_auth_group_dbm start\n", __FILE__, __LINE__);
! #endif
!
! if ( sec->samba_auth_group_dbm != NULL ){
free( sec->samba_auth_group_dbm );
}
sec->samba_auth_group_dbm = strdup( arg );
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_group_dbm stop\n", __FILE__, __LINE__);
- #endif
-
return NULL;
}
- /*
- * checked for GNU dbm
- */
-
const char *set_samba_auth_passwd_cache( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg)
! {
!
! #ifdef ONLINE_DEBUG
! fprintf(stderr, "%s (%d): set_samba_auth_passwd_cache start\n", __FILE__, __LINE__);
! #endif
!
if ( sec->samba_auth_passwd_cache != NULL ) {
free( sec->samba_auth_passwd_cache );
}
sec->samba_auth_passwd_cache = strdup( arg );
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): set_samba_auth_passwd_cache stop\n", __FILE__, __LINE__);
- #endif
-
return NULL;
}
/*
- * checked for GNU dbm
- */
-
- /*
* Data structure for defining which lines in .htaccess and
* Directory are important for us. Look Apache API documentation
* for descriptions.
--- 90,119 ----
fprintf( stderr , "\n" );
*/
return NULL;
}
const char *set_samba_auth_group_dbm( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg) {
! if ( sec->samba_auth_group_dbm != NULL ) {
free( sec->samba_auth_group_dbm );
}
sec->samba_auth_group_dbm = strdup( arg );
return NULL;
}
const char *set_samba_auth_passwd_cache( cmd_parms* cmd,
mod_samba_auth_config_rec* sec,
! char* arg) {
if ( sec->samba_auth_passwd_cache != NULL ) {
free( sec->samba_auth_passwd_cache );
}
sec->samba_auth_passwd_cache = strdup( arg );
return NULL;
}
/*
* Data structure for defining which lines in .htaccess and
* Directory are important for us. Look Apache API documentation
* for descriptions.
***************
*** 239,284 ****
module samba_auth_module;
- /*
- * checked for GNU dbm
- */
-
int mod_samba_auth_check_passwd_against_domain_controller( request_rec* r,
char* user ,
char* passwd ,
char* server ,
char* domain ,
! char* dbase )
! {
datum package = { user , ( strlen( user ) + 1 ) * sizeof( char ) };
datum dat;
-
- #ifdef HAVE_GDBM
- GDBM_FILE fout;
- #else
DBM* fout;
- #endif
-
char err_str[ MAX_STRING_LEN ];
char data_str[ MAX_STRING_LEN ];
int error_code;
int ret;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_passwd_against_domain_controller
start\n", __FILE__, __LINE__);
- #endif
-
ret = Valid_User( user , passwd , server , NULL , domain );
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "\tret = Valid_User( user , passwd , server , NULL , domain );\n");
- fprintf(stderr, "\t\t ret: %d\n", ret);
- fprintf(stderr, "\t\t user: [%s]\n", user);
- fprintf(stderr, "\t\t passwd: [%s]\n", passwd);
- fprintf(stderr, "\t\t server: [%s]\n", server);
- fprintf(stderr, "\t\t domain: [%s]\n", domain);
- #endif
-
switch ( ret ) {
case NTV_SERVER_ERROR:
/* fprintf( stderr , "PAM_SMB : Server (%s) Error\n" , server );*/
--- 137,158 ----
module samba_auth_module;
int mod_samba_auth_check_passwd_against_domain_controller( request_rec* r,
char* user ,
char* passwd ,
char* server ,
char* domain ,
! char* dbase ) {
datum package = { user , ( strlen( user ) + 1 ) * sizeof( char ) };
datum dat;
DBM* fout;
char err_str[ MAX_STRING_LEN ];
char data_str[ MAX_STRING_LEN ];
int error_code;
int ret;
ret = Valid_User( user , passwd , server , NULL , domain );
switch ( ret ) {
case NTV_SERVER_ERROR:
/* fprintf( stderr , "PAM_SMB : Server (%s) Error\n" , server );*/
***************
*** 291,318 ****
domain , user , server ); */
return -2;
break;
-
case 0: /* Here we store the username/password pair into cache */
/* fprintf( stderr , "PAM_SMB : Login accepted (%s::%s@%s)\n" ,
domain , user , server ); */
- #ifdef HAVE_GDBM
- fout = gdbm_open(dbase, 0, GDBM_READER | GDBM_WRCREAT, 0664, NULL);
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\tfout = gdbm_open(dbase, 0, GDBM_READER | GDBM_WRCREAT, 0664,
NULL);\n");
- # endif
-
- if ( fout == NULL) {
- #else
fout = dbm_open( dbase , O_RDWR | O_CREAT , 0664 );
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\tfout = dbm_open( dbase , O_RDWR | O_CREAT , 0664 );\n");
- # endif
-
if ( dbm_error( fout ) != 0 ) {
- #endif
-
/* fprintf( stderr , "dbm_open(%s) failed on user ( %s ) \n" , dbase , user ); */
} else {
/* In SUNOS4, we don't have to specify the seed in sprintf. */
--- 165,175 ----
***************
*** 323,381 ****
#endif
dat.dptr = strdup( data_str );
dat.dsize = ( strlen( data_str ) +1 ) * sizeof( char );
-
- #ifdef HAVE_GDBM
- error_code = gdbm_store(fout, package, dat, GDBM_REPLACE);
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\terror_code = gdbm_store(fout, package, dat, GDBM_REPLACE);\n");
- fprintf(stderr, "\t\terror_code: %d\n", error_code);
- # endif
- #else
error_code = dbm_store( fout , package , dat , DBM_REPLACE );
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\terror_code = dbm_store( fout , package , dat , DBM_REPLACE );\n");
- fprintf(stderr, "\t\terror_code: %d\n", error_code);
- # endif
-
- #endif
-
/* if ( error_code < 0 ) {
fprintf( stderr , "dbm_store(%s) failed on user ( %s ) (errno = %d)\n" , dbase , user ,
errno );
} else {
fprintf( stderr , "user updated into cache.\n" );
} */ /* if */
} /* if */
-
- #ifdef HAVE_GDBM
- gdbm_close(fout);
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\tgdbm_close(fout);\n");
- # endif
- #else
dbm_close( fout );
-
- # ifdef ONLINE_DEBUG
- fprintf(stderr, "\tdbm_close( fout );\n");
- # endif
- #endif
break;
} /* switch */
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_passwd_against_domain_controller
stop\n", __FILE__, __LINE__);
- #endif
-
return ret;
}
/*
- * checked for GNU dbm
- */
-
- /*
* Check if user - password pair is valid.
*
* @param r for error messages
--- 180,199 ----
***************
*** 392,423 ****
{
int i , j , ret;
char err_str[ MAX_STRING_LEN ];
-
- #ifdef HAVE_GDBM
- GDBM_FILE f = NULL;
- #else
DBM* f = NULL;
- #endif
-
datum package = { user , ( strlen( user ) + 1 ) * sizeof( char ) };
datum results;
char* dbase = sec->samba_auth_passwd_cache;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_passwd start\n", __FILE__, __LINE__);
- #endif
-
- #ifdef HAVE_GDBM
- f = gdbm_open(dbase, 0, GDBM_READER, 0664, NULL);
- if (f != NULL && gdbm_errno == GDBM_NO_ERROR) {
- results = gdbm_fetch(f, package);
- gdbm_close(f);
- #else
f = dbm_open( dbase , O_RDONLY , 0664 );
if ( f != NULL && dbm_error( f ) == 0 ) {
results = dbm_fetch( f , package );
dbm_close( f );
- #endif
if ( results.dptr != NULL ) {
char result_str[ MAX_STRING_LEN ];
--- 210,224 ----
***************
*** 472,490 ****
dbase );
} /*for (j) */
} /* for (i) */
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_passwd stop\n", __FILE__, __LINE__);
- #endif
-
return( ( ret == 0 ) ? 0 : -1 );
} /* mod_samba_auth_check_passwd */
/*
- * checked for GNU dbm
- */
-
- /*
* group check
*
* @param r only used for error message reporting
--- 273,282 ----
***************
*** 499,510 ****
char* name ,
char* user )
{
- #ifdef HAVE_GDBM
- static GDBM_FILE f = NULL;
- #else
static DBM* f = NULL;
- #endif
-
static time_t expires = 0;
char full_list[ MAX_STRING_LEN ];
int len;
--- 291,297 ----
***************
*** 512,555 ****
datum package = { user , ( strlen( user ) + 1 ) * sizeof( char ) };
datum results;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_in_group start\n", __FILE__, __LINE__);
- #endif
-
if ( sec->samba_auth_group_dbm == NULL ) {
return -1;
}
if ( ( f != NULL ) && ( time(NULL) > expires ) ) {
- #ifdef HAVE_GDBM
- gdbm_close(f);
- #else
dbm_close( f );
- #endif
f = NULL;
}
if ( f == NULL ) {
expires = time(NULL) + 3600;
-
- #ifdef HAVE_GDBM
- f = gdbm_open(sec->samba_auth_group_dbm, 0, GDBM_READER, 0664, NULL);
-
- if (f == NULL) {
- #else
f = dbm_open( sec->samba_auth_group_dbm , O_RDONLY , 0664 );
if ( dbm_error( f ) != 0 ) {
- #endif
return -1;
}
}
- #ifdef HAVE_GDBM
- results = gdbm_fetch(f, package);
- #else
results = dbm_fetch( f , package );
- #endif
-
if ( results.dptr != NULL ) {
len = results.dsize / sizeof( char );
strncpy( full_list , results.dptr , len );
--- 299,322 ----
***************
*** 567,584 ****
return(0);
}
/* fprintf( stderr , "User didn't belong to right circles :)\n" );*/
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_in_group stop\n", __FILE__, __LINE__);
- #endif
-
return( -1 );
}
- /*
- * checked for GNU dbm
- */
-
/* These functions return 0 if client is OK, and proper error status
* if not... either AUTH_REQUIRED, if we made a check, and it failed, or
* SERVER_ERROR, if things are so totally confused that we couldn't
--- 334,342 ----
***************
*** 593,600 ****
* basic authentication...
*/
! int mod_samba_auth_authenticate_basic_user ( request_rec* r )
! {
mod_samba_auth_config_rec* sec =
(mod_samba_auth_config_rec *)ap_get_module_config (r->per_dir_config,
&samba_auth_module);
--- 351,357 ----
* basic authentication...
*/
! int mod_samba_auth_authenticate_basic_user ( request_rec* r ) {
mod_samba_auth_config_rec* sec =
(mod_samba_auth_config_rec *)ap_get_module_config (r->per_dir_config,
&samba_auth_module);
***************
*** 602,611 ****
char *sent_pw;
int res;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_authenticate_basic_user start\n", __FILE__,
__LINE__);
- #endif
-
if ( !sec->samba_auth_enabled_flag ) {
return DECLINED ;
}
--- 359,364 ----
***************
*** 620,639 ****
ap_note_basic_auth_failure( r );
return AUTH_REQUIRED;
}
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_authenticate_basic_user stop\n", __FILE__,
__LINE__);
- #endif
-
return OK;
}
! /*
! * checked for GNU dbm
! */
!
! int mod_samba_auth_check_auth (request_rec *r)
! {
mod_samba_auth_config_rec* sec =
( mod_samba_auth_config_rec* )ap_get_module_config( r->per_dir_config ,
&samba_auth_module );
--- 373,382 ----
ap_note_basic_auth_failure( r );
return AUTH_REQUIRED;
}
return OK;
}
! int mod_samba_auth_check_auth (request_rec *r) {
mod_samba_auth_config_rec* sec =
( mod_samba_auth_config_rec* )ap_get_module_config( r->per_dir_config ,
&samba_auth_module );
***************
*** 646,655 ****
const char* t;
char* w;
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_auth start\n", __FILE__, __LINE__);
- #endif
-
if ( !reqs_arr ) {
if ( !sec->samba_auth_enabled_flag ) {
return DECLINED;
--- 389,394 ----
***************
*** 697,714 ****
ap_note_basic_auth_failure( r );
return AUTH_REQUIRED;
}
-
- #ifdef ONLINE_DEBUG
- fprintf(stderr, "%s (%d): mod_samba_auth_check_auth stop\n", __FILE__, __LINE__);
- #endif
-
return DECLINED;
}
- /*
- * checked for GNU dbm
- */
-
module samba_auth_module = {
STANDARD_MODULE_STUFF,
NULL, /* initializer */
--- 436,444 ----
***************
*** 727,733 ****
NULL, /* logger */
NULL /* header parser */
};
-
- /*
- * checked for GNU dbm
- */
--- 457,459 ----
mod_auth_samba.h.diff
---------------------
*** mod_auth_samba.h Mon Nov 15 14:33:19 1999
---
/export/home/max.mobil./max.it./AP/HEIN.Martin/src/network/apache/contrib/modules/1.3/mod_auth_samba/mod_auth_samba.h Tue
Jan 19 21:32:45 1999
***************
*** 8,13 ****
#define NTV_PROTOCOL_ERROR 2
#define NTV_LOGON_ERROR 3
! extern int Valid_User(char *USERNAME,char *PASSWORD,char *SERVER, char *BACKUP, char *DOMAIN);
#endif
--- 8,13 ----
#define NTV_PROTOCOL_ERROR 2
#define NTV_LOGON_ERROR 3
! int Valid_User(char *USERNAME,char *PASSWORD,char *SERVER, char *BACKUP, char *DOMAIN);
#endif
Bye,
Martin
------------------------------------------------------------------------
Martin HEIN/max.it Voice: +43-676-3456-337
max.mobil. Telekommunikation Service GmbH FAX: +43-1-79585-6584
Kelsenstrasse 5-7 EMail: Martin.HEIN@maxmobil.at
A - 1030 Vienna/Austria/Europe WWW: http://www.maxmobil.at
========================================================================
---------- Forwarded message ----------
Date: Mon, 15 Nov 1999 13:51:21 +0100 (MET)
From: HEIN Martin <Martin.HEIN@maxmobil.at>
To: Juha.O.Ylitalo@ntc.nokia.com
Cc: DOLLESCHAL Andreas <Andreas.DOLLESCHAL@maxmobil.at>
Subject: mod_auth_samba 1.1: Segementation Fault (11) - gdb output
Heips,
When debugging Apache with gdb, the following output is produced:
(gdb) run -X
Starting program: /usr/local/apa_test/bin/http-1.3.9 -X
[New LWP 2 ]
[New LWP 3 ]
mod_auth_samba.c (42): mod_samba_auth_create_dir_config start
mod_auth_samba.c (52): mod_samba_auth_create_dir_config stop
mod_php3.c (298): php3_create_dir start
mod_php3.c (307): php3_create_dir stop
Program received signal SIGSEGV, Segmentation fault.
mod_samba_auth_check_passwd_against_domain_controller (r=0x0, user=0x0, passwd=0x23ca8e
"$#$#$", server=0x2014e0 "oc_1",
domain=0x200e20 "OECALL_1", dbase=0x21cc20 "/tmp/.mod_auth_samba") at
mod_auth_samba.c:251
251 if ( dbm_error( fout ) != 0 ) {
(gdb)
Bye,
Martin
------------------------------------------------------------------------
Martin HEIN/max.it Voice: +43-676-3456-337
max.mobil. Telekommunikation Service GmbH FAX: +43-1-79585-6584
Kelsenstrasse 5-7 EMail: Martin.HEIN@maxmobil.at
A - 1030 Vienna/Austria/Europe WWW: http://www.maxmobil.at
========================================================================
---------- Forwarded message ----------
Date: Mon, 15 Nov 1999 13:24:54 +0100 (MET)
From: HEIN Martin <Martin.HEIN@maxmobil.at>
To: juha.o.ylitalo@ntc.nokia.com
Cc: DOLLESCHAL Andreas <Andreas.DOLLESCHAL@maxmobil.at>
Subject: mod_auth_samba 1.1: Segementation Fault (11)
Terve,
When trying to use both, php3.0.12 and mod_auth_samba1.1 with apache1.3.9,
I always get a 'Segementation Fault (11)' error.
After adding some simple debugging statements to both of the modules, I
was able to track down this mis-behaviour to funtion
'mod_samba_auth_check_passwd_against_domain_controller', as you can see
for yourself in the output to 'error_log':
mod_php3.c (595): php3_init_handler: start
mod_php3.c (602): php3_init_handler: stop
mod_auth_samba.c (42): mod_samba_auth_create_dir_config start
mod_auth_samba.c (52): mod_samba_auth_create_dir_config stop
mod_php3.c (298): php3_create_dir start
mod_php3.c (307): php3_create_dir stop
mod_php3.c (595): php3_init_handler: start
mod_php3.c (602): php3_init_handler: stop
[Mon Nov 15 13:15:14 1999] [notice] Digest: generating secret for digest authentication ...
[Mon Nov 15 13:15:14 1999] [notice] Digest: done
[Mon Nov 15 13:15:14 1999] [notice] Apache/1.3.9 (Unix) mod_fastcgi/2.2.2 PHP/3.0.12 configured --
resuming normal operations
mod_auth_samba.c (42): mod_samba_auth_create_dir_config start
mod_auth_samba.c (52): mod_samba_auth_create_dir_config stop
mod_auth_samba.c (66): set_samba_auth_enabled_flag start
mod_auth_samba.c (72): set_samba_auth_enabled_flag stop
mod_auth_samba.c (83): set_samba_auth_authorative_flag start
mod_auth_samba.c (89): set_samba_auth_authorative_flag stop
mod_auth_samba.c (104): set_samba_auth_domain_controller start
mod_auth_samba.c (130): set_samba_auth_domain_controller stop
mod_auth_samba.c (141): set_samba_auth_group_dbm start
mod_auth_samba.c (150): set_samba_auth_group_dbm stop
mod_auth_samba.c (453): mod_samba_auth_authenticate_basic_user start
mod_auth_samba.c (42): mod_samba_auth_create_dir_config start
mod_auth_samba.c (52): mod_samba_auth_create_dir_config stop
mod_auth_samba.c (66): set_samba_auth_enabled_flag start
mod_auth_samba.c (72): set_samba_auth_enabled_flag stop
mod_auth_samba.c (83): set_samba_auth_authorative_flag start
mod_auth_samba.c (89): set_samba_auth_authorative_flag stop
mod_auth_samba.c (104): set_samba_auth_domain_controller start
mod_auth_samba.c (130): set_samba_auth_domain_controller stop
mod_auth_samba.c (141): set_samba_auth_group_dbm start
mod_auth_samba.c (150): set_samba_auth_group_dbm stop
mod_auth_samba.c (453): mod_samba_auth_authenticate_basic_user start
mod_auth_samba.c (290): mod_samba_auth_check_passwd start
mod_auth_samba.c (217): mod_samba_auth_check_passwd_against_domain_controller start
mod_auth_samba.c (217): mod_samba_auth_check_passwd_against_domain_controller start
mod_auth_samba.c (42): mod_samba_auth_create_dir_config start
mod_auth_samba.c (52): mod_samba_auth_create_dir_config stop
mod_auth_samba.c (66): set_samba_auth_enabled_flag start
mod_auth_samba.c (72): set_samba_auth_enabled_flag stop
mod_auth_samba.c (83): set_samba_auth_authorative_flag start
mod_auth_samba.c (89): set_samba_auth_authorative_flag stop
mod_auth_samba.c (104): set_samba_auth_domain_controller start
mod_auth_samba.c (130): set_samba_auth_domain_controller stop
mod_auth_samba.c (141): set_samba_auth_group_dbm start
mod_auth_samba.c (150): set_samba_auth_group_dbm stop
mod_auth_samba.c (453): mod_samba_auth_authenticate_basic_user start
mod_auth_samba.c (290): mod_samba_auth_check_passwd start
mod_auth_samba.c (217): mod_samba_auth_check_passwd_against_domain_controller start
[Mon Nov 15 13:19:51 1999] [notice] child pid 15167 exit signal Segmentation Fault (11)
mod_auth_samba.c (217): mod_samba_auth_check_passwd_against_domain_controller start
[Mon Nov 15 13:19:54 1999] [notice] child pid 16329 exit signal Segmentation Fault (11)
Any clues?
Bye,
Martin
------------------------------------------------------------------------
Martin HEIN/max.it Voice: +43-676-3456-337
max.mobil. Telekommunikation Service GmbH FAX: +43-1-79585-6584
Kelsenstrasse 5-7 EMail: Martin.HEIN@maxmobil.at
A - 1030 Vienna/Austria/Europe WWW: http://www.maxmobil.at
========================================================================