1 |
|
|
/* $OpenBSD: magic.c,v 1.10 2013/09/29 16:24:22 deraadt Exp $ */ |
2 |
|
|
|
3 |
|
|
/* |
4 |
|
|
* magic.c - PPP Magic Number routines. |
5 |
|
|
* |
6 |
|
|
* Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved. |
7 |
|
|
* |
8 |
|
|
* Redistribution and use in source and binary forms, with or without |
9 |
|
|
* modification, are permitted provided that the following conditions |
10 |
|
|
* are met: |
11 |
|
|
* |
12 |
|
|
* 1. Redistributions of source code must retain the above copyright |
13 |
|
|
* notice, this list of conditions and the following disclaimer. |
14 |
|
|
* |
15 |
|
|
* 2. Redistributions in binary form must reproduce the above copyright |
16 |
|
|
* notice, this list of conditions and the following disclaimer in |
17 |
|
|
* the documentation and/or other materials provided with the |
18 |
|
|
* distribution. |
19 |
|
|
* |
20 |
|
|
* 3. The name "Carnegie Mellon University" must not be used to |
21 |
|
|
* endorse or promote products derived from this software without |
22 |
|
|
* prior written permission. For permission or any legal |
23 |
|
|
* details, please contact |
24 |
|
|
* Office of Technology Transfer |
25 |
|
|
* Carnegie Mellon University |
26 |
|
|
* 5000 Forbes Avenue |
27 |
|
|
* Pittsburgh, PA 15213-3890 |
28 |
|
|
* (412) 268-4387, fax: (412) 268-7395 |
29 |
|
|
* tech-transfer@andrew.cmu.edu |
30 |
|
|
* |
31 |
|
|
* 4. Redistributions of any form whatsoever must retain the following |
32 |
|
|
* acknowledgment: |
33 |
|
|
* "This product includes software developed by Computing Services |
34 |
|
|
* at Carnegie Mellon University (http://www.cmu.edu/computing/)." |
35 |
|
|
* |
36 |
|
|
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO |
37 |
|
|
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY |
38 |
|
|
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE |
39 |
|
|
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
40 |
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN |
41 |
|
|
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING |
42 |
|
|
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
43 |
|
|
*/ |
44 |
|
|
|
45 |
|
|
#include <stdio.h> |
46 |
|
|
#include <unistd.h> |
47 |
|
|
#include <sys/types.h> |
48 |
|
|
#include <sys/time.h> |
49 |
|
|
#include <stdlib.h> |
50 |
|
|
|
51 |
|
|
#include "pppd.h" |
52 |
|
|
#include "magic.h" |
53 |
|
|
|
54 |
|
|
/* |
55 |
|
|
* magic_init - Initialize the magic number generator. |
56 |
|
|
* |
57 |
|
|
* Attempts to compute a random number seed which will not repeat. |
58 |
|
|
* The current method uses the current hostid, current process ID |
59 |
|
|
* and current time, currently. |
60 |
|
|
*/ |
61 |
|
|
void |
62 |
|
|
magic_init() |
63 |
|
|
{ |
64 |
|
|
} |
65 |
|
|
|
66 |
|
|
/* |
67 |
|
|
* magic - Returns the next magic number. |
68 |
|
|
*/ |
69 |
|
|
u_int32_t |
70 |
|
|
magic() |
71 |
|
|
{ |
72 |
|
|
return arc4random(); |
73 |
|
|
} |