@@ -20,15 +20,16 @@ func bad(w http.ResponseWriter, req *http.Request) (interface{}, error) {
20
20
// Connect to the LDAP server
21
21
l , err := ldap .Dial ("tcp" , fmt .Sprintf ("%s:%d" , ldapServer , ldapPort ))
22
22
if err != nil {
23
- log . Fatalf ("Failed to connect to LDAP server: %v" , err )
23
+ return fmt . Errorf ("Failed to connect to LDAP server: %v" , err ), err
24
24
}
25
25
defer l .Close ()
26
26
27
27
// BAD: user input is not sanetized
28
28
err = l .Bind (bindDN , bindPassword )
29
29
if err != nil {
30
- log . Fatalf ("LDAP bind failed: %v" , err )
30
+ return fmt . Errorf ("LDAP bind failed: %v" , err ), err
31
31
}
32
+ return nil , nil
32
33
}
33
34
34
35
func good1 (w http.ResponseWriter , req * http.Request ) (interface {}, error ) {
@@ -40,7 +41,7 @@ func good1(w http.ResponseWriter, req *http.Request) (interface{}, error) {
40
41
// Connect to the LDAP server
41
42
l , err := ldap .Dial ("tcp" , fmt .Sprintf ("%s:%d" , ldapServer , ldapPort ))
42
43
if err != nil {
43
- log . Fatalf ("Failed to connect to LDAP server: %v" , err )
44
+ return fmt . Errorf ("Failed to connect to LDAP server: %v" , err ), err
44
45
}
45
46
defer l .Close ()
46
47
@@ -50,6 +51,10 @@ func good1(w http.ResponseWriter, req *http.Request) (interface{}, error) {
50
51
if ! hasEmptyInput {
51
52
l .Bind (bindDN , bindPassword )
52
53
}
54
+ if err != nil {
55
+ return fmt .Errorf ("LDAP bind failed: %v" , err ), err
56
+ }
57
+ return nil , nil
53
58
}
54
59
55
60
func good2 (w http.ResponseWriter , req * http.Request ) (interface {}, error ) {
@@ -61,14 +66,16 @@ func good2(w http.ResponseWriter, req *http.Request) (interface{}, error) {
61
66
// Connect to the LDAP server
62
67
l , err := ldap .Dial ("tcp" , fmt .Sprintf ("%s:%d" , ldapServer , ldapPort ))
63
68
if err != nil {
64
- log . Fatalf ("Failed to connect to LDAP server: %v" , err )
69
+ return fmt . Errorf ("Failed to connect to LDAP server: %v" , err ), err
65
70
}
66
71
defer l .Close ()
67
72
68
73
// GOOD : bindPassword is not empty
69
74
if bindPassword != "" {
70
75
l .Bind (bindDN , bindPassword )
76
+ return nil , err
71
77
}
78
+ return nil , nil
72
79
}
73
80
74
81
func bad2 (req * http.Request ) {
0 commit comments