OSSP CVS Repository

ossp - Recently changed and open tickets w/description and remarks
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Raw Data]  [SQL

Key: Active Review Fixed Tested Deferred Closed
# Type Status Created By Subsys Changed Assigned Svr Pri Title  
Description
Remarks
 
206 code new May 30 anonymous uuid May 30 rse 3 4 Data::UUID compat create_from_name() is broken edit
Hi, the create_from_namespace() method actually never uses the provided namespace (parameter $nsid).

  --- a/Data/UUID.pm
  +++ b/Data/UUID.pm
  @@ -61,7 +61,7 @@
       my ($self, $nsid, $name) = @_;
       my $uuid = OSSP::uuid->new;
       my $nsiduuid = OSSP::uuid->new;
  -    $nsiduuid->import('bin', $nsiduuid);
  +    $nsiduuid->import('bin', $nsid);
       $uuid = OSSP::uuid->new;
       $uuid->make('v3', $nsiduuid, $name);
       return $uuid->export('bin');

Not sure if fixing this is actually a good idea.

Doing so would mean the code would start generating different UUIDs for the same input. OTOH the current state makes this non-interoperable with other implementations.

 
205 code new 2021 Feb anonymous uuid 2021 Feb rse 5 2 typo in uuid.so edit
There is a typo "contant" in uuid.so. It should probably read "constant"?
Like:

  $ perl -MOSSP::uuid -le 'print OSSP::uuid->new->typo'
  unknown contant OSSP::uuid::typo at -e line 1.

TIA && Cheers

 
5 code new 2002 Nov setup mm 2020 Aug anonymous 1 2 This module cause a problem with Apache and PHP4 edit
Hi,

I'm trying to use Apache 1.3.26 with php4: 4.2.2-82 and libmm 1.2.1

When trying to start Apache with this combination, following error message is created: PHP Fatal error: Unable to start session mm module in Unknown on line 0

I have checked for the error on google and this seems to be a very widely seen problem. Some people have traced it down to libmm.

See here a very usefull url, describing the potential problem cause: ¤http://garbo.uwasa.fi/pub/linux/SuSE_update/8.0/patches/mm-1118

And here is a quote of the problem from the above link: --start of quote (At initialization, the PHP interpreter tries to get an as large shared memory segment as possible, and MM would try to allocate more than by default is available via /proc/sys/kernel/shmmax. "PHP Fatal error: Unable to start session mm module in Unknown on line 0". In this package the MM internal maximum value is set according to the system default shmmax value again (32MB) --end of quote

Can you fix this problem in the next build of libmm, so that it will be included in new distributions (like SuSE, which I'm using myself)?

It will safe a lot of people a lot of time, trying to find some patch for their current distribution.

Thanks and kind regards, Alex Wulms

 
204 event new 2019 Aug anonymous uuid 2019 Aug   1 1 Unable to connect to ftp edit
When clicking on any link leading to uuid software (not just v 1.6.2), the connection to the ftp cannot be established.
 
203 code new 2017 Nov anonymous uuid 2017 Nov rse 1 2 Trouble configuring with clang++ on android platform, arch-arm64 edit
I am configuring with CC environment variable pointing to clang++, specifically from the android-ndk-r15c release. Also I am running the configure script with --host aarch64-none-linux-android although I also tried the triplet x86_64-linux-android with no success.

The configure script is stopping with checking host system type... Invalid configuration `x86_64-linux-android`: system `android` not recognized

Is there a workaround for this? I would be OK with using a regular C compiler however I chose clang++ because the ndk examples on android are all using it, and I need to gain more experience before attempting to build examples and existing code with regular C.

Thank you.

 
202 doc new 2016 Jun anonymous uuid 2016 Jun rse 3 1 export uuid edit
Existe a possibildiade de usar a biblioteca uuid em aplicativos em pascal/delphi?
 
201 doc new 2016 Jun anonymous uuid 2016 Jun rse 3 1 export uuid edit
Existe a possibildiade de usar a biblioteca uuid em aplicativos em pascal/delphi?
 
200 code new 2015 Sep anonymous uuid 2015 Sep rse 3 3 uuid.pc.in does not use the right autoconf variables for paths edit
uuid.pc.in does not use the correct variables to define exec_prefix, includedir and libdir. As a result, if a build system overrides the default, the exported location hints are wrong. Eg: ¤https://github.com/Homebrew/homebrew/issues/43843 OSX's HomeBrew passes "--includedir=#{include}/ossp", but the generated uuid.pc does NOT use it, so the header location is wrong.

This simple patch fixes it:

  --- uuid.pc.in  2015-09-12 04:03:34.921192349 +0100
  +++ uuid.pc.in  2015-09-12 04:13:53.226386329 +0100
  @@ -30,5 +30,5 @@
   prefix=@prefix@
  -exec_prefix=${prefix}
  -includedir=${prefix}/include
  -libdir=${exec_prefix}/lib
  +exec_prefix=@exec_prefix@
  +includedir=@includedir@
  +libdir=@libdir@
 
199 code new 2015 Apr anonymous uuid 2015 Apr rse 1 1 aggregate 'uuid_t uu' has incomplete type and cannot be defined edit
I try to install libdap 3.14.0 on CentOS 7. The system is fresh new meaning no 'libuuid-devel' is installed. I want to manually install uuid, and it is built successfuly. But when I built libdap, I encountered the following error:

DODSFilter.cc: In member function 'virtual void libdap::DODSFilter::dataset_constraint_ddx(libdap::DDS&, libdap::ConstraintEvaluator&, std::ostream&, const string&, const string&, bool) const':
DODSFilter.cc:895:12: error: aggregate 'uuid_t uu' has incomplete type and cannot be defined
     uuid_t uu;
            ^
DODSFilter.cc:896:21: error: 'uuid_generate' was not declared in this scope
     uuid_generate(uu);
                     ^
DODSFilter.cc:898:30: error: 'uuid_unparse' was not declared in this scope
     uuid_unparse(uu, &uuid[0]);
 
198 code new 2015 Mar anonymous uuid 2015 Mar rse 2 2 Cannot cross compile for ARM architecture edit
Executing: ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

Generate error from configure:

  ...
  checking for accept in -lsocket... no
  checking for va_copy() function... configure: error: cannot run test program while cross compiling
  See `config.log' for more details.

The problem is AC_CHECK_VA_COPY() from uuid.ac file.

Workaround: ac_cv_va_copy=C99 ./configure --host=arm-linux CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++

 
197 code new 2014 Oct anonymous lmtp2nntp 2014 Oct thl 1 1 550 5.1.1 Recipient did not transform into group. edit
I have a problem to bring this gateway to a new server. we have used this Software for many years on an old SuSe System. without problems. after porting this Gateway to the actual Opensuse this program should not working as expected. Both Systems using an MTA with Postfix. So the Konfiguration of the Gateway could leave as is. I dont understand what is going wrong. when I will send a Mail to the Gateway in the same manner as the old system I keep following Message:

<mcc.fn.test@lmtp2nntp.invalid> (expanded from <mcc.fn.test@mail2news.mobilcom.de>): host 127.0.0.1[127.0.0.1] said: 550 5.1.1 Recipient did not transform into group. (in reply to RCPT TO command)


Reporting-MTA: dns; hermes.mobilcom.de X-Postfix-Queue-ID: B04F836041 X-Postfix-Sender: rfc822; jim.panse@mailhost-new.mobilcom.de Arrival-Date: Mon, 20 Oct 2014 18:24:43 +0200 (CEST)

Final-Recipient: rfc822; mcc.fn.test@lmtp2nntp.invalid Original-Recipient: rfc822;mcc.fn.test@mail2news.mobilcom.de Action: failed Status: 5.1.1 Remote-MTA: dns; 127.0.0.1 Diagnostic-Code: smtp; 550 5.1.1 Recipient did not transform into group.


At this time the gateway does not contact the news system and does not check for the existence of this newsgroup.

I know this piece of code is very old, but there is no alternativ at the market to do the same.

Kind Regards

Bernd

 
196 code new 2013 Dec anonymous uuid 2013 Dec rse 1 1 Unable to cross compile due to AC_TRY_RUN edit
When trying to cross compile uuid for arm configure stops with following error: checking for va_copy() function... configure: error: cannot run test program while cross compiling

This is due to AC_TRY_RUN(__va_copy_test($2), [ac_cv_va_copy="$1"]) in aclocal.m4. I worked around this problem by defining ac_cv_va_copy=C99 as an environment variable before configure.

It would be nice to have cross compilation working out of the box

 
195 code new 2013 Nov anonymous pth 2013 Nov rse 2 3 Correctly detect FD_SETSIZE even on AIX. edit
Hi Ralf!

On AIX I do encounter this compilation error:

  ./libtool --mode=compile --quiet powerpc-ibm-aix7.1.0.0-gcc -c -I. -O2 -pipe pth_debug.c
  In file included from pth_p.h.in:54,
                   from pth_debug.c:29:
  pth.h:93:2: error: #error "FD_SETSIZE is larger than what GNU Pth can handle."
  Makefile:154: recipe for target 'pth_debug.lo' failed
  make: *** [pth_debug.lo] Error 1

Ok, AIX defines this one:

  $ grep 'define *FD_SETSIZE' /usr/include/sys/*.h
  /usr/include/sys/time.h:#define FD_SETSIZE     65534

Wondering what the relevant configure part was:

  checking for default value of FD_SETSIZE... 1024

And in config.log:

  configure:19255: checking for default value of FD_SETSIZE
  configure:19286: powerpc-ibm-aix7.1.0.0-gcc -o conftest  -O2 -pipe   conftest.c  >&5
  conftest.c: In function 'main':
  conftest.c:53: error: 'fd_set' undeclared (first use in this function)
  conftest.c:53: error: (Each undeclared identifier is reported only once
  conftest.c:53: error: for each function it appears in.)
  conftest.c:56: warning: incompatible implicit declaration of built-in function 'exit'
  configure:19286: $? = 1
  configure: program exited with status 1

Ok, fixing these both problems (error and warning) with this diff:

  --- pth-2.0.7/aclocal.m4
  +++ pth-2.0.7/aclocal.m4
  @@ -1185,7 +1185,9 @@
   changequote(<<, >>)dnl
   <<
   #include <stdio.h>
  +#include <stdlib.h>
   #include <sys/types.h>
  +#include <sys/time.h>
   #include <unistd.h>
   int main(int argc, char *argv[])
   {

After promoting this patch to configure, the relevant line reads:

  checking for default value of FD_SETSIZE... 65534

and the compilation succeeds. Also, 'make test' tells this result now:

  Pth: OK: powerpc-ibm-aix7.1.0.0 | mcsc/sc/mc | down | 2.0.7

Thank you! /haubi/

 
194 code new 2013 Jul anonymous   2013 Jul rse 1 1 Errors while compiling: libuuid.a could not read symbols: Bad value. edit
Compiling on x86_64 Arch Linux results in the following error: /usr/bin/ld: src/perlDeps/uuid-1.6.2/perl/../build/.libs/libuuid.a(uuid.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC src/perlDeps/uuid-1.6.2/perl/../build/.libs/libuuid.a: could not read symbols: Bad value collect2: error: ld returned 1 exit status make[1]: *** [blib/arch/auto/OSSP/uuid/uuid.so] Error 1 make[1]: Leaving directory `src/perlDeps/uuid-1.6.2/perl' make: *** [all] Error 2
 
190 code new 2012 Jun anonymous uuid 2013 May rse 1 1 v1 uuids not working on Linux or with MAC addrs with high-bit set edit
I can't get a v1 uuid on CentOS 6.2 or Fedora 16 with 1.6.2.

[philipp@builder ~]$ uuid -v1
639519c8-b019-11e1-9b4b-ff91eac3a44f
[philipp@builder ~]$ uuid -d `uuid -v1`
encode: STR: 6aed0654-b019-11e1-abf4-8f6127f75e13
SIV: 142128870312796779101177586876736298515
decode: variant: DCE 1.1, ISO/IEC 11578:1996
version: 1 (time and node based)
content: time: 2012-06-06 20:51:41.241506.0 UTC
clock: 11252 (usually random)
node: 8f:61:27:f7:5e:13 (local multicast)
[philipp@builder ~]$ ip -0 link show

  1. lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  2. p6p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:22:15:ba:83:bf brd ff:ff:ff:ff:ff:ff
    [philipp@builder ~]$

Also, note that when using NetworkManager, eth0 gets renamed as p6p1, so the Linux code won't find "eth0".

Looking at uuid.c:970:

    /*
     *  GENERATE NODE
     */

    if ((mode & UUID_MAKE_MC) || (uuid->mac[0] & BM_OCTET(1,0,0,0,0,0,0,0))) {

what is this code testing for in the right-hand side? Is it testing whether the MAC address was undiscovered? If so, you need to test all 6 octets, i.e.

!memcmp(uuid->mac, "\200\0\0\0\0\0", MAC_LEN)

instead.

If you're testing for a Multicast address, you want:

(uuid->mac[0] & IEEE_MAC_MCBIT)

instead.

2012-Jun-07 09:04:13 by anonymous:
Applied a fix here:

bugzilla.redhat.com/show_bug.cgi?id=829532

please note that configure (or configure.ac or one of its include files) needs to detect /usr/include/netpacket/packet.h on linux.


2013-Apr-12 19:25:19 by anonymous:
This is a trivial fix. Can we please get some movement on this? Thanks.


2013-May-30 21:16:49 by anonymous:
If there's a problem with the fix, can you please add a comment saying so that I may rework the patch?
 
193 code new 2013 May anonymous uuid 2013 May rse 4 3 libossp-uuid should not use install -s; cross-compilation issue edit
It's more challenging than one would like to cross-compile libossp-uuid. This is in part because it uses 'install -s' in its makefile. This whitepaper has some information about why this is a problem: ¤https://www.kernel.org/doc/ols/2004/ols2004v2-pages-163-174.pdf&#8206;

In a nutshell, the strip binary doesn't work when it encounters a file from a different architecture. So when 'install' invokes '/usr/bin/strip' it gets the wrong version of strip when cross-compiling. A cleaner solution is to define STRIP in the makefile and invoke it directly. That way, a cross-compile environment can just override $STRIP.

Thanks!

 
192 code new 2012 Nov anonymous cfg 2012 Nov rse 1 3 cfg_export dumps core on FreeBSD, Darwin edit
When attempting to evaluate libcfg for a project I'm starting, I ran the test on my FreeBSD 9 and OS X which dumped core. It looks like there's some incorrect usage of va_list variables given that the va_arg() call that initializes s on line 908 of cfg_fmt.c returns invalid memory. I put a va_copy() at the top of cfg_fmt_format(), making a copy of ap, and changed cfg_fmt_format() to operate on that copy. The test then passes. I'm not sure if this is the right solution, but at least the code runs and passes its test.
2012-Nov-03 02:12:26 by anonymous:
I should mention that the test runs and passes on Linux and and Solaris.
 
191 code new 2012 Oct anonymous mm 2012 Oct rse 1 1 two process don't map the same address with same parameter of file edit
I have two process, write and read. The two process build the shared memory with mm_create, and parameter of file point the same file. but the return point MM point the different address.
 
189 new new 2012 Feb anonymous mm 2012 Feb rse 5 3 SIZE_T is preferred than INT for pointer-sized math / printf functions edit
Substitute "int" type usage with "size_t" as needed. Possible bugs on ia64/x86-64 platforms (no exploit, however). Contact me for slightly patched version.
 
188 todo new 2011 Jul anonymous mm 2011 Jul rse 1 1 FTP crashed edit
Error 324 (net::ERR_EMPTY_RESPONSE)
 
187 event new 2011 Jun anonymous uuid 2011 Jun rse 4 4 Unable to make install from build directory other than source director edit
Host OS:

OS X 10.6.8

Configure (OK):

Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ ../../source-dir/ossp-uuid/uuid-1.6.2/configure --prefix=/Users/grahamreitz/Development/root/usr/local --without-perl --without-php --without-pgsql Configuring OSSP uuid (Universally Unique Identifier), version 0.1.0 (24-Jun-2011) ... configure: creating ./config.status config.status: creating Makefile config.status: creating uuid-config config.status: creating uuid.pc config.status: creating uuid.h config.status: creating config.h config.status: executing libtool commands config.status: executing adjustment commands

Make (OK):

Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ make ... gcc -I. -I../../source-dir/ossp-uuid/uuid-1.6.2 -DHAVE_CONFIG_H -O2 -pipe -c ../../source-dir/ossp-uuid/uuid-1.6.2/uuid_cli.c libtool: link: gcc -o .libs/uuid uuid_cli.o ./.libs/libuuid.dylib

Make check (OK):

Make Install (ERROR):

Golan-Trevize:ossp-uuid-1.6.2 grahamreitz$ make install ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/bin ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/include ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/lib/pkgconfig ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/share/man/man3 ../../source-dir/ossp-uuid/uuid-1.6.2/shtool mkdir -f -p -m 755 /Users/grahamreitz/Development/root/usr/local/share/man/man1 ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 755 uuid-config /Users/grahamreitz/Development/root/usr/local/bin/ ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 644 ../../source-dir/ossp-uuid/uuid-1.6.2/uuid-config.1 /Users/grahamreitz/Development/root/usr/local/share/man/man1/ ../../source-dir/ossp-uuid/uuid-1.6.2/shtool install -c -m 644 ../../source-dir/ossp-uuid/uuid-1.6.2/uuid.pc /Users/grahamreitz/Development/root/usr/local/lib/pkgconfig/ cp: ../../source-dir/ossp-uuid/uuid-1.6.2/uuid.pc: No such file or directory make: *** [install] Error 1

 
186 code new 2011 May anonymous uuid 2011 May rse 4 3 'make install' fails on OS X 10.6.7 from a sub build directory edit
1) mkdir build (inside ossp-uuid package root) 2) cd build 3) ../configure (Ok) 4) make (Ok) 5) make check (Ok) 6) make install (See below)

Installs without error when installed from the package root directory.

Golan-Trevize:build grahamreitz$ sudo make install ../shtool mkdir -f -p -m 755 /usr/local ../shtool mkdir -f -p -m 755 /usr/local/bin ../shtool mkdir -f -p -m 755 /usr/local/include ../shtool mkdir -f -p -m 755 /usr/local/lib/pkgconfig ../shtool mkdir -f -p -m 755 /usr/local/share/man/man3 ../shtool mkdir -f -p -m 755 /usr/local/share/man/man1 ../shtool install -c -m 755 uuid-config /usr/local/bin/ ../shtool install -c -m 644 ../uuid-config.1 /usr/local/share/man/man1/ ../shtool install -c -m 644 ../uuid.pc /usr/local/lib/pkgconfig/ cp: ../uuid.pc: No such file or directory make: *** [install] Error 1

 
185 code new 2011 Mar anonymous uuid 2011 Mar rse 3 2 uuid_to_string (uuid_dce_to_string) does not work edit
From this function, calling uuid_export incorrectly which means this function never works. A patch is included ...

  *** uuid_dce.c  Fri Mar 18 13:44:57 2011
  --- uuid_dce.c.new      Fri Mar 18 13:56:35 2011
  ***************
  *** 248,254 ****
            LEAVE;
        vp  = str;
        len = UUID_LEN_STR;
  !     if (uuid_export(uuid, UUID_FMT_STR, &vp, &len) != UUID_RC_OK)
            LEAVE;

        /* indicate successful operation */
  --- 248,254 ----
            LEAVE;
        vp  = str;
        len = UUID_LEN_STR;
  !     if (uuid_export(uuid, UUID_FMT_STR, vp, &len) != UUID_RC_OK)
            LEAVE;

        /* indicate successful operation */
 
184 doc new 2010 Dec anonymous uuid 2010 Dec rse 3 4 Broken links for Documentation on the page for "OSSP uuid" edit
This page for UUID: ¤http://www.ossp.org/pkg/lib/uuid/

Has broken links under the Documentation heading. The report: --- man.cgi: ERROR Can't use an undefined value as filehandle reference (line 104). ---

For example, the first broken link is: ¤http://www.ossp.org/man/man.cgi/pkg/lib/uuid/uuid.pod

--Basil Bourque

 
183 code new 2010 Oct anonymous uuid 2010 Oct rse 4 4 uuid.pc fails to install when building outside source tree edit
Trying to build the uuid library from outside the source tree, I get an error at the "make install" stage:

  ~/build/uuid-1.6.2$ ~/src/uuid-1.6.2/configure --prefix=$HOME/local
  ... [success]
  ~/build/uuid-1.6.2$ make
  ... [success]
  ~/build/uuid-1.6.2$ make install
  ...
  ~/src/uuid-1.6.2/shtool install -c -m 644 ~/src/uuid-1.6.2/uuid.pc ~/local/lib/pkgconfig/
  cp: cannot stat `~/src/uuid-1.6.2/uuid.pc': No such file or directory
  make: *** [install] Error 1

(I've replaced my $HOME with ~ in the output for brevity.)

The problem appears to be that the install rule is trying to copy uuid.pc from the source tree rather than the build tree (where it can actually be found). Other than that, everything seems to work fine.

 
182 new new 2010 Sep anonymous uuid 2010 Sep rse 3 3 UUID: Please Support Win64 edit
According to David Page of EnterpriseDB, ossp-uuid doesn't work on Win64, and thus the uuid-ossp contrib module of PostgreSQL cannot be included on the Windows x64 builds.

If he is correct, please add support for Win64 to ossp-uuid.

If he is incorrect, feel free to close this bug and I'll shoot this back to the PostgreSQL/EnterpriseDB folks.

See: ¤http://archives.postgresql.org/pgsql-general/2010-09/msg01088.php

 
181 new new 2010 Sep anonymous uuid 2010 Sep rse 2 3 Please provide a namespaced header/pkg-config file edit
On a given system, it's anyone's guess whether the result of #include <uuid.h> comes from OSSP uuid, or from e2fsprogs libuuid (¤https://sourceforge.net/projects/e2fsprogs/). Debian currently patches OSSP uuid to rename it to ossp-uuid, to avoid this, but that doesn't solve the problem for non-Debian OSs.

Compounding this problem, both projects install uuid.pc, so if you do a pkg-config check for "uuid", it's anyone's guess which API you'll end up with.

¤https://bugs.freedesktop.org/show_bug.cgi?id=22972 has more on this.

It would be very useful if you could add a header with a namespaced name (/usr/include/ossp-uuid.h would work, for instance), move the uuid declarations there, and make your uuid.h just #include "ossp-uuid.h" for backwards compatibility. Similarly, it'd be great if you could provide ossp-uuid.pc (which is what the Debian package calls it already) in addition to uuid.pc.

I've filed a very similar feature request on e2fsprogs.

 
180 doc new 2010 Jan anonymous mm 2010 Feb rse 4 3 MM manual pages broken on ossp.org edit
hi,

At ¤http://www.ossp.org/pkg/lib/mm/ the manuals are not available, the server reports an error.

2010-Feb-26 04:02:26 by anonymous:
Feb 26, and the man pages are still borked!


2010-Feb-26 04:04:20 by anonymous:
/man/man.cgi/pkg/lib/shtool/shtool.pod

        man.cgi: ERROR

        Can't use an undefined value as filehandle reference (line 104).
 
179 code new 2010 Jan anonymous uuid 2010 Jan rse 2 1 unable to call uuid_compare on OS X edit
on OS X, vendor uuid_compare is contained in a runtime library, which you cannot avoid linking to (see ¤http://developer.apple.com/mac/library/DOCUMENTATION/Darwin/Reference/ManPages/man3/uuid_compare.3.html).

My hacky solution to this problem was to add the following code to uuid.h.in, before compiling and installing ossp-uuid.

  /*
     OS X ships with 'int uuid_compare(uuid_t uu1, uuid_t uu2)' in the c library.
     This will always be picked up when linking. So use a non conflicting name.
  */

  #ifdef __APPLE__
  #define uuid_compare ossp_uuid_compare
  #endif

Maybe there's a better way to solve this?

 
178 code new 2009 Oct anonymous   2009 Oct rse 2 1 Problem compiling uuid-1.6.2 edit
# make make[1]: Entering directory `/tmp/uuid-1.6.2/php' ./configure: line 1623: PHP_INIT_BUILD_SYSTEM: command not found ./configure: line 1629: syntax error near unexpected token `config.nice' ./configure: line 1629: `PHP_CONFIG_NICE(config.nice)' make[1]: *** [config] Error 2 make[1]: Leaving directory `/tmp/uuid-1.6.2/php' make: *** [php/modules/uuid.so] Error 2
 
177 new new 2009 Oct anonymous uuid 2009 Oct rse 3 3 Makefile does not use LDFLAGS edit
There are link problems when building multi arch binaries on Mac OS X

Mac ports work around it with this patch: ¤http://trac.macports.org/browser/trunk/dports/devel/ossp-uuid/files/patch-Makefile.in.diff

This is probably the same issue as ticket #122

 
176 code new 2009 Sep anonymous mm 2009 Sep rse 2 3 CFLAGS not passed to libtool on linkage preventing 64 bit build edit
When building a 64 bit library an error is produced on linkage:
...
./libtool --quiet --mode=compile /opt/studio/SOS11/SUNWspro/bin/cc -c -xO3 -xarch=v9 -I/opt/csw/include mm_vers.c
./libtool --quiet --mode=link /opt/studio/SOS11/SUNWspro/bin/cc -o libmm.la mm_global.lo mm_alloc.lo mm_core.lo mm_lib.lo mm_vers.lo \
            -rpath /opt/csw/lib/64 -version-info `./shtool version -l c -d libtool mm_vers.c`
./libtool --quiet --mode=compile /opt/studio/SOS11/SUNWspro/bin/cc -c -xO3 -xarch=v9 -I/opt/csw/include mm_test.c
./libtool --quiet --mode=link /opt/studio/SOS11/SUNWspro/bin/cc -o mm_test mm_test.lo libmm.la
ld: fatal: file .libs/mm_test.o: wrong ELF class: ELFCLASS64
ld: fatal: File processing errors. No output written to .libs/mm_test
gmake[2]: *** [mm_test] Error 1

This is because the CFLAGS turning on 64 bit are not passed to libtool.

2009-Sep-09 16:45:33 by anonymous:
This patch solves the problem:
diff -Naur mm-1.4.2.orig/Makefile.in mm-1.4.2.patched/Makefile.in
--- mm-1.4.2.orig/Makefile.in   2006-08-10 21:05:55.000000000 +0200
+++ mm-1.4.2.patched/Makefile.in        2009-09-09 16:25:45.161331795 +0200
@@ -75,14 +75,14 @@
 all: $(LIBS) $(MANS) $(TSTS)

 libmm.la: $(OBJS)
-       $(LIBTOOL) --quiet --mode=link $(CC) -o $@ $(OBJS) \
+       $(LIBTOOL) --quiet --mode=link $(CC) $(CFLAGS) -o $@ $(OBJS) \
            -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool mm_vers.c`

 mm_alloc.c mm_core.c mm_global.c: mm.h mm_vers.c
 mm.h: config.h

 mm_test: mm_test.lo libmm.la
-       $(LIBTOOL) --quiet --mode=link $(CC) -o $@ mm_test.lo libmm.la
+       $(LIBTOOL) --quiet --mode=link $(CC) $(CFLAGS) -o $@ mm_test.lo libmm.la

 mm.3: mm.pod
        V1=`$(SHTOOL) version -l c -d short mm_vers.c`; \
 
6 code new 2002 Dec anonymous str 2009 Jun rse 3 3 str_vformat with %.10s specifier can read invalid memory edit
str_vformat() with a format string of '%.10s' can read undefined memory if the string is not NUL terminated.

I fixed this by changing the following code from around line 857 of str_format.c:

                case 's':
                    s = va_arg(ap, char *);
                    if (s != NULL) {
                        s_len = str_len(s);
                        if (adjust_precision && precision < s_len)
                            s_len = precision;
                    }
                    else {
                        s = S_NULL;
                        s_len = S_NULL_LEN;
                    }
                    pad_char = ' ';
                    break;

to:

                case 's':
                    s = va_arg(ap, char *);
                    if (s != NULL) {
                        const char *p = s;
                        int maxlen = adjust_precision ? precision : INT_MAX;
                        s_len = 0;
                        while (*p++ != 0 && maxlen-- > 0)
                            s_len++;
                        if (adjust_precision && precision < s_len)
                            s_len = precision;
                    }
                    else {
                        s = (char *) S_NULL;
                        s_len = S_NULL_LEN;
                    }
                    pad_char = ' ';
                    break;

(There are probably better fixes.)

Hope that's helpful,

Joseph Heenan

2009-Jun-15 13:34:58 by anonymous:
the above code can still give a warning in valgrind; it's best to change the:

while (*p++ != 0 && maxlen-- > 0)

to:

while (maxlen-- > 0 && *p++ != 0)

 
173 code new 2009 Jun anonymous str 2009 Jun rse 3 3 bug in OSSP str_format.c %x handling? edit
One of my colleagues found that %x sometimes doesn't output the '0x', particularily "%d : %x", a, b doesn't print the 0x when a == 0.

It appears this code could be at fault:

                /* Unsigned Hexadecimal Integer */
                case 'x':
                case 'X':
                    if (var_type == IS_QUAD) {
                        ui_quad = va_arg(ap, u_quad_int);
                        s = conv_p2_quad(ui_quad, 4, *fmt,
                                         &num_buf[NUM_BUF_SIZE], &s_len);
                    }
                    else {
                        if (var_type == IS_LONG)
                            ui_num = (u_long_int)va_arg(ap, u_long_int);
                        else if (var_type == IS_SHORT)
                            ui_num = (u_long_int)(unsigned short)va_arg(ap, unsigned int);
                        else
                            ui_num = (u_long_int)va_arg(ap, unsigned int);
                        s = conv_p2(ui_num, 4, *fmt, &num_buf[NUM_BUF_SIZE], &s_len);
                    }
                    FIX_PRECISION(adjust_precision, precision, s, s_len);
                    if (alternate_form && i_num != 0) {
                        *--s = *fmt; /* 'x' or 'X' */
                        *--s = '0';
                        s_len += 2;
                    }
                    break;

I think the:

                    if (alternate_form && i_num != 0) {

should be:

                    if (alternate_form && ui_num != 0) {
 
172 new new 2009 Apr anonymous uuid 2009 Apr rse 4 4 uuid changes behaviour under Linux when the ethernet device is'nt eth0 edit
When uuid is run under Linux, and the ethernet device is not eth0, it silently falls back to using random multicast MAC addresses for v1 uuids. While v1 UUIDs may be conseidered insecure because they allow the generating machine to be identified, they are often useful for the same reason.

udev Linux distros link the MAC addresses with the device names, so that removable devices don't randomly change configuration, and fixed hardware doesn't depend on driver load order. This can result in a machine that has eth2, but not eth[01], for example.

This appears to affect programs that use the library as well, and not just the CLI, but that's where I discovered it so I'm reporting it as such.

Steps to reproduce: Set up a udev Linux distro (Ubuntu, Debian, etc.), then change the ethernet hardware, and run uuid.

Expected behaviour: uuid should use the new MAC address.

Actual behaviour: uuid does not identify the new ethernet address and silently used random multicast MAC addresses.

Workaround: Reconfigure udev to make the new device eth0.

Suggested fixes: 1. Discover device names, or iterate through potential ones. 2. Emit a warning if uuid expected to use a hardware address but couldn't. 3. Allow a MAC address to be specified. 4. Allow an ethernet device to be specified, either on the command line or through an environment variable.

 
170 code new 2009 Feb anonymous ex 2009 Feb rse 1 1 [OSX] make install fails to install package with abstract message edit
system: iMactel OSX10.5.6, xcode 3.0, gcc 4.0.1

When installing the package, a message is generated and no files are installed. The message is "make: `install' is up to date."

A.

 
164 code new 2008 Jan anonymous uuid 2009 Feb rse 2 2 Header doesn't work if <unistd.h> is included first edit
PostgreSQL 8.3's --with-ossp-uuid looks for uuid.h but, in the process, first loads unistd.h, and on Mac OS X at least, this include is not compatible with UUID. Details here:

Details here:

  http://archives.postgresql.org/pgsql-bugs/2008-01/msg00255.php

Thanks,

David

2009-Feb-04 09:01:28 by anonymous:
Hi! I was wondering if there were some news on this issue (which seems to be the same issue as ticket #81). I'm facing the same problem on OS X 10.5.6 when I use AC_CHECK_HEADERS(uuid.h) in my configure.ac. Any solutions? - Jan
 
169 code new 2008 Jul anonymous uuid 2008 Jul rse 3 3 return representation too 'C' for string(). edit
For string() and such, the return format is a char * ... this means the caller has to free() some allocated memory (kind of ugly).

A better solution would be to return an std::string. Though this may break some existing user's compatibility, it will make uuid much nicer to use, rather than:

char *sid = id.string(); printf("%s\n", sid); free(sid);

I could just do:

printf("%s\n", id.string().c_str());

 
166 code new 2008 Mar anonymous pth 2008 Mar rse 1 1 pth does not compile edit
I'm trying to compile pth for arm on openmoko using open embedded. ( ¤http://bugs.openembedded.org/show_bug.cgi?id=3988 ) I noticed someone having the same problem on collie too ( ¤http://www.oesf.org/forum/index.php?s=52d73b73f22aeb6eff52436e04055954&showtopic=23905 )

I'm trying to build with gcc-4.1.2 and glibc-2.5. Any hint on how to get it to compile would be appreciated.

It fails on:

./libtool --mode=compile --quiet arm-angstrom-linux-gnueabi-gcc -march=armv4t -mtune=arm920t -c -isystem/home/moko/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/include -I. -isystem/home/moko/build/tmp/staging/arm-angstrom-linux-gnueabi/usr/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -Os -I/home/moko/build/tmp/work/armv4t-angstrom-linux-gnueabi/pth-2.0.7-r0/pth-2.0.7 -pipe pth_mctx.c pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version and/or platform" make: *** [pth_mctx.lo] Error 1

 
165 doc new 2008 Mar anonymous uuid 2008 Mar setup 1 1 Windows/Postgres install edit
It's not clear how I can use the UUID in postgres with a Windows OS. What directory do I put the 1.6.1 build into?
 
163 code new 2007 Nov anonymous uuid 2007 Nov rse 1 1 pgsql unable to insert NULL into uuid colums as DEFAULT values edit
Hi, trying to insert a new row into a table that has a uuid column that is allowed to be NULL without an explicit value for the NULL column (as in using DEFAULT), fails.

An example that first shows the table definition, then the failing statement followed by the explicit insert statement that tries the same with DEFAULT and finally the explicit insert that works:

  simon=# \d bar
      Table "public.bar"
   Column | Type | Modifiers
  --------+------+-----------
   foo    | uuid |
   data   | text | not null
  Foreign-key constraints:
      "bar_foo_fkey" FOREIGN KEY (foo) REFERENCES foo(id)

  simon=# insert into bar (data) values ('bla');
  ERROR:  invalid UUID string length 7 (expected 36)
  simon=# insert into bar (foo, data) values (DEFAULT, 'bar');
  ERROR:  invalid UUID string length 7 (expected 36)
  simon=# insert into bar (foo, data) values (NULL, 'bla');
  INSERT 0 1

No idea or patch on how to solve it yet, but at least i wanted to file a ticket so others have a chance to come up with a possible fix.

 
162 code new 2007 Nov anonymous uuid 2007 Nov rse 1 3 ossp-uuid 1.6.0 w/ bindings for PostgreSQL 8.3beta2 fails in 'make' edit
Building ossp-uuid 1.6.0 w/ bindings for PostgreSQL 8.3 beta 2 fails in 'make' w/ the following error:

  uuid.c: In function 'pg_uuid_send':
  uuid.c:203: error: 'struct varlena' has no member named 'vl_len'
  make[1]: *** [uuid.o] Error 1
  make: *** [pgsql/libuuid.so] Error 2

See the attached log for additional details.

Thanks,

Jörg Beyer

 
160 code new 2007 Oct anonymous uuid 2007 Oct rse 3 2 ossp uuid 1.6.0 fails in 'make check' on OS X 10.4.10 edit
Hi.

I tried to install ossp uuid 1.6.0 on my OS X-machine.

'make check' failed when checking the Perl bindings. See the attached log for additional details.

Any help is highly appreciated -- I need uuid for beta testing the upcoming PostgreSQL 8.3 release...

Thanks,

Jörg Beyer

2007-Oct-13 14:32:08 by anonymous:
'make check' broke with error 2/test_dynamic_error, due to a missing dynamic library, '/usr/local/lib/libuuid.16.dylib'.

Further investigation (especially a close look at the log and the build directory) brought to light that ossp-uuid's 'make check' tried to load a library that couldn't be in place at first pass -- simply because it didn't exist and had yet to be installed. By ossp-uuid itself. That's what I'd call a circular reference ;-) (Nothing wrong with OS X or its DynaLoader, btw.)

Bottom line: run [sudo] make install, then run make check again, and you will see that everything is fine, at least so far.

Hope this helps, cheers Jörg Beyer

 
159 code new 2007 Sep anonymous js 2007 Sep rse 3 1 js portability issues for Windows edit
I'm embedding OSSP js in a project and I found the following problems:

1. There's a bug in the function js_FreeRuntimeScriptState at jsscript.c:994. If you create a runtime and then destroy it before creating any contexts, the statement:

JS_REMOVE_LINK(&sfp->links);

causes a segfault because sfp is NULL. I didn't have the time or inclination to investigate this, but adding:

if(! sfp) break;

before that statement eliminated the crash.

According to the SpiderMonkey team:

"I don't know what version OSSP is using, but this sounds like bug 345350 (¤https://bugzilla.mozilla.org/show_bug.cgi?id=345350). Your patch just detects this in the loop, but that adds an if test to every iteration that runs when the table has not been finished. The patch in bug 345350 tests before the loop."

2. I had to build a Visual Studio solution for js since I need to deploy on Windows as well as UNIX (and mingw/cygwin were not an option). I ran into the following portability problems:

a. prjmtime.c fails to compile because the two #include statements at line 61 are not sufficient; I got lots of errors about LPCONTEXT and such being undefined. I replaced these with a single "#include <windows.h >" to solve the problem.

b. I copied config.h.in to config.h and added the following at the bottom:

#define __VA_COPY_USE __VA_COPY_USE_CPP

But this caused compiler errors because the #define of that macro has a typo: one of the close parens is in the wrong place. It should be: #define __VA_COPY_USE_CPP(d, s) memcpy((void *)(d), (void *)(s), sizeof(*(s)))

It looks like __VA_COPY_USE_CPS has the same problem.

c. The following macros have to be defined globally for the project to eliminate the hundreds of VC++ compiler warnings I got. This should be documented in a README or somewhere:

XP_WIN

OSSP

EXPORT_JS_API

_CRT_SECURE_NO_DEPRECATE

_USE_32BIT_TIME_T

Also I had to turn off the "Detect 64-bit Portability Issues" option (no /Wp64 switch to the compiler).

I will happily contribute my Visual Studio 2005 Solution and Project files if you're willing to add them to the OSSP js distro (it's just 3 small XML files).

 
157 code new 2007 Jun anonymous ex 2007 Aug rse 2 1 pthread library from ex(3) manpage causes segmentation fault edit
The wrapper of type pthread_create_ex_t which saves the thread-function's address and its argument's address is allocated locally (on the stack) in pthread_create_ex() so in pthread_create_wrapper() this memory is not valid anymore.

The applied patch fixes this.

Greetings, Frank

*** pthread_ex.c.manPage	2007-06-15 14:56:55.000000000 +0200
--- pthread_ex.c	2007-06-15 14:57:45.000000000 +0200
***************
*** 1,5 ****
--- 1,6 ----
  #include <stdlib.h>
  #include <pthread.h>
+ #include <errno.h>

  #define PTHREAD_EX_INTERNAL
  #include "pthread_ex.h"
*************** static void *pthread_create_wrapper(void
*** 62,69 ****
      EX_CTX_INITIALIZE(ex_ctx);
      pthread_setspecific(pthread_ex_ctx_key, ex_ctx);

!     /* perform original operation */
!     return wrapper->entry(wrapper->arg);
  }

  /* pthread_create() wrapper */
--- 63,73 ----
      EX_CTX_INITIALIZE(ex_ctx);
      pthread_setspecific(pthread_ex_ctx_key, ex_ctx);

!     /* perform original operation, but free wrapper first */
!     void *(*wentry)(void *) = wrapper->entry;
!     void *warg = wrapper->arg;
!     free(wrapper);
!     return wentry(warg);
  }

  /* pthread_create() wrapper */
*************** int pthread_create_ex(pthread_t *thread,
*** 71,81 ****
                        const pthread_attr_t *attr,
                        void *(*entry)(void *), void *arg)
  {
!     pthread_create_ex_t wrapper;

      /* spawn thread but execute start
         function through wrapper */
!     wrapper.entry = entry;
!     wrapper.arg   = arg;
!     return pthread_create(thread, attr, pthread_create_wrapper, &wrapper);
  }
--- 75,86 ----
                        const pthread_attr_t *attr,
                        void *(*entry)(void *), void *arg)
  {
!     pthread_create_ex_t* wrapper = (pthread_create_ex_t*)malloc(sizeof(pthread_create_ex_t));
!     if (wrapper == NULL) return ENOMEM;

      /* spawn thread but execute start
         function through wrapper */
!     wrapper->entry = entry;
!     wrapper->arg   = arg;
!     return pthread_create(thread, attr, pthread_create_wrapper, wrapper);
  }
 
156 code new 2007 Jun anonymous uuid 2007 Jun rse 3 1 Also install documentation edit
Porting uuid/pgsql, i noticed the lack of installed documentation when building the package.

Here's a trivial patch that installs and also deinstalles in the same manner as done right now. I've just made it use PostgreSQLs $(docdir) variable so it should fit everywhere.

Regards, Simon

	--- pgsql/Makefile.orig	Mon Nov 20 20:26:27 2006
	+++ pgsql/Makefile	Fri Jun  8 16:38:50 2007
	@@ -42,10 +42,12 @@ install: all
	 	$(mkinstalldirs) $(DESTDIR)$(datadir)
	 	$(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX)
	 	$(INSTALL_DATA) uuid.sql $(DESTDIR)$(datadir)/uuid.sql
	+	$(INSTALL_DATA) uuid.txt $(DESTDIR)$(docdir)/uuid.txt

	 uninstall:
	 	-rm -f $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX)
	 	-rm -f $(DESTDIR)$(datadir)/uuid.sql
	+	-rm -f $(DESTDIR)$(docdir)/uuid.txt

	 clean distclean: clean-lib
	 	rm -f $(OBJS)
 
155 code new 2007 Jun anonymous uuid 2007 Jun rse 4 2 Fix for broken Perl test edit
I'm extending the uuid Port for OpenBSD and found a broken test for Perl. The Problem and thus the solution look simple to me: string vs. integer comparison.

Very simple patch to fix it... Regards, Simon

	--- uuid.ts	Mon Jan  1 19:13:20 2007
	+++ /tmp/uuid.ts	Fri Jun  8 16:13:59 2007
	@@ -89,7 +89,7 @@
	     and $len == UUID_LEN_STR), "uuid_export (5)");
	 $rc = uuid_export($uuid_ns, UUID_FMT_SIV, $ptr, $len);
	 ok((    $rc == UUID_RC_OK
	-    and $ptr eq "3789866285607910888100818383505376205"
	+    and $ptr == "3789866285607910888100818383505376205"
	     and $len <= UUID_LEN_SIV), "uuid_export (6)");

	 $rc = uuid_destroy($uuid_ns);
 
154 code new 2007 Mar anonymous pth 2007 Mar rse 1 1 pth_scheduler_load in uninterruptible loop if time is adjusted forward edit
On my embedded system without a realtime clock, my application would stop responding when NTP adjusts the time from the initial time of Jan 1, 2000 to the current time Mar 27, 2007. Neither Ctrl+C nor kill could stop the application. I have traced the problem to the load average updating loop in the pth_scheduler_load() macro in pth_sched.c. When the system time is adjusted forwards, the loop is iterated once for every second. In my case, 7 years translates roughly into 220 million loops.

The following patch allows the pth_scheduler_load() macro to detect a discontinuity in the time, either backwards, or forwards by more than 10 seconds. Upon detection of the discontinuity, the load average value is reset to the current load.


  --- pth-2.0.7.orig/pth_sched.c	2006-06-08 10:54:03.000000000 -0700
  +++ pth-2.0.7/pth_sched.c	2007-03-27 15:55:23.000000000 -0700
  @@ -137,20 +137,31 @@
    * been occurred and we would have been given more chances to operate).
    * The actual average load is calculated through an exponential average
    * formula.
  + *
  + * If the system clock is adjusted forward by more than 10 seconds,
  + * or if the system clock is adjusted backwards, the load average is
  + * reset to the current load.
    */
  -#define pth_scheduler_load(now) \
  -    if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \
  -        pth_time_t ttmp; \
  -        int numready; \
  -        numready = pth_pqueue_elements(&pth_RQ); \
  +
  +#define pth_scheduler_load(now) { \
  +    pth_time_t ttmp; \
  +    pth_time_t ten_sec = PTH_TIME(10,0); \
  +    int numready; \
  +    numready = pth_pqueue_elements(&pth_RQ); \
  +    pth_time_set(&ttmp, (now)); \
  +    pth_time_sub(&ttmp, &pth_loadticknext); \
  +    if ((pth_time_cmp(&ttmp, &ten_sec) >= 0) || !pth_time_pos(&ttmp)) { \
  +         pth_loadval = numready; \
  +    } else { \
           pth_time_set(&ttmp, (now)); \
           do { \
               pth_loadval = (numready*0.25) + (pth_loadval*0.75); \
               pth_time_sub(&ttmp, &pth_loadtickgap); \
           } while (pth_time_cmp(&ttmp, &pth_loadticknext) >= 0); \
  -        pth_time_set(&pth_loadticknext, (now)); \
  -        pth_time_add(&pth_loadticknext, &pth_loadtickgap); \
  -    }
  +    } \
  +    pth_time_set(&pth_loadticknext, (now)); \
  +    pth_time_add(&pth_loadticknext, &pth_loadtickgap); \
  +}

   /* the heart of this library: the thread scheduler */
   intern void *pth_scheduler(void *dummy)
  }
I noticed a logic flaw in the patch for detecting backwards discontinuity in time. Here is an updated patch:


  --- pth-2.0.7.orig/pth_sched.c	2006-06-08 10:54:03.000000000 -0700
  +++ pth-2.0.7/pth_sched.c	2007-03-28 10:43:30.000000000 -0700
  @@ -137,12 +137,25 @@
    * been occurred and we would have been given more chances to operate).
    * The actual average load is calculated through an exponential average
    * formula.
  + *
  + * If the system clock is adjusted forward by more than 10 seconds,
  + * or if the system clock is adjusted backwards, the load average is
  + * reset to the current load.
    */
  -#define pth_scheduler_load(now) \
  -    if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \
  -        pth_time_t ttmp; \
  -        int numready; \
  -        numready = pth_pqueue_elements(&pth_RQ); \
  +
  +#define pth_scheduler_load(now) { \
  +    pth_time_t ttmp; \
  +    pth_time_t ten_sec = PTH_TIME(10,0); \
  +    int numready; \
  +    numready = pth_pqueue_elements(&pth_RQ); \
  +    pth_time_set(&ttmp, (now)); \
  +    pth_time_add(&ttmp, &pth_loadtickgap); \
  +    pth_time_sub(&ttmp, &pth_loadticknext); \
  +    if ((pth_time_cmp(&ttmp, &ten_sec) >= 0) || !pth_time_pos(&ttmp)) { \
  +         pth_loadval = numready; \
  +        pth_time_set(&pth_loadticknext, (now)); \
  +        pth_time_add(&pth_loadticknext, &pth_loadtickgap); \
  +    } else if (pth_time_cmp((now), &pth_loadticknext) >= 0) { \
           pth_time_set(&ttmp, (now)); \
           do { \
               pth_loadval = (numready*0.25) + (pth_loadval*0.75); \
  @@ -150,7 +163,8 @@
           } while (pth_time_cmp(&ttmp, &pth_loadticknext) >= 0); \
           pth_time_set(&pth_loadticknext, (now)); \
           pth_time_add(&pth_loadticknext, &pth_loadtickgap); \
  -    }
  +    } \
  +}

   /* the heart of this library: the thread scheduler */
   intern void *pth_scheduler(void *dummy)


- Edwin
 
151 new new 2007 Feb anonymous lmtp2nntp 2007 Feb rse 4 4 postfix lmtp: enhanced "RCPT TO" edit
Hi .*,

postfix (I assume beginning with 2.3.x) generates "RCPT TO" envelope addresses extended by the "ORCPT" original recipient component. E.g. RCPT TO:<newsgroup@lmtp2nntp.invalid> ORCPT=rfc822;newsgroup@lmtp2nntp.invalid

The additional component might lead to problems if lmtp2nntp runs in groupmode envelope since the parsing of the envelope address will give an unexpected result. For me, the following patch (lmtp2nntp-1.4.1) works, but this is not a thorough parsing at all:

--- lmtp2nntp_main.c    2004-05-07 16:52:03.000000000 +0200
+++ lmtp2nntp_main.c    2007-02-07 20:05:00.000000000 +0100
@@ -1315,7 +1315,7 @@
      *  RFC1893 3.5 Network and Routing Status          X.5.2   Syntax error
      */
     logbook(ctx->l2, L2_LEVEL_TRACE, "checking parameter syntax");
-    if (str_parse(req->msg, "m/^RCPT To:\\s*(.+)$/i", &cp) <= 0) {
+    if (str_parse(req->msg, "m/^RCPT To:\\s*(\\S+)/i", &cp) <= 0) {
         res.statuscode = "501";
         res.dsncode    = "5.5.2";
         res.statusmsg  = "Syntax error in parameters.";=
For me, lmtp2nntp covers much more than I need but is still easy to configure - thank you.
 
150 code new 2007 Feb anonymous uuid 2007 Feb anonymous 1 1 uuid_dce_to_string doesn't work edit
When using the DCE 1.1 backwards compatibility interface, the function uuid_to_string (which is actually uuid_dce_to_string) doesn't work properly. I debugged through it and there are two problems.

1. On line 250:

  len = UUID_LEN_STR

should be:

  len = UUID_LEN_STR + 1

as this is later checked in the function below uuid_export().

2. On line 251: third parameter to uuid_export should be 'vp' and not '&vp'. The uuid_to_string function already receives a pointer to a char array in 'str'. The functions below uuid_export() do not expect another level of indirection.

 
146 code new 2006 Nov anonymous uuid 2006 Nov setup 1 1 Can't install ossp-uuid-1.5.1 edit
#cd /usr/ports/misc/ossp-uuid/

#make WITH_PERL=yes

.....

configure: creating ./config.status

config.status: creating Makefile

config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting config.status: creating uuid-config

config.status: WARNING: uuid-config.in seems to ignore the --datarootdir setting

config.status: creating uuid.pc

config.status: creating uuid.h

config.status: creating config.h

config.status: executing adjustment commands

===> Building for ossp-uuid-1.5.1

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid.c -o uuid.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_md5.c -o uuid_md5.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_sha1.c -o uuid_sha1.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_prng.c -o uuid_prng.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_mac.c -o uuid_mac.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_ui64.c -o uuid_ui64.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c uuid_ui128.c -o uuid_ui128.o

cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_str.c -o uuid_str.o

mkdir .libs

libtool: link: warning: `-rpath' is ignored for archives

libtool: link: warning: `-version-info/-version-number' is ignored for archives ar cru libuuid.a uuid.o uuid_md5.o uuid_sha1.o uuid_prng.o uuid_mac.o uuid_ui64.o uuid_ui128.o uuid_str.o ranlib libuuid.a cc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -march=pentium4 -c ./uuid_cli.c cc -o uuid uuid_cli.o libuuid.a

no source directory found (where libuuid.la is located) at Makefile.PL line 37.

*** Error code 2

Stop in /usr/ports/misc/ossp-uuid/work/uuid-1.5.1.

*** Error code 1

Stop in /usr/ports/misc/ossp-uuid.

#perl -v This is perl, v5.8.8 built for i386-freebsd-64int

#uname -a FreeBSD dst10 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6

 
145 code new 2006 Nov anonymous uuid 2006 Nov setup 1 1 Can't install perl module OSSP:UUID edit
#./configure --with-perl Configuring ESC[1mOSSP uuidESC[m (Universally Unique Identifier), version ESC[1m1.5.1 (31-Jul-2006)ESC[m checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether compiler option(s) -pipe work... yes checking for compilation debug mode... disabled checking build system type... i386-unknown-freebsd6.1 checking host system type... i386-unknown-freebsd6.1 checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for /usr/bin/ld option to reload object files... -r checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking how to run the C++ preprocessor... g++ -E checking for g77... no checking for f77... f77 checking whether we are using the GNU Fortran 77 compiler... yes checking whether f77 accepts -g... yes checking the maximum length of command line arguments... 196608 checking command to parse /usr/bin/nm -B output from gcc object... ok checking for objdir... .libs checking for ar... ar checking for ranlib... ranlib checking for strip... strip checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... yes checking dynamic linker characteristics... freebsd6.1 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes configure: creating libtool checking for gethostname in -lnsl... no checking for gethostbyname in -lnsl... no checking for accept in -lsocket... no checking for va_copy() function... yes checking for sys/types.h... (cached) yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/sockio.h usability... yes checking sys/sockio.h presence... yes checking for sys/sockio.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking for netdb.h... yes checking for ifaddrs.h... yes checking for net/if.h... yes checking for net/if_dl.h... yes checking for net/if_arp.h... yes checking for netinet/in.h... yes checking for arpa/inet.h... yes checking for getifaddrs... yes checking for nanosleep... yes checking for long long... yes checking for long double... yes checking for char... yes checking size of char... 1 checking for unsigned char... yes checking size of unsigned char... 1 checking for short... yes checking size of short... 2 checking for unsigned short... yes checking size of unsigned short... 2 checking for int... yes checking size of int... 4 checking for unsigned int... yes checking size of unsigned int... 4 checking for long... yes checking size of long... 4 checking for unsigned long... yes checking size of unsigned long... 4 checking for long long... (cached) yes checking size of long long... 8 checking for unsigned long long... yes checking size of unsigned long long... 8 checking whether to build DCE 1.1 backward compatibility API... (cached) no checking whether to build C++ bindings to C API... (cached) no checking whether to build Perl bindings to C API... (cached) yes checking whether to build Perl compatibility API... (cached) no checking for perl... /usr/bin/perl checking whether to build PHP bindings to C API... (cached) no checking for php5... no checking for php... no checking whether to build PostgreSQL bindings to C API... (cached) no checking for pg_config... no configure: creating ./config.status config.status: creating Makefile config.status: creating uuid-config config.status: creating uuid.pc config.status: creating uuid.h config.status: creating config.h config.status: executing adjustment commands config.status: WARNING: Makefile.in seems to ignore the --datarootdir setting config.status: WARNING: uuid-config.in seems to ignore the --datarootdir setting

#make mkdir .libs gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid.c -fPIC -DPIC -o .libs/uuid.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid.c -o uuid.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_md5.c -fPIC -DPIC -o .libs/uuid_md5.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_md5.c -o uuid_md5.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_sha1.c -fPIC -DPIC -o .libs/uuid_sha1.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_sha1.c -o uuid_sha1.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_prng.c -fPIC -DPIC -o .libs/uuid_prng.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_prng.c -o uuid_prng.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_mac.c -fPIC -DPIC -o .libs/uuid_mac.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_mac.c -o uuid_mac.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_ui64.c -fPIC -DPIC -o .libs/uuid_ui64.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_ui64.c -o uuid_ui64.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid_ui128.c -fPIC -DPIC -o .libs/uuid_ui128.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid_ui128.c -o uuid_ui128.o >/dev/null 2>&1 gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_str.c -fPIC -DPIC -o .libs/uuid_str.o gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_str.c -o uuid_str.o >/dev/null 2>&1 gcc -shared .libs/uuid.o .libs/uuid_md5.o .libs/uuid_sha1.o .libs/uuid_prng.o .libs/uuid_mac.o .libs/uuid_ui64.o .libs/uuid_u i128.o .libs/uuid_str.o -Wl,-soname -Wl,libuuid.so.15 -o .libs/libuuid.so.15 (cd .libs && rm -f libuuid.so && ln -s libuuid.so.15 libuuid.so) (cd .libs && rm -f libuuid.so && ln -s libuuid.so.15 libuuid.so) ar cru .libs/libuuid.a uuid.o uuid_md5.o uuid_sha1.o uuid_prng.o uuid_mac.o uuid_ui64.o uuid_ui128.o uuid_str.o ranlib .libs/libuuid.a creating libuuid.la (cd .libs && rm -f libuuid.la && ln -s ../libuuid.la libuuid.la) gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c ./uuid_cli.c gcc -o .libs/uuid uuid_cli.o ./.libs/libuuid.so -Wl,--rpath -Wl,/usr/local/lib creating uuid Checking if your kit is complete... Looks good Writing Makefile for OSSP::uuid cp uuid.pod blib/lib/OSSP/uuid.pod cp uuid.pm blib/lib/OSSP/uuid.pm /usr/bin/perl /usr/local/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/local/lib/perl5/5.8.8/ExtUtils/typemap -typemap uuid.t m uuid.xs > uuid.xsc && mv uuid.xsc uuid.c cc -c -I. -I.. -DAPPLLIB_EXP="/usr/local/lib/perl5/5.8.8/BSDPAN" -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -O2 -pipe -march=pentium4 -DVERSION=\"1.0501\" -DXS_VERSION=\"1.0 501\" -DPIC -fPIC "-I/usr/local/lib/perl5/5.8.8/mach/CORE" uuid.c Running Mkbootstrap for OSSP::uuid () chmod 644 uuid.bs rm -f blib/arch/auto/OSSP/uuid/uuid.so LD_RUN_PATH="/usr/home/alexvs/uuid-1.5.1/perl/../.libs" cc -shared -L/usr/local/lib -Wl,-Bsymbolic uuid.o -o blib/arch/auto /OSSP/uuid/uuid.so -L/usr/home/alexvs/uuid-1.5.1/perl/../.libs -L/usr/home/alexvs/uuid-1.5.1/perl/.. -luuid chmod 755 blib/arch/auto/OSSP/uuid/uuid.so cp uuid.bs blib/arch/auto/OSSP/uuid/uuid.bs chmod 644 blib/arch/auto/OSSP/uuid/uuid.bs Manifying blib/man3/OSSP::uuid.3 Warning: -L../.libs changed to -L/usr/home/alexvs/uuid-1.5.1/perl/../.libs Warning: -L.. changed to -L/usr/home/alexvs/uuid-1.5.1/perl/..

#make check ==== UUID version 1 (time and node based): 4 single iterations 4717f0ee-7240-11db-b1bf-00167647fabf 4717f440-7240-11db-add1-00167647fabf 4717f530-7240-11db-aa32-00167647fabf 4717f60c-7240-11db-aad3-00167647fabf ==== UUID version 1 (time and node based): 4 subsequent iterations 47210d82-7240-11db-9367-00167647fabf 472110d4-7240-11db-9368-00167647fabf 4721119c-7240-11db-9369-00167647fabf 47211246-7240-11db-936a-00167647fabf ==== UUID version 3 (name based, MD5): 2 times repeated 02d9e6d5-9467-382e-8f9b-9300a64ac3cd 02d9e6d5-9467-382e-8f9b-9300a64ac3cd ==== UUID version 5 (name based, SHA-1): 2 times repeated 8f4ca4fd-154e-5063-b6db-aa91af137037 8f4ca4fd-154e-5063-b6db-aa91af137037 ==== UUID version 4 (random data based): 4 single iterations 2be24da0-ee73-4bc5-b5ba-c26f0bbbdb95 cc0a2811-835d-4b65-ba67-e00bedf0f75b 10fecc0a-0cea-41ed-a16b-112616ea99b1 0e00ae23-7766-42dd-babd-c6e9cb5b3799 ==== UUID version 4 (random data based): 4 subsequent iterations 3d3224bb-c8ed-42d9-9814-890f7239f219 3e19ea08-8925-4bf0-a45f-29caa0ef56e2 255d6d9c-c9fd-4506-a880-ef0e09776c80 2c65f7a7-e314-4563-8bd8-86d3aea4f9f9 ==== UUID version 1 generation and decoding encode: STR: 4751335e-7240-11db-be68-00167647fabf SIV: 94796805631966157295996677974942808767 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 1 (time and node based) content: time: 2006-11-12 11:23:53.753891.0 UTC clock: 15976 (usually random) node: 00:16:76:47:fa:bf (global unicast) encode: STR: 475ff290-7240-11db-b92a-47c26816a9a9 SIV: 94873375689628068064686297910821169577 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 1 (time and node based) content: time: 2006-11-12 11:23:53.850536.0 UTC clock: 14634 (usually random) node: 47:c2:68:16:a9:a9 (local multicast) ==== UUID version 3 generation and decoding encode: STR: 02d9e6d5-9467-382e-8f9b-9300a64ac3cd SIV: 3789866285607910888100818383505376205 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 3 (name based, MD5) content: 02:D9:E6:D5:94:67:08:2E:0F:9B:93:00:A6:4A:C3:CD (not decipherable: MD5 message digest only) ==== UUID version 5 generation and decoding encode: STR: 8f4ca4fd-154e-5063-b6db-aa91af137037 SIV: 190477564324985592756740458922137317431 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 5 (name based, SHA-1) content: 8F:4C:A4:FD:15:4E:00:63:36:DB:AA:91:AF:13:70:37 (not decipherable: truncated SHA-1 message digest only) ==== UUID version 3 generation and decoding encode: STR: 95693357-fc2b-4b95-af6a-d871748ef5e5 SIV: 198601203915881110163765567909717276133 decode: variant: DCE 1.1, ISO/IEC 11578:1996 version: 4 (random data based) content: 95:69:33:57:FC:2B:0B:95:2F:6A:D8:71:74:8E:F5:E5 (no semantics: random data only) ==== Perl bindings to C API PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" uuid.ts uuid....dubious Test returned status 0 (wstat 139, 0x8b) DIED. FAILED tests 4-36 Failed 33/36 tests, 8.33% okay Failed Test Stat Wstat Total Fail Failed List of Failed


uuid.ts 0 139 36 66 183.33% 4-36 Failed 1/1 test scripts, 0.00% okay. 33/36 subtests failed, 8.33% okay. *** Error code 255

Stop in /usr/home/alexvs/uuid-1.5.1/perl. *** Error code 1 (ignored)

#perl -v This is perl, v5.8.8 built for i386-freebsd-64int

#uname -a FreeBSD dst10 6.1-RELEASE-p6 FreeBSD 6.1-RELEASE-p6

 
121 code new 2006 Aug anonymous js 2006 Aug rse 1 2 random segfaults in multithreaded application edit

we are experiencing random segfaults in our multithreaded application.

i traced this back to the fact that JS is not compiled against NSPR.

since we use glib/gthread for threading, JS native (asm) locks segfault too
and only NSPR locks work correctly.

the patch below implements a configure option to compile against a (std)
installed "mozilla-devel/mozilla-nspr-devel" via mozilla-config or a custom
install location.

it also propagates the required changes to js.pc and js-config.



--- js-1.6.20060820/configure.ac        2006-08-20 17:45:13.000000000 +0200
+++ js-1.6.20060820.nspr/configure.ac   2006-08-29 16:40:27.000000000 +0200
@@ -26,7 +26,7 @@
 dnl ##  configure.ac: GNU Autoconf source script
 dnl ##

-AC_PREREQ(2.60)
+AC_PREREQ(2.59)
 AC_INIT
 JS_VERSION=`./shtool version -l txt -d short VERSION`
 $ac_confdir/shtool echo -e \
@@ -55,6 +55,9 @@
     *mingw* | *windows* | *winnt* ) CPPFLAGS="$CPPFLAGS -DXP_WIN"  ;;
     *                             ) CPPFLAGS="$CPPFLAGS -DXP_UNIX" ;;
 esac
+
+CFG_CFLAGS="$CPPFLAGS"
+
 CPPFLAGS="$CPPFLAGS -DEXPORT_JS_API"

 dnl #   configure option --with-version
@@ -160,11 +163,36 @@
     CPPFLAGS="$CPPFLAGS -DJS_C_STRINGS_ARE_UTF8"
 fi

+dnl #   configure option --with-nspr[=path]
+AC_ARG_WITH([nspr],
+    AC_HELP_STRING([--with-nspr], [build threadsafe library with nspr]),
+    [ac_cv_with_nspr=$withval], [ac_cv_with_nspr=no])
+AC_CACHE_CHECK([whether to build threadsafe with nspr],
+    [ac_cv_with_nspr], [ac_cv_with_nspr=no])
+if test ".$ac_cv_with_nspr" != ".no"; then
+    case "$ac_cv_with_nspr" in
+        /* )
+                CPPFLAGS="$CPPFLAGS -DJS_THREADSAFE -DJS_USE_ONLY_NSPR_LOCKS -I$ac_cv_with_nspr/include"
+                LDFLAGS="$LDFLAGS -L$ac_cv_with_nspr/lib "
+                LIBS="$LIBS -lplc4 -lplds4 -lnspr4"
+        ;;
+        * )
+                AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
+                if test "$MOZILLA_CONFIG" != "no" ; then
+                        CPPFLAGS="$CPPFLAGS -DJS_THREADSAFE -DJS_USE_ONLY_NSPR_LOCKS `$MOZILLA_CONFIG --cflags nspr`"
+                        LIBS="$LIBS `$MOZILLA_CONFIG --libs nspr`"
+                fi
+        ;;
+    esac
+    CFG_CFLAGS="$CFG_CFLAGS -DJS_THREADSAFE"
+fi
+
 AC_SUBST(CLI_CFLAGS)
 AC_SUBST(CLI_CPPFLAGS)
 AC_SUBST(CLI_LDFLAGS)
 AC_SUBST(CLI_LIBS)
 AC_SUBST(CLI_OBJS)
+AC_SUBST(CFG_CFLAGS)

 with_tags=""
 sinclude(libtool.m4)
--- js-1.6.20060820/js.pc.in    2006-07-24 21:53:01.000000000 +0200
+++ js-1.6.20060820.nspr/js.pc.in       2006-08-29 16:41:02.000000000 +0200
@@ -7,4 +7,4 @@
 Description: Mozilla JavaScript Engine
 Version: @JS_VERSION@
 Libs: -L${libdir} -ljs @LIBS@
-Cflags: -DOSSP -DXP_UNIX -I${includedir}/js
+Cflags: @CFG_CFLAGS@ -I${includedir}/js
--- js-1.6.20060820/js-config.sh.in     2006-08-10 21:55:51.000000000 +0200
+++ js-1.6.20060820.nspr/js-config.sh.in        2006-08-29 16:41:44.000000000 +0200
@@ -109,7 +109,7 @@
             output="$output $js_acdir"
             ;;
         --cppflags)
-            output="$output -DOSSP -DXP_UNIX -I$js_includedir/js"
+            output="$output @CFG_CFLAGS@ -I$js_includedir/js"
             ;;
         --cflags)
             : # none

 
120 code new 2006 Aug anonymous uuid 2006 Aug setup 1 1 make check (faild) edit
Hello. Sorry for troubling. I have problem:

fetch ¤ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.5.1.tar.gz gzip -d uuid-1.5.1.tar.gz tar -xjf uuid-1.5.1.tar cd uuid-1.5.1 ./configure --with-perl make make check ......... ==== Perl bindings to C API PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" uuid.ts uuid....dubious Test returned status 0 (wstat 139, 0x8b) DIED. FAILED tests 4-36 Failed 33/36 tests, 8.33% okay Failed Test Stat Wstat Total Fail Failed List of Failed


uuid.ts 0 139 36 66 183.33% 4-36 Failed 1/1 test scripts, 0.00% okay. 33/36 subtests failed, 8.33% okay. *** Error code 255

Stop in /usr/ports/misc/ossp-uuid/uuid-1.5.1/perl. *** Error code 1 (ignored)

perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=freebsd, osvers=6.1-release, archname=i386-freebsd-64int

 
87 code new 2006 Jan anonymous uuid 2006 Jan rse 1 2 Code does not compile because of missing struct definition. edit
The code has been compiled on AIX 5.2 on ibm 590. After running the configuring script, compilation is started. Compiling produces the following error messages

In uuid_md5.h on line 57 the struct md5_st is defined. But only the name is defined the struct itself is missing. Most probably causing the error messages.

cc -I. -I. -DHAVE_CONFIG_H -c uuid.c -DPIC -o .libs/uuid.o "uuid_md5.h", line 57.16: 1506-166 (S) Definition of function md5_st requires parentheses. "uuid_md5.h", line 57.23: 1506-276 (S) Syntax error: possible missing '{'? "uuid_md5.h", line 63.5: 1506-045 (S) Undeclared identifier MD5_RC_OK. "uuid_md5.h", line 64.5: 1506-045 (S) Undeclared identifier MD5_RC_ARG. "uuid_md5.h", line 65.5: 1506-045 (S) Undeclared identifier MD5_RC_MEM. "uuid_md5.h", line 66.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_md5.h", line 66.3: 1506-273 (E) Missing type in declaration of md5_rc_t. "uuid_md5.h", line 68.8: 1506-166 (S) Definition of function md5_rc_t requires parentheses. "uuid_sha1.h", line 63.5: 1506-045 (S) Undeclared identifier SHA1_RC_OK. "uuid_sha1.h", line 64.5: 1506-045 (S) Undeclared identifier SHA1_RC_ARG. "uuid_sha1.h", line 65.5: 1506-045 (S) Undeclared identifier SHA1_RC_MEM. "uuid_sha1.h", line 66.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_sha1.h", line 66.3: 1506-273 (E) Missing type in declaration of sha1_rc_t. "uuid_sha1.h", line 68.8: 1506-166 (S) Definition of function sha1_rc_t requires parentheses. "uuid_prng.h", line 57.5: 1506-045 (S) Undeclared identifier PRNG_RC_OK. "uuid_prng.h", line 58.5: 1506-045 (S) Undeclared identifier PRNG_RC_ARG. "uuid_prng.h", line 59.5: 1506-045 (S) Undeclared identifier PRNG_RC_MEM. "uuid_prng.h", line 60.5: 1506-045 (S) Undeclared identifier PRNG_RC_INT. "uuid_prng.h", line 61.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "uuid_prng.h", line 61.3: 1506-273 (E) Missing type in declaration of prng_rc_t. "uuid_prng.h", line 63.8: 1506-166 (S) Definition of function prng_rc_t requires parentheses. "uuid_ui64.h", line 73.3: 1506-166 (S) Definition of function uuid_ requires parentheses. "uuid_ui64.h", line 73.3: 1506-276 (S) Syntax error: possible missing '{'? "uuid.c", line 73.5: 1506-045 (S) Undeclared identifier uuid_uint32_t. "uuid.c", line 74.5: 1506-045 (S) Undeclared identifier uuid_uint16_t. "uuid.c", line 76.5: 1506-045 (S) Undeclared identifier uuid_uint8_t. "uuid.c", line 79.3: 1506-273 (E) Missing type in declaration of uuid_obj_t. "uuid.c", line 83.5: 1506-046 (S) Syntax error. "uuid.c", line 106.9: 1506-277 (S) Syntax error: possible missing ')' or ','? "uuid.c", line 106.9: 1506-045 (S) Undeclared identifier uuid_. "uuid.c", line 108.9: 1506-277 (S) Syntax error: possible missing ')' or ','? make: 1254-004 The error code from the last command is 1.

 
82 event new 2005 Dec anonymous uuid 2005 Dec rse 4 4 Move or Remove INSTALL edit
The install target doesn't work on Mac OS X:

  geertz# make install
  make: `install' is up to date.

The problem is Mac OS X's case-insensitive file system. It thinks that the INSTALL file fulfills the "install" target. Ick. The workaround is to either a: Rename INSTALL to INSTALL.txt; or b: Put the contents of INSTALL into README and just remove INSTALL from the distribution.

Thanks!

2005-Dec-31 17:44:27 by anonymous:
Or use this well-known idiom:

  install: .ALWAYS
         <normal stuff>

  .ALWAYS:
 
81 todo new 2005 Dec anonymous uuid 2005 Dec rse 1 1 Compiliation Problems on Mac OS X 10.4 edit
Mac OS X Tiger (10.4.x) ships with its own UUID library. This seems to create a conflict for OSSP-UUID:

geertz# make gcc -I. -I. -DHAVE_CONFIG_H -O2 -pipe -c uuid.c -fno-common -DPIC -o .libs/uuid.o In file included from uuid.c:44: uuid.h:82: error: conflicting types for 'uuid_t' /usr/include/unistd.h:121: error: previous declaration of 'uuid_t' was here make: *** [uuid.lo] Error 1

The closest post I found to a solution was here:

  http://forums.macosxhints.com/archive/index.php/t-38443.html

But that's ugly. I think that Data::UUID had a similar issue; the solution there was to rename the function:

  https://rt.cpan.org/NoAuth/Bug.html?id=12389

And...yes, that does indeed seem to do the trick. Here's what I did to make it compile:

   rgrep -l uuid_t | grep -v ChangeLog | xargs perl -i -pe 's/uuid_t/ossp_uuid_t/g' 

I imagine that other systems will have UUID functions (Red Hat comes to mind), so it might be worth it to make this change in order to prevent more conflicts in the future.

2005-Dec-31 17:24:07 by anonymous:
A sufficient solution is to define _POSIX_SOURCE=1

Apple's unistd.h has the following:

  #ifndef _POSIX_C_SOURCE
  #ifndef _UUID_T
  #define _UUID_T
  typedef __darwin_uuid_t         uuid_t;
  #endif /* _UUID_T */
  #endif /* _POSIX_C_SOURCE */

-- mefisk@gmail.com


2006-Jan-20 23:15:53 by anonymous:
I got the C library to compile by setting _POSIX_C_SOURCE, but not the Perl library. It seems that perl.h loads unistd.h, but if I define _POSIX_C_SOURCE before uuid.xs includes perl.h, I get all kinds of errors.

Unfortunately, I think that the only solution is to give uuid_t another name. Maybe it can just be done where uuid_t is already defined elsewhere, and then dependent libraries would have to make the same test?

—Theory

 
71 new new 2005 Nov anonymous mm 2005 Nov rse 1 1 Enhancement request - Make test results parsable using a parser. edit
I was trying to automate the mm test cases. For this I need to parse the test results. Right now only one message is displayed at the end of 'make test' command.

Since there are 5 different test cases available for mm, Instead of single message, if we can display either success or fail message after each test completion it would be very easy to parse the test results automatically.

I have made changes in mm_test.c file to implement the above change. I am sending the changed file as a seperate email . Please consider incorporating this change to mm_test.c .

Thanks & Regards,
Mugunth
spikesource.com

 
70 code new 2005 Oct anonymous l2 2005 Oct anonymous 2 1 "incorrect" usage of va_list objects causes segfault on amd64 edit
va_list objects has different internals on i386 and amd64. See the attachment.
 
66 code new 2005 Sep anonymous pth 2005 Sep rse 2 1 unused condition variable can be to be signaled (PTH) edit
If pth_cond_awaits waits, it reaquries the mutex and then decrements the waiter count after pth_wait returns. pth_mutex_aquire can cause a switch to an other task, if the mutex is blocked. If this task issues an other pth_cond_notify on the condition variable, it gets the signaled flag, as a waiter count is not zero. If now the mutex is released, the first task aquires the mutext and then decrements the waiter count to zero. The signal flag is left, so that a contition variable without any waiters is signaled.

If the waiter count is decremented immediatly after the call to pth_wait, this race condition can not happen.

  --- pthsem-2.0.4/pth_sync.c.old 2005-09-22 16:54:36.910273040 +0200
  +++ pthsem-2.0.4/pth_sync.c     2005-09-22 16:56:10.173094936 +0200
  @@ -240,12 +240,13 @@
       pth_mutex_t *mutex = (pth_mutex_t *)(((void **)_cleanvec)[0]);
       pth_cond_t  *cond  = (pth_cond_t  *)(((void **)_cleanvec)[1]);

  +    /* fix number of waiters */
  +    cond->cn_waiters--;
  +
       /* re-acquire mutex when pth_cond_await() is cancelled
          in order to restore the condition variable semantics */
       pth_mutex_acquire(mutex, FALSE, NULL);

  -    /* fix number of waiters */
  -    cond->cn_waiters--;
       return;
   }

  @@ -284,6 +285,10 @@
       cleanvec[1] = cond;
       pth_cleanup_push(pth_cond_cleanup_handler, cleanvec);
       pth_wait(ev);
  +
  +    /* remove us from the number of waiters */
  +    cond->cn_waiters--;
  +
       pth_cleanup_pop(FALSE);
       if (ev_extra != NULL)
           pth_event_isolate(ev);
  @@ -291,9 +296,6 @@
       /* reacquire mutex */
       pth_mutex_acquire(mutex, FALSE, NULL);

  -    /* remove us from the number of waiters */
  -    cond->cn_waiters--;
  -
       /* release mutex (caller had to acquire it first) */
       return TRUE;
   }

mfg Martin Koegler mkoegler@auto.tuwien.ac.at

 
65 code new 2005 Sep anonymous mm 2005 Sep rse 4 3 mm_display_info shows wrong memory limits edit
In mm_display_info the following casting is needed to show correct memory limits:

fprintf(stderr, " memory area.......(unsigned long)((unsigned long)mm+mm->mp_size)...
instead of:
fprintf(stderr, " memory area.......(unsigned long)(mm+mm->mp_size)...

and:

fprintf(stderr, " chunk.....(unsigned long)((unsigned long)mc+mc->mc_size...
instead of:
fprintf(stderr, " chunk.....(unsigned long)(mc+mc->mc_size)..
 
62 code new 2005 Jun anonymous shtool 2005 Jun rse 1 1 GNU SHTool Insecure Temporary File Deletion Vulnerability edit
shtool contains a security flaw which could allow a malicious local user to delete arbitrary files with the rights of the user who use shtool.
 
60 code new 2005 Mar anonymous pth 2005 Mar rse 1 1 is it worked on hp unix B.11.00 U 9000/800 edit
  I write a programm on Lniux OS machine, it work safely .But now ,I got 
a HP machine ,the prog. not work yet. So I used the test_httpd and 
test_mp ,sadly, all of them not give any answer after the startup .Include the CTRL-C .:(

  The cc version is   HP C/HP-UX Version 11.11.04  

   OS is HP-UX unknown B.11.00 U 9000/800 10714536 unlimited-user license.

  I am not sure ,it enought?
 
58 new new 2005 Jan anonymous pth 2005 Feb rse 4 4 [PATCH] Add semaphore support to PTH edit
I have writte a patch, which adds support for semaphores to pth, which support a wide range of usage possibilties.

The interface provides functions to set/get the value of a semaphore, increment it with arbitrary values, wait, until the value becomes bigger than a given value (without or with decrementing, if the condition becomes true.

Some documentation and the patch is published at ¤http://www.auto.tuwien.ac.at/~mkoegler/index.php/pth

I am using the patch for a while without any problems. Maybe the names of Flags should be changed and it would be possible to reuse bits.

By the way, the content of the HACKING file seems to be a little bit outdated, eg. the anonymouse CVS server works not any more.

mfg Martin Koegler e9925248@stud4.tuwien.ac.at

 
59 code new 2005 Feb anonymous mm 2005 Feb rse 2 3 Problem Linking 64-Bit Version edit
Hello,

I've found an little bug in the Makefile. The Linker-Flags don't effect the libtool, because they are not used. here is a little patch:

--- Makefile.in 2002-12-19 10:19:38.000000000 +0100
+++ ../../PESlibmm/Makefile.in.linkerpatch      2005-02-15 13:20:26.615497000 +0100
@@ -74,14 +74,14 @@
 all: $(LIBS) $(MANS) $(TSTS)

 libmm.la: $(OBJS)
-       $(LIBTOOL) --quiet --mode=link $(CC) -o $@ $(OBJS) \
+       $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJS) \
            -rpath $(libdir) -version-info `$(SHTOOL) version -l c -d libtool mm_vers.c`

 mm_alloc.c mm_core.c mm_global.c: mm.h mm_vers.c
 mm.h: config.h

 mm_test: mm_test.lo libmm.la
-       $(LIBTOOL) --quiet --mode=link $(CC) -o $@ mm_test.lo libmm.la
+       $(LIBTOOL) --quiet --mode=link $(CC) $(LDFLAGS) -o $@ mm_test.lo libmm.la

 mm.3: mm.pod
        V1=`$(SHTOOL) version -l c -d short mm_vers.c`; \

Greetings Ralf

 
57 code new 2005 Jan anonymous mm 2005 Jan rse 1 1 Bad interpreter Error message when installing edit
[root@BASLIN2 mm-1.3.1]# ./configure : bad interpreter: No such file or directory

What can I do?

2006-Mar-03 15:15:42 by anonymous:
you most probably had a CR at the end of the #! line
 
56 code new 2005 Jan anonymous shtool 2005 Jan rse 2 3 mkln hard links with absolute paths are broken edit
shtool mkln -t -f /usr/local/bin/foo /usr/local/bin/bar

fails when run from anywhere besides /usr/local/bin

See also ¤http://www.openldap.org/its/index.cgi/Build?id=3415

 
55 code new 2004 Nov anonymous al 2004 Nov mlelstv 1 3 SIGSEGV at end of make check edit
$ uname -a
Linux bongo 2.4.27 #1 Fri Oct 29 18:20:52 CEST 2004 i686 AMD_Athlon(tm)_XP_1700+ unknown PLD Linux
$ rpm -q gcc
gcc-3.3.5-1

(gdb) run
Starting program: /home/users/radek/rpm/BUILD/al-0.9.1/al_test 

 Test Suite: OSSP al (Assembly Line)
 __________________________________________________________________

 Test: assembly line data copying .............................. OK
 Test: assembly line splicing .................................. OK
 Test: assembly line labelling ................................. OK
 Test: assembly line buffer attach ............................. OK
 __________________________________________________________________

 Test Summary: 4 tests (4 ok, 0 failed), 531 checks (531 ok, 0 failed)
 Test Suite: OK


Program received signal SIGSEGV, Segmentation fault.
0x4f9ee587 in free () from /lib/libc.so.6
(gdb) bt
#0  0x4f9ee587 in free () from /lib/libc.so.6
#1  0x0804afad in ts_suite_free (ts=0x804e8f8) at ts.c:379
#2  0x0804a72f in main (argc=1, argv=0xb41a2984) at al_test.c:412
 
54 code new 2004 Nov anonymous sio 2004 Nov mlelstv 3 3 Build process: linking, installation of *.so files, too "smart" ac/am edit
Hello,

  1. If built, for example, --with-al, the resulting library should be linked with -lal.
  2. *.so files should be installed with permissions 0755, not 644, as Makefile.in forces.
  3. Messing with CFLAGS is annoying. If I pass CFLAGS="-O0 -g -Wall" to the ./configure script, I don't want the -g to be stripped.

Patch for 1. and 2.: ¤http://cvs.pld-linux.org/SOURCES/sio-libs.patch

 
53 code new 2004 Nov anonymous xds 2004 Nov rse 2 1 on certain architectures assignment va_list a = b; fails edit
As in the summary: on some architectures (ppc for example) the code:
va_list a;
va_list b;
b = a;
will fail. After a quick googling I've found a solution:
__va_copy(b,a);
is the proper code - on some architectures va_list is defined differently and the simple substitution will fail. On such architectures the xds build fails with:
xds.c: In function `xds_vencode':
xds.c:386: error: incompatible types in assignment
xds.c:391: warning: passing arg 6 of pointer to function from incompatible pointer type
xds.c: In function `xds_vdecode':
xds.c:486: warning: passing arg 6 of pointer to function from incompatible pointer type
make: *** [xds.lo] Error 1

the warnings are fixed with (va_list *) in front of the argument in question - I checked and it seems that the argument is proper anyways...
 
51 code new 2004 Sep anonymous pth 2004 Sep rse 3 3 AC_CHECK_PTH macro from pth.m4 file causes an error in autoconf edit
The error occurs when using the macro AC_CHECK_PTH macro from pth.m4 file in autoconf when that file is copied onto aclocal.m4.

The following bellow is copied from the same error report I sent to Debian maintainers of the pth package, but it seems they are not active now. ¤http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=249328

The error message is:

  configure.in:25: error: undefine: undefined macro:
"+------------------------------------------------------------------------+"
  aclocal.m4:8836: _AC_PTH_ERROR is expanded from...
  aclocal.m4:9184: AC_CHECK_PTH is expanded from...
  configure.in:25: the top level

This error is produced by the macro definitions copied by aclocal (command in automake package) from the file /usr/share/aclocal/pth.m4 (which is included in libpth-dev) to the file aclocal.m4

The error is generated from the "undefine" in line 52 of the file pth.m4 (the name of the macro "_ac_pth_line" is sustituted by its content inside the undefine command, hence the error). I found that commenting that line (with "dnl ##") solves the problem but i'm no expert in m4 (probably the way of definition is wrong).

I found also similar problems reported in first part of the message: ¤http://www.mail-archive.com/pth-users@gnu.org/msg00304.html (there the solution proposed is to remove the macro and substitute the string directly in the two places used).

 
50 code new 2004 Jul anonymous uuid 2004 Jul   4 3 default installation breaks linux boot edit
Doing a default "configure; make; make install" will break linux on startup (experienced on SuSE 9.0) as the ext2 fsck tool is now dynamicly linked against the newly installed libuuid.so from /usr/local instead of the ext2 related system library of the same name.

This makes fsck fail although the filesystem is ok ...

 
47 code new 2004 Apr anonymous str 2004 Apr rse 1 1 make check str_format %12qd broken on Solaris 2.6 edit
While testing for OSSP 0.9.9 this bug was detected. Please note the bug was not introduced with 0.9.8->9.9.9 changes. It was not resolved so 0.9.9 will still has this problem.
 
46 code new 2004 Apr anonymous mm 2004 Apr rse 1 1 Cannot find peer certificate chain edit
I'm using the following components:
  • apache 1.3.29
  • mod_ssl 2.8.16-1.3.29
  • openssl 0.9.7d
  • mm 1.3.0
  • Solaris 8

I've configured: SSLSessionCache shmcb:/opt/slt/ses/apache/run/ssl_scache(512000)

The problem only occures if we use client certs. If we do multiple requests on the same ssl session then I get an error the first time the request is handled by the same apache child that has stored the SSL session ID in the cache. All other childs can acces the cache without problems.

trace output in ssl_engine_log (debug level does not provide better info):

[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Handshake: start
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: before/accept initialization
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 read client hello A
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 write server hello A
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 write change cipher spec A
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 write finished A
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 flush data
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Loop: SSLv3 read finished A
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Handshake: done
[21/Apr/2004 09:48:18 01201] [info] Connection: Client IP: 192.168.167.99, Protocol: TLSv1, Cipher: RC4-MD5 (128/128 bits)
[21/Apr/2004 09:48:18 01201] [info] Initial (No.1) HTTPS request received for child 0 (server airlock_baumi.ergon.ch:4442)
[21/Apr/2004 09:48:18 01201] [trace] Changed client verification type will force quick renegotiation
[21/Apr/2004 09:48:18 01201] [info] Requesting connection re-negotiation
[21/Apr/2004 09:48:18 01201] [trace] Performing quick renegotiation: just re-verifying the peer
[21/Apr/2004 09:48:18 01201] [error] Cannot find peer certificate chain
[21/Apr/2004 09:48:18 01201] [trace] OpenSSL: Write: SSL negotiation finished successfully
[21/Apr/2004 09:48:18 01201] [info] Connection to child 0 closed with standard shutdown (server airlock_baumi.ergon.ch:4442, client 192.168.167.99)

I wonder about the "Cannot find peer certificate chain" and then the "SSL negotiation finished successfully". hmmm.

If we use dbm instead of shmcb then this problem does not occure.

Thanks for your help
Erwin Huber

 
45 code new 2004 Apr anonymous mm 2004 Apr rse 1 1 how do you install mm-1.3.0.tar.gz edit
I am having problem under standing the install instructions.
 
44 code new 2004 Apr anonymous uuid 2004 Apr   1 1 uuid-1.0.0 unable to be used with GCC option --enable-fatal-warnings edit
I am attempting to incorporate the use of your lib ( for use on FreeBSD and Solaris ) for the project ¤http://www.linux-ha.org/ . On FreeBSD the --enable-fatal-warnings flag is used to ensure the code is working properly.

When attempting to include uuid.h I get errors because uuid_st and uuid_t are not fully defined. The compiler is unable to determine the size of the objects at compile time and therefor they are not able to be used. I have created a patch file to split out the definition from in uuid.c to be in uuid.h.in and modified the Makefile.in to install the needed header files for using uuid.

 
43 code new 2004 Apr anonymous al 2004 Apr rse 3 3 al does not compile on powerpc and amd64 edit
In ts.c line 205 va_list pointers are assigned to each other. This does not work on powerpc and amd64. One should use va_copy from C99 for this.
 
33 code new 2004 Feb anonymous sa 2004 Feb rse 3 3 sa.h includes config.h which is not there edit
See below. Perhaps config.h should be installed as sa_config.h.

  /* include optional Autoconf header */
  #ifdef HAVE_CONFIG_H
  #include "config.h"
  #endif

  /* fallback for POSIX socklen_t */
  #if defined(HAVE_CONFIG_H) && !defined(HAVE_SOCKLEN_T)
  typedef int socklen_t;
  #endif
 
28 code new 2004 Jan anonymous cfg 2004 Jan rse 1 1 SIGSEGV received while parsing config file edit
When using fsl, logging configuration is read from a file with a well-known format using libcfg. If this config file has a block (see used config file..block starts at "ident (.+)/local7 q{" and ends in "};") that is longer than 1035, a segfault is caused. Attached you can find the file I used as a config file and a very simple test program, as well as the modified section of code from libcfg that helped me pinpooint the source. If you run this program with this config (compiilng with libfsl of course) you should get the same results.

I traced the problem with gdb and managed to pin-point it to line 1233 in cfg_syn_scan.c (same as line 255 of cfg_syn_scan.l). This line is:

yylval->cpString = strdup(caStr);

I inserted some print statments to test and discovered that the cause is that yylval in this case is a NULL pointer or an invalid address.Whenever I delete a single character from my config file (in any config line of the section) the segfault goes away. That's how I deduced the limit to be 1035 chars in the section before the segfault (ie. 1036 causes a segfault). Strangely enough, if I add a couple of more chars.. my debug line doesn't even show!

Any prompt help regarding a workaround or a fix would be most appreciated.

 
27 code new 2004 Jan anonymous pth 2004 Jan rse 1 1 pth does not work on ia64 platform edit
pth does not work at all on the ia64 platform. 'make test' fails both in the release and the snapshot version.

Regards, Torsten

 
26 code new 2003 Nov anonymous pth 2003 Nov setup 1 1 configure script hangs on Solaris 8 edit
break out pth-2.0.0.tar.gz cd pth-2.0.0 env CFLAGS=-O2 ./configure --prefix=$HOME/.usr --enable-pthread \ --enable-optimize

"hangs" forever check cpu stats: % prstat -s cpu -n 10 1 1 PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP 7771 nelsonhe 936K 464K run 10 0 0:04.35 58% tr/1

OS is Solaris 8

 
25 code new 2003 Nov anonymous ex 2003 Nov rse 1 1 `make check' segmentation fault edit
Linux spspare 2.4.22 #2 SMP Mon Sep 29 18:13:12 CST 2003 i686 GNU/Linux Debian GNU/Linux testing

after ./configure and make make-check prints

# make check

Test Suite: OSSP ex (Exception Handling) __________________________________________________________________

Test: basic nested control flow ............................... OK Test: exception value passing ................................. OK Test: variable value preservation ............................. OK Test: exception deferring ..................................... OK Test: exception shielding ..................................... OK Test: cleanup handling ........................................ OK __________________________________________________________________

Test Summary: 6 tests (6 ok, 0 failed), 6 checks (6 ok, 0 failed) Test Suite: OK

make: *** [check] Segmentation fault (core dumped)

 
24 code new 2003 Oct anonymous l2 2003 Oct rse 2 3 l2 is not thread safe when used along with fsl edit
l2 appears to be thread safe if used carefully by itself. However, when l2 is used with fsl, thread safety problems are evident when log lines start overwriting each other once the thread level becomes dense. The problem arises in the l2_channel_vlog call, which takes as an argument the l2 channel that fsl creates. From this channel, the function extracts the l2_env_t struct, which has a buffer that is used by a subsequent call to l2_util_format to store the formatted log message. The problem is that this l2_env_t struct is part of the l2 channel that fsl passed, which is global. The log line overwriting can occur anywhere after this buffer in l2_env_t is used becacuse any thread can write to it during the l2_util_format call while other threads read from it in downstream calls. The temporary solution that serves our purpose was to store the message in a local function variable before passing it to l2_util_format. The patch file used is attached.
 
23 code new 2003 Oct anonymous l2 2003 Oct rse 3 4 Prefix channel buffer bug when '\n' character present edit
When using the prefix channel along with fsl, any two subsequent calls to syslog in which the first one has length > n and the second one has lenght < n with the second one ending in a \n character produces three log lines: the first two are the expected log lines and the third one is the (lenght - n) characters of the first syslog call. It looks like some sort of buffer cleaning problem. It was not tested wheter or not this happens when prefix is used without fsl. To reproduce, a single program like this suffices:

int main(void){

    openlog("test", LOG_PID,LOG_LOCAL7);
    syslog(LOG_INFO, "000000000000000000000000000000000000000000000000000000000000");

    syslog(LOG_INFO, "11111111111111111111111111111111111111111111111111111\n");
}

which produces the output: (timestamp added by prefix channel)

[2003-10-31, 11:40:22] 000000000000000000000000000000000000000000000000000000000000
[2003-10-31, 11:40:22] 11111111111111111111111111111111111111111111111111111
00000

Note: only the prefix channel and the file channel were specified int the config file for this test. The error does not appear when only the file channel is present.

 
22 code new 2003 Oct anonymous mm 2003 Oct rse 1 3 Apache/PHP with MM session support does SegFault 11 under load edit
  / Excuse me for my English /

  I have self-compiled enviroment with PHP 4.3.3 with MM as static module for Apache 1.3.28. 
When I test this config locally system worked well. But there are some problem appeared in 
real web enviroment. PHP scripts with session support sometimes caused Segmentation Fault 11. 
There are about 12-24 hours pass from apache restart to segfault appeared at about 1 request
per minute scripts that uses sessions. Setting Apache 'MaxRequestsPerChild' options does 
not help (is this good idea?). 

  There are configure scripts:

  PHP:
./configure --with-config-file-path=/etc/httpd --with-mysql=/usr/local --with-apache=../apache_1.3.28 --with-zlib --disable-cli --disable-cgi --disable-ipv6 --with-openssl --with-mysql=/usr/local --with-mysql-sock=/var/lock/mysql.sock --with-mm=/usr/local --enable-sockets --disable-xml --with-mnogosearch=/usr/local 

  Apache:
SSL_BASE=/usr/src/openssl-0.9.7b EAPI_MM=/usr/local ./configure --with-layout=star --activate-module=src/modules/php4/libphp4.a --disable-module=actions --disable-module=cgi --disable-module=include --disable-module=userdir --enable-module=rewrite --enable-module=usertrack --enable-module=ssl --server-uid=www --server-gid=www --disable-rule=SSL_COMPAT

  There are debugger output (gdb /usr/local/sbin/httpd -c /usr/local/core):
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-slackware-linux"...
Core was generated by `/usr/local/sbin/httpd -DSSL'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/local/lib/libmm.so.13...done.
Loaded symbols for /usr/local/lib/libmm.so.13
Reading symbols from /usr/local/lib/mysql/libmysqlclient.so.12...done.
Loaded symbols for /usr/local/lib/mysql/libmysqlclient.so.12
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libdb.so.2...done.
Loaded symbols for /lib/libdb.so.2
Reading symbols from /usr/lib/libexpat.so.0...done.
Loaded symbols for /usr/lib/libexpat.so.0
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
#0  0x080ec415 in ps_sd_destroy (data=0x8536028, sd=0x423b4e7c) at /usr/src/php-4.3.3/ext/session/mod_mm.c:170
170                     for (prev = data->hash[slot]; prev->next != sd; prev = prev->next);

And there are server configuration: Slackware 9.0 (glibc 2.3.1) with recompiled kernel 2.4.22 on Dual PIII 1000/1GB RAM

 
18 code new 2003 May anonymous mm 2003 May rse 2 1 Maximum segment size under linux... edit
The maximum segment size under linux is a kernel parameter (/proc/sys/kernel/shmmax) which can be changed during runtime.

The maximum segment size of mm is calculated at compile time and depends on the max seg size of the system, one compiled the library.

It would be more appropriate for the library to calculate the max seg size during initialization of the mm_core by geting this variable from the /proc subsystem. if this fails then it could just use a "hardcoded" value calculated at configuration stage of the library (or even use bits of the code used in the configure script to calculate the maximum available size on the fly...).

 
16 code new 2003 Apr anonymous cfg 2003 Apr rse 1 1 parse error in cfg_data.c - GNU/Linux edit
Compilation on a Debian GNU/Linux : gcc version 2.95.4 20011002 (Debian prerelease)

gcc -DHAVE_CONFIG_H -O2 -pipe -c cfg_data.c -fPIC -DPIC -o .libs/cfg_data.lo cfg_data.c: In function `cfg_data_set': cfg_data.c:189: parse error before `*' cfg_data.c:189: parse error before `)' make: *** [cfg_data.lo] Error 1

[I do not have OSSP ex installed on this host, should I ? the autoconf has given no error/warning]

thanks

 
15 code new 2003 Apr anonymous mm 2003 Apr anonymous 1 2 Apache 1.3.27 with mod_ssl compile fails with mm ,but is OK without it edit
Problem occurs using Apache 1.3.27, mod_ssl-2.8.14-1.3.27, openssl-0.9.7a and mm-1.3.0 on linux with gcc 2.96 (Mandrake 8.1, kernel 2.4.18). All the packages were downloaded as source tgz, and compiled as instructed in mod_ssl using --with-mm=../mm-1.3.0. Removing this reference to mm allows everything to compile normally.

The error is in the comiplation of Apache and seems to be because of missing header files:

./gen_test_char: error while loading shared libraries: libmm.so.13: cannot open shared object file: No such file or directory make[3]: *** [test_char.h] Error 127

Running "make" a second time creates the missing header with 0 bytes content and things get a bit further, but then it crashes again a bit later.

 
14 code new 2003 Mar anonymous pth 2003 Mar rse 2 1 Typo in pth_syscall.c breaks sendto edit
Using --enable-syscall-hard and sendto(2) results in a call to recvfrom(2).
 
13 event new 2003 Mar anonymous mm 2003 Mar rse 1 1 Apache install edit
Attempting to install apache for an ACID install. I installed Libmm.so.11 or so I thought I continue to get the Msg Dependency Lib not installed. I have RedHat 8.0
 
12 event new 2003 Mar anonymous mm 2003 Mar rse 1 1 Apache install edit
Attempting to install apache for an ACID install. I installed Libmm.so.11 or so I thought I continue to get the Msg Dependency Lib not installed.
 
9 code new 2003 Jan anonymous sa 2003 Jan rse 2 4 setsockopt(SO_RCVTIMEO/SO_SNDTIMEO) not working on Solaris 2.8 edit
I run OSSP sa on Solaris 2.8. Trying to sa_bind fails with a system error, strerror(errno) reports "Option not supported by protocol".

After investigating it shows that timeout setting through setsockopt(SO_RCVTIMEO / SO_SNDTIMEO) does not work as expected. I manually #undef-ined those 2 constants (after system includes) and it worked.

I suggest either system-specific disabling those 2 constants, or implementing a run-time fallback to select (which is normalized and ubiquitous, for sockets) when setting timeouts through setsockopt fails.

 
8 code new 2002 Dec anonymous cfg 2002 Dec rse 1 1 Build failed edit
Under my FreeBSD 4.7-STABLE (both at home and at work) build process failed:
gcc -DHAVE_CONFIG_H -O2 -pipe -c cfg_data.c -fPIC -DPIC -o .libs/cfg_data.lo
cfg_data.c: In function `cfg_data_set':
cfg_data.c:189: syntax error before `*'
gmake: *** [cfg_data.lo] Error 1

  • FreeBSD 4.7-STABLE i386
  • gcc version 2.95.4 20020320 [FreeBSD]
  • GNU Make 3.80
 
7 event new 2002 Dec anonymous mm 2002 Dec rse 1 1 Segmentation fault at mod_mm.c:186 edit
Hello,

I have compiled apache the latest apache 1.3 with php 4.2.3 and lib mm. After several hours, I get a seg fault of apache processes which originate from mod_mm.c at line 186.

It seems that php tries to retrieve a correct session id from libmm, but for some reason, it crashes in the for loop in mod_mm.c. Here is a gdb trace.

Program received signal SIGSEGV, Segmentation fault. 0x40356f4c in ps_sd_lookup (data=0x8082690, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", rw=0) at mod_mm.c:186

186 for (prev = NULL, ret = data->hash[slot]; ret; prev = ret, ret = ret->next)

(gdb) bt #0 0x40356f4c in ps_sd_lookup (data=0x8082690, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", rw=0) at mod_mm.c:186

#1 0x403572c8 in ps_read_mm (mod_data=0x403f8e50, key=0x816da24 "0922ecff590e004d7a75919ac38dde0a", val=0xbfffcc94, vallen=0xbfffcc98) at mod_mm.c:326

#2 0x40353f5b in php_session_initialize () at session.c:557

Best, Bastien Duclaux

 
4 event new 2002 Oct anonymous mm 2002 Oct rse 1 2 mm 1.2.1 core dumps on Sparc/Solaris 8 edit
Hi Ralf,

I'm trying to compile mm1.2.1 on Sparc/Solaris 8. I installed gnu binutils 2.13, then bootstrapped gcc 3.2 using the --with-gnu-ld & --with-gnu-as args.

Now on to mm: ./config appears to work fine. I then do 'make' which also appears to work . I run make test and immediately get a core dump.

I have successfully built mm before with a binary installed version of gcc, but using the sun (/usr/css/bin/) vesions of ld & as.

Any thoughts on what may be wrong? My little ultra 1 compiled all night on gcc, but now I'm afraid it's all for naught if gcc is corrupt.

Thanks for any help.

Regards, D J Brooks

CVSTrac 2.0.1