Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Xavier Bachelot
lemonldap-ng
Commits
4657e82a
Commit
4657e82a
authored
Dec 14, 2009
by
Yadd
Browse files
Insert more parameters in manager
parent
3b30a72d
Changes
4
Hide whitespace changes
Inline
Side-by-side
modules/lemonldap-ng-handler/lib/Lemonldap/NG/Handler/Simple.pm
View file @
4657e82a
...
...
@@ -805,7 +805,7 @@ sub hideCookie {
my
$class
=
shift
;
$class
->
lmLog
(
"
$class
: removing cookie
",
'
debug
'
);
my
$tmp
=
lmHeaderIn
(
$apacheRequest
,
'
Cookie
'
);
$tmp
=~
s/$cookieName[^,;]*[,;]?//o
;
$tmp
=~
s/$cookieName
(?:http)?
[^,;]*[,;]?//o
;
lmSetHeaderIn
(
$apacheRequest
,
'
Cookie
'
=>
$tmp
);
}
...
...
modules/lemonldap-ng-manager/example/skins/default/manager.js
View file @
4657e82a
...
...
@@ -68,7 +68,6 @@ function none(id) {
}
function
hashRoot
(){
currentId
=
simpleTreeCollection
[
0
].
getSelected
().
attr
(
'
id
'
);
alert
(
currentId
);
display
(
'
default
'
,
'
Lemonldap::NG Manager
'
);
$
(
'
#newkbr
'
).
css
(
'
display
'
,
'
block
'
);
}
...
...
modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Downloader.pm
View file @
4657e82a
...
...
@@ -50,7 +50,8 @@ sub node {
# subnode points to a configuration node
elsif
(
$flag
=~
/^n?hash$/
)
{
$res
.=
$self
->
confNode
(
$node
,
"
$flag
:
$target
",
$help
,
$_j
);
$res
.=
$self
->
confNode
(
$node
,
"
$flag
:
$target
",
$help
,
$_j
);
}
else
{
...
...
@@ -85,11 +86,13 @@ sub confNode {
return
unless
(
$h
);
foreach
(
sort
keys
%$h
)
{
if
(
ref
(
$h
)
)
{
$res
.=
$self
->
ajaxNode
(
"
$target
/
$_
",
$_
,
"
node=
$node
/
$_
\
&key=
$_
",
$help
,
$js
,
undef
,
1
);
$res
.=
$self
->
ajaxNode
(
"
$target
/
$_
",
$_
,
"
node=
$node
/
$_
\
&key=
$_
",
$help
,
$js
,
undef
,
1
);
}
else
{
$res
.=
$self
->
confNode
(
"
$target
/
$_
",
"
btext:
$target
/
$_
",
$help
,
$js
);
$res
.=
$self
->
confNode
(
"
$target
/
$_
",
"
btext:
$target
/
$_
",
$help
,
$js
);
}
}
}
...
...
@@ -109,7 +112,8 @@ sub confNode {
# Here, "notranslate" is set to true : hash values must not be
# translated
$res
.=
$self
->
li
(
$id
)
$res
.=
$self
->
li
(
$id
)
.
$self
->
span
(
$id
,
"
$_
",
$h
->
{
$_
},
$js
,
$help
,
1
)
.
"
</li>
";
}
}
...
...
@@ -124,19 +128,27 @@ sub confNode {
$h
=
$self
->
keyToH
(
$target
,
$self
->
defaultConf
)
unless
(
defined
$h
);
unless
(
defined
$h
)
{
$self
->
lmLog
(
"
$target
does not exists in menu hash
",
"
warn
"
);
return
;
$self
->
lmLog
(
"
$target
does not exists in menu hash
",
"
debug
"
);
$h
=
{
text
=>
'',
hash
=>
{},
'
int
'
=>
0
,
}
->
{
$type
};
$self
->
lmLog
(
"
Type
$type
unknown
",
'
warn
'
)
unless
(
defined
$h
);
}
if
(
ref
(
$h
)
)
{
$res
.=
$self
->
li
(
"
$target
",
"
closed
"
)
$res
.=
$self
->
li
(
"
$target
",
"
closed
"
)
.
$self
->
span
(
"
$target
",
$text
,
'',
$js
,
$help
)
.
"
<ul>
";
foreach
(
sort
keys
%$h
)
{
if
(
ref
(
$h
->
{
$_
}
)
)
{
$res
.=
$self
->
confNode
(
'',
"
btext:
$target
/
$_
",
$help
,
$js
);
$res
.=
$self
->
confNode
(
'',
"
btext:
$target
/
$_
",
$help
,
$js
);
}
else
{
my
$id
=
"
$target
/
$_
";
$res
.=
$self
->
li
(
$id
)
$res
.=
$self
->
li
(
$id
)
.
$self
->
span
(
$id
,
$_
,
$h
->
{
$_
},
$js
,
$help
)
.
"
</li>
";
}
}
...
...
@@ -144,7 +156,8 @@ sub confNode {
}
else
{
my
$id
=
"
$target
";
$res
.=
$self
->
li
(
$id
)
$res
.=
$self
->
li
(
$id
)
.
$self
->
span
(
$id
,
$text
,
$h
,
$js
,
$help
)
.
"
</li>
";
}
}
...
...
@@ -239,7 +252,8 @@ sub confObj {
sub
ajaxNode
{
my
(
$self
,
$id
,
$text
,
$param
,
$help
,
$js
,
$data
,
$noT
)
=
@_
;
$param
.=
"
&cfgNum=
$self
->{cfgNum}
";
return
$self
->
li
(
$id
)
return
$self
->
li
(
$id
)
.
$self
->
span
(
$id
,
$text
,
$data
,
undef
,
$help
,
$noT
)
.
"
<ul class=
\"
ajax
\"
>
"
.
$self
->
li
("
sub_
$id
")
...
...
@@ -259,7 +273,8 @@ sub span {
$id
=~
s/(=*)$/length($1)/
e
;
$data
=~
s/"/'/g
;
$tmp
=~
s/"/'/g
;
$text
=
join
'
',
map
{
$self
->
translate
(
$_
)
}
split
/\s+/
,
$text
unless
(
$noT
);
$text
=
join
'
',
map
{
$self
->
translate
(
$_
)
}
split
/\s+/
,
$text
unless
(
$noT
);
$text
=
$self
->
escapeHTML
(
$text
);
return
"
<span name=
\"
$tmp
\"
id=
\"
text_
$id
\"
onclick=
\"
$js
('
$id
')
\"
help=
\"
$help
\"
value=
\"
$data
\"
>
$text
</span>
...
...
modules/lemonldap-ng-manager/lib/Lemonldap/NG/Manager/_Struct.pm
View file @
4657e82a
...
...
@@ -29,23 +29,33 @@ sub struct {
_help
=>
'
default
',
generalParameters
=>
{
_nodes
=>
[
qw(n:authParams cookieParams cn:exportedVars cn:macros sessionParams ldapParams)
qw(n:authParams cookieParams cn:exportedVars cn:macros sessionParams ldapParams
n:advancedParams
)
],
_help
=>
'
default
',
authParams
=>
{
_nodes
=>
[
qw(portal authentication userDB whatToTrace)
],
_nodes
=>
[
qw(portal authentication userDB syslog whatToTrace singleSession singleIP singleUserByIP)
],
_help
=>
'
authParams
',
authentication
=>
'
text:/authentication
',
portal
=>
'
text:/portal
',
userDB
=>
'
text:/userDB
',
syslog
=>
'
int:/syslog
',
useXForwardedForIP
=>
'
int:/useXForwardedForIP
',
whatToTrace
=>
'
text:/whatToTrace:whatToTrace:text
',
singleSession
=>
'
int:/singleSession
',
singleIP
=>
'
int:/singleIP
',
singleUserByIP
=>
'
int:/singleUserByIP
',
},
cookieParams
=>
{
_nodes
=>
[
qw(cookieName domain securedCookie)
],
_nodes
=>
[
qw(cookieName domain securedCookie cookieExpiration)
],
_help
=>
'
cookies
',
cookieName
=>
'
text:/cookieName:cookieName:text
',
domain
=>
'
text:/domain:domain:text
',
securedCookie
=>
'
int:/securedCookie:securedCookie:securedCookieValues
',
cookieExpiration
=>
'
text:/cookieExpiration
',
},
exportedVars
=>
{
_nodes
=>
['
hash:/exportedVars:vars:btext
'],
...
...
@@ -76,8 +86,44 @@ sub struct {
managerDn
=>
'
text:/managerDn
',
managerPassword
=>
'
text:/managerPassword
',
},
advancedParams
=>
{
_nodes
=>
[
qw(Soap exportedAttr storePassword trustedDomains status https protection notifications passwordManagement)
],
Soap
=>
'
int:/Soap
',
https
=>
'
int:/https
',
exportedAttr
=>
'
text:/exportedAttr
',
storePassword
=>
'
int:/storePassword
',
notifications
=>
{
_nodes
=>
[
qw(notification notificationStorage notificationStorageOptions)
],
_help
=>
'
notifications
',
notification
=>
'
int:/notification
',
notificationStorage
=>
'
text:/notificationStorage
',
notificationStorageOptions
=>
{
_nodes
=>
['
hash:/notificationStorageOptions
'],
_js
=>
'
hashRoot
'
},
},
passwordManagement
=>
{
_nodes
=>
[
qw(passwordDB SMTPServer mailFrom mailSubject randomPasswordRegexp mailBody)
],
passwordDB
=>
'
text:/passwordDB
',
SMTPServer
=>
'
text:/SMTPServer
',
mailFrom
=>
'
text:/mailFrom
',
mailSubject
=>
'
text:/mailSubject
',
randomPasswordRegexp
=>
'
text:/randomPasswordRegexp
',
mailBody
=>
'
text:/mailBody
',
},
trustedDomains
=>
'
text:/trustedDomains
',
status
=>
'
int:/status
',
protection
=>
'
int:/protection
',
}
},
groups
=>
{
_nodes
=>
['
hash:/groups:groups:btext
'],
_js
=>
'
hashRoot
'
},
groups
=>
{
_nodes
=>
['
hash:/groups:groups:btext
'],
_js
=>
'
hashRoot
'
},
virtualHosts
=>
{
_nodes
=>
['
nhash:/locationRules:virtualHosts:none
'],
},
};
...
...
@@ -92,6 +138,7 @@ sub testStruct {
return
1
if
(
$@
=~
/Global symbol "\$.*requires explicit package/
);
return
(
$@
?
(
0
,
$@
)
:
1
);
};
my
$boolean
=
{
test
=>
qr/^(?:0|1)?$/
,
msgFail
=>
'
Value must be 0 or 1
'
};
return
{
authentication
=>
{
test
=>
qr/^[a-zA-Z][\w\:]*$/
,
...
...
@@ -109,6 +156,7 @@ sub testStruct {
test
=>
qr/^https?:\/
\
/\S+$/
,
msgFail
=>
'
Bad portal value
',
},
cda
=>
$boolean
,
cookieName
=>
{
test
=>
qr/^[a-zA-Z]\w*$/
,
msgFail
=>
'
Bad cookie name
',
...
...
@@ -158,6 +206,14 @@ sub testStruct {
msgFail
=>
'
Bad LDAP dn
',
},
managerPassword
=>
{},
notificationStorage
=>
{
test
=>
qr/^[\w:]+$/
,
msgFail
=>
'
Bad module name
',
},
notificationStorageOptions
=>
{
keyTest
=>
qr/^\w+$/
,
keyMsgFail
=>
'
Bad parameter
',
},
groups
=>
{
keyTest
=>
qr/^\w[\w-]*$/
,
keyMsgFail
=>
'
Bad group name
',
...
...
@@ -229,13 +285,34 @@ sub testStruct {
},
},
},
syslog
=>
$boolean
,
Soap
=>
$boolean
,
storePassword
=>
$boolean
,
notification
=>
$boolean
,
status
=>
$boolean
,
https
=>
$boolean
,
protection
=>
{
keyTest
=>
qr/^(?:none|authentificate|manager|)$/
,
msgFail
=>
'
must be one of none authentificate manager
',
},
useXForwardedForIP
=>
$boolean
,
singleSession
=>
$boolean
,
singleIP
=>
$boolean
,
singleUserByIP
=>
$boolean
,
};
}
sub
defaultConf
{
return
{
authentication
=>
'
LDAP
',
userDB
=>
'
LDAP
',
ldapServer
=>
'
localhost
',
globalStorage
=>
'
Apache::Session::File
',
globalStorageOptions
=>
{
'
Directory
'
=>
'
/var/lib/lemonldap-ng/sessions/
',
'
LockDirectory
'
=>
'
/var/lib/lemonldap-ng/sessions/lock/
'
},
timeout
=>
7200
,
};
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment