99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

合肥生活安徽新聞合肥交通合肥房產(chǎn)生活服務(wù)合肥教育合肥招聘合肥旅游文化藝術(shù)合肥美食合肥地圖合肥社保合肥醫(yī)院企業(yè)服務(wù)合肥法律

COMP3301代寫、代做C/C++語言編程

時(shí)間:2024-08-08  來源:合肥網(wǎng)hfw.cc  作者:hfw.cc 我要糾錯



COMP3301 Semester 1 2024 Assignment 1
COMP3301 Assignment 11
OpenBSD Zones “Episode 3: Return of the Sys(call)”2
Due: 3pm Monday in Week 5(19th of August)3
Submission: BlackBoard (reflection) and Git.4
Demo and git are marked in your lab session in week 55
Last Updated: July 30, 20246
1 Academic Integrity7
All assessments are individual. You should feel free to discuss aspects of C programming and8
assessment specifications with fellow students and discuss the related APIs in general terms.9
You should not actively help (or seek help from) other students with the actual10
coding of your assessment. It is cheating to look at another student’s code, and it is11
cheating to allow your code to be seen or shared in printed or electronic form. You should note12
that all submitted code will be subject to automated checks for plagiarism and collusion. If we13
detect plagiarism or collusion (outside of the base code given to everyone), formal misconduct14
proceedings will be initiated against you.15
If you’re having trouble, seek help from a teaching staff member. Do not be tempted to copy16
another student’s code. You should read and understand the statements on student misconduct17
in the course profile and on the school website: https://eecs.uq.edu.au/current-students/18
guidelines-and-policies-students/student-conduct.19
1.1 Use of AI Tools20
All assessment tasks evaluate students’ abilities, skills and knowledge without the aid of gen-21
erative Artificial Intelligence (AI) or Machine Translation (MT). Students are advised that the22
use of AI technologies to develop responses (e.g. code generation) is strictly prohibited and23
may constitute student misconduct under the Student Code of Conduct.24
2 Introduction25
This assignment will extend a basic implementation of “zones” in the OpenBSD kernel. The26
main area of improvement will be separating group and user permissions on zone operations.27
You will be provided with a diff that adds the basic zones functionality to OpenBSD. You will28
need to make changes and improvements on top of this diff.29
The purpose of this assignment is for you to demonstrate an understanding of the role of an30
operating system kernel and how it supports processes making system calls, as well as your31
skills in reading, understanding, and modifying existing code.**
Page 1 of 11
COMP3301 Semester 1 2024 Assignment 1
2.1 Background33
Zones extend the isolation of processes beyond what is traditionally provided by UNIX and34
UNIX-like systems, including OpenBSD. Traditionally, all processes running on an OpenBSD35
are visible to all other processes. This can be demonstrated by running commands like top(1),36
ps(1), and pgrep(1)/pkill(1), which can show all processes running in a system:37
$ ps -ax
PID TT STAT TIME COMMAND
While all processes are visible to each other, they are restricted from interacting with each38
other based on the user that each process is running as. A non-root user can only signal their39
own processes. Attempts to signal processes running as another user fails:40
$ whoami
dlg
$ ps -U _sndio
PID TT STAT TIME COMMAND
**188 ?? I$ kill **188
ksh: kill: **188: Operation not permitted
$
Page 2 of 11
COMP3301 Semester 1 2024 Assignment 1
However, the root user is allowed to signal any process:41
$ doas kill **188
doas (dlg@comp3301.eait.uq.edu.au) password:
$ ps -U _sndio
PID TT STAT TIME COMMAND
$
3 Zones Implementation42
Zones are implemented for this assignment to add further isolation of processes. Processes43
running within a zone can only see and interact with processes running within the same zone,44
regardless of which user within the zone is running the commands. This implementation is45
loosely modelled on the design of Solaris Zones as described in PSARC/2002/174.46
The exception to this enhanced isolation is for processes running in the ”global” zone, which is**
the default zone that is created and exists on boot. Processes running in the global zone can48
see all other processes in the system, including those running in other (non-global) zones, and49
the root user in the global zone can signal any of these processes too. However, non-root users50
in the global zone cannot signal processes in other zones, even if they are running as the same51
user.52
The provided diff implements changes to the kernel and several userland utilities and adds a53
zone(8) command and man page. The zone(8) command provides several sub-commands that54
expose the functionality of the kernel zone subsystem.55
3.1 Provided Zone Syscalls56
zone_create()57
zoneid_t zone_create(const char *zonename);
zone_create() creates a new zone id for use in the system, with a unique name specified by58
zonename.59
zone_destroy()60
int zone_destroy(zoneid_t z);
zone_destroy() deletes the specified zone instance. The zone must have no running processes61
inside it for the request to succeed.62
zone_enter()63
int zone_enter(zoneid_t z);
zone_enter() moves the current process into the specified zone.64
Page 3 of 11
COMP3301 Semester 1 2024 Assignment 1
zone_list()65
int zone_list(zoneid_t *zs, size_t *nzs);
In the global zone zone_list() provides the list of zones in the running system as an array of66
zoneid ts. If run in a non-global zone, the list will only contain the current zone.67
zone_name()68
int zone_name(zoneid_t z, char *name , size_t namelen);
The zone_name() syscall provides the name of the zone identified by the z argument. If run69
in a non-global zone the z id must be the identifier for the current zone. In the global zone it70
can be any zone identifier.71
zone_id()72
1zoneid_t zone_id(const char *name);
zone_id() provides the id associated with the name zone. If run in a non-global zone, only the**
current zone name may be specified. If name is a NULL pointer the zone id calling process is74
running in is returned.75
zone_stats()76
1int zone_stats(zoneid_t z, struct zstats *zstats);
zone_stats() provides an assortment of operating system statistics resulting from processes77
in the zone associated with the id z.78
3.2 zone(8)79
1usage: zone create zonename
2zone destroy zonename
3zone exec zonename command ...
4zone list
5zone id [zonename]
6zone name [zid]
7zone stats [-H] [-o property [ ,...] zone [...]
The zone(8) program uses the zone syscalls to allow systems administrators or operators to80
use the zone subsystem in the kernel.81
zone create82
zone create uses the zone_create() syscall to create a zone with the specified name.83
zone destroy84
zone destroy uses the zone_destroy() syscall to create a zone with the specified name. If a85
zone with the specified name does not exist, zone(8) will attempt to interpret the argument86
as a numeric zone identifier.87
Page 4 of 11
COMP3301 Semester 1 2024 Assignment 1
zone exec88
zone exec uses the zone_enter() syscall to move itself into the specified zone, and then89
executes the program. If a zone with the specified name does not exist, zone(8) will attempt**
to interpret the argument as a numeric zone identifier.91
zone list92
zone list uses the zone_list() syscall to fetch a list of ids for the currently running zones,93
and iterates over it calling the zone_name() syscall to print out the list of zone ids and names.94
zone name / zone id95
zone name and zone id use their associated syscalls zone_name() and zone_id() to return96
the name of a zone given its id, or the id of a zone given its name.97
zone stats98
zone stats uses the zone_stat() syscall to obtain and print out to the user a series of statis-99
tics from processes running in the current zone. See the manual page in zone(8) for more100
information.101
3.3 Your Tasks102
You will be adding additional functionality to a series of zone(8) sub-commands, adding three103
new zone(8) sub-commands, and implementing any necessary changes to the kernel zones104
system to support them.105
Your additional functionality centers around zone permissions. Files have an associated “user”106
and “group”, and this user or group may have permission to operate on the file. Your task is to107
associate zones with a particular owner and group, and allow the owner of the zone and users108
who are in that group to perform operations on the zone (regardless of whether they are the109
owner of the zone).110
In short, where zones are now only controllable by root, your changes will allow the owner of111
a zone and a different group of users to control a zone.112
The additional sub-commands you will be implementing are: zone rename, which will change113
the name of a zone; zone chown, which will change the owner of a zone in a manner similar114
to the existing chown(8); and zone chgrp, which will change the group of a zone in a manner115
similar to the exist chgrp(8).116
4 Instructions117
To complete the assignment, you will need to do the following.118
4.1 Apply the diff119
** Fetch https://stluc.manta.uqcloud.net/comp3301/public /2024/a1 -zones -base.
patch
2- Create an a1 branch
3- ‘git checkout -b a1 ‘
Page 5 of 11
COMP3301 Semester 1 2024 Assignment 1
4- Apply the base patch to the a1 branch
5- ‘git am /path/to/a1 -zones -base.patch ‘ in /usr/src
6- Build the kernel
7- ‘cd /usr/src/sys/arch/amd64/compile/GENERIC.MP ‘
8- ‘make obj ‘
9- ‘make config ‘
10- ‘make -j 5‘
1** ‘doas make install ‘
12- Reboot into the kernel
13- ‘doas reboot ‘
14- ‘make obj ‘ in /usr/src
15- ‘doas make includes ‘ in /usr/src/include
16- Verify the zones syscalls are in /usr/include/sys/syscall.h
17- Verify /usr/include/sys/zones.h exists
18- Make and install libc
19- ‘cd /usr/src/lib/libc ‘
20- ‘make -j 5‘
2** ‘doas make install ‘
22- Optional: make ps , and pkill/pgrep
23- make zone (8)
24- ‘cd /usr/src/usr.sbin/zone ‘
25- ‘make ‘
26- ‘doas make install ‘
27- Verify ‘zone (8)‘ and the zones subsystem works:
28$ zone list
29ID NAME
300 global
31$ zone create
**usage: zone create zonename
33$ zone create test
34zone: create: Operation not permitted
35$ doas zone create test
36doas (dlg@comp3301.eait.uq.edu.au) password:
37$ zone list
38ID NAME
3** global
4042101 test
41$ zone id
420
43$ zone id test
4442101
45$ zone exec test ps -aux
46zone: enter: Operation not permitted
**$ doas zone exec test ps -aux
48USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
49root 41705 0.0 0.1 628 580 p0 R+pU/0 3:37PM 0:00.14 ps -aux
50$ doas zone exec test zone id
5142101
52$ doas zone exec test zone id global
53zone: id: No such process
54$
As you add the functionality specified in the next sections, some of these steps will be repeated.120
eg, changing the kernel means rebuilding and installing the kernel. Adding a syscall means121
making the syscall stub as a function visible in the headers (make includes), and callable122
through libc.123
Page 6 of 11
COMP3301 Semester 1 2024 Assignment 1
A note on errors124
We have over-specified the errors you should return from your syscalls - if you do not require an125
error code (for example, never returning ENOMEM on memory failures because you never allocate126
any memory) then you do not have to use it. The reverse is also true - if you find an error case127
that is not listed, choose an appropriate error from errno(2). We will not explicitly test all128
errors, but during your code interview, we will expect you to be able to explain the suitability129
of the error codes you use.130
4.2 Zone Rename131
The zone(8) commands should be extended to enable renaming of zones. Zones should only1**
be able to be renamed by the owner, root, or members of the zone’s group. Additionally, the133
global zone cannot be renamed, and zone names must be unique.134
1$ zone
2usage: zone create zonename
3zone destroy zonename
4zone exec zonename command ...
5zone list
6zone name [id]
7zone id [zonename]
8zone rename id name
9$ doas zone create foo
10$ zone list
11ID NAME
120 global
1**89 foo
14$ doas zone rename 298 bar
15$ zone list
16ID NAME
170 global
18289 bar
19$ doas zone rename 0 something
20zone: name: Permission denied
21$ doas zone rename 289 global
22zone: name: File exists
4.3 Modifications to Existing Syscalls135
zone_create() syscall136
The zone_create() syscall should now ensure that the created zone is associated with the137
group of the user that created it, as well as the user themself. Additionally, this will mean138
ensuring that non-root users can create zones.139
All other syscalls140
The full suite of zone_* syscalls should permit users with matching credentials to perform zone141
operations on them, not only the owner and the root user.142
Page 7 of 11
COMP3301 Semester 1 2024 Assignment 1
4.4 Zone name and zone list143
zone_name() syscall144
The zone_name() syscall should be renamed to zone_info(). Subsequently, it should return145
not only the name and namelen, but a struct, containing the id of the user and the id of the146
group that has permission to control the zone. The zone(8) userland sub-command for zone1**
name should also be modified in line with these changes - the name should be changed to zone148
info and the additional information should be provided to the user.149
zone list150
The zone list subcommand should now take flags: -o and -g. If either of these flags are151
provided, the owner and the group that have control over the zones should also be printed, in152
table format.153
4.5 Zone chown and chgrp154
The zone(8) commands and the kernel zones system should be extended to enable changing155
the owner and group of a zone. Zone owners and groups should only be able to be changed by156
the owner, root, or members of the zone’s group. Additionally, the owner of the global zone157
cannot be changed.158
1$ zone
2usage: zone create zonename
3zone destroy zonename
4zone exec zonename command ...
5zone list
6zone name [id]
7zone id [zonename]
8zone chown [id]
9zone chgrp [id]
To support these subcommands, you will need to implement the following system calls:159
zone_chown() syscall160
int zone_chown(zoneid_t z, uid_t user);
The zone_chown() syscall alters the owner of the zone identified by the z argument. The new161
owner should be the owner identified by the user argument. If called from a non-global zone**
then the z id must be the identifier for the current zone, but in the global zone it can be any163
zone identifier.164
Potential Errors:165
 EPERM - the user does not have permission to alter the zone z166
 ESRCH - the zone identified by z does not exist167
 ENOMEM - the system was not able to allocate memory168
 EINVAL - the zone to alter was the global zone169
Page 8 of 11
COMP3301 Semester 1 2024 Assignment 1
zone_chgrp() syscall170
int zone_chgrp(zoneid_t z, gid_t group);
The zone_chgrp() syscall alters the owner of the zone identified by the z argument. The new171
owner should be the group identified by the group argument. If called from a non-global zone172
then the z id must be the identifier for the current zone, but in the global zone it can be any1**
zone identifier.174
Potential Errors:175
 EPERM - the user does not have permission to alter the zone z176
ESRCH - the zone identified by z does not exist177
 ENOMEM - the system was not able to allocate memory178
 EINVAL - the zone to alter was the global zone179
5 Other Requirements & Suggestions180
5.1 Code Style181
Your code is to be written according to OpenBSD’s style guide, as per the ‘style(9)‘ man page.182
An automatic tool for checking for style violations is available at uqcloud.net/comp3301/public/2022/cstyle.pl>. This tool will be used to calculate your184
style marks for this assignment.185
5.2 Compilation186
Your code for this assignment is to be built on an amd64 OpenBSD 7.5 system identical to your187
course-provided VM.188
189
The following steps must succeed:1**
 make obj; make config; make in src/sys/arch/amd64/compile/GENERIC.MP191
 make obj; make includes in src192
 make obj; make; make install in src/lib/libc193
 make obj; make; make install in src/usr.sbin/zone194
The existing Makefiles in the provided code are functional as-is, but may need modification195
as part of your work for this assignment. Note that the existing Makefile ensures the -Wall196
flag is passed to the compiler, as well as a few other warning and error-related flags.197
Page 9 of 11
COMP3301 Semester 1 2024 Assignment 1
5.3 Provided code198
The provided code which forms the basis for this assignment can be downloaded as a single199
patch file at:200
https://stluc.manta.uqcloud.net/comp3301/public/2024/a**zones-base.patch201
202
You should create a new a1 branch in your repository based on the openbsd-7.5 tag using git203
checkout, and then apply this base patch using the git am command:204
1$ git checkout -b a1 openbsd -7.5
2$ ftp https://stluc.manta.uqcloud.net/comp3301/public /2024/a1 -zones -base.
patch
3$ git am < a1 -zones -base.patch
4$ git push origin a1
5.4 Recommendations205
The following order will likely be the most reasonable way to complete this assignment:206
1. Download, build, and install the zones patch.207
2. Add the zone rename subcommand to zone(8).208
3. Minimally modify zone_create() to store credentials.209
4. Rewrite zone_name() to zone_info().210
This ensures you have a way to view the credentials of a zone.211
5. Add the zone_chown() and zone_chgrp() syscalls.212
6. Add the corresponding zone chown and zone chgrp commands to zone(8).213
7. Fix up any tiny bugs and ensure it’s all working. But you did that as you were going... right?214
Additionally, it is strongly recommended (and in some cases, required) that the following APIs215
be considered for use as part of your changes:216
? ucred(9) - provides necessary handlers for dealing with user and group credentials217
? copyin(9)/copyout(9) - provides the ability to copy data across the userspace boundary218
? user_from_uid(3) - conversions from group/user name to id and back219
? strtonum(3) - BSD style safe string to int conversions220
? Finally, you may wish to look at the header file sys/proc.h to see how user and group221
credentials are currently stored by threads.222
Page 10 of 11
COMP3301 Semester 1 2024 Assignment 1
6 Reflection223
Provide a reflection on your implementation by briefly answering the following questions:224
1. Describe the steps you took or draw a flowchart.225
2. Describe an error that you encountered.226
3. Describe how the error was debugged.227
4. Describe how the bug was solved.228
Upload both pdf and your answers it as a pdf to the Blackboard a1 reflection submission. Page229
length is a maximum 2 pages or less. Pdf name must be your STUDENT NUMBER -230
a1.pdf. Note this is your XXXXXXXX ID number and not sXXXXXXX login.231
7 Submission2**
Submission must be made electronically by committing to your Git repository on ‘source.eait.uq.edu.au‘.233
In order to mark your assignment the markers will check out the ‘a1‘ branch from your reposi-234
tory. Code checked into any other branch in your repository will not be marked.235
236
As per the ‘source.eait.uq.edu.au‘ usage guidelines, you should only commit source code and237
Makefiles.238
239
Your ‘a1‘ branch should consist of:240
? The openbsd-7.5 base commit241
? The A1 base patch commit242
? Commit(s) for adding the required functionality243
7.1 Marking244
Your submission will be marked by course tutors and staff, during an in-person demo with you,245
at your lab session during the due week. You must attend your session, in-person, otherwise246
your submission will not be marked. Online attendence, e.g. zoom, is not permitted.2**
Page 11 of 11

請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp






 

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:ECON0024代寫、代做C++,Python編程設(shè)計(jì)
  • 下一篇:CSCI 2600代寫、Java編程語言代做
  • 無相關(guān)信息
    合肥生活資訊

    合肥圖文信息
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    急尋熱仿真分析?代做熱仿真服務(wù)+熱設(shè)計(jì)優(yōu)化
    出評 開團(tuán)工具
    出評 開團(tuán)工具
    挖掘機(jī)濾芯提升發(fā)動機(jī)性能
    挖掘機(jī)濾芯提升發(fā)動機(jī)性能
    海信羅馬假日洗衣機(jī)亮相AWE  復(fù)古美學(xué)與現(xiàn)代科技完美結(jié)合
    海信羅馬假日洗衣機(jī)亮相AWE 復(fù)古美學(xué)與現(xiàn)代
    合肥機(jī)場巴士4號線
    合肥機(jī)場巴士4號線
    合肥機(jī)場巴士3號線
    合肥機(jī)場巴士3號線
    合肥機(jī)場巴士2號線
    合肥機(jī)場巴士2號線
    合肥機(jī)場巴士1號線
    合肥機(jī)場巴士1號線
  • 短信驗(yàn)證碼 豆包 幣安下載 AI生圖 目錄網(wǎng)

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 hfw.cc Inc. All Rights Reserved. 合肥網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    99爱在线视频这里只有精品_窝窝午夜看片成人精品_日韩精品久久久毛片一区二区_亚洲一区二区久久

          9000px;">

                欧美一区二区黄色| 中文字幕亚洲一区二区av在线 | 亚洲欧美综合色| 丁香天五香天堂综合| 国产精品久久久久久妇女6080 | 久久久久久99精品| 国产精品一区三区| 亚洲精品水蜜桃| 日韩亚洲电影在线| 成人免费不卡视频| 无吗不卡中文字幕| 欧美国产激情一区二区三区蜜月| 91天堂素人约啪| 麻豆91在线播放| 一区在线播放视频| 欧美一区二区三区性视频| 岛国精品在线播放| 蜜臀av性久久久久av蜜臀妖精 | 成人美女在线视频| 性做久久久久久| 日本一区免费视频| 欧美一级xxx| 日本高清无吗v一区| 国内精品伊人久久久久影院对白| 亚洲人精品午夜| 国产亚洲午夜高清国产拍精品| 欧美午夜精品免费| 成人av网站大全| 精油按摩中文字幕久久| 亚洲精品免费一二三区| 久久久久久影视| 8v天堂国产在线一区二区| 色婷婷综合久色| 成人h精品动漫一区二区三区| 全国精品久久少妇| 亚洲18色成人| 亚洲激情图片qvod| 欧美激情一区在线观看| 久久久久久久精| 欧美本精品男人aⅴ天堂| 91精品国产一区二区三区香蕉| 亚洲综合一二区| 亚洲日本va午夜在线电影| 免费不卡在线视频| av一区二区三区四区| 91精品国产黑色紧身裤美女| 国产精品热久久久久夜色精品三区| 亚洲第一福利视频在线| 国产传媒欧美日韩成人| 欧洲视频一区二区| 国产精品第13页| 精品国产99国产精品| 日韩欧美一二区| 精品少妇一区二区三区视频免付费| 欧美一卡二卡三卡| 日韩欧美在线网站| 日韩三级中文字幕| 欧美va在线播放| 日本一区二区视频在线| 国产精品高潮久久久久无| 亚洲欧美综合另类在线卡通| 亚洲精品亚洲人成人网在线播放| 亚洲伊人伊色伊影伊综合网| 亚洲一区二区三区四区的 | 国产精品美女久久久久久久网站| 久久久久久久久久看片| 国产欧美视频一区二区三区| 中文在线一区二区| 樱花影视一区二区| 亚洲电影在线播放| 老司机午夜精品| 成人三级伦理片| 欧美伊人久久久久久午夜久久久久| 欧美在线色视频| 欧美一区二区三区不卡| 日本一区二区三区高清不卡| 亚洲码国产岛国毛片在线| 午夜日韩在线观看| 国产精品主播直播| 在线一区二区视频| 精品国产乱码久久久久久闺蜜| 国产精品久久久久天堂| 亚洲午夜在线电影| 久久99蜜桃精品| 色综合色综合色综合| 欧美日韩成人在线| 久久精品在线观看| 亚洲成人资源网| 成人a级免费电影| 日韩一级视频免费观看在线| 亚洲色图欧美在线| 久久99精品国产.久久久久久 | 26uuu精品一区二区三区四区在线| 国产蜜臀97一区二区三区| 视频一区二区不卡| 福利一区二区在线观看| 9191国产精品| 一区二区三区影院| 麻豆精品在线观看| 在线视频综合导航| 日本一区二区成人在线| 日本成人超碰在线观看| 91日韩在线专区| 国产午夜亚洲精品理论片色戒 | 亚洲国产一区二区视频| 成人午夜电影久久影院| 成人动漫一区二区三区| 欧美一区二区三区电影| 亚洲福利视频三区| 欧美午夜精品免费| 亚洲精品美国一| 91美女片黄在线观看| 国产欧美日韩综合精品一区二区| 免费成人深夜小野草| 91精品综合久久久久久| 一区二区在线观看免费| av成人免费在线观看| 中文字幕免费不卡在线| 国产美女一区二区| 日韩精品综合一本久道在线视频| 午夜不卡在线视频| 欧美群妇大交群的观看方式| 亚洲超碰精品一区二区| 欧美在线免费观看视频| 亚洲va欧美va国产va天堂影院| 日本久久一区二区| 自拍偷拍亚洲欧美日韩| 色综合久久66| 亚洲制服丝袜在线| 欧美精品乱人伦久久久久久| 日韩二区在线观看| 日韩午夜av电影| 国产伦精品一区二区三区视频青涩 | 国产精品嫩草久久久久| 国产宾馆实践打屁股91| 国产精品久久久久久户外露出| 岛国一区二区在线观看| 亚洲伦理在线免费看| 色婷婷精品大在线视频| 亚洲不卡av一区二区三区| 欧美日韩不卡一区| 美女在线观看视频一区二区| 精品国产露脸精彩对白| 成人国产一区二区三区精品| 亚洲日本在线a| 欧美绝品在线观看成人午夜影视| 精彩视频一区二区三区| 一区免费观看视频| 欧美日韩成人综合| 国产成人在线免费观看| 亚洲精品久久久蜜桃| 欧美精品久久久久久久多人混战| 蜜桃精品在线观看| 国产精品人人做人人爽人人添| 欧美日韩日日骚| 国产不卡视频在线播放| 亚洲曰韩产成在线| 久久久99精品免费观看不卡| 91九色最新地址| 国内精品伊人久久久久影院对白| 亚洲图片你懂的| 日韩欧美卡一卡二| 91麻豆精品在线观看| 精品中文字幕一区二区| 亚洲毛片av在线| 国产日韩欧美一区二区三区综合| 欧美丝袜丝交足nylons图片| 国产米奇在线777精品观看| 一区二区三区在线观看动漫| 亚洲精品一区二区三区99| 在线亚洲一区二区| 国产成a人无v码亚洲福利| 首页亚洲欧美制服丝腿| 亚洲国产高清在线观看视频| 欧美精品色一区二区三区| 99re免费视频精品全部| 韩国女主播一区| 日韩不卡一区二区三区| 亚洲一区国产视频| 国产精品国产馆在线真实露脸| 精品99999| 日韩欧美高清在线| 欧美日韩国产小视频在线观看| 国产精品1区二区.| 精品在线观看视频| 偷偷要91色婷婷| 亚洲综合清纯丝袜自拍| 国产精品每日更新在线播放网址| 日韩久久久精品| 日韩精品中午字幕| 日韩欧美高清在线| 欧美一级国产精品| 56国语精品自产拍在线观看| 欧美亚洲丝袜传媒另类| 色婷婷综合久久久久中文| 99久久精品国产一区二区三区| 成人在线视频一区二区| 国产 欧美在线| av不卡免费在线观看| 不卡一区二区在线|