OCIPasswordChange()
Purpose
This call allows the password of an account to be changed.
Syntax
sword OCIPasswordChange ( OCISvcCtx *svchp,
OCIError *errhp,
CONST text *user_name,
ub4 usernm_len,
CONST text *opasswd,
ub4 opasswd_len,
CONST text *npasswd,
sb4 npasswd_len,
ub4 mode );
Parameters
svchp (IN/OUT)
A handle to a service context. The service context handle must be initialized and
have a server context handle associated with it.
errhp (IN)
An error handle you can pass to OCIErrorGet() for diagnostic information in the
event of an error.
user_name (IN)
Specifies the user name. It points to a character string, whose length is specified in
usernm_len. This parameter must be NULL if the service context has been initialized
with an user session handle.
usernm_len (IN)
The length of the user name string specified in user_name. For a valid user name
string, usernm_len must be non-zero.
opasswd (IN)
Specifies the user’s old password. It points to a character string, whose length is
specified in opasswd_len.
opasswd_len (IN)
The length of the old password string specified in opasswd. For a valid password
string, opasswd_len must be non-zero.
npasswd (IN)
Specifies the user’s new password. It points to a character string, whose length is
specified in npasswd_len which must be non-zero for a valid password string. If the
password complexity verification routine is specified in the user’s profile to verify
the new password’s complexity, the new password must meet the complexity
requirements of the verification function.
npasswd_len (IN)
Then length of the new password string specified in npasswd. For a valid password
string, npasswd_len must be non-zero.
mode (IN)
Can be OCI_DEFAULT and/or OCI_AUTH. If set to OCI_AUTH, the following
happens:
n If a user session context is not created, this call creates the user session context
and changes the password. At the end of the call, the user session context is not
cleared. Hence the user remains logged in.
If the user session context is already created, this call just changes the password and
the flag has no effect on the session. Hence the user still remains logged in.
Comments
This call allows the password of an account to be changed. This call is similar to
OCISessionBegin() with the following differences:
n If the user session is already established, it authenticates the account using the
old password and then changes the password to the new password
n If the user session is not established, it establishes a user session and
authenticates the account using the old password, then changes the password
to the new password.
This call is useful when the password of an account has expired and
OCISessionBegin() returns an error (ORA-28001) or warning that indicates that the
password has expired.