mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-14 15:30:27 +00:00
38 lines
735 B
Go
38 lines
735 B
Go
|
package ldap
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"log"
|
||
|
|
||
|
ber "github.com/go-asn1-ber/asn1-ber"
|
||
|
)
|
||
|
|
||
|
const LDAP_TRACE_PREFIX = "ldap-trace: "
|
||
|
|
||
|
// debugging type
|
||
|
// - has a Printf method to write the debug output
|
||
|
type debugging bool
|
||
|
|
||
|
// Enable controls debugging mode.
|
||
|
func (debug *debugging) Enable(b bool) {
|
||
|
*debug = debugging(b)
|
||
|
}
|
||
|
|
||
|
// Printf writes debug output.
|
||
|
func (debug debugging) Printf(format string, args ...interface{}) {
|
||
|
if debug {
|
||
|
format = LDAP_TRACE_PREFIX + format
|
||
|
log.Printf(format, args...)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// PrintPacket dumps a packet.
|
||
|
func (debug debugging) PrintPacket(packet *ber.Packet) {
|
||
|
if debug {
|
||
|
var b bytes.Buffer
|
||
|
ber.WritePacket(&b, packet)
|
||
|
textToPrint := LDAP_TRACE_PREFIX + b.String()
|
||
|
log.Printf(textToPrint)
|
||
|
}
|
||
|
}
|