profile
viewpoint
Chris Gorham gorhamc Facebook Denver, CO https://github.com/facebook Production Engineer @Facebook

gorhamc/dhcp 0

DHCPv4 and DHCPv6 packet library, client and server written in Go

gorhamc/dhcplb 0

dhcplb is Facebook's implementation of a load balancer for DHCP.

gorhamc/radius 0

a Go (golang) RADIUS client and server implementation

startedtmrts/go-patterns

started time in 4 days

pull request commentlayeh/radius

[radius] Add SecretSourceWithBytes interface type

@bontibon would you mind taking a look and letting me know your thoughts?

gorhamc

comment created time in 22 days

issue commentlayeh/radius

Increase flexibility of SecretSource?

Added a PR, please let me know what you think. I took an approach that would not impact any existing code using SecretSource.RADIUSSecret. If you are ok with that, the cleaner/easier solution would be to simply add the []bytes parameter to that method, rather than a second interface like I have done in my first attempt.

gorhamc

comment created time in a month

PR opened layeh/radius

[radius] Add SecretSourceWithBytes interface type

This PR is in response to Issue #82 .

Summary: These changes add another method of determining a secret to use for an incoming radius packet, without modifying the existing behavior of SecretSource interface. Relying on Remote Address is sadly really painful to do in my current employer's environment. It is much easier for us to rely on NAS-Identifier information, or possibly other attributes.

+41 -6

0 comment

2 changed files

pr created time in a month

push eventgorhamc/radius

gorpig

commit sha 5e4b13fc87375629985fe064b96da069ffb54e7f

[radius] Add SecretSourceWithBytes interface type

view details

push time in a month

push eventgorhamc/radius

push time in a month

push eventgorhamc/radius

gorpig

commit sha fbf0f8783c32d725b36e324cc8e46b0061a47f5d

Merge branch 'master' of https://github.com/gorhamc/radius

view details

gorpig

commit sha 8d784dbd2b0386c9192feb90ef00b33d2fc989f6

Merge branch 'master' of https://github.com/gorhamc/radius

view details

push time in a month

push eventgorhamc/radius

gorpig

commit sha 398eef9aaa3b8858c0a8ec54a85f5c571847e788

- amend more changes to SecretSourceWithBytes commit

view details

gorpig

commit sha 1148014318b48c0996278f9737aa3d263dcbcb85

Merge branch 'master' of https://github.com/gorhamc/radius

view details

push time in a month

push eventgorhamc/radius

gorpig

commit sha 3022952f1b2b5f86d9e64fde83142b05bd2cd860

[radius] Add SecretSourceWithBytes interface type - alternative to existing SecretSource

view details

gorpig

commit sha 7b7b9c15b108934728373d3025e69d17b0453c39

Merge branch 'master' of https://github.com/gorhamc/radius

view details

push time in a month

push eventgorhamc/radius

gorpig

commit sha 02df9775dc832a9d46fa7a7d995c8c76c77625bc

[radius] Add SecretSourceWithBytes interface type - alternative to existing SecretSource

view details

push time in a month

push eventgorhamc/radius

push time in a month

push eventgorhamc/radius

Chris Gorham

commit sha d06650ea3e520426d8125d229645f68aea9213c0

add PacketServer.ErrorLog Closes #76 Closes #77

view details

Tim Cooper

commit sha df567032bb2c2060ef7fe4afe0a22fc0da365a85

add rfc6677

view details

Tim Cooper

commit sha de94a2aa0a2de140be72e4a8dc0cd0ee7643ba0d

add rfc6572

view details

Tim Cooper

commit sha 2b3c75865c20eb22199e87c02cc52242ccb300c9

add rfc6519

view details

Tim Cooper

commit sha 156c8511744b494c46a1d4e94762bb929325d412

add rfc5447

view details

Tim Cooper

commit sha 63a7f112519d9a81af21877587af5edbf481b9ae

add rfc5904

view details

Tim Cooper

commit sha 29d5ceaf96ecb72c4f56c721f965f3087d8b6020

add rfc4675

view details

Tim Cooper

commit sha 6fa01a13882fa441521198035bf1e64e735f73fd

add rfc7055

view details

Tim Cooper

commit sha 2801bc3084b78eb1406ef086404b8d7b7ab2f1f6

add rfc7268

view details

Tim Cooper

commit sha d62a6e0a181915aa4d007265bc81ee02531e7baa

vendor RFC, vendors dictionary files

view details

gorpig

commit sha 9e40e42cac879600e57d70123c9e9a0cdc78d27a

resolving conflicts with upstream master

view details

push time in a month

issue openedlayeh/radius

Increase flexibility of SecretSource?

The existing SecretSource method is great and follows the RFC, as it should. However, relying on IP source to determine what secret should be used is difficult in very large environments that don't necessarily standardize IP space deployments. In my employer's use case, it would be much simpler to rely on something like Nas-Identifier.

Would you be open to supporting something like that? I'm happy to do a PR and discuss approaches further.

created time in a month

startedpinterest/bender

started time in 2 months

PR opened layeh/radius

[radius][packet-server] Add logger to PacketServer

Adding a simple logger to PacketServer. Implementation mirrors net/http package internals. If a caller doesn't set a logger on the PacketServer struct, the 'log' package default logger will be used. The log package default logger just dumps to stdout.

+20 -1

0 comment

2 changed files

pr created time in 3 months

push eventgorhamc/radius

gorpig

commit sha d637c52c19f674c3fde4b7180f5ca84a997e0756

[radius][packet-server] Add logger to PacketServer

view details

push time in 3 months

push eventgorhamc/radius

gorpig

commit sha c7fa022000ecc0dc7a19d9bf5b139b1a4bebe3c5

[radius][packet-server] Add logger to PacketServer

view details

push time in 3 months

push eventgorhamc/radius

Tim Cooper

commit sha 4b6cc7756d169267b0b230c6fd9a85388c93665a

add new logo

view details

Tim Cooper

commit sha a9ad15de79b9b7ddb772eaf6d4fad9109e69172c

reduce logo size in README

view details

Tim Cooper

commit sha 13220954963490f7c76183332cbd33b1da6e1c0a

fix invalid attributes being included by Attributes.encodeTo

view details

Chris Gorham

commit sha 0492ccb85c52a15202ebc7c38ecefd4b5f87ca7d

add (*Packet).MarshalBinary() Closes #75

view details

gorpig

commit sha b9e79bdeae21eeac3fac756ce17f64ef6462c0e9

merge with layeh upstream

view details

push time in 3 months

issue commentlayeh/radius

server-packet logging request

I haven't used that package before so I don't have much of an opinion on it. I'm happy to give it a go.

Just logging errors sounds good to me. There's been times when logging validation failures (i.e IsAuthenticRequest/Response=false) would be useful but I think that may fall under debug logging?

gorhamc

comment created time in 3 months

issue openedlayeh/radius

server-packet logging request

I noticed a TODO comment for adding a logger in server-packet.go. I'm interested in helping out with this, but wanted to clarify a few things first.

  1. Is this something you would welcome a PR for?
  2. If so, is there a preferred logger? My preference is typically glog, but happy to use something else if preferred.

created time in 3 months

pull request commentlayeh/radius

[radius][packet] Add MarshalBinary method for Packet

@bontibon thoughts?

gorhamc

comment created time in 3 months

PullRequestEvent

PR closed layeh/radius

[radius][packet] Add MarshalBinary method for Packet

It is sometimes useful to be able to access the Packet struct in byte form. One example of this is for validating MessageAuthenticator attributes (see RFC2869).

Encode can modify the Authenticator field of a packet, breaking reliable validation ability when converting a Packet to Bytes. The MarshalBinary method makes it simple to fetch a Packet in byte form without the packet being modified. MarshalBinary also satisfies the BinaryMarshaller interface found in the standard Go encoding package. This may add some flexibility to users of this code base.

Alternatively, if this approach is disliked, perhaps there could be a Raw field added to the Packet struct that is populated upon Parse and Encode calls.

+42 -0

0 comment

2 changed files

gorhamc

pr closed time in 3 months

startedlayeh/radius

started time in 3 months

push eventgorhamc/radius

Chris Gorham

commit sha 0558da2f2555d3051573e76bf2c2f6305c751354

Update packet_test.go correcting test error message

view details

push time in 3 months

PR opened layeh/radius

[radius][packet] Add MarshalBinary method for Packet

It is sometimes useful to be able to access the Packet struct in byte form. One example of this is for validating MessageAuthenticator attributes (see RFC2869).

Encode can modify the Authenticator field of a packet, breaking reliable validation ability when converting a Packet to Bytes. The MarshalBinary method makes it simple to fetch a Packet in byte form without the packet being modified. MarshalBinary also satisfies the BinaryMarshaller interface found in the standard Go encoding package. This may add some flexibility to users of this code base.

+42 -0

0 comment

2 changed files

pr created time in 3 months

push eventgorhamc/radius

Chris Gorham

commit sha 11e50561c26446fc319591f7e997778018113738

[radius][packet] Add MarshalBinary method for Packet

view details

push time in 3 months

fork gorhamc/radius

a Go (golang) RADIUS client and server implementation

https://godoc.org/layeh.com/radius

fork in 3 months

more