[Openswan dev] status [uml/qemu]

Harald Jenny harald at a-little-linux-box.at
Mon Oct 25 16:05:45 EDT 2010


On Mon, Oct 25, 2010 at 01:19:18PM -0400, Paul Wouters wrote:
> On Mon, 25 Oct 2010, Harald Jenny wrote:
> 
> [uml/qemu]
> 
> >Is there something I can do to help?
> 
> The first step to test would be to grab http://github.com/mcr/bluerose and run "make programs" and "make check"
> on a 32bit machine and see if the test cases indeed work (work as in run properly, not as in whether the outcome
> of the test is good/bad)

I've encountered the following problem this far:
------------------------------------------------

In file included from /usr/src/GIT/openswan-bluerose/programs/lwdnsq/lwdnsq.c:43: (and others in lwdnsq)
/usr/include/dns/rdatastruct.h:1739: error: expected specifier-qualifier-list before 'dns_hash_t'
/usr/include/dns/rdatastruct.h:1832: error: expected specifier-qualifier-list before 'dns_hash_t'
Problem seems generic as bind9 headers are now standard for including.

Current workaround:
/usr/include/dns/rdatastruct.h:
typedef struct dns_rdata_nsec3 {
        dns_rdatacommon_t       common;
        isc_mem_t               *mctx;
/*      dns_hash_t              hash;   */
        unsigned char           flags;
/*      dns_iterations_t        iterations;     */
        unsigned char           salt_length;
        unsigned char           next_length;
        isc_uint16_t            len;
        unsigned char           *salt;
        unsigned char           *next;
        unsigned char           *typebits;
} dns_rdata_nsec3_t;
typedef struct dns_rdata_nsec3param {
        dns_rdatacommon_t       common;
        isc_mem_t               *mctx;
/*      dns_hash_t              hash;   */
        unsigned char           flags;          /* DNS_NSEC3FLAG_* */
/*      dns_iterations_t        iterations;     */
        unsigned char           salt_length;
        unsigned char           *salt;
} dns_rdata_nsec3param_t;
Maybe someone with more knowledge in the inner workings of dns could check this?


export OPENSWANLIB=/usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a REGRESSRESULTS=${REGRESSRESULTS-../results} ; source /usr/src/GIT/openswan-bluerose/testing/utils/functions.sh; source TESTLIST
/bin/sh: source: not found
/bin/sh: source: not found
Problem is Debian/Ubuntu specific as there /bin/sh links to /bin/dash and source is bash

Solutions:
Either link /bin/sh to /bin/bash or change Makefile toa
check:
        export OPENSWANLIB=${OPENSWANLIB} REGRESSRESULTS=$${REGRESSRESULTS-../results} ; . ${UTILS}/functions.sh; . TESTLIST


export OPENSWANLIB=/usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a REGRESSRESULTS=${REGRESSRESULTS-../results} ; source /usr/src/GIT/openswan-bluerose/testing/utils/functions.sh; source TESTLIST
/bin/sh: line 0: source: TESTLIST: file not found
Problem seems generic as pwd is normaly not in path

Solution:
Change to
check:
        export OPENSWANLIB=${OPENSWANLIB} REGRESSRESULTS=$${REGRESSRESULTS-../results} ; . ${UTILS}/functions.sh; . ./TESTLIST


make[3]: Entering directory `/usr/src/GIT/openswan-bluerose/testing/lib/libopenswan'
export OPENSWANLIB=/usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a REGRESSRESULTS=${REGRESSRESULTS-../results} ; . /usr/src/GIT/openswan-bluerose/testing/utils/functions.sh; . ./TESTLIST
Recording "skipped: skipped" to ../results/lib-addrtoa/status
*******  SKIPPED lib-addrtoa ********
**** make libtest COMPILING addrtot.c ****
   CC -g -o addrtot -DADDRTOT_MAIN /usr/src/GIT/openswan-bluerose/linux/net/ipsec/addrtot.c /usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a
   Running addrtot
   Exit code 0
Recording "true: 0" to ../results/lib-addrtot/status
*******  PASSED lib-addrtot ********
Recording "skipped: skipped" to ../results/lib-addrtypeof/status
*******  SKIPPED lib-addrtypeof ********
Recording "skipped: skipped" to ../results/lib-anyaddr/status
*******  SKIPPED lib-anyaddr ********
Recording "skipped: skipped" to ../results/lib-atoaddr/status
*******  SKIPPED lib-atoaddr ********
**** make libtest COMPILING atoasr.c ****
   CC -g -o atoasr -DATOASR_MAIN /usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c /usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a
   Running atoasr
make[3]: *** [check] Error 1
make[3]: Leaving directory `/usr/src/GIT/openswan-bluerose/testing/lib/libopenswan'
make[2]: *** [check] Error 1
make[2]: Leaving directory `/usr/src/GIT/openswan-bluerose/testing/lib'
make[1]: *** [check] Error 1
make[1]: Leaving directory `/usr/src/GIT/openswan-bluerose/testing'
make: *** [check] Error 1
This is the current error I face with the following problem behind:
cc -g -o atoasr -DATOASR_MAIN /usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c /usr/src/GIT/openswan-bluerose/OBJ.linux.i386/lib/libopenswan/libopenswan.a
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c:18:22: error: openswan.h: No such file or directory
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c: In function 'atoasr':
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c:43: warning: return makes pointer from integer without a cast
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c:55: warning: return makes pointer from integer without a cast
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c:62: warning: assignment makes pointer from integer without a cast
/usr/src/GIT/openswan-bluerose/lib/libopenswan/atoasr.c:65: warning: assignment makes pointer from integer without a cast
Is this a structural deficite in the tree or did I miss anyting?

> 
> If that indeed works, the next step would be to fix openswan for 32bit (it now has some hardcoded 64bit initrd stuff
> in it that would have to be changed) based on the bluerose differences.
> 
> Things might be complicated and need a pretty old kernel (KLIPS!) for bluerose.
> 
> Paul

Any help would be appreciated!

Kind regards
Harald


More information about the Dev mailing list