export ANT_OPTS="-Xmx196m"
mkdir netbeans
cd netbeans
cvs -d :pserver:leiliu@cvs.netbeans.org:/shared/data/ccvs/repository -q co nbbuild
ant -f nbbuild/build.xml checkout
ant -f nbbuild/build.xml
netbeans/nbbuild/netbeans/bin/netbeans to invoke IDE
Tuesday, June 12, 2007
FIPS compliance Security Crypto Module
Federal Information Processing Standards (FIPS) are publicly announced standards developed by the United States Federal government for use by all non-military government agencies and by government contractors. Many FIPS standards are modified versions of standards used in the wider community (ANSI, IEEE, ISO, etc.)
The National Institute of Standards and Technology (NIST) issued the 140 Publication Series to coordinate the requirements and standards for cryptographic modules which include both hardware and software components for use by departments and agencies of the United States federal government. FIPS 140 does not purport to provide sufficient conditions to guarantee that a module conforming to its requirements is secure, still less that a system built using such modules is secure. The requirements cover not only the cryptographic modules themselves but also their documentation and (at the highest security level) some aspects of the comments contained in the source code.
http://en.wikipedia.org/wiki/FIPS_140
http://en.wikipedia.org/wiki/Federal_Information_Processing_Standard
Sun's Cryptographic Accelerator 6000 provides exactly such a storage mechanism and API/tool set. The Cryptographic Accelerator is available for Solaris (SPARC and x86/x64) and Linux and is FIPS 140-2 Level 3 certified. It's key storage mechanism is also RF shielded and tamper-proof. It's probably one of the fastest cards on the market for accelerating SSL, IPsec/IKE and other general crypto and it's inexpensive (less than $1500 list).
http://www.sun.com/products/networking/sslaccel/suncryptoaccel6000/details.xml
The National Institute of Standards and Technology (NIST) issued the 140 Publication Series to coordinate the requirements and standards for cryptographic modules which include both hardware and software components for use by departments and agencies of the United States federal government. FIPS 140 does not purport to provide sufficient conditions to guarantee that a module conforming to its requirements is secure, still less that a system built using such modules is secure. The requirements cover not only the cryptographic modules themselves but also their documentation and (at the highest security level) some aspects of the comments contained in the source code.
http://en.wikipedia.org/wiki/FIPS_140
http://en.wikipedia.org/wiki/Federal_Information_Processing_Standard
Sun's Cryptographic Accelerator 6000 provides exactly such a storage mechanism and API/tool set. The Cryptographic Accelerator is available for Solaris (SPARC and x86/x64) and Linux and is FIPS 140-2 Level 3 certified. It's key storage mechanism is also RF shielded and tamper-proof. It's probably one of the fastest cards on the market for accelerating SSL, IPsec/IKE and other general crypto and it's inexpensive (less than $1500 list).
http://www.sun.com/products/networking/sslaccel/suncryptoaccel6000/details.xml
Monday, June 11, 2007
ld: fatal: symbol is multiply-defined:
ld: fatal: symbol `bar' is multiply-defined:
(file foo.o and file bar.o);
ld: fatal: File processing errors. No output written to int.o
foo.c and bar.c have conflicting definitions for the symbol bar. Because the link-editor cannot determine which should dominate, the link-edit usually terminates with an error message. You can use the link-editor's -z muldefs option to suppress this error condition, and allow the first symbol definition to be taken.
resolve with compiling flag with
-z muldefs
(file foo.o and file bar.o);
ld: fatal: File processing errors. No output written to int.o
foo.c and bar.c have conflicting definitions for the symbol bar. Because the link-editor cannot determine which should dominate, the link-edit usually terminates with an error message. You can use the link-editor's -z muldefs option to suppress this error condition, and allow the first symbol definition to be taken.
resolve with compiling flag with
-z muldefs
LDOM Items
(1) SPARC only for Niagara Platforms Solaris DOM0 and Any OSs DOMU
(2) x86, Solaris DOM0, and any OS domU
(3) x86, other OS DOM0 is not verified yet.
(2) x86, Solaris DOM0, and any OS domU
(3) x86, other OS DOM0 is not verified yet.
Sunday, June 10, 2007
fatal: relocation error: R_AMD64_PC32
I am developing a c simulation tool. I am invoking one of dynamic library
(my home grown library named as: randlib.so)
It has a function as
double unifrand(double, double, long*);
In my simulation application, I invoke the above function with
seed = 1236537;
ran_no = unifrnd(0.0,1.0,&seed);
I have flag below to build
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -R/usr/sfw/lib/64 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
However, during runtime, I have error blow:
ld.so.1: simperturbation: fatal: relocation error: R_AMD64_PC32: file /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so: symbol unifrnd: value 0x2800112fedf does not fit
If I run list dynamic dependencies with the target simulation application binary,
ldd simperturbation
libm.so.2 => /lib/64/libm.so.2
randlib.so => /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
libc.so.1 => /lib/64/libc.so.1
As I compiled the DLL with -Kpic flag. It works
The URL below helps.
http://blogs.sun.com/rie/entry/my_relocations_don_t_fit
(my home grown library named as: randlib.so)
It has a function as
double unifrand(double, double, long*);
In my simulation application, I invoke the above function with
seed = 1236537;
ran_no = unifrnd(0.0,1.0,&seed);
I have flag below to build
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -R/usr/sfw/lib/64 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
However, during runtime, I have error blow:
ld.so.1: simperturbation: fatal: relocation error: R_AMD64_PC32: file /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so: symbol unifrnd: value 0x2800112fedf does not fit
If I run list dynamic dependencies with the target simulation application binary,
ldd simperturbation
libm.so.2 => /lib/64/libm.so.2
randlib.so => /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
libc.so.1 => /lib/64/libc.so.1
As I compiled the DLL with -Kpic flag. It works
The URL below helps.
http://blogs.sun.com/rie/entry/my_relocations_don_t_fit
Stochastic Systems
governing variables -> system behavior
random variables -> stochastic system
large number: Not large until the change does not impact the system behavior
random variables -> stochastic system
large number: Not large until the change does not impact the system behavior
Complier flag for simulation Tool
1. Flag for 64 bit memory model of x86 platform architecture
2. Dynamic Library
3. Dynamic Link
4. Math Library
5. Runtime Search Path
6. -I include directory
cc -m64 -c -g +w -I/SunStudioProjects/randlib -o build/Debug/Sun12-Solaris-x86/spoptimze.o spoptimze.c
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
2. Dynamic Library
3. Dynamic Link
4. Math Library
5. Runtime Search Path
6. -I include directory
cc -m64 -c -g +w -I/SunStudioProjects/randlib -o build/Debug/Sun12-Solaris-x86/spoptimze.o spoptimze.c
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
Complier flag for simulation Tool
1. Flag for 64 bit memory model of x86 platform architecture
2. Dynamic Library
3. Dynamic Link
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
2. Dynamic Library
3. Dynamic Link
cc -m64 -o dist/Debug/Sun12-Solaris-x86/simperturbation build/Debug/Sun12-Solaris-x86/estimator.o build/Debug/Sun12-Solaris-x86/spoptimze.o -R/SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86 -lm /SunStudioProjects/randlib/dist/Debug/Sun12-Solaris-x86/randlib.so
Saturday, June 09, 2007
NIO or IO
It seems block or non-blocking address the FD limitation previously existing on the server. There is a work around to improve the FD limitation. However, from server socket processing with sequential by nature. I tend to suggest to take blocking IO for normal mid-large workload but small-mid workload take unblocking approach since it functionally replicate Queuing algorithms
Inetmenu good for Laptop
It is a good tool to assign IP for laptop
It requires root to run then get IP from DHCP server or Wireless Access Points.
It requires root to run then get IP from DHCP server or Wireless Access Points.
S11 NV build Laptop
(1). Solaris Express, Developer version build installation
(2). If it is under SWAN, it will bypass a lot of setup to go straight with default
NIS process.
(3). It requires sys-unconfig process if you want change other things. Do not enable DHCP here
but use inetmenu
However, sys-unconfig will not give you option to change host name
So, it is important to get hostname change process.
To change the hostname on a Solaris system:
1. Change the hostname in /etc/nodename
2. Run uname -S new_hostname to change the nodename for your current session.
3. Change the hostname in /etc/hostname.network_interface (e.g. /etc/hostname.hme0)
4. Run hostname new_hostname to change the hostname for your current session.
5. Change the hostname in /etc/hosts
6. Change the hostname in /etc/net/*/hosts (/etc/net/ticlts/hosts, /etc/net/ticots/hosts, /etc/net/ticotsord/hosts)
for directory in ticlts ticots ticotsord
do
cd /etc/net/$directory
sed 's/old_hostname/new_hostname/g' hosts > hosts.new
mv hosts.new hosts
done
Solaris 7 or later additional instructions:
7. Change the hostname in DUMPADM_SAVDIR= line in /etc/dumpadm.conf
Solaris 10 additional instructions:
8. Change the hostname in /etc/inet/ipnodes
However, all x86 updates. should visit community software (csw package download)
http://www.blastwave.org/packages.php
blastwave.org
This includes wget, pkg-get, tetex etc.
(2). If it is under SWAN, it will bypass a lot of setup to go straight with default
NIS process.
(3). It requires sys-unconfig process if you want change other things. Do not enable DHCP here
but use inetmenu
However, sys-unconfig will not give you option to change host name
So, it is important to get hostname change process.
To change the hostname on a Solaris system:
1. Change the hostname in /etc/nodename
2. Run uname -S new_hostname to change the nodename for your current session.
3. Change the hostname in /etc/hostname.network_interface (e.g. /etc/hostname.hme0)
4. Run hostname new_hostname to change the hostname for your current session.
5. Change the hostname in /etc/hosts
6. Change the hostname in /etc/net/*/hosts (/etc/net/ticlts/hosts, /etc/net/ticots/hosts, /etc/net/ticotsord/hosts)
for directory in ticlts ticots ticotsord
do
cd /etc/net/$directory
sed 's/old_hostname/new_hostname/g' hosts > hosts.new
mv hosts.new hosts
done
Solaris 7 or later additional instructions:
7. Change the hostname in DUMPADM_SAVDIR= line in /etc/dumpadm.conf
Solaris 10 additional instructions:
8. Change the hostname in /etc/inet/ipnodes
However, all x86 updates. should visit community software (csw package download)
http://www.blastwave.org/packages.php
blastwave.org
This includes wget, pkg-get, tetex etc.
WTS 2007 Paper Publication
Exchange information on advances in mobile communications and wireless networking technology, management, applications, and security in a very pleasant Southern California conference environment with leaders and experts from industry, governmental agencies, and universities around the world at the Wireless Telecommunications Symposium.
WTS 2007 will focus on The Future of Wireless Communications. Planned highlights of WTS 2007 include:
* An IEEE Communications Society Co-Sponsored Welcoming Dinner with Internet Pioneer Vinton G. Cerf, Vice President and Chief Internet Evangelist at Google, as guest speaker
* Addresses and presentations by some of the most respected executives and researchers in the wireless communications industry
* Panel discussions including Future Directions in Wireless Communications Research, Wireless Network Security, New Wireless Communications Ventures, Wireless Communications Investments, Mobile Wireless Services and Business, Wireless Communications Business Strategy, Advances in Satellite Communications, and The Future of Deep Space Communications
* A tutorial on Portable Emergency Networks and a Wireless Network Security Workshop
* Presentations of accepted academic and practitioner applied research papers; a poster paper session; a doctoral students session
* A tour of Universal Studios Hollywood followed by a reception at CityWalk
Peer-reviewed proceedings will be published by the IEEE and will be available on its Xplore online publication system. A CD containing the invited speakers' presentations and accepted applied research papers will be distributed to registrants at the conference. Applicable student papers are welcome. Awards will be given for the outstanding undergraduate and graduate papers submitted.
http://www.csupomona.edu/~wtsi/doc/WTS_2007-Accepted_Paper_Program.htm
My Paper on Lock contention is located by IEEE Explorer
WTS 2007 will focus on The Future of Wireless Communications. Planned highlights of WTS 2007 include:
* An IEEE Communications Society Co-Sponsored Welcoming Dinner with Internet Pioneer Vinton G. Cerf, Vice President and Chief Internet Evangelist at Google, as guest speaker
* Addresses and presentations by some of the most respected executives and researchers in the wireless communications industry
* Panel discussions including Future Directions in Wireless Communications Research, Wireless Network Security, New Wireless Communications Ventures, Wireless Communications Investments, Mobile Wireless Services and Business, Wireless Communications Business Strategy, Advances in Satellite Communications, and The Future of Deep Space Communications
* A tutorial on Portable Emergency Networks and a Wireless Network Security Workshop
* Presentations of accepted academic and practitioner applied research papers; a poster paper session; a doctoral students session
* A tour of Universal Studios Hollywood followed by a reception at CityWalk
Peer-reviewed proceedings will be published by the IEEE and will be available on its Xplore online publication system. A CD containing the invited speakers' presentations and accepted applied research papers will be distributed to registrants at the conference. Applicable student papers are welcome. Awards will be given for the outstanding undergraduate and graduate papers submitted.
http://www.csupomona.edu/~wtsi/doc/WTS_2007-Accepted_Paper_Program.htm
My Paper on Lock contention is located by IEEE Explorer
ICACT2007 Paper publication
http://www.icact.org/program/program.asp#3
It is Feb 2007
My Paper stated as Index and SOA Performance
Please visit IEEE Explorer
It is Feb 2007
My Paper stated as Index and SOA Performance
Please visit IEEE Explorer
Thursday, December 07, 2006
Friday, November 10, 2006
Hash Distribution Algorithm
For a hash-based distribution algorithm, the most difficult part is to define what hash function would avoid re-distribution. To reduce entry re-distribution, it is also possible to configure the proxy with the maximum number of distribution "slots" upfront, say 10 slots, then associate multiple slots with each service instance.
S1,S2,S3 --> SVC1
S4,S5,S6 --> SVC2
S7, S8, S7, S10 --> SVC3
When the amount of entries stored on SVC1 exceed some limits, a new service instance is set up (say SVC4), one (or more) slots formerly managed by SVC1 are moved to SVC4 (the content of SVC1 is re-distributed to SVC1 and SVC4) and the proxy configuration is changed accordingly, for instance
S1,S2 --> SVC1
S3 --> SVC4
S4,S5,S6 --> SVC2
S7, S8, S7, S10 --> SVC3
This does not solve the re-distribution problem. However, it is much easier to deal with this issue as the number of entries to be re-distributed is much smaller compared to a configuration where the max number of slots has not been planned upfront.
S1,S2,S3 --> SVC1
S4,S5,S6 --> SVC2
S7, S8, S7, S10 --> SVC3
When the amount of entries stored on SVC1 exceed some limits, a new service instance is set up (say SVC4), one (or more) slots formerly managed by SVC1 are moved to SVC4 (the content of SVC1 is re-distributed to SVC1 and SVC4) and the proxy configuration is changed accordingly, for instance
S1,S2 --> SVC1
S3 --> SVC4
S4,S5,S6 --> SVC2
S7, S8, S7, S10 --> SVC3
This does not solve the re-distribution problem. However, it is much easier to deal with this issue as the number of entries to be re-distributed is much smaller compared to a configuration where the max number of slots has not been planned upfront.
sunkeyvalue
Which I think is not an option in that case since the sunkeyvalue attribute is meant to be generic place holder for any key value pair and needs to be mulivalued.
The other thing, the value of this attribute being XML, it contains a special character which forces the value to be base64 encoded in LDIF (and thus in the DB representation of the entry). This increases the size of the value by at least 30%, thus the size of the data to write.
Directory Server 6 made serious improvement over this use case and the replication historical information will be lighter than with 5.2...
The other thing, the value of this attribute being XML, it contains a special character which forces the value to be base64 encoded in LDIF (and thus in the DB representation of the entry). This increases the size of the value by at least 30%, thus the size of the data to write.
Directory Server 6 made serious improvement over this use case and the replication historical information will be lighter than with 5.2...
DN Binding with Empty Password
Bind with a DN and an empty password is a valid LDAP operation per the
LDAP v3 specifications (RFC 2251) and results in the user being
identified but not authenticated and not authorized...
The result is that the bind is successful but the connection is treated
as an anonymous operation.
Note that this behavior is now discouraged in RFC 4513 and Directory
Server 6 has a configuration parameter to accept or reject these requests.
LDAP v3 specifications (RFC 2251) and results in the user being
identified but not authenticated and not authorized...
The result is that the bind is successful but the connection is treated
as an anonymous operation.
Note that this behavior is now discouraged in RFC 4513 and Directory
Server 6 has a configuration parameter to accept or reject these requests.
Tuesday, November 07, 2006
DS Instance Life cycle
"Disorderly shutdown" message is logged when DS starts and does not find the guardian file that DS writes when it closes the database properly.
Then the server starts and opens the database in recovery mode. If it doesn't start at all, without starting the recovery, it might be a corruption of the config file (dse.ldif). There should be 2 other copies of the dse.ldif in the config directory: dse.ldif.bak (the previous version), dse.ldif.startok (the last one used to start the server). A working dse.ldif can be rebuilt from these files.
If it does go through the recovery mode but fails to recover the database, then you're in trouble. It means that either the DB files are corrupted or the transaction log file is.
One way to quickly recover the server can be to make a backup of another server with the same configuration (other master) and restore it on this server.
Then the server starts and opens the database in recovery mode. If it doesn't start at all, without starting the recovery, it might be a corruption of the config file (dse.ldif). There should be 2 other copies of the dse.ldif in the config directory: dse.ldif.bak (the previous version), dse.ldif.startok (the last one used to start the server). A working dse.ldif can be rebuilt from these files.
If it does go through the recovery mode but fails to recover the database, then you're in trouble. It means that either the DB files are corrupted or the transaction log file is.
One way to quickly recover the server can be to make a backup of another server with the same configuration (other master) and restore it on this server.
Subscribe to:
Posts (Atom)
