Bedrock Computer Technologies, LLC v. Softlayer Technologies, Inc. et al
Filing
846
Additional Attachments to Main Document: #845 MOTION for Judgment as a Matter of Law Regarding Invalidity (Renewed) MOTION for Judgment as a Matter of Law Regarding Invalidity (Renewed) MOTION for Judgment as a Matter of Law Regarding Invalidity (Renewed) MOTION for Judgment as a Matter of Law Regarding Invalidity (Renewed) MOTION for Judgment as a Matter of Law Regarding Invalidity (Renewed).. (Attachments: #1 Exhibit 13 - U.S. Patent 5,893,120 - PX-1, #2 Exhibit 14 - 1996 NRL IPv6 code key.c - DX-36, #3 Exhibit 15 - NRL Source Code - key.h - DX-35, #4 Exhibit 16 - Information Disclosure Statement - 6/2010 - DX-147C, #5 Exhibit 17 - Information Disclosure Statement -12-2010 - DX-147E, #6 Exhibit 18 - Transaction History for Patent Application - DX-147G, #7 Exhibit 19 - USPTO Notice of Intent to Issue - DX-147F, #8 Exhibit 20 - Ex Parte Reexamination Certificate for the '120 Patent - DX-147H, #9 Exhibit 21 - US. Patent 5,287,499 - DX-66, #10 Exhibit 22 - Telcordia documents re: patent application - DX-56, #11 Exhibit 23 - Yahoo!'s 2004 10K Annual Statement - PX-248)(Doan, Jennifer)
Exhibit 15
key.h
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
9/28/1995
The views and conclusions contained in the software and documentation
are those of the authors aIld should not be interpreted as representing
official policies, either expressed or implied, of the US Naval
Research Laboratory (NRL).
----------------------------------------------------------------------*/
/*
* PF_KEY messages
*/
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
KEY
KEY
KEY
KEY
KEY
KEY
KEY
KEY
KEY
KEY
ADD
DELETE
UPDATE
GET
ACQUIRE
GETSPI
REGISTER
EXPIRE
DUMP
FLUSH
#define KEY VERSION
#define POLICY VERSION
1
2
3
4
5
6
7
8
9
10
1
1
/*
* Security association state
*/
#define
#define
#define
#define
#define
reaping
#define
K
K
K
K
K
/* Key used/not used */
/* Key unique/reusable */
/* SPI assigned, but sa incomplete */
USED
UNIQUE
LARVAL
ZOMBIE
DEAD
Ox1
Ox2
Ox4
Ox8
Ox10
/* sa expired but still useable */
/* sa marked for deletion, ready for
K INBOUND
Ox20
/* sa for inbound packets, ie. dst=myhost
Ox40
/* sa for outbound packets, ie.
*/
*/
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#define K OUTBOUND
src=myhost */
/*
* Structure for key message header.
*
PF KEY message consists of key msghdr followed by
*
Assumes size of key message header less than MHLEN.
* src sockaddr, dest sockaddr, from sockaddr, key, and iv.
*/
struct key msghdr {
/* length of message including
u short key msglen;
src/dst/from/key/iv */
u char key msgvers;
/* key version number */
u char key msgtype;
/* key message type, ego KEY ADD */
pid t
key pid;
/* process id of message sender */
intkey seq;
/* message sequence number */
int
key errno;
/* error code */
u int8 type;
/* type of security association */
u int8 state;
/* state of security association */
u int8 label;
/* sensitivity level */
u int32 spi;
/* spi value */
u int8 keylen;
/* key length */
u int8 ivlen;
/* iv length */
u int8 algorithm;
/* algorithm identifier */
u int8 lifetype;
/* type of lifetime */
u int32 lifetime1;
/* lifetime value 1 */
u int32 lifetime2;
/* lifetime value 2 */
}; -
2
DEF00007972
key.h
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
9/28/1995
struct key msgdata {
struct sockaddr *src;
struct sockaddr *dst;
struct sockaddr *from;
caddr t iv;
caddr t key;
int ivlen;
int keylen;
};
struct policy msghdr f
u short policy msglen;
u char policy msgvers;
u char policy msgtype;
int
policy seq;
int
policy_errno;
/*
/*
/*
/*
source host address */
destination host address */
originator of security association */
initialization vector */
/* key */
/* key length */
/* iv length */
/*
/*
/*
/*
/*
message length */
message version */
message type */
message sequence number */
error code *1
};
#ifdef KERNEL
/*
* Key engine table structures
*/
struct socketlist
struct socket *socket;
struct socketlist *next;
};
/* pointer to socket */
/* next */
struct key tblnode
int alloc count;
secas soc */
int ref count;
*/
165
-
struct socketlist *solist;
/* number of sockets allocated to
/* number of sockets referencing secas soc
/* list of sockets allocated to secas soc
*/
166
167
168
169
170
171
172
173
174
175
176
177
};
struct ipsec as soc *secassoc; /* security association */
struct key_tblnode *next;
/* next node */
struct key allocnode
struct key tblnode *keynode;
struct key allocnode *nexti
};
-
struct key s02spinode {
struct socket *socket;
struct key_tblnode *keynode;
1*
socket pointer */
/* pointer to tblnode containing secas soc
*/
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/* info for socket
struct key_so2spinode *next;
*1
};
struct key registry {
/* secassoc type that key mgnt. daemon can
u int8 type;
acquire */
struct socket *socket;
/* key management daemon socket pointer */
struct key registry *next;
};
struct key acquirelist {
u int8 type;
struct sockaddr in6 target;
u int32 count; u_long expi:t:'etime;
/*
/*
/*
/*
secas soc type to acquire */
destination address of secassoc *1
number of acquire messages sent */
expiration time for acquire message
*1
3
DEF00007973
key.h
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
9/28/1995
};
struct key acquirelist *nexti
'-
struct keyso cb {
int ip4 count;
int ip6 count;
int any count;
};
-
/* IPv4 */
/* IPv6 * /
/* Sum of above counters */
#endif
/*
* Useful macros
*/
213
214
#ifndef KERNEL
#define KMalloc(p, t, n) (p = (t) malloc«unsigned int)(n)))
#define KFree(p) free«char *)p) i
#else
#define KMalloc(p, t, n) (p = (t) malloc«unsigned long) (n), M_SECA,
M DONTWAIT))
#define KFree(p) free«caddr tip, M_SECA) i
#endif /* KERNEL */
-
215
216
217
218
219
220
#ifdef
void
void
void
int
211
212
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
*
int
*
int
int
int
void
int
int
int
int
void
int
int
int
void
int
int
*
KERNEL
key init
P«void));
key cbinit- P«void)) i
key inittables
P«void));
key_secassoc2msghdr __ p«struct
*, struct key_msghdr
struct key msgdata *)) i
key_msghdr2secassoc-__ P«struct ipsec_assoc
*
struct key_msghdr
struct key msgdata *)) i
key add
p«struct-ipsec assoc *)) i
key delete
P«struct ipsec assoc *))i
key get
P«u int, struct sockaddr *, struct sockaddr * u_int32,
- struct ipsec assoc **))i
key flush
P ( (void) ) ;
key dump
P«struct socket *));
key getspi
P«u int, struct sockaddr * struct sockaddr *
u int32 *)) i
key update
P«struct ipsec aBSOC *));
key register P «struct socket *, u int)) i
key unregister- P( (struct socket *,-u int, int)) i
key acquire
P «u int, struct sockaddr *, struct sockaddr *)) i
getassocbyspi
P«u int, struct sockaddr *, struct sockaddr *,
u int32, struct key tblnode **)) i
getassocbysocket
P«u int, struct sockaddr *, struct sockaddr *
struct socket-*, u int, struct key tb1node **)) i
key free _P«struct key tblnode *)) i
key output
P«struct mbuf *, struct socket *));
key_usrreq __ P«struct socket *, inc, struct mbuf * struct mbuf
struct mbuf *));
#endif
4
DEF00007974
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?